Mercurial > emacs
changeset 101290:017ab5339c4c
* descr-text.el (describe-char-categories): New defsubst.
(describe-char): Use it.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Mon, 19 Jan 2009 15:48:15 +0000 |
parents | fb88ce222846 |
children | 600214d1718d |
files | lisp/ChangeLog lisp/descr-text.el |
diffstat | 2 files changed, 23 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Jan 19 15:29:18 2009 +0000 +++ b/lisp/ChangeLog Mon Jan 19 15:48:15 2009 +0000 @@ -1,3 +1,8 @@ +2009-01-19 Juanma Barranquero <lekktu@gmail.com> + + * descr-text.el (describe-char-categories): New defsubst. + (describe-char): Use it. + 2009-01-19 Michael Albinus <michael.albinus@gmx.de> * net/tramp.el (tramp-ipv6-regexp): The regexp shall cover also
--- a/lisp/descr-text.el Mon Jan 19 15:29:18 2009 +0000 +++ b/lisp/descr-text.el Mon Jan 19 15:48:15 2009 +0000 @@ -353,6 +353,21 @@ (defsubst describe-char-padded-string (ch) (compose-string (string ch) 0 1 (format "\t%c\t" ch))) +;; Return a nicely formated list of categories; extended category +;; description is added to the category name as a tooltip +(defsubst describe-char-categories (category-set) + (let ((mnemonics (category-set-mnemonics category-set))) + (unless (eq mnemonics "") + (list (mapconcat + #'(lambda (x) + (let* ((c (category-docstring x)) + (doc (if (string-match "\\`\\(.*?\\)\n\\(.*\\)\\'" c) + (propertize (match-string 1 c) + 'help-echo (match-string 2 c)) + c))) + (format "%c:%s" x doc))) + mnemonics ", "))))) + ;;;###autoload (defun describe-char (pos) "Describe the character after POS (interactively, the character after point). @@ -430,11 +445,9 @@ (buffer-string)))) ("category" ,@(let ((category-set (char-category-set char))) - (if (not category-set) - '("-- none --") - (mapcar #'(lambda (x) (format "%c:%s" - x (category-docstring x))) - (category-set-mnemonics category-set))))) + (if category-set + (describe-char-categories category-set) + '("-- none --")))) ("to input" ,@(let ((key-list (and (eq input-method-function 'quail-input-method)