]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix facemenu to populate buffer inside the with-help-window call.
authorChong Yidong <cyd@stupidchicken.com>
Sat, 19 Mar 2011 21:37:21 +0000 (17:37 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 19 Mar 2011 21:37:21 +0000 (17:37 -0400)
See http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg01193.html

* facemenu.el (list-colors-display): Call list-faces-display from
inside with-help-window.
(list-colors-print): Use display property to align the final
column, instead of checking window-width.

lisp/ChangeLog
lisp/facemenu.el

index 55f0b52bb41bccbf0365182cadb0f582d889dc8a..5244e261c11e3d10c66a3523d38a2f3bf17ea4d3 100644 (file)
@@ -1,3 +1,10 @@
+2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
+
+       * facemenu.el (list-colors-display): Call list-faces-display
+       inside with-help-window.
+       (list-colors-print): Use display property to align the final
+       column, instead of checking window-width.
+
 2011-03-19  Eli Zaretskii  <eliz@gnu.org>
 
        * emerge.el (emerge-metachars): Separate value for ms-dos and
index 97862afb6783986f2422659b1838006ca7524a51..fffe09a84a5a6c1a701f206623545a62cf174808 100644 (file)
@@ -567,18 +567,12 @@ You can change the color sort order by customizing `list-colors-sort'."
   (with-help-window buffer-name
     (with-current-buffer standard-output
       (erase-buffer)
+      (list-colors-print list callback)
+      (set-buffer-modified-p nil)
       (setq truncate-lines t)))
-  (let ((buf (get-buffer buffer-name))
-       (inhibit-read-only t))
-    ;; Display buffer before generating content, to allow
-    ;; `list-colors-print' to get the right window-width.
-    (with-selected-window (or (get-buffer-window buf t) (selected-window))
-      (with-current-buffer buf
-       (list-colors-print list callback)
-       (set-buffer-modified-p nil)))
-    (when callback
-      (pop-to-buffer buf)
-      (message "Click on a color to select it."))))
+  (when callback
+    (pop-to-buffer buffer-name)
+    (message "Click on a color to select it.")))
 
 (defun list-colors-print (list &optional callback)
   (let ((callback-fn
@@ -595,30 +589,19 @@ You can change the color sort order by customizing `list-colors-sort'."
       (let* ((opoint (point))
             (color-values (color-values (car color)))
             (light-p (>= (apply 'max color-values)
-                         (* (car (color-values "white")) .5)))
-            (max-len (max (- (window-width) 33) 20)))
+                         (* (car (color-values "white")) .5))))
        (insert (car color))
        (indent-to 22)
        (put-text-property opoint (point) 'face `(:background ,(car color)))
        (put-text-property
         (prog1 (point)
           (insert " ")
-          (if (cdr color)
-              ;; Insert as many color names as possible, fitting max-len.
-              (let ((names (list (car color)))
-                    (others (cdr color))
-                    (len (length (car color)))
-                    newlen)
-                (while (and others
-                            (< (setq newlen (+ len 2 (length (car others))))
-                               max-len))
-                  (setq len newlen)
-                  (push (pop others) names))
-                (insert (mapconcat 'identity (nreverse names) ", ")))
-            (insert (car color))))
+          ;; Insert all color names.
+          (insert (mapconcat 'identity color ",")))
         (point)
         'face (list :foreground (car color)))
-       (indent-to (max (- (window-width) 8) 44))
+       (insert (propertize " " 'display '(space :align-to (- right 9))))
+       (insert " ")
        (insert (propertize
                 (apply 'format "#%02x%02x%02x"
                        (mapcar (lambda (c) (lsh c -8))