Mercurial > emacs
changeset 67050:c365e04ea266
(describe-char): When copying overlays put them
over the full char description instead of just the first character
of it.
author | Andreas Schwab <schwab@suse.de> |
---|---|
date | Sun, 20 Nov 2005 15:25:35 +0000 |
parents | 580816de789f |
children | ba04f6850d69 |
files | lisp/descr-text.el |
diffstat | 1 files changed, 15 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/descr-text.el Sun Nov 20 15:24:27 2005 +0000 +++ b/lisp/descr-text.el Sun Nov 20 15:25:35 2005 +0000 @@ -458,6 +458,12 @@ (multibyte-p enable-multibyte-characters) (overlays (mapcar #'(lambda (o) (overlay-properties o)) (overlays-at pos))) + (char-description (if (not multibyte-p) + (single-key-description char) + (if (< char 128) + (single-key-description char) + (string-to-multibyte + (char-to-string char))))) item-list max-width unicode) (if (or (< char 256) @@ -468,12 +474,7 @@ (setq item-list `(("character" ,(format "%s (%d, #o%o, #x%x%s)" - (apply 'propertize (if (not multibyte-p) - (single-key-description char) - (if (< char 128) - (single-key-description char) - (string-to-multibyte - (char-to-string char)))) + (apply 'propertize char-description (text-properties-at pos)) char char char (if unicode @@ -639,13 +640,14 @@ (goto-char (point-min)) (re-search-forward "character:[ \t\n]+") (setq pos (point))) - (if overlays - (mapc #'(lambda (props) - (let ((o (make-overlay pos (1+ pos)))) - (while props - (overlay-put o (car props) (nth 1 props)) - (setq props (cddr props))))) - overlays)) + (let ((end (+ pos (length char-description)))) + (if overlays + (mapc #'(lambda (props) + (let ((o (make-overlay pos end))) + (while props + (overlay-put o (car props) (nth 1 props)) + (setq props (cddr props))))) + overlays))) (when disp-vector (insert