Function: semantic-documentation-for-tag-emacs-lisp-mode

semantic-documentation-for-tag-emacs-lisp-mode is a byte-compiled function defined in el.el.gz.

Signature

(semantic-documentation-for-tag-emacs-lisp-mode TAG &optional NOSNARF)

Documentation

Return the documentation string for TAG.

Optional argument NOSNARF is ignored. Override semantic-documentation-for-tag in emacs-lisp-mode buffers.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/bovine/el.el.gz
(define-mode-local-override semantic-documentation-for-tag
  emacs-lisp-mode (tag &optional _nosnarf)
  "Return the documentation string for TAG.
Optional argument NOSNARF is ignored."
  (let ((d (semantic-tag-docstring tag)))
    (when (not d)
      (cond ((semantic-tag-with-position-p tag)
	     ;; Doc isn't in the tag itself.  Let's pull it out of the
	     ;; sources.
	     (let ((semantic-elisp-store-documentation-in-tag t))
	       (setq tag (with-current-buffer (semantic-tag-buffer tag)
			   (goto-char (semantic-tag-start tag))
			   (semantic-elisp-use-read
			    ;; concoct a lexical token.
			    (cons (semantic-tag-start tag)
				  (semantic-tag-end tag))))
		     d (semantic-tag-docstring tag))))
	    ;; The tag may be the result of a system search.
	    ((intern-soft (semantic-tag-name tag))
	     (let ((sym (intern-soft (semantic-tag-name tag))))
	       ;; Query into the global table o stuff.
	       (cond ((eq (semantic-tag-class tag) 'function)
		      (setq d (documentation sym)))
		     (t
		      (setq d (documentation-property
			       sym 'variable-documentation)))))
	     ;; Label it as system doc. perhaps just for debugging
	     ;; purposes.
	     (if d (setq d (concat "System Doc: \n" d)))
	     ))
      )

    (when d
      (concat
       (substitute-command-keys
        (if (and (> (length d) 0) (= (aref d 0) ?*))
            (substring d 1)
          d))
       (semantic-emacs-lisp-overridable-doc tag)
       (semantic-emacs-lisp-obsoleted-doc tag)))))