# HG changeset patch # User Stefan Monnier # Date 1134406239 0 # Node ID c6a040f6797b8b649113f0601c4f2e6eaab02c1b # Parent f9d4913b40bc225d62b46a01185912a455d44eef (describe-char): Rework last fix to solve the problem is the same way it's solved for everything else in that function (i.e. by extracting the info before setting up the *Help* buffer). diff -r f9d4913b40bc -r c6a040f6797b lisp/ChangeLog --- a/lisp/ChangeLog Mon Dec 12 14:23:06 2005 +0000 +++ b/lisp/ChangeLog Mon Dec 12 16:50:39 2005 +0000 @@ -1,3 +1,9 @@ +2005-12-12 Stefan Monnier + + * descr-text.el (describe-char): Rework last fix to solve the problem + is the same way it's solved for everything else in that function + (i.e. by extracting the info before setting up the *Help* buffer). + 2005-12-12 Kim F. Storm * subr.el (version-regexp-alist): Allow space as separator before diff -r f9d4913b40bc -r c6a040f6797b lisp/descr-text.el --- a/lisp/descr-text.el Mon Dec 12 14:23:06 2005 +0000 +++ b/lisp/descr-text.el Mon Dec 12 16:50:39 2005 +0000 @@ -464,9 +464,13 @@ (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*")) + (text-props-desc + (let ((tmp-buf (generate-new-buffer " *text-props*"))) + (unwind-protect + (progn + (describe-text-properties pos tmp-buf) + (with-current-buffer tmp-buf (buffer-string))) + (kill-buffer tmp-buf)))) item-list max-width unicode) (if (or (< char 256) @@ -619,7 +623,7 @@ (setq max-width (apply #'max (mapcar #'(lambda (x) (if (cadr x) (length (car x)) 0)) item-list))) - (with-output-to-temp-buffer help-buf + (with-output-to-temp-buffer "*Help*" (with-current-buffer standard-output (set-buffer-multibyte multibyte-p) (let ((formatter (format "%%%ds:" max-width))) @@ -722,9 +726,7 @@ (insert "\nSee the variable `reference-point-alist' for " "the meaning of the rule.\n")) - (save-excursion - (set-buffer orig-buf) - (describe-text-properties pos help-buf)) + (if text-props-desc (insert text-props-desc)) (describe-text-mode))))) (defalias 'describe-char-after 'describe-char)