]> git.eshelyaron.com Git - emacs.git/commitdiff
(describe-char): Use *Help-2* buffer if the
authorKenichi Handa <handa@m17n.org>
Thu, 8 Dec 2005 01:39:37 +0000 (01:39 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 8 Dec 2005 01:39:37 +0000 (01:39 +0000)
current buffer is *Help*.  Call describe-text-properties while
setting the original buffer.

lisp/ChangeLog
lisp/descr-text.el

index f5ba9ceee7d191ce329ce0c2255dc29f94c50812..84232e0a2be5ae073e6261da989bc80f38557683 100644 (file)
@@ -1,3 +1,9 @@
+2005-12-08  Kenichi Handa  <handa@m17n.org>
+
+       * descr-text.el (describe-char): Use *Help-2* buffer if the
+       current buffer is *Help*.  Call describe-text-properties while
+       setting the original buffer.
+
 2005-12-07  Bill Wohler  <wohler@newt.com>
 
        * files.el (auto-mode-alist): Remove mh-letter-mode. Unnecessary,
index 547970a585b7e7e34f5ef0e4724c7b6d8bbfa9e4..25c81555ee853211bea43fb13273cd69e3a93f94 100644 (file)
@@ -464,6 +464,9 @@ as well as widgets, buttons, overlays, and text properties."
                                 (single-key-description char)
                               (string-to-multibyte
                                (char-to-string char)))))
+        (orig-buf (current-buffer))
+        (help-buf (if (eq orig-buf (get-buffer "*Help*"))
+                      "*Help-2*" "*Help*"))
         item-list max-width unicode)
 
     (if (or (< char 256)
@@ -616,7 +619,7 @@ as well as widgets, buttons, overlays, and text properties."
     (setq max-width (apply #'max (mapcar #'(lambda (x)
                                             (if (cadr x) (length (car x)) 0))
                                         item-list)))
-    (with-output-to-temp-buffer "*Help*"
+    (with-output-to-temp-buffer help-buf
       (with-current-buffer standard-output
        (set-buffer-multibyte multibyte-p)
        (let ((formatter (format "%%%ds:" max-width)))
@@ -636,18 +639,17 @@ as well as widgets, buttons, overlays, and text properties."
                  (insert " " clm)))
              (insert "\n"))))
 
-       (save-excursion
-         (goto-char (point-min))
-         (re-search-forward "character:[ \t\n]+")
-         (setq pos (point)))
-       (let ((end (+ pos (length char-description))))
-         (if overlays
+       (when overlays
+         (save-excursion
+           (goto-char (point-min))
+           (re-search-forward "character:[ \t\n]+")
+           (let* ((end (+ (point) (length char-description))))
              (mapc #'(lambda (props)
-                       (let ((o (make-overlay pos end)))
+                       (let ((o (make-overlay (point) end)))
                          (while props
                            (overlay-put o (car props) (nth 1 props))
                            (setq props (cddr props)))))
-                   overlays)))
+                   overlays))))
 
        (when disp-vector
          (insert
@@ -720,7 +722,9 @@ as well as widgets, buttons, overlays, and text properties."
          (insert "\nSee the variable `reference-point-alist' for "
                  "the meaning of the rule.\n"))
 
-       (describe-text-properties pos (current-buffer))
+       (save-excursion
+         (set-buffer orig-buf)
+         (describe-text-properties pos help-buf))
        (describe-text-mode)))))
 
 (defalias 'describe-char-after 'describe-char)