]> git.eshelyaron.com Git - emacs.git/commitdiff
* woman.el (WoMan-xref-man-page): New button type derived
authorMasatake YAMATO <jet@gyve.org>
Tue, 18 Oct 2005 04:21:51 +0000 (04:21 +0000)
committerMasatake YAMATO <jet@gyve.org>
Tue, 18 Oct 2005 04:21:51 +0000 (04:21 +0000)
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'.

lisp/ChangeLog
lisp/man.el
lisp/woman.el

index 0e5a4ba2501457798c434d91f9def029452a4110..8486bac69c6a9eaf4c89d8c2eb0a92779cb4dc09 100644 (file)
@@ -1,5 +1,17 @@
-2005-10-18  Nick Roberts  <nickrob@snap.net.nz>
+2005-10-18  Masatake YAMATO  <jet@gyve.org>
+
+       Fix a bug reported by Sven Joachim <sven_joachim@web.de>.
+       
+       * 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  <nickrob@snap.net.nz>
        * progmodes/gud.el (gud-menu-map): Correct condition for fringe.
 
 2005-10-17  Chong Yidong  <cyd@stupidchicken.com>
index 6c8a5a18b44ea1cb539bfdb35415d91669826613..c54a00d36632d4c6fe0b70a156e375d3b1254930 100644 (file)
@@ -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 <foo.h>) and files in FILES."
+header file (#include <foo.h>) 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)
index bc7ec86e4a707bea9d1981fbf454228e56f5b160..5e8aff75e7f70cfc6e83059d0bd12a96b97b3e05 100644 (file)
 (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))