XEmacs 21.2.28 "Hermes".
authortomo <tomo>
Tue, 2 May 2000 08:52:21 +0000 (08:52 +0000)
committertomo <tomo>
Tue, 2 May 2000 08:52:21 +0000 (08:52 +0000)
36 files changed:
info/cl.info-1
info/cl.info-3
info/cl.info-6
info/internals.info-3
info/internals.info-4
info/internals.info-5
info/internals.info-6
info/internals.info-7
info/internals.info-8
info/lispref.info-11
info/lispref.info-17
info/lispref.info-18
info/lispref.info-19
info/lispref.info-20
info/lispref.info-27
info/lispref.info-28
info/lispref.info-33
info/lispref.info-34
info/lispref.info-35
info/lispref.info-36
info/lispref.info-40
info/lispref.info-41
info/lispref.info-42
info/lispref.info-44
info/new-users-guide.info-2
info/xemacs-faq.info-3
info/xemacs-faq.info-4
info/xemacs-faq.info-5
info/xemacs.info-11
info/xemacs.info-12
info/xemacs.info-13
info/xemacs.info-15
info/xemacs.info-16
info/xemacs.info-17
info/xemacs.info-8
src/input-method-xfs.c

index 39091b8..11eb3c9 100644 (file)
@@ -224,10 +224,10 @@ a `*' has been appended to the Common Lisp name to obtain the Emacs
 name:
 
      defun*        defsubst*     defmacro*     function*
-     member*       assoc*        rassoc*       get*
-     remove*       delete*       mapcar*       sort*
-     floor*        ceiling*      truncate*     round*
-     mod*          rem*          random*
+     member*       assoc*        rassoc*       remove*
+     delete*       mapcar*       sort*         floor*
+     ceiling*      truncate*     round*        mod*
+     rem*          random*
 
    Internal function and variable names in the package are prefixed by
 `cl-'.  Here is a complete list of functions _not_ prefixed by `cl-'
@@ -918,8 +918,8 @@ variables.
                nth                 rest                first .. tenth
                aref                elt                 nthcdr
                symbol-function     symbol-value        symbol-plist
-               get                 get*                getf
-               gethash             subseq
+               get                 getf                gethash
+               subseq
 
           Note that for `nthcdr' and `getf', the list argument of the
           function must itself be a valid PLACE form.  For example,
index 69e4664..1783ddb 100644 (file)
@@ -831,7 +831,7 @@ from Emacs Lisp.
 
 * Menu:
 
-* Property Lists::       `get*', `remprop', `getf', `remf'
+* Property Lists::       `remprop', `getf', `remf'
 * Creating Symbols::     `gensym', `gentemp'
 
 \1f
@@ -845,15 +845,6 @@ These functions augment the standard Emacs Lisp functions `get' and
 functions for working with property lists as first-class data
 structures not attached to particular symbols.
 
- - Function: get* symbol property &optional default
-     This function is like `get', except that if the property is not
-     found, the DEFAULT argument provides the return value.  (The Emacs
-     Lisp `get' function always uses `nil' as the default; this
-     package's `get*' is equivalent to Common Lisp's `get'.)
-
-     The `get*' function is `setf'-able; when used in this fashion, the
-     DEFAULT argument is allowed but ignored.
-
  - Function: remprop symbol property
      This function removes the entry for PROPERTY from the property
      list of SYMBOL.  It returns a true value if the property was
@@ -884,10 +875,10 @@ structures not attached to particular symbols.
 
           (put sym prop val)  ==  (setf (getf (symbol-plist sym) prop) val)
 
-     The `get' and `get*' functions are also `setf'-able.  The fact
-     that `default' is ignored can sometimes be useful:
+     The `get' function is also `setf'-able.  The fact that `default'
+     is ignored can sometimes be useful:
 
-          (incf (get* 'foo 'usage-count 0))
+          (incf (get 'foo 'usage-count 0))
 
      Here, symbol `foo''s `usage-count' property is incremented if it
      exists, or set to 1 (an incremented 0) otherwise.
index 6f6dd9c..a3d0e27 100644 (file)
@@ -106,7 +106,6 @@ Function Index
 * gcd:                                   Numerical Functions.
 * gensym:                                Creating Symbols.
 * gentemp:                               Creating Symbols.
-* get*:                                  Property Lists.
 * get-setf-method:                       Customizing Setf.
 * getf:                                  Property Lists.
 * ignore-errors:                         Assertions.
index ed3b8e6..c6ed97c 100644 (file)
@@ -3,7 +3,7 @@ internals/internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).      XEmacs Internals Manual.
+* Internals: (internals).       XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -660,9 +660,9 @@ structure itself is defined elsewhere) should be placed into the
 typedefs section as necessary.
 
    `lrecord.h' contains the basic structures and macros that implement
-all record-type Lisp objects - i.e. all objects whose type is a field
-in their C structure, which includes all objects except the few most
-basic ones.
+all record-type Lisp objects--i.e. all objects whose type is a field in
+their C structure, which includes all objects except the few most basic
+ones.
 
    `lisp.h' contains prototypes for most of the exported functions in
 the various modules.  Lisp primitives defined using `DEFUN' that need
@@ -691,7 +691,7 @@ particular types of objects using a standardized interface of
 type-specific methods.  This scheme is a fundamental principle of
 object-oriented programming and is heavily used throughout XEmacs.  The
 great advantage of this is that it allows for a clean separation of
-functionality into different modules - new classes of Lisp objects, new
+functionality into different modules--new classes of Lisp objects, new
 event interfaces, new device types, new stream interfaces, etc. can be
 added transparently without affecting code anywhere else in XEmacs.
 Because the different subsystems are divided into general and specific
@@ -764,7 +764,7 @@ equivalent object.)
    `symbols.c' implements the handling of symbols, obarrays, and
 retrieving the values of symbols.  Much of the code is devoted to
 handling the special "symbol-value-magic" objects that define special
-types of variables - this includes buffer-local variables, variable
+types of variables--this includes buffer-local variables, variable
 aliases, variables that forward into C variables, etc.  This module is
 initialized extremely early (right after `alloc.c'), because it is here
 that the basic symbols `t' and `nil' are created, and those symbols are
@@ -990,7 +990,7 @@ relevant keymaps.)
      keyboard.c
 
    `keyboard.c' contains functions that implement the actual editor
-command loop - i.e. the event loop that cyclically retrieves and
+command loop--i.e. the event loop that cyclically retrieves and
 dispatches events.  This code is also rather tricky, just like
 `event-stream.c'.
 
@@ -1115,7 +1115,7 @@ Modules for other Display-Related Lisp Objects
 
      font-lock.c
 
-   This file provides C support for syntax highlighting - i.e.
+   This file provides C support for syntax highlighting--i.e.
 highlighting different syntactic constructs of a source file in
 different colors, for easy reading.  The C support is provided so that
 this is fast.
index 151d7cf..af2f27c 100644 (file)
@@ -3,7 +3,7 @@ internals/internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).      XEmacs Internals Manual.
+* Internals: (internals).       XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -204,7 +204,7 @@ automatically reclaimed.
 with them, in case the block of memory contains other Lisp objects that
 need to be marked for garbage-collection purposes. (If you need other
 object methods, such as a finalize method, you should just go ahead and
-create a new Lisp object type - it's not hard.)
+create a new Lisp object type--it's not hard.)
 
      abbrev.c
 
@@ -668,7 +668,7 @@ structure.
      memory that are subdivided into individual objects.  This saves a
      lot on malloc overhead, since there are typically quite a lot of
      these objects around, and the objects are small.  (A cons, for
-     example, occupies 8 bytes on 32-bit machines - 4 bytes for each of
+     example, occupies 8 bytes on 32-bit machines--4 bytes for each of
      the two objects it contains.) Vectors are individually
      `malloc()'ed since they are of variable size.  (It would be
      possible, and desirable, to allocate vectors of certain small
@@ -841,7 +841,7 @@ some rules, though:
      the next enclosing stack frame.  Each `GCPRO'ed thing is an
      lvalue, and the `struct gcpro' local variable contains a pointer to
      this lvalue.  This is why things will mess up badly if you don't
-     pair up the `GCPRO's and `UNGCPRO's - you will end up with
+     pair up the `GCPRO's and `UNGCPRO's--you will end up with
      `gcprolist's containing pointers to `struct gcpro's or local
      `Lisp_Object' variables in no-longer-active stack frames.
 
index d64e8dd..163f1c5 100644 (file)
@@ -3,7 +3,7 @@ internals/internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).      XEmacs Internals Manual.
+* Internals: (internals).       XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -913,8 +913,8 @@ big to fit into a string-chars block.  Such strings, called "big
 strings", are all `malloc()'ed as their own block. (#### Although it
 would make more sense for the threshold for big strings to be somewhat
 lower, e.g. 1/2 or 1/4 the size of a string-chars block.  It seems that
-this was indeed the case formerly - indeed, the threshold was set at
-1/8 - but Mly forgot about this when rewriting things for 19.8.)
+this was indeed the case formerly--indeed, the threshold was set at
+1/8--but Mly forgot about this when rewriting things for 19.8.)
 
    Note also that the string data in string-chars blocks is padded as
 necessary so that proper alignment constraints on the `struct
@@ -999,7 +999,7 @@ of this, etc.
 provides an abstract layer on top of the system-dependent nature of the
 most basic events that are received.  Part of the complex nature of the
 XEmacs event collection process involves converting from the
-operating-system events into the proper Emacs events - there may not be
+operating-system events into the proper Emacs events--there may not be
 a one-to-one correspondence.
 
    Emacs events are documented in `events.h'; I'll discuss them later.
index 177e1a5..66d9da0 100644 (file)
@@ -3,7 +3,7 @@ internals/internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).      XEmacs Internals Manual.
+* Internals: (internals).       XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -59,7 +59,7 @@ key sequences is called the "command builder".  This is documented
 elsewhere.
 
    The guts of the command loop are in `command_loop_1()'.  This
-function doesn't catch errors, though - that's the job of
+function doesn't catch errors, though--that's the job of
 `command_loop_2()', which is a condition-case (i.e. error-trapping)
 wrapper around `command_loop_1()'.  `command_loop_1()' never returns,
 but may get thrown out of.
index 6f509c6..2562605 100644 (file)
@@ -3,7 +3,7 @@ internals/internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).      XEmacs Internals Manual.
+* Internals: (internals).       XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -833,8 +833,8 @@ Lstream Functions
  - Macro: void Lstream_ungetc (Lstream *STREAM, int C)
      Push one byte back onto the input queue.  This will be the next
      byte read from the stream.  Any number of bytes can be pushed back
-     and will be read in the reverse order they were pushed back - most
-     recent first. (This is necessary for consistency - if there are a
+     and will be read in the reverse order they were pushed back--most
+     recent first. (This is necessary for consistency--if there are a
      number of bytes that have been unread and I read and unread a
      byte, it needs to be the first to be read again.) This is a macro
      and so it is very efficient.  The C argument is only evaluated
@@ -870,7 +870,7 @@ Lstream Functions
  - Function: void Lstream_reopen (Lstream *STREAM)
      Reopen a closed stream.  This enables I/O on it again.  This is not
      meant to be called except from a wrapper routine that reinitializes
-     variables and such - the close routine may well have freed some
+     variables and such--the close routine may well have freed some
      necessary storage structures, for example.
 
  - Function: void Lstream_rewind (Lstream *STREAM)
@@ -917,7 +917,7 @@ Lstream Methods
      Rewind the stream.  If this is `NULL', the stream is not seekable.
 
  - Lstream Method: int seekable_p (Lstream *STREAM)
-     Indicate whether this stream is seekable - i.e. it can be rewound.
+     Indicate whether this stream is seekable--i.e. it can be rewound.
      This method is ignored if the stream does not have a rewind
      method.  If this method is not present, the result is determined
      by whether a rewind method is present.
@@ -1083,7 +1083,7 @@ combination window.
 
   7. Leaf windows also have markers in their `start' (the first buffer
      position displayed in the window) and `pointm' (the window's
-     stashed value of `point' - see above) fields, while combination
+     stashed value of `point'--see above) fields, while combination
      windows have nil in these fields.
 
   8. The list of children for a window is threaded through the `next'
