bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

color-gray-p


From: Devon Sean McCullough
Subject: color-gray-p
Date: Sun, 22 Aug 2004 01:36:25 -0400 (EDT)

In GNU Emacs 21.3.3 (i386-unknown-freebsd4.8, X toolkit, Xaw3d scroll bars)
 of 2003-06-08 on grant.org
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

(color-gray-p "gray") signals (wrong-type-argument framep nil)

Functions `color-gray-p' and `color-supported-p'
do not work as documented.  See patch to xfaces.c
below which seems to correct the trouble although
much is obscure to me, e.g. the second parameter
of CHECK_* is a total mystery.

Recent input:
( c o l o r - g r ESC TAB SPC " g r a y " ) C-j ESC 
x r e p o r t SPC e m SPC SPC RET

Recent messages:
(emacs -q)
For information about the GNU Project and its goals, type C-h C-p.
eval: 
Loading debug...done
Entering debugger...
 [2 times]
Loading emacsbug...done

--- emacs-21.3/src/xfaces.c.~1~ Thu Nov 14 08:15:48 2002
+++ emacs-21.3/src/xfaces.c     Fri Aug 20 13:22:13 2004
@@ -1476,15 +1476,17 @@
 {
   struct frame *f;
 
-  CHECK_FRAME (frame, 0);
   CHECK_STRING (color, 0);
+  if (NILP (frame))
+    frame = selected_frame;
+  CHECK_FRAME (frame, 0);
   f = XFRAME (frame);
   return face_color_gray_p (f, XSTRING (color)->data) ? Qt : Qnil;
 }
 
 
 DEFUN ("color-supported-p", Fcolor_supported_p,
-       Scolor_supported_p, 2, 3, 0,
+       Scolor_supported_p, 1, 3, 0,
   "Return non-nil if COLOR can be displayed on FRAME.\n\
 BACKGROUND-P non-nil means COLOR is used as a background.\n\
 If FRAME is nil or omitted, use the selected frame.\n\
@@ -1494,8 +1496,10 @@
 {
   struct frame *f;
 
-  CHECK_FRAME (frame, 0);
   CHECK_STRING (color, 0);
+  if (NILP (frame))
+    frame = selected_frame;
+  CHECK_FRAME (frame, 0);
   f = XFRAME (frame);
   if (face_color_supported_p (f, XSTRING (color)->data, !NILP (background_p)))
     return Qt;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]