Function: etags-tags-apropos-additional

etags-tags-apropos-additional is a byte-compiled function defined in etags.el.gz.

Signature

(etags-tags-apropos-additional REGEXP)

Documentation

Display tags matching REGEXP from tags-apropos-additional-actions.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/etags.el.gz
(defun etags-tags-apropos-additional (regexp)
  "Display tags matching REGEXP from `tags-apropos-additional-actions'."
  (with-current-buffer standard-output
    (dolist (oba tags-apropos-additional-actions)
      (princ "\n\n")
      (tags-with-face 'highlight (princ (car oba)))
      (princ":\n\n")
      (let* ((beg (point))
	     (symbs (car (cddr oba)))
             (ins-symb (lambda (sy)
                         (let ((sn (symbol-name sy)))
                           (when (string-match regexp sn)
                             (make-text-button (point)
					  (progn (princ sy) (point))
					  'action-internal(cadr oba)
					  'action (lambda (button) (funcall
								    (button-get button 'action-internal)
								    (button-get button 'item)))
					  'item sn
					  'face tags-tag-face
					  'follow-link t
					  'type 'button)
                             (terpri))))))
        (when (symbolp symbs)
          (if (boundp symbs)
	      (setq symbs (symbol-value symbs))
	    (insert (format-message "symbol `%s' has no value\n" symbs))
	    (setq symbs nil)))
        (if (vectorp symbs)
	    (mapatoms ins-symb symbs)
	  (dolist (sy symbs)
	    (funcall ins-symb (car sy))))
        (sort-lines nil beg (point))))))