From: Masatake YAMATO Date: Tue, 18 Oct 2005 04:21:51 +0000 (+0000) Subject: * woman.el (WoMan-xref-man-page): New button type derived X-Git-Tag: emacs-pretest-22.0.90~6525 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=50071f01ec3b93c87656bc88b9ae796585912855;p=emacs.git * woman.el (WoMan-xref-man-page): New button type derived from `Man-abstract-xref-man-page'. (woman-mode): Pass `WoMan-xref-man-page' to `Man-highlight-references'. * man.el (Man-abstract-xref-man-page): New button type. (Man-xref-man-page): Make it derived from `Man-abstract-xref-man-page'. (Man-highlight-references): Add new optiolnal argument `xref-man-type'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0e5a4ba2501..8486bac69c6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,17 @@ -2005-10-18 Nick Roberts +2005-10-18 Masatake YAMATO + + Fix a bug reported by Sven Joachim . + + * woman.el (WoMan-xref-man-page): New button type derived + from `Man-abstract-xref-man-page'. + (woman-mode): Pass `WoMan-xref-man-page' to + `Man-highlight-references'. + * man.el (Man-abstract-xref-man-page): New button type. + (Man-xref-man-page): Make it derived from `Man-abstract-xref-man-page'. + (Man-highlight-references): Add new optiolnal argument `xref-man-type'. + +2005-10-18 Nick Roberts * progmodes/gud.el (gud-menu-map): Correct condition for fringe. 2005-10-17 Chong Yidong diff --git a/lisp/man.el b/lisp/man.el index 6c8a5a18b44..c54a00d3663 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -415,10 +415,18 @@ Otherwise, the value is whatever the function (define-key Man-mode-map "?" 'describe-mode)) ;; buttons -(define-button-type 'Man-xref-man-page - 'action (lambda (button) (man-follow (button-label button))) +(define-button-type 'Man-abstract-xref-man-page 'follow-link t - 'help-echo "mouse-2, RET: display this man page") + 'help-echo "mouse-2, RET: display this man page" + 'func nil + 'action (lambda (button) (funcall + (button-get button 'func) + (button-label button)))) + +(define-button-type 'Man-xref-man-page + :supertype 'Man-abstract-xref-man-page + 'func 'man-follow) + (define-button-type 'Man-xref-header-file 'action (lambda (button) @@ -903,14 +911,17 @@ Same for the ANSI bold and normal escape sequences." 'face Man-overstrike-face))) (message "%s man page formatted" Man-arguments)) -(defun Man-highlight-references () +(defun Man-highlight-references (&optional xref-man-type) "Highlight the references on mouse-over. References include items in the SEE ALSO section, -header file (#include ) and files in FILES." +header file (#include ) and files in FILES. +If XREF-MAN-TYPE is used as the button type for items +in SEE ALSO section. If it is nil, default type, +`Man-xref-man-page' is used." (let ((dummy 0)) (Man-highlight-references0 Man-see-also-regexp Man-reference-regexp 1 dummy - 'Man-xref-man-page) + (or xref-man-type 'Man-xref-man-page)) (Man-highlight-references0 Man-synopsis-regexp Man-header-regexp 0 2 'Man-xref-header-file) diff --git a/lisp/woman.el b/lisp/woman.el index bc7ec86e4a7..5e8aff75e7f 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -424,6 +424,11 @@ (defvar woman-version "0.551 (beta)" "WoMan version information.") (require 'man) +(require 'button) +(define-button-type 'WoMan-xref-man-page + :supertype 'Man-abstract-xref-man-page + 'func 'woman) + (eval-when-compile ; to avoid compiler warnings (require 'dired) (require 'apropos)) @@ -1864,7 +1869,7 @@ See `Man-mode' for additional details." (setq woman-imenu-done nil) (if woman-imenu (woman-imenu)) (let (buffer-read-only) - (Man-highlight-references)) + (Man-highlight-references 'WoMan-xref-man-page)) (set-buffer-modified-p nil) (run-mode-hooks 'woman-mode-hook))