From: storm@cua.dk (Kim F. Storm)
Cc: Chong Yidong <cyd@stupidchicken.com>, emacs-devel@gnu.org
Subject: Re: tweak to apropos-command display
Date: Tue, 22 Feb 2005 22:46:01 +0100 [thread overview]
Message-ID: <m3d5usgteu.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <E1D3eV0-0000K3-Ln@fencepost.gnu.org> (Richard Stallman's message of "Tue, 22 Feb 2005 13:11:06 -0500")
Richard Stallman <rms@gnu.org> writes:
> When apropos-command is displaying the keybindings associated with a
> command, it often runs past the edge of the screen (esp. when displaying
> M-x COMMAND RET) This makes the output very difficult to read.
>
> How about this change instead?
>
> ! (insert "(invoke using M-x)")))
I like M-x ... RET better.
The following patch does that.
It also improves handling of menu bar entries in two ways:
1) If menu-bar-mode is disabled, it doesn't mention menu bar bindings.
2) It pretty prints menu bar entries like this:
e.g. "File Menu" rather than "<menu-bar> <file> <new-file>"
*** apropos.el 12 Feb 2005 14:46:58 +0100 1.101
--- apropos.el 22 Feb 2005 22:42:30 +0100
***************
*** 795,801 ****
(with-output-to-temp-buffer "*Apropos*"
(let ((p apropos-accumulator)
(old-buffer (current-buffer))
! symbol item)
(set-buffer standard-output)
(apropos-mode)
(if (display-mouse-p)
--- 795,801 ----
(with-output-to-temp-buffer "*Apropos*"
(let ((p apropos-accumulator)
(old-buffer (current-buffer))
! symbol item menu-items)
(set-buffer standard-output)
(apropos-mode)
(if (display-mouse-p)
***************
*** 839,848 ****
(i 0)
loser)
(while (< i (length key))
! (if (or (framep (aref key i))
! (bufferp (aref key i)))
(setq loser t))
! (setq i (1+ i)))
(or loser
(setq filtered (cons key filtered))))
(setq keys (cdr keys)))
--- 839,853 ----
(i 0)
loser)
(while (< i (length key))
! (let ((elt (aref key i)))
! (cond
! ((or (framep elt) (bufferp elt))
(setq loser t))
! ((and (= i 0) (eq elt 'menu-bar))
! (if menu-bar-mode
! (setq menu-items (cons key menu-items))
! (setq loser t)))))
! (setq i (if loser (length key) (1+ i))))
(or loser
(setq filtered (cons key filtered))))
(setq keys (cdr keys)))
***************
*** 852,858 ****
(mapconcat
(lambda (key)
(setq key (condition-case ()
! (key-description key)
(error)))
(if apropos-keybinding-face
(put-text-property 0 (length key)
--- 857,871 ----
(mapconcat
(lambda (key)
(setq key (condition-case ()
! (if (and (memq key menu-items)
! (> (length key) 1)
! (symbolp (aref key 1)))
! (let ((m (symbol-name (aref key 1)))
! (case-fold-search t))
! (if (string-match "^\\(.*\\)-menu$" m)
! (setq m (match-string 1 m)))
! (format "%s Menu" (capitalize m)))
! (key-description key))
(error)))
(if apropos-keybinding-face
(put-text-property 0 (length key)
***************
*** 860,872 ****
key))
key)
item ", "))
! (insert "M-x")
! (put-text-property (- (point) 3) (point)
! 'face apropos-keybinding-face)
! (insert " " (symbol-name symbol) " ")
! (insert "RET")
! (put-text-property (- (point) 3) (point)
! 'face apropos-keybinding-face)))
(terpri)
(apropos-print-doc 2
(if (commandp symbol)
--- 873,884 ----
key))
key)
item ", "))
! (insert "M-x ... RET")
! (when apropos-keybinding-face
! (put-text-property (- (point) 11) (- (point) 8)
! 'face apropos-keybinding-face)
! (put-text-property (- (point) 3) (point)
! 'face apropos-keybinding-face))))
(terpri)
(apropos-print-doc 2
(if (commandp symbol)
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
next prev parent reply other threads:[~2005-02-22 21:46 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-21 14:35 tweak to apropos-command display Chong Yidong
2005-02-21 15:04 ` Kim F. Storm
2005-02-21 16:26 ` Chong Yidong
2005-02-21 15:14 ` Stefan
2005-02-21 16:36 ` Chong Yidong
2005-02-22 18:11 ` Richard Stallman
2005-02-22 20:36 ` Kevin Rodgers
2005-02-22 21:46 ` Kim F. Storm [this message]
2005-02-22 22:01 ` David Kastrup
2005-02-22 22:28 ` Kim F. Storm
2005-02-28 12:14 ` Tweak to key-description for menu bindings (was Re: tweak to apropos-command display) Kim F. Storm
2005-02-28 12:55 ` Tweak to key-description for menu bindings David Kastrup
2005-03-01 23:36 ` Kim F. Storm
2005-02-28 21:53 ` Tweak to key-description for menu bindings (was Re: tweak to apropos-command display) Richard Stallman
2005-02-28 22:47 ` Tweak to key-description for menu bindings Kim F. Storm
2005-02-22 22:13 ` tweak to apropos-command display Stefan Monnier
2005-02-22 22:31 ` Kim F. Storm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3d5usgteu.fsf@kfs-l.imdomain.dk \
--to=storm@cua.dk \
--cc=cyd@stupidchicken.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).