emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: locate-with-filter


From: Luc Teirlinck
Subject: Re: locate-with-filter
Date: Sun, 19 Mar 2006 23:12:15 -0600 (CST)

Richard Stallman wrote:

   Would you please install the corrected version
   of my patch, and your new function help-follow-symbol for C-c C-c?

   Please also document C-c C-c in Help Mode in help.texi.
   It is currently not documented.

Done.  I also updated lispref/tips.texi.

While grepping, I noticed problems with `list-faces-display' and
`list-character-sets'.  These say: "Use <mouse-2> or M-x help-follow"
in their introductory text, even though `M-x help-follow' is bound to
RET in these buffers.  I am not sure, but this could be due to
`minor-mode-overriding-map-alist'.  This is even worse than it
appears, because with the latest version of `help-follow',
`M-x help-follow' does not even follow references.  It just
incorrectly messages "No cross-reference here" _everywhere_.  With the
latest version of `help-follow', rebinding help-follow to something
different from RET does not work anymore, so we might as well hard
code RET in the doc.

It might actually be good to make `M-x help-follow' work correctly on
references again, by restoring part of the old `help-follow-mouse' and
`help-follow' code.  This would allow binding them to other keys than
mouse-{1,2} or RET.  The patch to help-mode.el below does that.
It entirely keeps the new behavior.  The only difference is that
`M-x help-follow' would once again work on cross references and that
it could be rebound.  I believe that it would not solve the above
problems with `list-faces-display' and `list-character-sets' so I
suggest to just hard code RET in those docs.  The patches below do
this.  I can install if desired.

===File ~/help-mode-diff====================================
*** help-mode.el        19 Mar 2006 17:03:47 -0600      1.44
--- help-mode.el        19 Mar 2006 21:45:44 -0600      
***************
*** 619,636 ****
      (apply function args)))
  
  ;; The doc string is meant to explain what buttons do.
! (defun help-follow-mouse ()
!   "Follow the cross-reference that you click on."
!   (interactive)
!   (error "No cross-reference here"))
  
  ;; The doc string is meant to explain what buttons do.
! (defun help-follow ()
!   "Follow cross-reference at point.
  
  For the cross-reference format, see `help-make-xrefs'."
!   (interactive)
!   (error "No cross-reference here"))
  
  (defun help-follow-symbol (&optional pos)
    "In help buffer, show docs for symbol at POS, defaulting to point.
--- 619,643 ----
      (apply function args)))
  
  ;; The doc string is meant to explain what buttons do.
! (defun help-follow-mouse (click)
!   "Follow the cross-reference that you CLICK on."
!   (interactive "e")
!   (let* ((start (event-start click))
!        (window (car start))
!        (pos (car (cdr start))))
!     (with-current-buffer (window-buffer window)
!       (help-follow pos))))
  
  ;; The doc string is meant to explain what buttons do.
! (defun help-follow (&optional pos)
!   "Follow cross-reference at POS, defaulting to point.
  
  For the cross-reference format, see `help-make-xrefs'."
!   (interactive "d")
!   (unless pos
!     (setq pos (point)))
!   (unless (push-button pos)
!     (error "No cross-reference here")))
  
  (defun help-follow-symbol (&optional pos)
    "In help buffer, show docs for symbol at POS, defaulting to point.
============================================================

===File ~/faces-diff========================================
*** faces.el    06 Feb 2006 16:01:46 -0600      1.348
--- faces.el    19 Mar 2006 21:21:23 -0600      
***************
*** 1205,1211 ****
          (concat
           "Use "
           (if (display-mouse-p) "\\[help-follow-mouse] or ")
!          "\\[help-follow] on a face name to customize it\n"
           "or on its sample text for a description of the face.\n\n")))
        (setq help-xref-stack nil)
        (dolist (face faces)
--- 1205,1211 ----
          (concat
           "Use "
           (if (display-mouse-p) "\\[help-follow-mouse] or ")
!          "RET on a face name to customize it\n"
           "or on its sample text for a description of the face.\n\n")))
        (setq help-xref-stack nil)
        (dolist (face faces)
============================================================

===File ~/mule-dialog-diff==================================
*** mule-diag.el        24 Sep 2005 09:35:46 -0500      1.98
--- mule-diag.el        19 Mar 2006 21:19:26 -0600      
***************
*** 162,168 ****
         (substitute-command-keys
          (concat "Use "
                  (if (display-mouse-p) "\\[help-follow-mouse] or ")
!                 "\\[help-follow]:\n")))
        (insert "  on a column title to sort by that title,")
        (indent-to 56)
        (insert "+----DIMENSION\n")
--- 162,168 ----
         (substitute-command-keys
          (concat "Use "
                  (if (display-mouse-p) "\\[help-follow-mouse] or ")
!                 "RET:\n")))
        (insert "  on a column title to sort by that title,")
        (indent-to 56)
        (insert "+----DIMENSION\n")
============================================================




reply via email to

[Prev in Thread] Current Thread [Next in Thread]