Function: mode-local--describe-overload

mode-local--describe-overload is a byte-compiled function defined in mode-local.el.gz.

Signature

(mode-local--describe-overload SYMBOL)

Documentation

For help-fns-describe-function-functions; add overloads for SYMBOL.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/mode-local.el.gz
(defun mode-local--describe-overload (symbol)
  "For `help-fns-describe-function-functions'; add overloads for SYMBOL."
  (when (mode-local--function-overload-p symbol)
    (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol)))
		       symbol))
	  (override (with-current-buffer describe-function-orig-buffer
                      (fetch-overload symbol)))
          modes)

      (insert (substitute-command-keys (mode-local--overload-docstring-extension symbol))
              "\n\n")
      (insert (format-message "default function: `%s'\n" default))
      (if override
	  (insert (format-message "\noverride in buffer `%s': `%s'\n"
				  describe-function-orig-buffer override))
	(insert (format-message "\nno override in buffer `%s'\n"
				describe-function-orig-buffer)))

      (mapatoms
       (lambda (sym) (when (get sym 'mode-local-symbol-table) (push sym modes)))
       obarray)

      (dolist (mode modes)
	(let* ((major-mode mode)
	       (override (fetch-overload symbol)))

	  (when override
	    (insert (format-message "\noverride in mode `%s': `%s'\n"
				    major-mode override))
            )))
      )))