comparison lisp/progmodes/etags.el @ 105816:fecb02e16f64

* progmodes/etags.el (etags-list-tags, etags-tags-apropos): Fix face property (Bug#4834). (etags-list-tags, etags-tags-apropos-additional) (etags-tags-apropos, tags-select-tags-table): Add follow-link property.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 31 Oct 2009 18:43:37 +0000
parents 51f16a1079af
children 26baacb565b0
comparison
equal deleted inserted replaced
105815:cdc718e48308 105816:fecb02e16f64
1400 (let ((tag-info (button-get button 'tag-info)) 1400 (let ((tag-info (button-get button 'tag-info))
1401 (goto-func (button-get button 'goto-func))) 1401 (goto-func (button-get button 'goto-func)))
1402 (tag-find-file-of-tag (button-get button 'file-path)) 1402 (tag-find-file-of-tag (button-get button 'file-path))
1403 (widen) 1403 (widen)
1404 (funcall goto-func tag-info))) 1404 (funcall goto-func tag-info)))
1405 'face 'tags-tag-face 1405 'follow-link t
1406 'face tags-tag-face
1406 'type 'button)) 1407 'type 'button))
1407 (terpri) 1408 (terpri)
1408 (forward-line 1)) 1409 (forward-line 1))
1409 t))) 1410 t)))
1410 1411
1434 'action (lambda (button) (funcall 1435 'action (lambda (button) (funcall
1435 (button-get button 'action-internal) 1436 (button-get button 'action-internal)
1436 (button-get button 'item))) 1437 (button-get button 'item)))
1437 'item sn 1438 'item sn
1438 'face tags-tag-face 1439 'face tags-tag-face
1440 'follow-link t
1439 'type 'button) 1441 'type 'button)
1440 (terpri)))))) 1442 (terpri))))))
1441 (when (symbolp symbs) 1443 (when (symbolp symbs)
1442 (if (boundp symbs) 1444 (if (boundp symbs)
1443 (setq symbs (symbol-value symbs)) 1445 (setq symbs (symbol-value symbs))
1489 (let ((tag-info (button-get button 'tag-info)) 1491 (let ((tag-info (button-get button 'tag-info))
1490 (goto-func (button-get button 'goto-func))) 1492 (goto-func (button-get button 'goto-func)))
1491 (tag-find-file-of-tag (button-get button 'file-path)) 1493 (tag-find-file-of-tag (button-get button 'file-path))
1492 (widen) 1494 (widen)
1493 (funcall goto-func tag-info))) 1495 (funcall goto-func tag-info)))
1494 'face 'tags-tag-face 1496 'follow-link t
1497 'face tags-tag-face
1495 'type 'button))) 1498 'type 'button)))
1496 (princ (format "- %s" file-label)) 1499 (princ (format "- %s" file-label))
1497 (with-current-buffer standard-output 1500 (with-current-buffer standard-output
1498 (make-text-button pt (point) 1501 (make-text-button pt (point)
1499 'file-path file-path 1502 'file-path file-path
1500 'action (lambda (button) 1503 'action (lambda (button)
1501 (tag-find-file-of-tag (button-get button 'file-path)) 1504 (tag-find-file-of-tag (button-get button 'file-path))
1502 ;; Get the local value in the tags table 1505 ;; Get the local value in the tags table
1503 ;; buffer before switching buffers. 1506 ;; buffer before switching buffers.
1504 (goto-char (point-min))) 1507 (goto-char (point-min)))
1505 'face 'tags-tag-face 1508 'follow-link t
1506 'type 'button)) 1509 'face tags-tag-face
1507 )) 1510 'type 'button))))
1508 (terpri) 1511 (terpri)
1509 (forward-line 1)) 1512 (forward-line 1))
1510 (message nil)) 1513 (message nil))
1511 (when tags-apropos-verbose (princ "\n"))) 1514 (when tags-apropos-verbose (princ "\n")))
1512 1515
1931 1934
1932 ;; XXX Kludge interface. 1935 ;; XXX Kludge interface.
1933 1936
1934 (define-button-type 'tags-select-tags-table 1937 (define-button-type 'tags-select-tags-table
1935 'action 'select-tags-table-select 1938 'action 'select-tags-table-select
1939 'follow-link t
1936 'help-echo "RET, t or mouse-2: select tags table") 1940 'help-echo "RET, t or mouse-2: select tags table")
1937 1941
1938 ;; XXX If a file is in multiple tables, selection may get the wrong one. 1942 ;; XXX If a file is in multiple tables, selection may get the wrong one.
1939 ;;;###autoload 1943 ;;;###autoload
1940 (defun select-tags-table () 1944 (defun select-tags-table ()