changeset: 5448:f560f6608937
user: Jerry James <james(a)xemacs.org>
date: Wed Mar 30 15:07:15 2011 -0600
files: src/dired.c
description:
Typo fix: use a semicolon instead of a comma at the end of a statement.
diff -r fd5cd747075f -r f560f6608937 src/dired.c
--- a/src/dired.c Tue Mar 29 23:28:14 2011 +0100
+++ b/src/dired.c Wed Mar 30 15:07:15 2011 -0600
@@ -912,7 +912,7 @@
#endif
filemodestring (&s, modes);
- modestring = make_string ((Ibyte *) modes, 10),
+ modestring = make_string ((Ibyte *) modes, 10);
#if defined (BSD4_2) || defined (BSD4_3) /* file gid will be dir gid */
{
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
changeset: 5446:5f5d48053e86
parent: 5444:436e67ca8c79
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Tue Mar 29 23:27:46 2011 +0100
files: lisp/ChangeLog lisp/cl-extra.el lisp/obsolete.el
description:
Drop #'cl-finite-do, defalias #'cl-float-limits to #'ignore in dumped XEmacs
2011-03-29 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-extra.el (cl-finite-do, cl-float-limits):
Don't make these available as functions in the dumped image (let
them be garbage-collected), since they're only called at dump
time.
* obsolete.el (cl-float-limits):
Make this an alias to #'identity (since it's called at dump time),
mark it as obsolete in 21.5.
diff -r 436e67ca8c79 -r 5f5d48053e86 lisp/ChangeLog
--- a/lisp/ChangeLog Tue Mar 29 17:28:34 2011 +0100
+++ b/lisp/ChangeLog Tue Mar 29 23:27:46 2011 +0100
@@ -1,3 +1,12 @@
+2011-03-29 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl-extra.el (cl-finite-do, cl-float-limits):
+ Don't make these available as functions in the dumped image, since
+ they're only called at dump time.
+ * obsolete.el (cl-float-limits):
+ Make this an alias to #'identity (since it's called at dump time),
+ mark it as obsolete in 21.5.
+
2011-03-29 Aidan Kehoe <kehoea(a)parhasard.net>
* cl.el:
diff -r 436e67ca8c79 -r 5f5d48053e86 lisp/cl-extra.el
--- a/lisp/cl-extra.el Tue Mar 29 17:28:34 2011 +0100
+++ b/lisp/cl-extra.el Tue Mar 29 23:27:46 2011 +0100
@@ -365,52 +365,6 @@
(and (vectorp object) (= (length object) 4)
(eq (aref object 0) 'cl-random-state-tag)))
-
-;; Implementation limits.
-
-(defun cl-finite-do (func a b)
- (condition-case nil
- (let ((res (funcall func a b))) ; check for IEEE infinity
- (and (numberp res) (/= res (/ res 2)) res))
- (arith-error nil)))
-
-(defun cl-float-limits ()
- (or most-positive-float (not (numberp '2e1))
- (let ((x '2e0) y z)
- ;; Find maximum exponent (first two loops are optimizations)
- (while (cl-finite-do '* x x) (setq x (* x x)))
- (while (cl-finite-do '* x (/ x 2)) (setq x (* x (/ x 2))))
- (while (cl-finite-do '+ x x) (setq x (+ x x)))
- (setq z x y (/ x 2))
- ;; Now fill in 1's in the mantissa.
- (while (and (cl-finite-do '+ x y) (/= (+ x y) x))
- (setq x (+ x y) y (/ y 2)))
- (setq most-positive-float x
- most-negative-float (- x))
- ;; Divide down until mantissa starts rounding.
- (setq x (/ x z) y (/ 16 z) x (* x y))
- (while (condition-case nil (and (= x (* (/ x 2) 2)) (> (/ y 2) 0))
- (arith-error nil))
- (setq x (/ x 2) y (/ y 2)))
- (setq least-positive-normalized-float y
- least-negative-normalized-float (- y))
- ;; Divide down until value underflows to zero.
- (setq x (/ 1 z) y x)
- (while (condition-case nil (> (/ x 2) 0) (arith-error nil))
- (setq x (/ x 2)))
- (setq least-positive-float x
- least-negative-float (- x))
- (setq x '1e0)
- (while (/= (+ '1e0 x) '1e0) (setq x (/ x 2)))
- (setq float-epsilon (* x 2))
- (setq x '1e0)
- (while (/= (- '1e0 x) '1e0) (setq x (/ x 2)))
- (setq float-negative-epsilon (* x 2))))
- nil)
-
-;; XEmacs; call cl-float-limits at dump time.
-(cl-float-limits)
-
;;; Sequence functions.
;; XEmacs; #'subseq is in C.
@@ -693,6 +647,49 @@
;; files to do the same, multiple times.
(eval-when-compile (or (cl-compiling-file) (load "cl-macs")))
+;; Implementation limits.
+
+;; XEmacs; call cl-float-limits at dump time.
+(labels
+ ((cl-finite-do (func a b)
+ (condition-case nil
+ (let ((res (funcall func a b))) ; check for IEEE infinity
+ (and (numberp res) (/= res (/ res 2)) res))
+ (arith-error nil)))
+ (cl-float-limits ()
+ (unless most-positive-float
+ (let ((x 2e0) y z)
+ ;; Find maximum exponent (first two loops are optimizations)
+ (while (cl-finite-do '* x x) (setq x (* x x)))
+ (while (cl-finite-do '* x (/ x 2)) (setq x (* x (/ x 2))))
+ (while (cl-finite-do '+ x x) (setq x (+ x x)))
+ (setq z x y (/ x 2))
+ ;; Now fill in 1's in the mantissa.
+ (while (and (cl-finite-do '+ x y) (/= (+ x y) x))
+ (setq x (+ x y) y (/ y 2)))
+ (setq most-positive-float x
+ most-negative-float (- x))
+ ;; Divide down until mantissa starts rounding.
+ (setq x (/ x z) y (/ 16 z) x (* x y))
+ (while (condition-case nil (and (= x (* (/ x 2) 2)) (> (/ y 2) 0))
+ (arith-error nil))
+ (setq x (/ x 2) y (/ y 2)))
+ (setq least-positive-normalized-float y
+ least-negative-normalized-float (- y))
+ ;; Divide down until value underflows to zero.
+ (setq x (/ 1 z) y x)
+ (while (condition-case nil (> (/ x 2) 0) (arith-error nil))
+ (setq x (/ x 2)))
+ (setq least-positive-float x
+ least-negative-float (- x))
+ (setq x 1e0)
+ (while (/= (+ 1e0 x) 1e0) (setq x (/ x 2)))
+ (setq float-epsilon (* x 2))
+ (setq x 1e0)
+ (while (/= (- 1e0 x) 1e0) (setq x (/ x 2)))
+ (setq float-negative-epsilon (* x 2))))))
+ (cl-float-limits))
+
(run-hooks 'cl-extra-load-hook)
;; XEmacs addition
diff -r 436e67ca8c79 -r 5f5d48053e86 lisp/obsolete.el
--- a/lisp/obsolete.el Tue Mar 29 17:28:34 2011 +0100
+++ b/lisp/obsolete.el Tue Mar 29 23:27:46 2011 +0100
@@ -244,6 +244,12 @@
(define-compatible-function-alias 'cl-mapc 'mapc)
+;; Various non-XEmacs code can call this, because it used not be
+;; called automatically at dump time.
+(define-function 'cl-float-limits 'ignore)
+(make-obsolete 'cl-float-limits "this is called at dump time in 21.5 and \
+later, no need to call it in user code.")
+
;; XEmacs; old compiler macros meant that this was called directly
;; from compiled code, and we need to provide a version of it for a
;; couple of years at least because of that. Aidan Kehoe, Mon Oct 4
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
changeset: 5444:436e67ca8c79
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Tue Mar 29 17:28:34 2011 +0100
files: lisp/ChangeLog lisp/cl.el
description:
Give docstrings to least-{positive,negative}-normalized-float, float-*epsilon
2011-03-29 Aidan Kehoe <kehoea(a)parhasard.net>
* cl.el:
* cl.el (least-positive-float):
* cl.el (least-positive-normalized-float):
* cl.el (least-negative-normalized-float):
* cl.el (float-epsilon):
* cl.el (float-negative-epsilon):
Document some previously-undocumented float constants here.
* cl.el (oddp):
* cl.el (evenp):
Change numeric comparison to use #'eql instead of #'eq in
passing.
diff -r 3889ef128488 -r 436e67ca8c79 lisp/ChangeLog
--- a/lisp/ChangeLog Thu Mar 24 11:00:11 2011 -0600
+++ b/lisp/ChangeLog Tue Mar 29 17:28:34 2011 +0100
@@ -1,3 +1,17 @@
+2011-03-29 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl.el:
+ * cl.el (least-positive-float):
+ * cl.el (least-positive-normalized-float):
+ * cl.el (least-negative-normalized-float):
+ * cl.el (float-epsilon):
+ * cl.el (float-negative-epsilon):
+ Document some previously-undocumented float constants here.
+ * cl.el (oddp):
+ * cl.el (evenp):
+ Change numeric comparison to use #'eql instead of #'eq in
+ passing.
+
2011-03-24 Jerry James <james(a)xemacs.org>
* cl-macs.el (loop): "arbitary" -> "arbitrary".
diff -r 3889ef128488 -r 436e67ca8c79 lisp/cl.el
--- a/lisp/cl.el Thu Mar 24 11:00:11 2011 -0600
+++ b/lisp/cl.el Tue Mar 29 17:28:34 2011 +0100
@@ -312,11 +312,11 @@
(defun oddp (integer)
"Return t if INTEGER is odd."
- (eq (logand integer 1) 1))
+ (eql (logand integer 1) 1))
(defun evenp (integer)
"Return t if INTEGER is even."
- (eq (logand integer 1) 0))
+ (eql (logand integer 1) 0))
;; XEmacs addition
(defalias 'cl-abs 'abs)
@@ -329,13 +329,35 @@
(defconst most-negative-float nil
"The float closest in value to negative infinity.")
(defconst least-positive-float nil
- "The positive float closest in value to 0.")
+ "The positive float closest in value to zero.")
(defconst least-negative-float nil
- "The negative float closest in value to 0.")
-(defconst least-positive-normalized-float nil)
-(defconst least-negative-normalized-float nil)
-(defconst float-epsilon nil)
-(defconst float-negative-epsilon nil)
+ "The negative float closest in value to zero.")
+(defconst least-positive-normalized-float nil
+ "The normalized positive float closest in value to zero.
+
+A float is normalized if the most significant bit of its mantissa is 1.
+Use of denormalized (equivalently, subnormal) floats in calculations will
+lead to gradual underflow, though they can be more accurate in representing
+individual small values. Normal and subnormal floats are as described in
+IEEE 754.")
+
+(defconst least-negative-normalized-float nil
+ "The normalized negative float closest in value to zero.
+
+See `least-positive-normalized-float' for details of normal and denormalized
+numbers.")
+
+(defconst float-epsilon nil
+ "The smallest float guaranteed not `eql' to 1.0 when added to 1.0.
+
+That is, (eql 1.0 (+ 1.0 X)) will always give nil if (<= float-epsilon X) ,
+but it may give t for smaller values.")
+
+(defconst float-negative-epsilon nil
+ "The smallest float guaranteed not `eql' to 1.0 when subtracted from 1.0.
+
+That is, (eql 1.0 (- 1.0 X)) will always give nil if (<=
+float-negative-epsilon X) , but it may give t for smaller values.")
;;; Sequence functions.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
changeset: 5442:294ab9180fad
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Thu Mar 24 06:22:25 2011 +0000
files: lisp/ChangeLog lisp/cmdloop.el lisp/custom.el
description:
#'custom-add-to-group: warn if GROUP is nil.
2011-03-24 Aidan Kehoe <kehoea(a)parhasard.net>
* custom.el (custom-add-to-group):
Warn if adding an option to the nil group; this is usually an
error on the part of the programmer.
* cmdloop.el (suggest-key-bindings):
Specify a group for this variable, it didn't previously have one.
diff -r d363790fd936 -r 294ab9180fad lisp/ChangeLog
--- a/lisp/ChangeLog Wed Mar 23 00:08:35 2011 +0100
+++ b/lisp/ChangeLog Thu Mar 24 06:22:25 2011 +0000
@@ -1,3 +1,11 @@
+2011-03-24 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * custom.el (custom-add-to-group):
+ Warn if adding an option to the nil group; this is usually an
+ error on the part of the programmer.
+ * cmdloop.el (suggest-key-bindings):
+ Specify a group for this variable, it didn't previously have one.
+
2011-03-21 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (revappend, nreconc):
diff -r d363790fd936 -r 294ab9180fad lisp/cmdloop.el
--- a/lisp/cmdloop.el Wed Mar 23 00:08:35 2011 +0100
+++ b/lisp/cmdloop.el Thu Mar 24 06:22:25 2011 +0000
@@ -313,7 +313,8 @@
:type '(choice
(const :tag "off" nil)
(integer :tag "time" 2)
- (other :tag "on")))
+ (other :tag "on"))
+:group 'keyboard)
(dontusethis-set-symbol-value-handler
'suggest-key-bindings
diff -r d363790fd936 -r 294ab9180fad lisp/custom.el
--- a/lisp/custom.el Wed Mar 23 00:08:35 2011 +0100
+++ b/lisp/custom.el Thu Mar 24 06:22:25 2011 +0000
@@ -409,6 +409,9 @@
(defun custom-add-to-group (group option widget)
"To existing GROUP add a new OPTION of type WIDGET.
If there already is an entry for OPTION and WIDGET, nothing is done."
+ (or group (display-warning 'custom
+ (format "custom: widget %s, option %s has no associated group"
+ widget option)))
(let ((members (get group 'custom-group))
(entry (list option widget)))
(unless (member entry members)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
changeset: 5438:a32a108ae815
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Mon Mar 21 12:19:25 2011 +0000
files: lisp/ChangeLog lisp/cl-macs.el
description:
#'cl-non-fixnum-number-p: return t for integers > #x3fffffff and < -#x40000000
2011-03-21 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (cl-non-fixnum-number-p):
This should return t under 64-bit builds for fixnums that would
be bignums on a 32-bit machine; make it so.
diff -r 4f0a1f4cc111 -r a32a108ae815 lisp/ChangeLog
--- a/lisp/ChangeLog Sat Mar 19 22:13:14 2011 +0900
+++ b/lisp/ChangeLog Mon Mar 21 12:19:25 2011 +0000
@@ -1,3 +1,9 @@
+2011-03-21 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl-macs.el (cl-non-fixnum-number-p):
+ This should return t under 64-bit builds for fixnums that would
+ be bignums on a 32-bit machine; make it so.
+
2011-03-19 Stephen J. Turnbull <stephen(a)xemacs.org>
* faces.el (face-spec-set-match-display):
diff -r 4f0a1f4cc111 -r a32a108ae815 lisp/cl-macs.el
--- a/lisp/cl-macs.el Sat Mar 19 22:13:14 2011 +0900
+++ b/lisp/cl-macs.el Mon Mar 21 12:19:25 2011 +0000
@@ -3230,13 +3230,25 @@
argns argvs)))
(if lets (list 'let lets body) body))))
+;; When a 64-bit build is byte-compiling code, some of its native fixnums
+;; will not be represented as fixnums if the byte-compiled code is read by
+;; the Lisp reader in a 32-bit build. So in that case we need to check the
+;; range of fixnums as well as their types. XEmacs doesn't support machines
+;; with word size less than 32, so it's OK to have that as the minimum.
+(macrolet
+ ((most-negative-fixnum-on-32-bit-machines () (lognot (1- (lsh 1 30))))
+ (most-positive-fixnum-on-32-bit-machines () (lsh 1 30)))
+ (defun cl-non-fixnum-number-p (object)
+ "Return t if OBJECT is a number not guaranteed to be immediate."
+ (and (numberp object)
+ (or (not (fixnump object))
+ (not (<= (most-negative-fixnum-on-32-bit-machines)
+ object
+ (most-positive-fixnum-on-32-bit-machines)))))))
;;; Compile-time optimizations for some functions defined in this package.
;;; Note that cl.el arranges to force cl-macs to be loaded at compile-time,
;;; mainly to make sure these macros will be present.
-
-(defun cl-non-fixnum-number-p (object)
- (and (numberp object) (not (fixnump object))))
(define-compiler-macro eql (&whole form a b)
(cond ((eq (cl-const-expr-p a) t)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
changeset: 5437:4f0a1f4cc111
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Sat Mar 19 22:13:14 2011 +0900
files: lisp/ChangeLog lisp/faces.el man/ChangeLog man/lispref/customize.texi man/lispref/faces.texi
description:
Improve support for min-colors req in `defface'.
lisp/faces.el (face-spec-set-match-display):
Protect against `display-color-cells' returning nil.
Delete unreferenced let-binding of `min-colors'.
man/lispref/customize.texi (Face Definitions): New node.
(Customization): Add entry to menu.
(Variable Definitions): Add cross-ref for `defface'.
(Customization Types): Fixup Previous link.
man/lispref/faces.texi (Faces):
Clarify that built-in properties of faces are computed at runtime.
diff -r eac2e6bd5b2c -r 4f0a1f4cc111 lisp/ChangeLog
--- a/lisp/ChangeLog Thu Mar 17 21:50:34 2011 +0000
+++ b/lisp/ChangeLog Sat Mar 19 22:13:14 2011 +0900
@@ -1,3 +1,9 @@
+2011-03-19 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * faces.el (face-spec-set-match-display):
+ Protect against `display-color-cells' returning nil.
+ Delete unreferenced let-binding of `min-colors'.
+
2011-03-17 Aidan Kehoe <kehoea(a)parhasard.net>
* bytecomp.el (byte-compile-catch):
diff -r eac2e6bd5b2c -r 4f0a1f4cc111 lisp/faces.el
--- a/lisp/faces.el Thu Mar 17 21:50:34 2011 +0000
+++ b/lisp/faces.el Sat Mar 19 22:13:14 2011 +0900
@@ -1702,7 +1702,6 @@
(type (plist-get props 'type))
(class (plist-get props 'class))
(background (plist-get props 'background))
- (min-colors (plist-get props 'min-colors))
(match t)
(entries display)
entry req options)
@@ -1715,7 +1714,9 @@
(type (memq type options))
(class (memq class options))
(background (memq background options))
- (min-colors (>= (display-color-cells frame)
+ ;; `display-color-cells' can return nil (eg, TTYs).
+ ;; If so, assume monochrome.
+ (min-colors (>= (or (display-color-cells frame) 2)
(car options)))
(t (warn "Unknown req `%S' with options `%S'"
req options)
diff -r eac2e6bd5b2c -r 4f0a1f4cc111 man/ChangeLog
--- a/man/ChangeLog Thu Mar 17 21:50:34 2011 +0000
+++ b/man/ChangeLog Sat Mar 19 22:13:14 2011 +0900
@@ -1,3 +1,13 @@
+2011-03-19 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * lispref/customize.texi (Face Definitions): New node.
+ (Customization): Add entry to menu.
+ (Variable Definitions): Add cross-ref for `defface'.
+ (Customization Types): Fixup Previous link.
+
+ * lispref/faces.texi (Faces):
+ Clarify that built-in properties of faces are computed at runtime.
+
2011-03-15 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/objects.texi (Character Type):
diff -r eac2e6bd5b2c -r 4f0a1f4cc111 man/lispref/customize.texi
--- a/man/lispref/customize.texi Thu Mar 17 21:50:34 2011 +0000
+++ b/man/lispref/customize.texi Sat Mar 19 22:13:14 2011 +0900
@@ -15,6 +15,7 @@
* Common Keywords::
* Group Definitions::
* Variable Definitions::
+* Face Definitions::
* Customization Types::
* Enabling Behavior::
@end menu
@@ -163,6 +164,7 @@
@section Defining Customization Variables
Use @code{defcustom} to declare user-editable variables.
+For face declarations, use @code{defface} instead. @xref{Face Definitions}.
@tindex defcustom
@defmac defcustom option default doc [keyword value]...
@@ -288,7 +290,67 @@
customization buffer. The @code{saved-value} property is actually a
list whose car is an expression which evaluates to the value.
-@node Customization Types, Enabling Behavior, Variable Definitions, Customization
+@node Face Definitions, Customization Types, Variable Definitions, Customization
+@section Face Definitions
+
+Use @code{defface} to declare a new face. Conventions used in
+specifying properties are similar to those for general customizable
+variables. @xref{Variable Definitions}.
+
+@defun defface face spec doc &rest args
+
+Declare @var{face} as a customizable face that defaults to @var{spec}.
+@var{face} does not need to be quoted.
+
+Third argument @var{doc} is the face documentation.
+
+If @var{face} has been set with `custom-set-face', set the face attributes
+as specified by that function, otherwise set the face attributes
+according to @var{spec}.
+
+The remaining arguments @var{args} are a property list, which has the
+form
+
+ @var{keyword} @var{value}...
+
+The following @var{keyword}s are defined:
+
+@table @code
+@item:group
+@var{value} is a customization group. Add @var{face} to that group.
+@end table
+
+@var{spec} is an alist of the form ((@var{display} @var{atts})...).
+
+@var{atts} is a list of face attributes and their values. The possible
+attributes are defined in the variable `custom-face-attributes'.
+
+The @var{atts} of the first entry in @var{spec} where the
+@var{display} matches the frame take effect in that frame.
+@var{display} can either be the symbol t, which will match all frames,
+or an alist of the form \((@var{req} @var{item}...)...)
+
+For @var{display} to match a frame, the @var{req} property of the
+frame must match one of the @var{item}. The following @var{req} are
+defined:
+
+@table @code
+@item @code{type} (the value of @code{window-system})
+ Should be one of @code{x}, @code{mswindows}, or @code{tty}.
+
+@code{class} (the frame's color support)
+ Should be one of @code{color}, @code{grayscale}, or @code{mono}.
+
+@code{min-colors} (the minimum number of colors the frame supports)
+ Should be in integer which is compared to @code{display-color-cells}
+
+@code{background} (what color is used for the background text)
+ Should be one of @code{light} or @code{dark}.
+@end table
+@end defun
+
+
+@node Customization Types, Enabling Behavior, Face Definitions, Customization
@section Customization Types
When you define a user option with @code{defcustom}, you must specify
diff -r eac2e6bd5b2c -r 4f0a1f4cc111 man/lispref/faces.texi
--- a/man/lispref/faces.texi Thu Mar 17 21:50:34 2011 +0000
+++ b/man/lispref/faces.texi Sat Mar 19 22:13:14 2011 +0900
@@ -26,10 +26,13 @@
Each built-in property of a face is controlled using a specifier,
which allows it to have separate values in particular buffers, frames,
-windows, and devices and to further vary according to device type
-(X or TTY), device class (color, mono, or grayscale) and number of
-displayable colors (min-colors).
-@xref{Specifiers}, for more information.
+windows, and devices. These properties are computed when the face is
+instantiated, allowing them to vary according to properties of the
+display device, such as type (X or TTY), visual class (color, mono, or
+grayscale), and number of colors displayable on the device.
+@xref{Specifiers}, for more information on specifiers.
+@xref{Face Definitions}, for defining faces whose properties vary
+according to their runtime environments.
The face named @code{default} is used for ordinary text. The face named
@code{modeline} is used for displaying the modeline. The face named
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches