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