CVS update by stephent xemacs/lisp ...

xemacs-cvs at xemacs.org xemacs-cvs at xemacs.org
Sun Oct 7 02:55:02 EDT 2007


  User: stephent
  Date: 07/10/07 08:55:02

  Modified:    xemacs/lisp ChangeLog x-faces.el
Log:
Fix list-colors-display bug on X11. <87bqbb2z4c.fsf at uwakimon.sk.tsukuba.ac.jp>

Revision  Changes    Path
1.848     +5 -0      XEmacs/xemacs/lisp/ChangeLog

Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.847
retrieving revision 1.848
diff -u -p -r1.847 -r1.848
--- ChangeLog	2007/10/03 16:53:38	1.847
+++ ChangeLog	2007/10/07 06:54:59	1.848
@@ -1,3 +1,8 @@
+2007-10-06  Stephen J. Turnbull  <stephen at xemacs.org>
+
+	* x-faces.el (x-color-list-internal): Should return a list of
+	strings.  Make it so.
+
 2007-10-03  Aidan Kehoe  <kehoea at parhasard.net>
 
 	* unicode.el (featurep):



1.31      +11 -2     XEmacs/xemacs/lisp/x-faces.el

Index: x-faces.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/x-faces.el,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -p -r1.30 -r1.31
--- x-faces.el	2007/09/30 11:59:35	1.30
+++ x-faces.el	2007/10/07 06:55:00	1.31
@@ -603,6 +603,15 @@ Otherwise, it returns the next larger ve
 
 (defvar x-color-list-internal-cache)
 
+;; Ben originally coded this in 2005/01 to return a list of lists each
+;; containing a single string.  This is apparently derived from use of
+;; this list in completion, but in fact `read-color-completion-table'
+;; already does this wrapping.  So I'm changing this to return a list of
+;; strings as the TTY code does, and as expected by r-c-c-t.
+;; -- sjt 2007-10-06
+
+;; This function is probably also used by the GTK platform.  Cf.
+;; gtk_color_list in src/objects-gtk.c.
 (defun x-color-list-internal ()
   (if (boundp 'x-color-list-internal-cache)
       x-color-list-internal-cache
@@ -623,12 +632,12 @@ Otherwise, it returns the next larger ve
 	    (setq p (point))
 	    (end-of-line)
 	    (setq color (buffer-substring p (point))
-		  clist (cons (list color) clist))
+		  clist (cons color clist))
 	    ;; Ugh.  If we want to be able to complete the lowercase form
 	    ;; of the color name, we need to add it twice!  Yuck.
 	    (let ((dcase (downcase color)))
 	      (or (string= dcase color)
-		  (push (list dcase) clist)))
+		  (push dcase clist)))
 	    (forward-char 1))
 	  (kill-buffer (current-buffer))))
       (setq x-color-list-internal-cache clist)





More information about the XEmacs-CVS mailing list