@@ -1096,7 +1096,7 @@ combination window.
      1 and clear out the `next', `prev', `hchild', and `vchild' fields,
      for GC purposes.
 
- 10. Most frames actually have two top-level windows - one for the
+ 10. Most frames actually have two top-level windows--one for the
      minibuffer and one (the "root") for everything else.  The modeline
      (if present) separates these two.  The `next' field of the root
      points to the minibuffer, and the `prev' field of the minibuffer
index 1ed3191..b0c7fbd 100644 (file)
@@ -3,7 +3,7 @@ internals/internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).      XEmacs Internals Manual.
+* Internals: (internals).       XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -141,7 +141,7 @@ a high probability that this is sufficient to always provide the needed
 information.  The second thing we can do is be smart about invalidating
 the cache.
 
-   TODO - Be smart about invalidating the cache.  Potential places:
+   TODO--Be smart about invalidating the cache.  Potential places:
 
    * Insertions at end-of-line which don't cause line-wraps do not
      alter the starting positions of any display lines.  These types of
@@ -287,7 +287,7 @@ Format of the Extent Info
    An extent-info structure consists of a list of the buffer or string's
 extents and a "stack of extents" that lists all of the extents over a
 particular position.  The stack-of-extents info is used for
-optimization purposes - it basically caches some info that might be
+optimization purposes--it basically caches some info that might be
 expensive to compute.  Certain otherwise hard computations are easy
 given the stack of extents over a particular position, and if the stack
 of extents over a nearby position is known (because it was calculated
@@ -473,7 +473,7 @@ within a run (extents that abut the run don't count).
 
    An extent fragment is a structure that holds data about the run that
 contains a particular buffer position (if the buffer position is at the
-junction of two runs, the run after the position is used) - the
+junction of two runs, the run after the position is used)--the
 beginning and end of the run, a list of all of the extents in that run,
 the "merged face" that results from merging all of the faces
 corresponding to those extents, the begin and end glyphs at the
@@ -529,7 +529,7 @@ widget-glyphs are cached on a window basis.
    Any action on a glyph first consults the cache before actually
 instantiating a widget.
 
-Widget-Glyphs in the MS-WIndows Environment
+Widget-Glyphs in the MS-Windows Environment
 ===========================================
 
    To Do
index da47f2d..318c530 100644 (file)
@@ -650,7 +650,7 @@ Keywords::.  Here is an example, from the library `paren.el':
      (defcustom show-paren-mode nil
        "Toggle Show Paren mode...."
        :set (lambda (symbol value)
-        (show-paren-mode (or value 0)))
+              (show-paren-mode (or value 0)))
        :initialize 'custom-initialize-default
        :type 'boolean
        :group 'paren-showing
index 37d9cc3..1ad01db 100644 (file)
@@ -859,8 +859,8 @@ working with ASCII strings and with keymaps.
      This function converts a numeric ASCII value to an event structure,
      replete with modifier bits.  CH is the character to convert, and
      EVENT is the event object to fill in.  This function contains
-     knowledge about what the codes "mean" - for example, the number 9
-     is converted to the character <Tab>, not the distinct character
+     knowledge about what the codes "mean"--for example, the number 9 is
+     converted to the character <Tab>, not the distinct character
      <Control-I>.
 
      Note that CH does not have to be a numeric value, but can be a
@@ -1020,13 +1020,13 @@ and the window system.
      `dispatch-event') and discarded.  This function is provided as a
      convenience; it is equivalent to the Lisp code
 
-               (while (progn
-                        (next-event event)
-                        (not (or (key-press-event-p event)
-                                 (button-press-event-p event)
-                                 (button-release-event-p event)
-                                 (menu-event-p event))))
-                  (dispatch-event event))
+                  (while (progn
+                           (next-event event)
+                           (not (or (key-press-event-p event)
+                                    (button-press-event-p event)
+                                    (button-release-event-p event)
+                                    (menu-event-p event))))
+                     (dispatch-event event))
 
      Here is what happens if you call `next-command-event' and then
      press the right-arrow function key:
index 00f586c..860dab1 100644 (file)
@@ -756,18 +756,18 @@ second keysym on the same key, such as `backspace' and `tab'.
 elements of this vector may also be keysyms if they have no modifiers.
 That is, the `A' keystroke is represented by all of these forms:
 
-       A       ?A      65      (A)     (?A)    (65)
-       [A]     [?A]    [65]    [(A)]   [(?A)]  [(65)]
+             A       ?A      65      (A)     (?A)    (65)
+             [A]     [?A]    [65]    [(A)]   [(?A)]  [(65)]
 
    the `control-a' keystroke is represented by these forms:
 
-       (control A)     (control ?A)    (control 65)
-       [(control A)]   [(control ?A)]  [(control 65)]
+             (control A)     (control ?A)    (control 65)
+             [(control A)]   [(control ?A)]  [(control 65)]
 
    the key sequence `control-c control-a' is represented by these forms:
 
-       [(control c) (control a)]       [(control ?c) (control ?a)]
-       [(control 99) (control 65)]     etc.
+             [(control c) (control a)]       [(control ?c) (control ?a)]
+             [(control 99) (control 65)]     etc.
 
    Mouse button clicks work just like keypresses: `(control button1)'
 means pressing the left mouse button while holding down the control
@@ -787,21 +787,21 @@ would represent two key sequences: `(control h)' and `backspace'.
 Binding a command to this will actually bind both of those key
 sequences.  Likewise for the following pairs:
 
