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-'
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,
* Menu:
-* Property Lists:: `get*', `remprop', `getf', `remf'
+* Property Lists:: `remprop', `getf', `remf'
* Creating Symbols:: `gensym', `gentemp'
\1f
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
(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.
* gcd: Numerical Functions.
* gensym: Creating Symbols.
* gentemp: Creating Symbols.
-* get*: Property Lists.
* get-setf-method: Customizing Setf.
* getf: Property Lists.
* ignore-errors: Assertions.
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
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
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
`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
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'.
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.
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
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
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
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.
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
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
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.
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
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.
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
- 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
- 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)
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.
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'
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
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
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
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
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
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
(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
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
`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:
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
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
=> #<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
* 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
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 ]
* 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
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
(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"
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
=============
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
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.
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.
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
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
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.
* 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
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.
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.
=> ((#<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
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.
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.
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
* 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
* 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
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
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
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
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
- 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.
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
* 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.
-
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
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.
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
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,
(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
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.
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,
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
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.
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.
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.
-
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
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).
* 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.
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.
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::.
(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
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?
(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
(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.
(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
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:
(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
(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.
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.
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.
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
(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
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")
-
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"?
(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.
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)
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:
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
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.
(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.
-
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'?
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
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 ...)
`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
(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.
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.
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:
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
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.
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
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")
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.
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:
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
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:
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.
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:
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.
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.
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.)
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
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.
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
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
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'.
* 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
*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
{
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,