From 6398b88f531f0498ff30ad9b658890298c6ebf6b Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sun, 20 Nov 2005 15:25:35 +0000 Subject: [PATCH] (describe-char): When copying overlays put them over the full char description instead of just the first character of it. --- lisp/descr-text.el | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 307fd465472..547970a585b 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -458,6 +458,12 @@ as well as widgets, buttons, overlays, and text properties." (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 @@ as well as widgets, buttons, overlays, and text properties." (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 @@ as well as widgets, buttons, overlays, and text properties." (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 -- 2.39.2