-               control h       backspace
-               control i       tab
-               control m       return
-               control j       linefeed
-               control [       escape
-               control @       control space
+                     control h       backspace
+                     control i       tab
+                     control m       return
+                     control j       linefeed
+                     control [       escape
+                     control @      control space
 
    After binding a command to two key sequences with a form like
 
-       (define-key global-map "\^X\^I" 'command-1)
+             (define-key global-map "\^X\^I" 'command-1)
 
 it is possible to redefine only one of those sequences like so:
 
-       (define-key global-map [(control x) (control i)] 'command-2)
-       (define-key global-map [(control x) tab] 'command-3)
+             (define-key global-map [(control x) (control i)] 'command-2)
+             (define-key global-map [(control x) tab] 'command-3)
 
    Of course, all of this applies only when running under a window
 system.  If you're talking to XEmacs through a TTY connection, you
@@ -1021,20 +1021,20 @@ completion and exit commands.  *Note Intro to Minibuffers::.
           => #<keymap lisp-interaction-mode-map 5 entries 0x558>
           (describe-bindings-internal (current-local-map))
           =>  ; Inserted into the buffer:
-          backspace    backward-delete-char-untabify
-          linefeed     eval-print-last-sexp
-          delete               delete-char
-          C-j          eval-print-last-sexp
-          C-x          << Prefix Command >>
-          M-tab                lisp-complete-symbol
-          M-;          lisp-indent-for-comment
-          M-C-i                lisp-complete-symbol
-          M-C-q                indent-sexp
-          M-C-x                eval-defun
-          Alt-backspace        backward-kill-sexp
-          Alt-delete   kill-sexp
+          backspace       backward-delete-char-untabify
+          linefeed        eval-print-last-sexp
+          delete          delete-char
+          C-j             eval-print-last-sexp
+          C-x             << Prefix Command >>
+          M-tab           lisp-complete-symbol
+          M-;             lisp-indent-for-comment
+          M-C-i           lisp-complete-symbol
+          M-C-q           indent-sexp
+          M-C-x           eval-defun
+          Alt-backspace   backward-kill-sexp
+          Alt-delete      kill-sexp
           
-          C-x x                edebug-defun
+          C-x x           edebug-defun
 
  - Function: current-minor-mode-maps
      This function returns a list of the keymaps of currently enabled
index 79195d7..d2354ad 100644 (file)
@@ -731,14 +731,14 @@ Menus
 
 * Menu:
 
-* Menu Format::                Format of a menu description.
-* Menubar Format::     How to specify a menubar.
-* Menubar::            Functions for controlling the menubar.
-* Modifying Menus::    Modifying a menu description.
-* Pop-Up Menus::       Functions for specifying pop-up menus.
-* Menu Filters::       Filter functions for the default menubar.
-* Menu Accelerators::  Using and controlling menu accelerator keys
-* Buffers Menu::       The menu that displays the list of buffers.
+* Menu Format::         Format of a menu description.
+* Menubar Format::      How to specify a menubar.
+* Menubar::             Functions for controlling the menubar.
+* Modifying Menus::     Modifying a menu description.
+* Pop-Up Menus::        Functions for specifying pop-up menus.
+* Menu Filters::        Filter functions for the default menubar.
+* Menu Accelerators::   Using and controlling menu accelerator keys
+* Buffers Menu::        The menu that displays the list of buffers.
 
 \1f
 File: lispref.info,  Node: Menu Format,  Next: Menubar Format,  Up: Menus
@@ -961,9 +961,9 @@ to four keyword-value pairs, as follows:
    For example:
 
       ("File"
-       :filter file-menu-filter        ; file-menu-filter is a function that takes
-                               ; one argument (a list of menu items) and
-                               ; returns a list of menu items
+       :filter file-menu-filter      ; file-menu-filter is a function that takes
+                                     ; one argument (a list of menu items) and
+                                     ; returns a list of menu items
        [ "Save As..."    write-file]
        [ "Revert Buffer" revert-buffer :active (buffer-modified-p) ]
        [ "Read Only"     toggle-read-only :style toggle :selected buffer-read-only ]
index e14e62b..d1c1da4 100644 (file)
@@ -122,10 +122,10 @@ item is used to activate that item.
 
 * Menu:
 
-* Creating Menu Accelerators:: How to add accelerator keys to a menu.
-* Keyboard Menu Traversal::    How to use and modify the keys which are used
-                               to traverse the menu structure.
-* Menu Accelerator Functions:: Functions for working with menu accelerators.
+* Creating Menu Accelerators::  How to add accelerator keys to a menu.
+* Keyboard Menu Traversal::     How to use and modify the keys which are used
+                                to traverse the menu structure.
+* Menu Accelerator Functions::  Functions for working with menu accelerators.
 
 \1f
 File: lispref.info,  Node: Creating Menu Accelerators,  Next: Keyboard Menu Traversal,  Up: Menu Accelerators
@@ -143,9 +143,9 @@ which is the canonical way of indicating an accelerator key to a user.
    For example, the command
 
      (add-submenu nil '("%_Test"
-                  ["One" (insert "1") :accelerator ?1 :active t]
-                  ["%_Two" (insert "2")]
-                  ["%_3" (insert "3")]))
+                        ["One" (insert "1") :accelerator ?1 :active t]
+                        ["%_Two" (insert "2")]
+                        ["%_3" (insert "3")]))
 
    will add a new menu to the top level menubar.  The new menu can be
 reached by pressing "t" while the top level menubar is active.  When
@@ -237,9 +237,9 @@ Menu Accelerator Functions
      (setq menu-accelerator-modifiers '(meta control))
      (setq menu-accelerator-enabled 'menu-force)
      (add-submenu nil '("%_Test"
-                  ["One" (insert "1") :accelerator ?1 :active t]
-                  ["%_Two" (insert "2")]
-                  ["%_3" (insert "3")]))
+                        ["One" (insert "1") :accelerator ?1 :active t]
+                        ["%_Two" (insert "2")]
+                        ["%_3" (insert "3")]))
 
    will add the menu "Test" to the top level menubar.  Pressing C-x
 followed by C-M-T will activate the menubar and display the "Test"
@@ -318,15 +318,15 @@ that all following buttons should be flushright instead of flushleft.
 
    The syntax, more precisely:
 
-        form           :=  <something to pass to `eval'>
-        command        :=  <a symbol or string, to pass to `call-interactively'>
-        callback       :=  command | form
-        active-p       :=  <t, nil, or a form to evaluate to decide whether this
-                   button should be selectable>
-        name           :=  <string>
-        partition      :=  'nil'
-        button :=  '['  name callback active-p ']'
-        dialog :=  '(' name [ button ]+ [ partition [ button ]+ ] ')'
+        form         :=  <something to pass to `eval'>
+        command      :=  <a symbol or string, to pass to `call-interactively'>
+        callback     :=  command | form
+        active-p     :=  <t, nil, or a form to evaluate to decide whether this
+                         button should be selectable>
+        name         :=  <string>
+        partition    :=  'nil'
+        button       :=  '['  name callback active-p ']'
+        dialog       :=  '(' name [ button ]+ [ partition [ button ]+ ] ')'
 
 \1f
 File: lispref.info,  Node: Dialog Box Functions,  Prev: Dialog Box Format,  Up: Dialog Boxes
@@ -361,7 +361,7 @@ Toolbar Intro
 =============
 
    A "toolbar" is a bar of icons displayed along one edge of a frame.
-You can view a toolbar as a series of menu shortcuts - the most common
+You can view a toolbar as a series of menu shortcuts--the most common
 menu options can be accessed with a single click rather than a series
 of clicks and/or drags to select the option from a menu.  Consistent
 with this, a help string (called the "help-echo") describing what an
@@ -659,7 +659,7 @@ set the left toolbar width to 0 for a particular buffer (or if that
 buffer does not specify a left toolbar or has a nil value specified for
 `left-toolbar-visible-p'), you will find that, when that buffer is
 displayed in the selected window, the window will have a width of 86 or
-87 characters - the frame is sized for a 68-pixel left toolbar but the
+87 characters--the frame is sized for a 68-pixel left toolbar but the
 selected window specifies that the left toolbar is not visible, so it is
 expanded to take up the slack.
 
index 7b2104f..68b995e 100644 (file)
@@ -413,7 +413,7 @@ Consoles and Devices
    A "console" is an object representing a single input connection to
 XEmacs, such as an X display or a TTY connection.  It is possible for
 XEmacs to have frames on multiple consoles at once (even on
-heterogeneous types - you can simultaneously have a frame on an X
+heterogeneous types--you can simultaneously have a frame on an X
 display and a TTY connection).  Normally, there is only one console in
 existence.
 
index e520b4f..dc9450b 100644 (file)
@@ -780,7 +780,7 @@ described here.
    When `zmacs-regions' is non-`nil' (this is the default), the concept
 of an "active region" exists.  The region is active when the
 corresponding mark is active.  Note that only one active region at a
-time can exist - i.e. only one buffer's region is active at a time.
+time can exist--i.e. only one buffer's region is active at a time.
 *Note The Mark::, for more information about active regions.
 
  - User Option: zmacs-regions
index 9248a41..2e32df8 100644 (file)
@@ -320,10 +320,10 @@ function makes it easier to locate those extents.
 
    The following low-level functions are provided for explicitly
 traversing the extents in a buffer according to the display order.
-These functions are mostly intended for debugging - in normal
-operation, you should probably use `mapcar-extents' or `map-extents',
-or loop using the BEFORE argument to `extent-at', rather than creating
-a loop using `next-extent'.
+These functions are mostly intended for debugging--in normal operation,
+you should probably use `mapcar-extents' or `map-extents', or loop
+using the BEFORE argument to `extent-at', rather than creating a loop
+using `next-extent'.
 
  - Function: next-extent extent
      Given an extent EXTENT, this function returns the next extent in
@@ -775,7 +775,7 @@ visible again.)
    It is possible for an extent's parent to itself have a parent, and
 so on.  Through this, a whole tree of extents can be created, all
 deriving their properties from one root extent.  Note, however, that
-you cannot create an inheritance loop - this is explicitly disallowed.
+you cannot create an inheritance loop--this is explicitly disallowed.
 
    Parent extents are used to implement the extents over the modeline.
 
@@ -936,27 +936,27 @@ yield the real value of the property in that situation.
 
 * Menu:
 
-* Introduction to Specifiers:: Specifiers provide a clean way for
-                               display and other properties to vary
-                               (under user control) in a wide variety
-                               of contexts.
-* Specifiers In-Depth::                Gory details about specifier innards.
-* Specifier Instancing::       Instancing means obtaining the ``value'' of
-                               a specifier in a particular context.
-* Specifier Types::            Specifiers come in different flavors.
-* Adding Specifications::      Specifications control a specifier's ``value''
-                               by giving conditions under which a
-                               particular value is valid.
-* Retrieving Specifications::  Querying a specifier's specifications.
-* Specifier Tag Functions::    Working with specifier tags.
+* Introduction to Specifiers::  Specifiers provide a clean way for
+                                display and other properties to vary
+                                (under user control) in a wide variety
+                                of contexts.
+* Specifiers In-Depth::         Gory details about specifier innards.
+* Specifier Instancing::        Instancing means obtaining the ``value'' of
+                                a specifier in a particular context.
+* Specifier Types::             Specifiers come in different flavors.
+* Adding Specifications::       Specifications control a specifier's ``value''
+                                by giving conditions under which a
+                                particular value is valid.
+* Retrieving Specifications::   Querying a specifier's specifications.
+* Specifier Tag Functions::     Working with specifier tags.
 * Specifier Instancing Functions::
-                               Functions to instance a specifier.
-* Specifier Example::          Making all this stuff clearer.
-* Creating Specifiers::                Creating specifiers for your own use.
+                                Functions to instance a specifier.
+* Specifier Example::           Making all this stuff clearer.
+* Creating Specifiers::         Creating specifiers for your own use.
 * Specifier Validation Functions::
-                               Validating the components of a specifier.
+                                Validating the components of a specifier.
 * Other Specification Functions::
-                               Other ways of working with specifications.
+                                Other ways of working with specifications.
 
 \1f
 File: lispref.info,  Node: Introduction to Specifiers,  Next: Specifiers In-Depth,  Up: Specifiers
@@ -1062,7 +1062,7 @@ be used as tags, and match devices of the associated type or class
 an optional predicate specified.  An application can create its own
 tag, use it to mark all its instantiators, and be fairly confident that
 it will not interfere with other applications that modify the same
-specifier - Functions that add a specification to a specifier usually
+specifier--Functions that add a specification to a specifier usually
 only overwrite existing inst-pairs with the same tag set as was given,
 and a particular tag or tag set can be specified when removing
 instantiators.
@@ -1090,6 +1090,6 @@ string under X is usually a wildcard specification that may resolve to
 different font names, with possibly different foundries, widths, etc.,
 on different devices), the extra properties of that font on that
 device, etc.  Furthermore, this conversion (called "instantiation")
-might fail - a font or color might not exist on a particular device,
-for example.
+might fail--a font or color might not exist on a particular device, for
+example.
 
index 9b8b3d4..65fa87c 100644 (file)
@@ -688,9 +688,9 @@ domains.  First, let's retrieve the specifier:
          =>   ((#<buffer "device.c"> (nil . "forest green"))
                       (#<window on "Makefile" 0x8a2b> (nil . "hot pink"))
                       (#<x-frame "emacs" 0x4ac> (nil . "puke orange")
-                                          (nil . "moccasin"))
+                                                (nil . "moccasin"))
                       (#<x-frame "VM" 0x4ac> (nil . "magenta"))
-                (global ((tty) . "cyan") (nil . "white"))
+                      (global ((tty) . "cyan") (nil . "white"))
                      )
 
    Then, say we want to determine what the background color of the
@@ -712,7 +712,7 @@ or could be displayed in many different frames on different devices.
    The result is arrived at like this:
 
   1. First, we look for a specification matching the buffer displayed
-     in the window, i.e. `*scratch'.  There are none, so we proceed.
+     in the window, i.e. `*scratch*'.  There are none, so we proceed.
 
   2. Then, we look for a specification matching the window itself.
      Again, there are none.
index 2b0ca0f..2db233e 100644 (file)
@@ -159,6 +159,20 @@ the following functions.
      If the value of the property is not a specifier, it will
      automatically be converted into a `generic' specifier.
 
+ - Function: remove-face-property face property &optional local tag-set
+          exact-p
+     This function removes a property of a FACE.
+
+     For built-in properties, this is analogous to `remove-specifier'.
+     For more information, *Note Other Specification Functions::.
+
+     When PROPERTY is not a built-in property, this function will just
+     remove its value if LOCALE is `nil' or `all'.  However, if LOCALE
+     is other than that, this function will attempt to remove VALUE as
+     the instantiator for the given LOCALE with `remove-specifier'.  If
+     the value of the property is not a specifier, it will be converted
+     into a `generic' specifier automatically.
+
  - Function: face-property face property &optional locale
      This function returns FACE's value of the given PROPERTY.
 
index cac5eb8..26a4393 100644 (file)
@@ -79,18 +79,18 @@ should appear, are represented using strings or vectors.)
 
    Image instantiators come in many formats: `xbm', `xpm', `gif',
 `jpeg', etc.  This describes the format of the data describing the
-image.  The resulting image instances also come in many types -
-`mono-pixmap', `color-pixmap', `text', `pointer', etc.  This refers to
-the behavior of the image and the sorts of places it can appear. (For
-example, a color-pixmap image has fixed colors specified for it, while
-a mono-pixmap image comes in two unspecified shades "foreground" and
-"background" that are determined from the face of the glyph or
-surrounding text; a text image appears as a string of text and has an
-unspecified foreground, background, and font; a pointer image behaves
-like a mono-pixmap image but can only be used as a mouse pointer
-[mono-pixmap images cannot be used as mouse pointers]; etc.) It is
-important to keep the distinction between image instantiator format and
-image instance type in mind.  Typically, a given image instantiator
+image.  The resulting image instances also come in many
+types--`mono-pixmap', `color-pixmap', `text', `pointer', etc.  This
+refers to the behavior of the image and the sorts of places it can
+appear. (For example, a color-pixmap image has fixed colors specified
+for it, while a mono-pixmap image comes in two unspecified shades
+"foreground" and "background" that are determined from the face of the
+glyph or surrounding text; a text image appears as a string of text and
+has an unspecified foreground, background, and font; a pointer image
+behaves like a mono-pixmap image but can only be used as a mouse
+pointer [mono-pixmap images cannot be used as mouse pointers]; etc.) It
+is important to keep the distinction between image instantiator format
+and image instance type in mind.  Typically, a given image instantiator
 format can result in many different image instance types (for example,
 `xpm' can be instanced as `color-pixmap', `mono-pixmap', or `pointer';
 whereas `cursor-font' can be instanced only as `pointer'), and a
index 6cb3df7..3a42e0c 100644 (file)
@@ -250,9 +250,9 @@ generalize well, and they are covered specially here.
 
 * Menu:
 
-* X Selections::               Transferring text to and from other X clients.
-* X Server::                   Information about the X server connected to
-                                 a particular device.
+* X Selections::                Transferring text to and from other X clients.
+* X Server::                    Information about the X server connected to
+                                  a particular device.
 * X Miscellaneous::             Other X-specific functions and variables.
 
 \1f
@@ -317,9 +317,9 @@ the X server XEmacs is using.
 
 * Menu:
 
-* Resources::                  Getting resource values from the server.
-* Server Data::                        Getting info about the X server.
-* Grabs::                      Restricting access to the server by other apps.
+* Resources::                   Getting resource values from the server.
+* Server Data::                 Getting info about the X server.
+* Grabs::                       Restricting access to the server by other apps.
 
 \1f
 File: lispref.info,  Node: Resources,  Next: Server Data,  Up: X Server
@@ -382,8 +382,8 @@ Resources
           is an interface to a C call something like
 
                    `XrmGetResource (db, "xemacs.buffer.BUFFER-NAME.foreground",
-                                       "Emacs.EmacsLocaleType.EmacsBuffer.Foreground",
-                                       "String");'
+                                       "Emacs.EmacsLocaleType.EmacsBuffer.Foreground",
+                                       "String");'
 
        2. If LOCALE is a frame, a call
 
@@ -392,8 +392,8 @@ Resources
           is an interface to a C call something like
 
                    `XrmGetResource (db, "xemacs.frame.FRAME-NAME.foreground",
-                                       "Emacs.EmacsLocaleType.EmacsFrame.Foreground",
-                                       "String");'
+                                       "Emacs.EmacsLocaleType.EmacsFrame.Foreground",
+                                       "String");'
 
        3. If LOCALE is a device, a call
 
@@ -402,8 +402,8 @@ Resources
           is an interface to a C call something like
 
                    `XrmGetResource (db, "xemacs.device.DEVICE-NAME.foreground",
-                                       "Emacs.EmacsLocaleType.EmacsDevice.Foreground",
-                                       "String");'
+                                       "Emacs.EmacsLocaleType.EmacsDevice.Foreground",
+                                       "String");'
 
        4. If LOCALE is the symbol `global', a call
 
@@ -412,8 +412,8 @@ Resources
           is an interface to a C call something like
 
                    `XrmGetResource (db, "xemacs.foreground",
-                                       "Emacs.Foreground",
-                                       "String");'
+                                       "Emacs.Foreground",
+                                       "String");'
 
      Note that for `global', no prefix is added other than that of the
      application itself; thus, you can use this locale to retrieve
@@ -481,7 +481,7 @@ Restricting Access to the Server by Other Apps
  - Function: x-grab-keyboard &optional device
      This function grabs the keyboard on the given device (defaulting
      to the selected one).  So long as the keyboard is grabbed, all
-     keyboard events will be delivered to XEmacs - it is not possible
+     keyboard events will be delivered to XEmacs--it is not possible
      for other X clients to eavesdrop on them.  Ungrab the keyboard
      with `x-ungrab-keyboard' (use an `unwind-protect').  Returns `t'
      if the grab was successful; `nil' otherwise.
@@ -692,7 +692,7 @@ Elisp Interface for Sending Messages
      Send a reply to this message.  The second argument can be `reply',
      `reject' or `fail'; the default is `reply'.  Before sending a
      reply, all message arguments whose mode is `TT_INOUT' or `TT_OUT'
-     should have been filled in - see `set-tooltalk-message-attribute'.
+     should have been filled in--see `set-tooltalk-message-attribute'.
 
 
  - Function: get-tooltalk-message-attribute msg attribute &optional argn
@@ -1239,24 +1239,3 @@ I18N Level 3
 * Domain Specification::
 * Documentation String Extraction::
 
-\1f
-File: lispref.info,  Node: Level 3 Basics,  Next: Level 3 Primitives,  Up: I18N Level 3
-
-Level 3 Basics
---------------
-
-   XEmacs now provides alpha-level functionality for I18N Level 3.
-This means that everything necessary for full messaging is available,
-but not every file has been converted.
-
-   The two message files which have been created are `src/emacs.po' and
-`lisp/packages/mh-e.po'.  Both files need to be converted using
-`msgfmt', and the resulting `.mo' files placed in some locale's
-`LC_MESSAGES' directory.  The test "translations" in these files are
-the original messages prefixed by `TRNSLT_'.
-
-   The domain for a variable is stored on the variable's property list
-under the property name VARIABLE-DOMAIN.  The function
-`documentation-property' uses this information when translating a
-variable's documentation.
-
index 24be2e1..571b28f 100644 (file)
@@ -50,6 +50,27 @@ may be included in a translation approved by the Free Software
 Foundation instead of in the original English.
 
 \1f
+File: lispref.info,  Node: Level 3 Basics,  Next: Level 3 Primitives,  Up: I18N Level 3
+
+Level 3 Basics
+--------------
+
+   XEmacs now provides alpha-level functionality for I18N Level 3.
+This means that everything necessary for full messaging is available,
+but not every file has been converted.
+
+   The two message files which have been created are `src/emacs.po' and
+`lisp/packages/mh-e.po'.  Both files need to be converted using
+`msgfmt', and the resulting `.mo' files placed in some locale's
+`LC_MESSAGES' directory.  The test "translations" in these files are
+the original messages prefixed by `TRNSLT_'.
+
+   The domain for a variable is stored on the variable's property list
+under the property name VARIABLE-DOMAIN.  The function
+`documentation-property' uses this information when translating a
+variable's documentation.
+
+\1f
 File: lispref.info,  Node: Level 3 Primitives,  Next: Dynamic Messaging,  Prev: Level 3 Basics,  Up: I18N Level 3
 
 Level 3 Primitives
@@ -225,15 +246,15 @@ will be the same.
    In some cases, the differences will be significant enough that it is
 actually possible to identify two or more distinct shapes that both
 represent the same character.  For example, the lowercase letters `a'
-and `g' each have two distinct possible shapes - the `a' can optionally
+and `g' each have two distinct possible shapes--the `a' can optionally
 have a curved tail projecting off the top, and the `g' can be formed
 either of two loops, or of one loop and a tail hanging off the bottom.
 Such distinct possible shapes of a character are called "glyphs".  The
 important characteristic of two glyphs making up the same character is
 that the choice between one or the other is purely stylistic and has no
 linguistic effect on a word (this is the reason why a capital `A' and
-lowercase `a' are different characters rather than different glyphs -
-e.g.  `Aspen' is a city while `aspen' is a kind of tree).
+lowercase `a' are different characters rather than different
+glyphs--e.g.  `Aspen' is a city while `aspen' is a kind of tree).
 
    Note that "character" and "glyph" are used differently here than
 elsewhere in XEmacs.
@@ -255,7 +276,7 @@ puts uppercase letters before lowercase letters, numbers before
 letters, etc.  Note that for many of the Asian character sets, there is
 no natural ordering of the characters.  The actual orderings are based
 on one or more salient characteristic, of which there are many to
-choose from - e.g. number of strokes, common radicals, phonetic
+choose from--e.g. number of strokes, common radicals, phonetic
 ordering, etc.
 
    The set of numbers assigned to any particular character are called
@@ -286,11 +307,11 @@ directly. (This is the case with ASCII, and as a result, most people do
 not understand the difference between a character set and an encoding.)
 This is not possible, however, if more than one character set is to be
 used in the encoding.  For example, printed Japanese text typically
-requires characters from multiple character sets - ASCII, JISX0208, and
+requires characters from multiple character sets--ASCII, JISX0208, and
 JISX0212, to be specific.  Each of these is indexed using one or more
 position codes in the range 33 through 126, so the position codes could
 not be used directly or there would be no way to tell which character
-was meant.  Different Japanese encodings handle this differently - JIS
+was meant.  Different Japanese encodings handle this differently--JIS
 uses special escape characters to denote different character sets; EUC
 sets the high bit of the position codes for JISX0208 and JISX0212, and
 puts a special extra byte before each JISX0212 character; etc. (JIS,
@@ -553,7 +574,7 @@ properties of a charset.
      (in TTY mode) of CHARSET.
 
  - Function: charset-direction charset
-     This function returns the display direction of CHARSET - either
+     This function returns the display direction of CHARSET--either
      `l2r' or `r2l'.
 
  - Function: charset-final charset
@@ -732,10 +753,10 @@ designate (or assign) any charset to one of these registers.
 into 4 areas: C0, GL, C1, and GR.  GL and GR are the areas into which a
 register of charset can be invoked into.
 
-       C0: 0x00 - 0x1F
-       GL: 0x20 - 0x7F
-       C1: 0x80 - 0x9F
-       GR: 0xA0 - 0xFF
+             C0: 0x00 - 0x1F
+             GL: 0x20 - 0x7F
+             C1: 0x80 - 0x9F
+             GR: 0xA0 - 0xFF
 
    Usually, in the initial state, G0 is invoked into GL, and G1 is
 invoked into GR.
@@ -745,34 +766,34 @@ invoked into GR.
 
    Charset designation is done by escape sequences of the form:
 
-       ESC [I] I F
+             ESC [I] I F
 
    where I is an intermediate character in the range 0x20 - 0x2F, and F
 is the final character identifying this charset.
 
    The meaning of intermediate characters are:
 
-       $ [0x24]: indicate charset of dimension 2 (94x94 or 96x96).
-       ( [0x28]: designate to G0 a 94-charset whose final byte is F.
-       ) [0x29]: designate to G1 a 94-charset whose final byte is F.
-       * [0x2A]: designate to G2 a 94-charset whose final byte is F.
-       + [0x2B]: designate to G3 a 94-charset whose final byte is F.
-       - [0x2D]: designate to G1 a 96-charset whose final byte is F.
-       . [0x2E]: designate to G2 a 96-charset whose final byte is F.
-       / [0x2F]: designate to G3 a 96-charset whose final byte is F.
+             $ [0x24]: indicate charset of dimension 2 (94x94 or 96x96).
+             ( [0x28]: designate to G0 a 94-charset whose final byte is F.
+             ) [0x29]: designate to G1 a 94-charset whose final byte is F.
+             * [0x2A]: designate to G2 a 94-charset whose final byte is F.
+             + [0x2B]: designate to G3 a 94-charset whose final byte is F.
+             - [0x2D]: designate to G1 a 96-charset whose final byte is F.
+             . [0x2E]: designate to G2 a 96-charset whose final byte is F.
+             / [0x2F]: designate to G3 a 96-charset whose final byte is F.
 
    The following rule is not allowed in ISO 2022 but can be used in
 Mule.
 
-       , [0x2C]: designate to G0 a 96-charset whose final byte is F.
+             , [0x2C]: designate to G0 a 96-charset whose final byte is F.
 
    Here are examples of designations:
 
-       ESC ( B :              designate to G0 ASCII
-       ESC - A :              designate to G1 Latin-1
-       ESC $ ( A or ESC $ A : designate to G0 GB2312
-       ESC $ ( B or ESC $ B : designate to G0 JISX0208
-       ESC $ ) C :            designate to G1 KSC5601
+             ESC ( B :              designate to G0 ASCII
+             ESC - A :              designate to G1 Latin-1
+             ESC $ ( A or ESC $ A : designate to G0 GB2312
+             ESC $ ( B or ESC $ B : designate to G0 JISX0208
+             ESC $ ) C :            designate to G1 KSC5601
 
    To use a charset designated to G2 or G3, and to use a charset
 designated to G1 in a 7-bit environment, you must explicitly invoke G1,
@@ -781,18 +802,18 @@ G2, or G3 into GL.  There are two types of invocation, Locking Shift
 
    Locking Shift is done as follows:
 
-       LS0 or SI (0x0F): invoke G0 into GL
-       LS1 or SO (0x0E): invoke G1 into GL
-       LS2:  invoke G2 into GL
-       LS3:  invoke G3 into GL
-       LS1R: invoke G1 into GR
-       LS2R: invoke G2 into GR
-       LS3R: invoke G3 into GR
+             LS0 or SI (0x0F): invoke G0 into GL
+             LS1 or SO (0x0E): invoke G1 into GL
+             LS2:  invoke G2 into GL
+             LS3:  invoke G3 into GL
+             LS1R: invoke G1 into GR
+             LS2R: invoke G2 into GR
+             LS3R: invoke G3 into GR
 
    Single Shift is done as follows:
 
-       SS2 or ESC N: invoke G2 into GL
-       SS3 or ESC O: invoke G3 into GL
+             SS2 or ESC N: invoke G2 into GL
+             SS3 or ESC O: invoke G3 into GL
 
    (#### Ben says: I think the above is slightly incorrect.  It appears
 that SS2 invokes G2 into GR and SS3 invokes G3 into GR, whereas ESC N
@@ -831,45 +852,45 @@ EUC (Extended UNIX Code); all of these are variants of ISO 2022.
    Here are several examples:
 
      junet -- Coding system used in JUNET.
-       1. G0 <- ASCII, G1..3 <- never used
-       2. Yes.
-       3. Yes.
-       4. Yes.
-       5. 7-bit environment
-       6. No.
-       7. Use ASCII
-       8. Use JISX0208-1983
+             1. G0 <- ASCII, G1..3 <- never used
+             2. Yes.
+             3. Yes.
+             4. Yes.
+             5. 7-bit environment
+             6. No.
+             7. Use ASCII
+             8. Use JISX0208-1983
      
      ctext -- Compound Text
-       1. G0 <- ASCII, G1 <- Latin-1, G2,3 <- never used
-       2. No.
-       3. No.
-       4. Yes.
-       5. 8-bit environment
-       6. No.
-       7. Use ASCII
-       8. Use JISX0208-1983
+             1. G0 <- ASCII, G1 <- Latin-1, G2,3 <- never used
+             2. No.
+             3. No.
+             4. Yes.
+             5. 8-bit environment
+             6. No.
+             7. Use ASCII
+             8. Use JISX0208-1983
      
      euc-china -- Chinese EUC.  Although many people call this
      as "GB encoding", the name may cause misunderstanding.
-       1. G0 <- ASCII, G1 <- GB2312, G2,3 <- never used
-       2. No.
-       3. Yes.
-       4. Yes.
-       5. 8-bit environment
-       6. No.
-       7. Use ASCII
-       8. Use JISX0208-1983
+             1. G0 <- ASCII, G1 <- GB2312, G2,3 <- never used
+             2. No.
+             3. Yes.
+             4. Yes.
+             5. 8-bit environment
+             6. No.
+             7. Use ASCII
+             8. Use JISX0208-1983
      
      korean-mail -- Coding system used in Korean network.
-       1. G0 <- ASCII, G1 <- KSC5601, G2,3 <- never used
-       2. No.
-       3. Yes.
-       4. Yes.
-       5. 7-bit environment
-       6. Yes.
-       7. No.
-       8. No.
+             1. G0 <- ASCII, G1 <- KSC5601, G2,3 <- never used
+             2. No.
+             3. Yes.
+             4. Yes.
+             5. 7-bit environment
+             6. Yes.
+             7. No.
+             8. No.
 
    Mule creates all these coding systems by default.
 
@@ -888,7 +909,7 @@ same format when it is written out to a file or process.
 
    For example, many ISO-2022-compliant coding systems (such as Compound
 Text, which is used for inter-client data under the X Window System) use
-escape sequences to switch between different charsets - Japanese Kanji,
+escape sequences to switch between different charsets--Japanese Kanji,
 for example, is invoked with `ESC $ ( B'; ASCII is invoked with `ESC (
 B'; and Cyrillic is invoked with `ESC - L'.  See `make-coding-system'
 for more information.
@@ -1186,39 +1207,3 @@ Encoding and Decoding Text
      encoding.  The length of the encoded text is returned.  BUFFER
      defaults to the current buffer if unspecified.
 
-\1f
-File: lispref.info,  Node: Detection of Textual Encoding,  Next: Big5 and Shift-JIS Functions,  Prev: Encoding and Decoding Text,  Up: Coding Systems
-
-Detection of Textual Encoding
------------------------------
-
- - Function: coding-category-list
-     This function returns a list of all recognized coding categories.
-
- - Function: set-coding-priority-list list
-     This function changes the priority order of the coding categories.
-     LIST should be a list of coding categories, in descending order of
-     priority.  Unspecified coding categories will be lower in priority
-     than all specified ones, in the same relative order they were in
-     previously.
-
- - Function: coding-priority-list
-     This function returns a list of coding categories in descending
-     order of priority.
-
- - Function: set-coding-category-system coding-category coding-system
-     This function changes the coding system associated with a coding
-     category.
-
- - Function: coding-category-system coding-category
-     This function returns the coding system associated with a coding
-     category.
-
- - Function: detect-coding-region start end &optional buffer
-     This function detects coding system of the text in the region
-     between START and END.  Returned value is a list of possible coding
-     systems ordered by priority.  If only ASCII characters are found,
-     it returns `autodetect' or one of its subsidiary coding systems
-     according to a detected end-of-line type.  Optional arg BUFFER
-     defaults to the current buffer.
-
index aebbf29..4f7e2c4 100644 (file)
@@ -50,6 +50,42 @@ may be included in a translation approved by the Free Software
 Foundation instead of in the original English.
 
 \1f
+File: lispref.info,  Node: Detection of Textual Encoding,  Next: Big5 and Shift-JIS Functions,  Prev: Encoding and Decoding Text,  Up: Coding Systems
+
+Detection of Textual Encoding
+-----------------------------
+
+ - Function: coding-category-list
+     This function returns a list of all recognized coding categories.
+
+ - Function: set-coding-priority-list list
+     This function changes the priority order of the coding categories.
+     LIST should be a list of coding categories, in descending order of
+     priority.  Unspecified coding categories will be lower in priority
+     than all specified ones, in the same relative order they were in
+     previously.
+
+ - Function: coding-priority-list
+     This function returns a list of coding categories in descending
+     order of priority.
+
+ - Function: set-coding-category-system coding-category coding-system
+     This function changes the coding system associated with a coding
+     category.
+
+ - Function: coding-category-system coding-category
+     This function returns the coding system associated with a coding
+     category.
+
+ - Function: detect-coding-region start end &optional buffer
+     This function detects coding system of the text in the region
+     between START and END.  Returned value is a list of possible coding
+     systems ordered by priority.  If only ASCII characters are found,
+     it returns `autodetect' or one of its subsidiary coding systems
+     according to a detected end-of-line type.  Optional arg BUFFER
+     defaults to the current buffer.
+
+\1f
 File: lispref.info,  Node: Big5 and Shift-JIS Functions,  Prev: Detection of Textual Encoding,  Up: Coding Systems
 
 Big5 and Shift-JIS Functions
@@ -431,7 +467,7 @@ Category Tables
 
    A category table is a type of char table used for keeping track of
 categories.  Categories are used for classifying characters for use in
-regexps - you can refer to a category rather than having to use a
+regexps--you can refer to a category rather than having to use a
 complicated [] expression (and category lookups are significantly
 faster).
 
index 6489574..e2e76dc 100644 (file)
@@ -2581,6 +2581,7 @@ Index
 * remassq:                               Association Lists.
 * remhash:                               Working With Hash Tables.
 * remove-database:                       Working With a Database.
+* remove-face-property:                  Face Properties.
 * remove-glyph-property:                 Glyph Properties.
 * remove-hook:                           Hooks.
 * remove-range-table:                    Working With Range Tables.
index f7ed816..b3f386b 100644 (file)
@@ -108,13 +108,13 @@ List Keybindings
      for that particular buffer also. For example, if you are in
      "Texinfo" mode, part of your list will contain:
 
-          C-c C-c n    texinfo-insert-@node
-          C-c C-c o    texinfo-insert-@noindent
-          C-c C-c s    texinfo-insert-@samp
-          C-c C-c t    texinfo-insert-@table
-          C-c C-c v    texinfo-insert-@var
-          C-c C-c x    texinfo-insert-@example
-          C-c C-c {    texinfo-insert-braces
+          C-c C-c n       texinfo-insert-@node
+          C-c C-c o       texinfo-insert-@noindent
+          C-c C-c s       texinfo-insert-@samp
+          C-c C-c t       texinfo-insert-@table
+          C-c C-c v       texinfo-insert-@var
+          C-c C-c x       texinfo-insert-@example
+          C-c C-c {      texinfo-insert-braces
 
      These keybindings apply only to "Texinfo" mode. *Note Modes::, for
      more information on various modes.
@@ -325,7 +325,7 @@ font-lock-mode
      example shows how to enable the font-lock mode when the major mode
      is c-mode.
 
-          (add-hook 'c-mode-hook               'turn-on-font-lock)
+          (add-hook 'c-mode-hook          'turn-on-font-lock)
 
      *Note Other Customizations::.
 
@@ -607,7 +607,7 @@ statements do.
      (add-hook 'texinfo-mode-hook    'turn-on-font-lock)
      
      ;;; enables the font-lock mode in C Mode
-     (add-hook 'c-mode-hook            'turn-on-font-lock)
+     (add-hook 'c-mode-hook          'turn-on-font-lock)
 
    To turn on the font-lock mode in other Major Modes like emacs-lisp,
 just put the name of the mode with "-hook" appended to it as the middle
index 0f1f2b0..39539b8 100644 (file)
@@ -3,10 +3,35 @@ xemacs-faq.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* FAQ: (xemacs-faq).           XEmacs FAQ.
+* FAQ: (xemacs-faq).            XEmacs FAQ.
 END-INFO-DIR-ENTRY
 
 \1f
+File: xemacs-faq.info,  Node: Q3.0.4,  Next: Q3.0.5,  Prev: Q3.0.3,  Up: Customization
+
+Q3.0.4: How can I add directories to the `load-path'?
+-----------------------------------------------------
+
+   Here are two ways to do that, one that puts your directories at the
+front of the load-path, the other at the end:
+
+     ;;; Add things at the beginning of the load-path, do not add
+     ;;; duplicate directories:
+     (pushnew "bar" load-path :test 'equal)
+     
+     (pushnew "foo" load-path :test 'equal)
+     
+     ;;; Add things at the end, unconditionally
+     (setq load-path (nconc load-path '("foo" "bar")))
+
+   keith (k.p.) hanlan <keithh@nortel.ca> writes:
+
+     To add directories using Unix shell metacharacters use
+     `expand-file-name' like this:
+
+          (push (expand-file-name "~keithh/.emacsdir") load-path)
+
+\1f
 File: xemacs-faq.info,  Node: Q3.0.5,  Next: Q3.0.6,  Prev: Q3.0.4,  Up: Customization
 
 Q3.0.5: How to check if a lisp function is defined?
@@ -80,14 +105,14 @@ Q3.0.8: How do I get a single minibuffer frame?
      (setq default-minibuffer-frame
            (make-frame
             '(minibuffer only
-                   width 86
-                   height 1
-                   menubar-visible-p nil
-                   default-toolbar-visible-p nil
-                   name "minibuffer"
-                   top -2
-                   left -2
-                   has-modeline-p nil)))
+                         width 86
+                         height 1
+                         menubar-visible-p nil
+                         default-toolbar-visible-p nil
+                         name "minibuffer"
+                         top -2
+                         left -2
+                         has-modeline-p nil)))
      (frame-notice-user-settings)
 
    *Please note:* The single minibuffer frame may not be to everyone's
@@ -186,7 +211,7 @@ directory/name of the current buffer file and not just the name.
 
      (setq frame-title-format
            '("%S: " (buffer-file-name "%f"
-                                (dired-directory dired-directory "%b"))))
+                                      (dired-directory dired-directory "%b"))))
 
    That is, use the file name, or the dired-directory, or the buffer
 name.
@@ -270,24 +295,24 @@ instead of from my `.Xdefaults'?
      (set-face-background 'default      "bisque") ; frame background
      (set-face-foreground 'default      "black") ; normal text
      (set-face-background 'zmacs-region "red") ; When selecting w/
-                                       ; mouse
+                                             ; mouse
      (set-face-foreground 'zmacs-region "yellow")
      (set-face-font       'default      "*courier-bold-r*120-100-100*")
      (set-face-background 'highlight    "blue") ; Ie when selecting
-                                       ; buffers
+                                             ; buffers
      (set-face-foreground 'highlight    "yellow")
      (set-face-background 'modeline     "blue") ; Line at bottom
-                                       ; of buffer
+                                             ; of buffer
      (set-face-foreground 'modeline     "white")
      (set-face-font       'modeline     "*bold-r-normal*140-100-100*")
      (set-face-background 'isearch      "yellow") ; When highlighting
-                                       ; while searching
+                                             ; while searching
      (set-face-foreground 'isearch      "red")
      (setq x-pointer-foreground-color   "black") ; Adds to bg color,
-                                       ; so keep black
+                                             ; so keep black
      (setq x-pointer-background-color   "blue") ; This is color
-                                       ; you really
-                                       ; want ptr/crsr
+                                             ; you really
+                                             ; want ptr/crsr
 
 \1f
 File: xemacs-faq.info,  Node: Q3.2.2,  Next: Q3.2.3,  Prev: Q3.2.1,  Up: Customization
@@ -455,7 +480,7 @@ this code to your `.emacs' to turn it off:
 mode:
 
      (add-hook 'TeX-mode-hook
-         '(lambda () (setq fume-display-in-modeline-p nil)))
+               '(lambda () (setq fume-display-in-modeline-p nil)))
 
    David Hughes <dhughes@origin-at.co.uk> writes:
 
@@ -568,8 +593,8 @@ bound to keys.
 
      (global-set-key [(control ?.)]
        (lambda () (interactive) (scroll-up 1)))
-     (global-set-key [(control ?               ;)]
-                         (lambda () (interactive) (scroll-up -1)))
+     (global-set-key [(control ?;)]
+       (lambda () (interactive) (scroll-up -1)))
 
    This is fine if you only need a few functions within the lambda body.
 If you're doing more it's cleaner to define a separate function as in
@@ -605,7 +630,7 @@ and Wayne Newberry <wayne@zen.cac.stratus.com>) to `.emacs':
        (scroll-down 1))
      
      (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
-     (global-set-key [(control ?               ;)] 'scroll-down-one-line) ; C-;
+     (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
 
    The key point is that you can only bind simple functions to keys; you
 can not bind a key to a function that you're also passing arguments to.
@@ -715,7 +740,7 @@ etc.
 
      Generally, the simplest way is to define a key as Multi_key with
      xmodmap, e.g.
-               xmodmap -e 'keycode 0xff20 = Multi_key'
+                  xmodmap -e 'keycode 0xff20 = Multi_key'
 
      You will need to pick an appropriate keycode. Use xev to find out
      the keycodes for each key.
@@ -724,17 +749,17 @@ etc.
      automatically define the right `Windows' key as Multi_key'.]
 
      Once you have Multi_key defined, you can use e.g.
-               Multi a '       => Ã¡
-               Multi e "       => Ã«
-               Multi c ,       => Ã§
+                  Multi a '       => Ã¡
+                  Multi e "       => Ã«
+                  Multi c ,       => Ã§
 
      etc.
 
      Also, recent versions of XFree86 define various AltGr-<key>
      combinations as dead keys, i.e.
-               AltGr [         => dead_diaeresis
-               AltGr ]         => dead_tilde
-               AltGr ;         => dead_acute
+                  AltGr [         => dead_diaeresis
+                  AltGr ]         => dead_tilde
+                  AltGr ;         => dead_acute
      etc.
 
      Running `xmodmap -pk' will list all of the defined keysyms.
@@ -849,7 +874,7 @@ customize <RET> display <RET>'.
 
    You can use a color to make it stand out better:
 
-     Emacs*cursorColor:        Red
+     Emacs*cursorColor:      Red
 
 \1f
 File: xemacs-faq.info,  Node: Q3.6.2,  Next: Q3.6.3,  Prev: Q3.6.1,  Up: Customization
@@ -1302,18 +1327,18 @@ feature) off like this:
        (interactive "_P")
        (let ((zmacs-region-stays t))
          (if (interactive-p)
-       (condition-case nil
-           ad-do-it
-         (end-of-buffer (goto-char (point-max))))
+             (condition-case nil
+                 ad-do-it
+               (end-of-buffer (goto-char (point-max))))
            ad-do-it)))
      
      (defadvice scroll-down (around scroll-down freeze)
        (interactive "_P")
        (let ((zmacs-region-stays t))
          (if (interactive-p)
-       (condition-case nil
-           ad-do-it
-         (beginning-of-buffer (goto-char (point-min))))
+             (condition-case nil
+                 ad-do-it
+               (beginning-of-buffer (goto-char (point-min))))
            ad-do-it)))
 
    Thanks to T. V. Raman <raman@adobe.com> for assistance in deriving
@@ -1396,45 +1421,3 @@ Q4.0.1: How do I set up VM to retrieve mail from a remote site using POP?
 
    Of course substitute your actual password for MYPASS.
 
-\1f
-File: xemacs-faq.info,  Node: Q4.0.2,  Next: Q4.0.3,  Prev: Q4.0.1,  Up: Subsystems
-
-Q4.0.2: How do I get VM to filter mail for me?
-----------------------------------------------
-
-   One possibility is to use procmail to split your mail before it gets
-to VM.  I prefer this personally, since there are many strange and
-wonderful things one can do with procmail.  Procmail may be found at
-`ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/'.
-
-   Also see the Mail Filtering FAQ at:
-`ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq'.
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.3,  Next: Q4.0.4,  Prev: Q4.0.2,  Up: Subsystems
-
-Q4.0.3: How can I get VM to automatically check for new mail?
--------------------------------------------------------------
-
-   John Turner <turner@lanl.gov> writes:
-
-     Use the following:
-
-          (setq vm-auto-get-new-mail 60)
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.4,  Next: Q4.0.5,  Prev: Q4.0.3,  Up: Subsystems
-
-Q4.0.4: [This question intentionally left blank]
-------------------------------------------------
-
-   Obsolete question, left blank to avoid renumbering.
-
-\1f
-File: xemacs-faq.info,  Node: Q4.0.5,  Next: Q4.0.6,  Prev: Q4.0.4,  Up: Subsystems
-
-Q4.0.5: How do I get my outgoing mail archived?
------------------------------------------------
-
-     (setq mail-archive-file-name "~/outbox")
-
index 0f68a12..75796cf 100644 (file)
@@ -3,10 +3,52 @@ xemacs-faq.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* FAQ: (xemacs-faq).           XEmacs FAQ.
+* FAQ: (xemacs-faq).            XEmacs FAQ.
 END-INFO-DIR-ENTRY
 
 \1f
+File: xemacs-faq.info,  Node: Q4.0.2,  Next: Q4.0.3,  Prev: Q4.0.1,  Up: Subsystems
+
+Q4.0.2: How do I get VM to filter mail for me?
+----------------------------------------------
+
+   One possibility is to use procmail to split your mail before it gets
+to VM.  I prefer this personally, since there are many strange and
+wonderful things one can do with procmail.  Procmail may be found at
+`ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/'.
+
+   Also see the Mail Filtering FAQ at:
+`ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq'.
+
+\1f
+File: xemacs-faq.info,  Node: Q4.0.3,  Next: Q4.0.4,  Prev: Q4.0.2,  Up: Subsystems
+
+Q4.0.3: How can I get VM to automatically check for new mail?
+-------------------------------------------------------------
+
+   John Turner <turner@lanl.gov> writes:
+
+     Use the following:
+
+          (setq vm-auto-get-new-mail 60)
+
+\1f
+File: xemacs-faq.info,  Node: Q4.0.4,  Next: Q4.0.5,  Prev: Q4.0.3,  Up: Subsystems
+
+Q4.0.4: [This question intentionally left blank]
+------------------------------------------------
+
+   Obsolete question, left blank to avoid renumbering.
+
+\1f
+File: xemacs-faq.info,  Node: Q4.0.5,  Next: Q4.0.6,  Prev: Q4.0.4,  Up: Subsystems
+
+Q4.0.5: How do I get my outgoing mail archived?
+-----------------------------------------------
+
+     (setq mail-archive-file-name "~/outbox")
+
+\1f
 File: xemacs-faq.info,  Node: Q4.0.6,  Next: Q4.0.7,  Prev: Q4.0.5,  Up: Subsystems
 
 Q4.0.6: I have various addresses at which I receive mail.  How can I tell VM to ignore them when doing a "reply-all"?
@@ -16,7 +58,7 @@ Q4.0.6: I have various addresses at which I receive mail.  How can I tell VM to
 
      (setq vm-reply-ignored-addresses
            '("wing@nuspl@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com"
-       "wing@netcom.com" "wing@xemacs.org"))
+             "wing@netcom.com" "wing@xemacs.org"))
 
    Note that each string is a regular expression.
 
@@ -117,7 +159,7 @@ Q4.0.10: How do I make VM stay in a single frame?
 
    John.John S Cooper <Cooper@Eng.Sun.COM> writes:
 
-                                               ; Don't use multiple frames
+                                                  ; Don't use multiple frames
           (setq vm-frame-per-composition nil)
           (setq vm-frame-per-folder nil)
           (setq vm-frame-per-edit nil)
@@ -132,7 +174,7 @@ Q4.0.11: How do I make VM or mh-e display graphical smilies?
    For mh-e use the following:
 
      (add-hook 'mh-show-mode-hook '(lambda ()
-                               (smiley-region (point-min)
+                                     (smiley-region (point-min)
                                                     (point-max))))
 
    WJCarpenter <bill@carpenter.ORG> writes: For VM use the following:
@@ -705,7 +747,7 @@ usually one or more of the following:
      Each package bundled with XEmacs means more work for the
      maintainers, whether they want it or not.  If you are ready to
      take over the maintenance responsibilities for the package you
-     port, be sure to say so - we will more likely include it.
+     port, be sure to say so--we will more likely include it.
 
   3. The package simply hasn't been noted by the XEmacs development.  If
      that's the case, the messages like yours are very useful for
@@ -806,8 +848,8 @@ Q5.0.1: How can I do source code highlighting using font-lock?
 turned on.  This can be done by `M-x font-lock-mode', or by having
 XEmacs automatically start it by adding lines like:
 
-     (add-hook 'emacs-lisp-mode-hook   'turn-on-font-lock)
-     (add-hook 'dired-mode-hook        'turn-on-font-lock)
+     (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
+     (add-hook 'dired-mode-hook      'turn-on-font-lock)
 
    to your `.emacs'.  See the file `etc/sample.emacs' for more examples.
 
@@ -1223,93 +1265,3 @@ XEmacs.
      (global-set-key [unknown_keysym_0x4]
        (lambda () (interactive) (cg--generate-char-event 4)))
 
-\1f
-File: xemacs-faq.info,  Node: Q5.1.3,  Next: Q5.1.4,  Prev: Q5.1.2,  Up: Miscellaneous
-
-Q5.1.3: Could you explain `read-kbd-macro' in more detail?
-----------------------------------------------------------
-
-   The `read-kbd-macro' function returns the internal Emacs
-representation of a human-readable string (which is its argument).
-Thus:
-
-     (read-kbd-macro "C-c C-a")
-     => [(control ?c) (control ?a)]
-     
-     (read-kbd-macro "C-c C-. <up>")
-     => [(control ?c) (control ?.) up]
-
-   In GNU Emacs the same forms will be evaluated to what GNU Emacs
-understands internally--the sequences `"\C-x\C-c"' and `[3 67108910
-up]', respectively.
-
-   The exact "human-readable" syntax is defined in the docstring of
-`edmacro-mode'.  I'll repeat it here, for completeness.
-
-     Format of keyboard macros during editing:
-
-     Text is divided into "words" separated by whitespace.  Except for
-     the words described below, the characters of each word go directly
-     as characters of the macro.  The whitespace that separates words is
-     ignored.  Whitespace in the macro must be written explicitly, as in
-     `foo <SPC> bar <RET>'.
-
-        * The special words `RET', `SPC', `TAB', `DEL', `LFD', `ESC',
-          and `NUL' represent special control characters.  The words
-          must be written in uppercase.
-
-        * A word in angle brackets, e.g., `<return>', `<down>', or
-          `<f1>', represents a function key.  (Note that in the standard
-          configuration, the function key `<return>' and the control key
-          <RET> are synonymous.)  You can use angle brackets on the
-          words <RET>, <SPC>, etc., but they are not required there.
-
-        * Keys can be written by their ASCII code, using a backslash
-          followed by up to six octal digits.  This is the only way to
-          represent keys with codes above \377.
-
-        * One or more prefixes `M-' (meta), `C-' (control), `S-'
-          (shift), `A-' (alt), `H-' (hyper), and `s-' (super) may
-          precede a character or key notation.  For function keys, the
-          prefixes may go inside or outside of the brackets: `C-<down>'
-          == `<C-down>'.  The prefixes may be written in any order:
-          `M-C-x' == `C-M-x'.
-
-          Prefixes are not allowed on multi-key words, e.g., `C-abc',
-          except that the Meta prefix is allowed on a sequence of
-          digits and optional minus sign: `M--123' == `M-- M-1 M-2 M-3'.
-
-        * The `^' notation for control characters also works: `^M' ==
-          `C-m'.
-
-        * Double angle brackets enclose command names: `<<next-line>>'
-          is shorthand for `M-x next-line <RET>'.
-
-        * Finally, `REM' or `;;' causes the rest of the line to be
-          ignored as a comment.
-
-     Any word may be prefixed by a multiplier in the form of a decimal
-     number and `*': `3*<right>' == `<right> <right> <right>', and
-     `10*foo' == `foofoofoofoofoofoofoofoofoofoo'.
-
-     Multiple text keys can normally be strung together to form a word,
-     but you may need to add whitespace if the word would look like one
-     of the above notations: `; ; ;' is a keyboard macro with three
-     semicolons, but `;;;' is a comment.  Likewise, `\ 1 2 3' is four
-     keys but `\123' is a single key written in octal, and `< right >'
-     is seven keys but `<right>' is a single function key.  When in
-     doubt, use whitespace.
-
-\1f
-File: xemacs-faq.info,  Node: Q5.1.4,  Next: Q5.1.5,  Prev: Q5.1.3,  Up: Miscellaneous
-
-Q5.1.4: What is the performance hit of `let'?
----------------------------------------------
-
-   In most cases, not noticeable.  Besides, there's no avoiding
-`let'--you have to bind your local variables, after all.  Some pose a
-question whether to nest `let's, or use one `let' per function.  I
-think because of clarity and maintenance (and possible future
-implementation), `let'-s should be used (nested) in a way to provide
-the clearest code.
-
index b4a96f9..f5c6bcf 100644 (file)
@@ -3,10 +3,100 @@ xemacs-faq.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* FAQ: (xemacs-faq).           XEmacs FAQ.
+* FAQ: (xemacs-faq).            XEmacs FAQ.
 END-INFO-DIR-ENTRY
 
 \1f
+File: xemacs-faq.info,  Node: Q5.1.3,  Next: Q5.1.4,  Prev: Q5.1.2,  Up: Miscellaneous
+
+Q5.1.3: Could you explain `read-kbd-macro' in more detail?
+----------------------------------------------------------
+
+   The `read-kbd-macro' function returns the internal Emacs
+representation of a human-readable string (which is its argument).
+Thus:
+
+     (read-kbd-macro "C-c C-a")
+     => [(control ?c) (control ?a)]
+     
+     (read-kbd-macro "C-c C-. <up>")
+     => [(control ?c) (control ?.) up]
+
+   In GNU Emacs the same forms will be evaluated to what GNU Emacs
+understands internally--the sequences `"\C-x\C-c"' and `[3 67108910
+up]', respectively.
+
+   The exact "human-readable" syntax is defined in the docstring of
+`edmacro-mode'.  I'll repeat it here, for completeness.
+
+     Format of keyboard macros during editing:
+
+     Text is divided into "words" separated by whitespace.  Except for
+     the words described below, the characters of each word go directly
+     as characters of the macro.  The whitespace that separates words is
+     ignored.  Whitespace in the macro must be written explicitly, as in
+     `foo <SPC> bar <RET>'.
+
+        * The special words `RET', `SPC', `TAB', `DEL', `LFD', `ESC',
+          and `NUL' represent special control characters.  The words
+          must be written in uppercase.
+
+        * A word in angle brackets, e.g., `<return>', `<down>', or
+          `<f1>', represents a function key.  (Note that in the standard
+          configuration, the function key `<return>' and the control key
+          <RET> are synonymous.)  You can use angle brackets on the
+          words <RET>, <SPC>, etc., but they are not required there.
+
+        * Keys can be written by their ASCII code, using a backslash
+          followed by up to six octal digits.  This is the only way to
+          represent keys with codes above \377.
+
+        * One or more prefixes `M-' (meta), `C-' (control), `S-'
+          (shift), `A-' (alt), `H-' (hyper), and `s-' (super) may
+          precede a character or key notation.  For function keys, the
+          prefixes may go inside or outside of the brackets: `C-<down>'
+          == `<C-down>'.  The prefixes may be written in any order:
+          `M-C-x' == `C-M-x'.
+
+          Prefixes are not allowed on multi-key words, e.g., `C-abc',
+          except that the Meta prefix is allowed on a sequence of
+          digits and optional minus sign: `M--123' == `M-- M-1 M-2 M-3'.
+
+        * The `^' notation for control characters also works: `^M' ==
+          `C-m'.
+
+        * Double angle brackets enclose command names: `<<next-line>>'
+          is shorthand for `M-x next-line <RET>'.
+
+        * Finally, `REM' or `;;' causes the rest of the line to be
+          ignored as a comment.
+
+     Any word may be prefixed by a multiplier in the form of a decimal
+     number and `*': `3*<right>' == `<right> <right> <right>', and
+     `10*foo' == `foofoofoofoofoofoofoofoofoofoo'.
+
+     Multiple text keys can normally be strung together to form a word,
+     but you may need to add whitespace if the word would look like one
+     of the above notations: `; ; ;' is a keyboard macro with three
+     semicolons, but `;;;' is a comment.  Likewise, `\ 1 2 3' is four
+     keys but `\123' is a single key written in octal, and `< right >'
+     is seven keys but `<right>' is a single function key.  When in
+     doubt, use whitespace.
+
+\1f
+File: xemacs-faq.info,  Node: Q5.1.4,  Next: Q5.1.5,  Prev: Q5.1.3,  Up: Miscellaneous
+
+Q5.1.4: What is the performance hit of `let'?
+---------------------------------------------
+
+   In most cases, not noticeable.  Besides, there's no avoiding
+`let'--you have to bind your local variables, after all.  Some pose a
+question whether to nest `let's, or use one `let' per function.  I
+think because of clarity and maintenance (and possible future
+implementation), `let'-s should be used (nested) in a way to provide
+the clearest code.
+
+\1f
 File: xemacs-faq.info,  Node: Q5.1.5,  Next: Q5.1.6,  Prev: Q5.1.4,  Up: Miscellaneous
 
 Q5.1.5: What is the recommended use of `setq'?
@@ -24,7 +114,7 @@ Q5.1.5: What is the recommended use of `setq'?
      user-variable temporarily, use `let':
 
           (let ((case-fold-search nil))
-            ...                                        ; code with searches that must be case-sensitive
+            ...                                   ; code with searches that must be case-sensitive
             ...)
 
      You will notice the user-variables by their docstrings beginning
@@ -83,7 +173,7 @@ garbage-collected.  For example, the code doing:
 unbound.  The correct thing is to do it like this:
 
      (defun my-function (whatever)
-       (let (a)                                ; default initialization is to nil
+       (let (a)                              ; default initialization is to nil
          ... build a large list ...
          ... and exit, unbinding `a' in the process  ...)
 
@@ -94,11 +184,11 @@ Emacs to garbage-collect the objects which `a' used to reference.
 `defvar'ing them first, because the byte-compiler issues warnings.  The
 reason for the warning is the following:
 
-     (defun flurgoze nil)                      ; ok, global internal variable
+     (defun flurgoze nil)                    ; ok, global internal variable
      ...
      
-     (setq flurghoze t)                        ; ops!  a typo, but semantically correct.
-                                       ; however, the byte-compiler warns.
+     (setq flurghoze t)                      ; ops!  a typo, but semantically correct.
+                                             ; however, the byte-compiler warns.
      
      While compiling toplevel forms:
      ** assignment to free variable flurghoze
@@ -233,7 +323,7 @@ Q5.2.1: How do I turn off the sound?
      (setq bell-volume 0)
      (setq sound-alist nil)
 
-   That will make your XEmacs totally silent - even the default ding
+   That will make your XEmacs totally silent--even the default ding
 sound (TTY beep on TTY-s) will be gone.
 
    Starting with XEmacs-20.2 you can also change these with Customize.
@@ -334,7 +424,7 @@ alive again.
 expressions.  It was fixed in 19.13.  For earlier versions of XEmacs,
 have a look at your `.emacs' file.  You will probably have a line like:
 
-     (add-hook 'postscript-mode-hook   'turn-on-font-lock)
+     (add-hook 'postscript-mode-hook 'turn-on-font-lock)
 
    Take it out, restart XEmacs, and it won't try to fontify your
 postscript files anymore.
@@ -558,8 +648,8 @@ Q5.3.11: How do I add new Info directories?
    You use something like:
 
      (setq Info-directory-list (cons
-                          (expand-file-name "~/info")
-                          Info-default-directory-list))
+                                (expand-file-name "~/info")
+                                Info-default-directory-list))
 
    David Masterson <davidm@prism.kla.com> writes:
 
@@ -642,28 +732,28 @@ Windows port of XEmacs.
 
 
 General Info
-* Q6.0.1::     What is the status of the XEmacs port to Windows?
-* Q6.0.2::     What flavors of MS Windows are supported?
+* Q6.0.1::      What is the status of the XEmacs port to Windows?
+* Q6.0.2::      What flavors of MS Windows are supported?
 * Q6.0.3::      Where are the XEmacs on MS Windows binaries?
-* Q6.0.4::     Does XEmacs on MS Windows require an X server to run?
+* Q6.0.4::      Does XEmacs on MS Windows require an X server to run?
 
 Building XEmacs on MS Windows
-* Q6.1.1::     I decided to run with X.  Where do I get an X server?
-* Q6.1.2::     What compiler do I need to compile XEmacs?
-* Q6.1.3::     How do I compile for the native port?
-* Q6.1.4::     How do I compile for the X port?
-* Q6.1.5::     How do I compile for Cygnus' Cygwin?
-* Q6.1.6::     What do I need for Cygwin?
+* Q6.1.1::      I decided to run with X.  Where do I get an X server?
+* Q6.1.2::      What compiler do I need to compile XEmacs?
+* Q6.1.3::      How do I compile for the native port?
+* Q6.1.4::      How do I compile for the X port?
+* Q6.1.5::      How do I compile for Cygnus' Cygwin?
+* Q6.1.6::      What do I need for Cygwin?
 
 Customization and User Interface
-* Q6.2.1::     How will the port cope with differences in the Windows user interface?
-* Q6.2.2::     How do I change fonts in XEmacs on MS Windows?
-* Q6.2.3::     Where do I put my `.emacs' file?
+* Q6.2.1::      How will the port cope with differences in the Windows user interface?
+* Q6.2.2::      How do I change fonts in XEmacs on MS Windows?
+* Q6.2.3::      Where do I put my `.emacs' file?
 
 Miscellaneous
-* Q6.3.1::     Will XEmacs rename all the win32-* symbols to w32-*?
-* Q6.3.2::     What are the differences between the various MS Windows emacsen?
-* Q6.3.3::     What is the porting team doing at the moment?
+* Q6.3.1::      Will XEmacs rename all the win32-* symbols to w32-*?
+* Q6.3.2::      What are the differences between the various MS Windows emacsen?
+* Q6.3.3::      What is the porting team doing at the moment?
 
 \1f
 File: xemacs-faq.info,  Node: Q6.0.1,  Next: Q6.0.2,  Prev: MS Windows,  Up: MS Windows
@@ -717,7 +807,7 @@ Q6.0.4: Does XEmacs on MS Windows require an X server to run?
    Long answer: XEmacs can be built in several ways in the MS Windows
 environment, some of them requiring an X server and some not.
 
-   One is what we call the "X" port - it requires X libraries to build
+   One is what we call the "X" port--it requires X libraries to build
 and an X server to run.  Internally it uses the Xt event loop and makes
 use of X toolkits.  Its look is quite un-Windowsy, but it works
 reliably and supports all of the graphical features of Unix XEmacs.
@@ -735,7 +825,7 @@ advantage of Cygnus emulation library under Win32, which enables it to
 reuse much of the Unix XEmacs code base, such as processes and network
 support, or internal select() mechanisms.
 
-   Cygwin port supports all display types - TTY, X & MS gui, and can be
+   Cygwin port supports all display types--TTY, X & MS gui, and can be
 built with support for all three.  If you build with ms gui support
 then the Cygwin version uses the majority of the msw code, which is
 mostly related to display.  If you want to build with X support you
@@ -879,8 +969,8 @@ File: xemacs-faq.info,  Node: Q6.2.2,  Next: Q6.2.3,  Prev: Q6.2.1,  Up: MS Wind
 Q6.2.2: How do I change fonts in XEmacs on MS Windows?
 ------------------------------------------------------
 
-   You can change font manually, but not from the menubar, yet. For
-example:
+   In 21.2.*, use the font menu.  In 21.1.*, you can change font
+manually. For example:
 
          (set-face-font 'default "Lucida Console:Regular:10")
          (set-face-font 'modeline "MS Sans Serif:Regular:10")
@@ -1055,7 +1145,7 @@ increased MIME support, and many, many synches with GNU Emacs 20.
    The XEmacs/Mule support has been only seriously tested in a Japanese
 locale, and no doubt many problems still remain.  The support for
 ISO-Latin-1 and Japanese is fairly strong.  MULE support comes at a
-price - about a 30% slowdown from 19.16.  We're making progress on
+price--about a 30% slowdown from 19.16.  We're making progress on
 improving performance and XEmacs 20.3 compiled without Mule (which is
 the default) is definitely faster than XEmacs 19.16.
 
index c0638d5..67dc490 100644 (file)
@@ -680,11 +680,11 @@ strings, they are evaluated and must return an appropriate string.
    For example:
 
        (setq tag-table-alist
-       '(("/usr/src/public/perl/" . "/usr/src/public/perl/perl-3.0/")
-         ("\\.el$" . "/usr/local/emacs/src/")
-         ("/jbw/gnu/" . "/usr15/degree/stud/jbw/gnu/")
-         ("" . "/usr/local/emacs/src/")
-         ))
+             '(("/usr/src/public/perl/" . "/usr/src/public/perl/perl-3.0/")
+               ("\\.el$" . "/usr/local/emacs/src/")
+               ("/jbw/gnu/" . "/usr15/degree/stud/jbw/gnu/")
+               ("" . "/usr/local/emacs/src/")
+               ))
 
    The example defines the tags table alist in the following way:
 
index f01279e..39e5227 100644 (file)
@@ -812,7 +812,7 @@ you can install packages from a local disk or CDROM.
 the packages available at the time of the XEmacs release.  Packages are
 also listed on the `Options' menu under:
 
-       Options->Customize->Emacs->Packages
+             Options->Customize->Emacs->Packages
 
    However, don't select any of these menu picks unless you actually
 want to install the given package (and have properly configured your
@@ -822,7 +822,7 @@ system to do so).
 they are installed, using the visual package browser and installer.
 You can access it via the menus:
 
-       Options->Manage Packages->List & Install
+             Options->Manage Packages->List & Install
 
    Or, you can get to it via the keyboard:
 
@@ -861,7 +861,7 @@ go (advanced users can just re-evaluate the sexp).
    If you are installing from a temporary, one-time directory, you can
 also add these directory names to `package-get-remote' using:
 
-       M-x pui-add-install-directory
+             M-x pui-add-install-directory
 
    Note, however, that any directories added using this function are not
 saved; this information will be lost when you quit XEmacs.
@@ -875,9 +875,9 @@ to this list. See `package-get-remote'.
    The easiest way to install a package is to use the visual package
 browser and installer, using the menu pick:
 
-       Options->Manage Packages->List & Install
+             Options->Manage Packages->List & Install
    or
-       Options->Manage Packages->Using Custom->Select-> ...
+             Options->Manage Packages->Using Custom->Select-> ...
 
    You can also access it using the keyboard:
 
@@ -946,13 +946,13 @@ Other package installation interfaces
    For an alternative package interface, you can select packages from
 the customize menus, under:
 
-       Options->Customize->Emacs->Packages-> ...
+             Options->Customize->Emacs->Packages-> ...
    or
-       Options->Manage Packages->Using Custom->Select-> ...
+             Options->Manage Packages->Using Custom->Select-> ...
 
    Set their state to on, and then do:
 
-       Options->Manage Packages->Using Custom->Update Packages
+             Options->Manage Packages->Using Custom->Update Packages
 
    This will automatically retrieve the packages you have selected from
 the XEmacs ftp site or your local disk, and install them into XEmacs.
@@ -1008,14 +1008,14 @@ it's best to exit XEmacs before upgrading an existing package.
      tarballs that you downloaded in step 1.  Unix and Cygnus cygwin
      users will typically do this using the commands:
 
-               gunzip < package.tar.gz | tar xvf -
+                  gunzip < package.tar.gz | tar xvf -
 
      Above, replace `package.tar.gz' with the filename of the package
      that you downloaded in step 1.
 
      Of course, if you use GNU `tar', you could also use:
 
-               tar xvzf package.tar.gz
+                  tar xvzf package.tar.gz
 
   5. That's it.  Quit and restart XEmacs to get it to recognize any new
      or changed packages.
index 58feba8..e14d1d6 100644 (file)
@@ -107,9 +107,9 @@ Examining and Editing Abbrevs
    The output from `M-x list-abbrevs' looks like this:
 
      (lisp-mode-abbrev-table)
-     "dk"             0    "define-key"
+     "dk"           0    "define-key"
      (global-abbrev-table)
-     "dfn"            0    "definition"
+     "dfn"          0    "definition"
 
 (Some blank lines of no semantic significance, and some other abbrev
 tables, have been omitted.)
@@ -599,7 +599,7 @@ abbreviation.
    In this version of Emacs, what you see is what you get: in contrast
 to some other versions, no abbreviations are expanded after you have
 sent the mail.  This means you don't suffer the annoyance of having the
-system do things behind your back -- if the system rewrites an address
+system do things behind your back--if the system rewrites an address
 you typed, you know it immediately, instead of after the mail has been
 sent and it's too late to do anything about it.  For example, you will
 never again be in trouble because you forgot to delete an old alias
index 6b577ca..bb5eb2c 100644 (file)
@@ -1170,6 +1170,6 @@ File::.
                      file.
 * Audible Bell::    Changing how Emacs sounds the bell.
 * Faces::           Changing the fonts and colors of a region of text.
-* X Resources::            X resources controlling various aspects of the
+* X Resources::     X resources controlling various aspects of the
                      behavior of XEmacs.
 
index 5a378a1..8f34089 100644 (file)
@@ -686,14 +686,14 @@ at the end of a file.
 XEmacs uses the information between them to determine what the major
 mode and variable settings should be.  For example, these are all legal:
 
-       ;;; -*- mode: emacs-lisp -*-
-       ;;; -*- mode: postscript; version-control: never -*-
-       ;;; -*- tags-file-name: "/foo/bar/TAGS" -*-
+             ;;; -*- mode: emacs-lisp -*-
+             ;;; -*- mode: postscript; version-control: never -*-
+             ;;; -*- tags-file-name: "/foo/bar/TAGS" -*-
 
    For historical reasons, the syntax ``-*- modename -*-'' is allowed
 as well; for example, you can use:
 
-       ;;; -*- emacs-lisp -*-
+             ;;; -*- emacs-lisp -*-
 
    The variable `enable-local-variables' controls the use of local
 variables lists in files you visit.  The value can be `t', `nil', or
@@ -1157,12 +1157,12 @@ solution XEmacs adopts is to bind both of these key sequences.
 
    After binding a command to two key sequences with a form like:
 
-       (define-key global-map "\^X\^I" 'command-1)
+             (define-key global-map "\^X\^I" 'command-1)
 
    it is possible to redefine only one of those sequences like so:
 
-       (define-key global-map [(control x) (control i)] 'command-2)
-       (define-key global-map [(control x) tab] 'command-3)
+             (define-key global-map [(control x) (control i)] 'command-2)
+             (define-key global-map [(control x) tab] 'command-3)
 
    This applies only when running under a window system.  If you are
 talking to Emacs through an ASCII-only channel, you do not get any of
index f56181f..24d4a3d 100644 (file)
@@ -734,7 +734,7 @@ if you want to run both variants.
    Starting with XEmacs 21, XEmacs uses the class `XEmacs' if it finds
 any XEmacs resources in the resource database when the X connection is
 initialized.  Otherwise, it will use the class `Emacs' for backwards
-compatability.  The variable X-EMACS-APPLICATION-CLASS may be consulted
+compatibility.  The variable X-EMACS-APPLICATION-CLASS may be consulted
 to determine the application class being used.
 
    The examples in this section assume the application class is `Emacs'.
@@ -758,11 +758,11 @@ You can specify resources for a particular frame with the syntax:
 * Menu:
 
 * Geometry Resources::     Controlling the size and position of frames.
-* Iconic Resources::      Controlling whether frames come up iconic.
-* Resource List::         List of resources settable on a frame or device.
-* Face Resources::        Controlling faces using resources.
-* Widgets::               The widget hierarchy for XEmacs.
-* Menubar Resources::     Specifying resources for the menubar.
+* Iconic Resources::       Controlling whether frames come up iconic.
+* Resource List::          List of resources settable on a frame or device.
+* Face Resources::         Controlling faces using resources.
+* Widgets::                The widget hierarchy for XEmacs.
+* Menubar Resources::      Specifying resources for the menubar.
 
 \1f
 File: xemacs.info,  Node: Geometry Resources,  Next: Iconic Resources,  Up: X Resources
index 81d0b09..d409fd1 100644 (file)
@@ -598,11 +598,11 @@ buffer list:
          *Help*         1287  Fundamental
          files.el       23076 Emacs-Lisp     /u2/emacs/lisp/files.el
        % RMAIL          64042 RMAIL          /u/rms/RMAIL
-      *% man            747   Dired            /u2/emacs/man/
+      *% man            747   Dired          /u2/emacs/man/
          net.emacs      343885 Fundamental   /u/rms/net.emacs
          fileio.c       27691 C              /u2/emacs/src/fileio.c
          NEWS           67340 Text           /u2/emacs/etc/NEWS
-         *scratch*        0     Lisp Interaction
+         *scratch*      0     Lisp Interaction
 
 Note that the buffer `*Help*' was made by a help request; it is not
 visiting any file.  The buffer `man' was made by Dired on the directory
index 655d9d6..2d1fbbf 100644 (file)
@@ -42,7 +42,7 @@ Initialize_Locale (void)
 {
   char *locale;
 
-  /* dverna - Nov. 98: ### DON'T DO THIS !!! The default XtLanguageProc
+  /* dverna - Nov. 98: #### DON'T DO THIS !!! The default XtLanguageProc
      routine calls setlocale(LC_ALL, lang) which fucks up our lower-level
      locale management, and especially the value of LC_NUMERIC. Anyway, since
      at this point, we don't know yet whether we're gonna need an X11 frame,