mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-04 11:40:22 +00:00
Merge from trunk.
This commit is contained in:
commit
20a14f94f6
@ -2325,7 +2325,7 @@
|
||||
|
||||
2010-03-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
These changes remove termcap.c from the build on Posix platforms.
|
||||
These changes remove termcap.c from the build on POSIX platforms.
|
||||
* configure.in <AC_CHECK_HEADERS>: Remove termcap.h.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
@ -155,13 +155,8 @@ mini.texi rgm
|
||||
misc.texi cyd
|
||||
modes.texi cyd
|
||||
msdog.texi rgm (can't actually test any of it though)
|
||||
It was not obvious to me that the following is true (it could well be though):
|
||||
|
||||
Emacs on Windows automatically determines your default printer and
|
||||
sets the variable `printer-name' to that printer's name.
|
||||
|
||||
msdog-xtra.texi rgm (can't actually test any of it though)
|
||||
mule.texi
|
||||
mule.texi rgm (not 100% sure about "Fontsets")
|
||||
m-x.texi cyd
|
||||
package.texi cyd
|
||||
picture-xtra.texi rgm
|
||||
@ -182,7 +177,7 @@ xresources.texi cyd
|
||||
|
||||
abbrevs.texi rgm
|
||||
advice.texi cyd
|
||||
anti.texi
|
||||
anti.texi rgm
|
||||
back.texi rgm
|
||||
backups.texi cyd
|
||||
buffers.texi cyd
|
||||
|
@ -1,3 +1,37 @@
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* misc.texi (emacsclient Options): More clarifications.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* msdog.texi (Windows Printing): It doesn't set printer-name.
|
||||
|
||||
* mule.texi (Language Environments): Move font info to "Fontsets".
|
||||
(Fontsets): Move intlfonts etc here from "Language Environments".
|
||||
Copyedits.
|
||||
(Defining Fontsets, Modifying Fontsets, Undisplayable Characters)
|
||||
(Unibyte Mode, Charsets, Bidirectional Editing): Copyedits.
|
||||
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* glossary.texi (Glossary): Standardize on "text terminal"
|
||||
terminology. All callers changed.
|
||||
|
||||
* misc.texi (emacsclient Options): Document "client frame" concept
|
||||
and its effect on C-x C-c more carefully.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* frames.texi (Scroll Bars):
|
||||
* glossary.texi (Glossary): Use consistent case for "X Window System".
|
||||
|
||||
* mule.texi (Select Input Method, Coding Systems):
|
||||
State command names in kbd tables.
|
||||
(Recognize Coding): Add cross-ref.
|
||||
(Output Coding): Don't mention message mode in particular.
|
||||
(Text Coding, Communication Coding, File Name Coding, Terminal Coding):
|
||||
Copyedits.
|
||||
|
||||
2012-04-14 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* mule.texi (Select Input Method, Coding Systems, Recognize Coding):
|
||||
|
@ -690,8 +690,8 @@ directory-local variables; and the @code{info-finder} feature that
|
||||
creates a virtual Info manual of package keywords.
|
||||
|
||||
@item
|
||||
Károly L@H{o}rentey wrote the ``multi-terminal'' code, which allows Emacs to
|
||||
run on graphical and text-only terminals simultaneously.
|
||||
Károly L@H{o}rentey wrote the ``multi-terminal'' code, which allows
|
||||
Emacs to run on graphical and text terminals simultaneously.
|
||||
|
||||
@item
|
||||
Martin Lorentzon wrote @file{vc-annotate.el}, support for version
|
||||
|
@ -372,7 +372,7 @@ the text in the region. @xref{Mark}, for a description of the region.
|
||||
On most keyboards, @key{DEL} is labeled @key{Backspace}, but we
|
||||
refer to it as @key{DEL} in this manual. (Do not confuse @key{DEL}
|
||||
with the @key{Delete} key; we will discuss @key{Delete} momentarily.)
|
||||
On some text-only terminals, Emacs may not recognize the @key{DEL} key
|
||||
On some text terminals, Emacs may not recognize the @key{DEL} key
|
||||
properly. @xref{DEL Does Not Delete}, if you encounter this problem.
|
||||
|
||||
The @key{delete} (@code{delete-forward-char}) command deletes in the
|
||||
@ -530,7 +530,7 @@ too long to fit in the window, and Emacs displays it as two or more
|
||||
@dfn{continuation}, and the long logical line is called a
|
||||
@dfn{continued line}. On a graphical display, Emacs indicates line
|
||||
wrapping with small bent arrows in the left and right window fringes.
|
||||
On a text-only terminal, Emacs indicates line wrapping by displaying a
|
||||
On a text terminal, Emacs indicates line wrapping by displaying a
|
||||
@samp{\} character at the right margin.
|
||||
|
||||
Most commands that act on lines act on logical lines, not screen
|
||||
@ -545,9 +545,9 @@ and up, respectively, by one screen line (@pxref{Moving Point}).
|
||||
continuing them. This means that every logical line occupies a single
|
||||
screen line; if it is longer than the width of the window, the rest of
|
||||
the line is not displayed. On a graphical display, a truncated line
|
||||
is indicated by a small straight arrow in the right fringe; on a
|
||||
text-only terminal, it is indicated by a @samp{$} character in the
|
||||
right margin. @xref{Line Truncation}.
|
||||
is indicated by a small straight arrow in the right fringe; on a text
|
||||
terminal, it is indicated by a @samp{$} character in the right margin.
|
||||
@xref{Line Truncation}.
|
||||
|
||||
By default, continued lines are wrapped at the right window edge.
|
||||
Since the wrapping may occur in the middle of a word, continued lines
|
||||
|
@ -227,13 +227,13 @@ is determined by the variable @code{next-error-highlight}.
|
||||
If the @file{*compilation*} buffer is shown in a window with a left
|
||||
fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in
|
||||
the fringe, pointing to the current error message. If the window has
|
||||
no left fringe, such as on a text-only terminal, these commands scroll
|
||||
the window so that the current message is at the top of the window.
|
||||
If you change the variable @code{compilation-context-lines} to an
|
||||
integer value @var{n}, these commands scroll the window so that the
|
||||
current error message is @var{n} lines from the top, whether or not
|
||||
there is a fringe; the default value, @code{nil}, gives the behavior
|
||||
described above.
|
||||
no left fringe, such as on a text terminal, these commands scroll the
|
||||
window so that the current message is at the top of the window. If
|
||||
you change the variable @code{compilation-context-lines} to an integer
|
||||
value @var{n}, these commands scroll the window so that the current
|
||||
error message is @var{n} lines from the top, whether or not there is a
|
||||
fringe; the default value, @code{nil}, gives the behavior described
|
||||
above.
|
||||
|
||||
@vindex compilation-error-regexp-alist
|
||||
@vindex grep-regexp-alist
|
||||
@ -572,12 +572,12 @@ for special commands that can be used in the GUD interaction buffer.
|
||||
|
||||
As you debug a program, Emacs displays the relevant source files by
|
||||
visiting them in Emacs buffers, with an arrow in the left fringe
|
||||
indicating the current execution line. (On a text-only terminal, the
|
||||
arrow appears as @samp{=>}, overlaid on the first two text columns.)
|
||||
Moving point in such a buffer does not move the arrow. You are free
|
||||
to edit these source files, but note that inserting or deleting lines
|
||||
will throw off the arrow's positioning, as Emacs has no way to figure
|
||||
out which edited source line corresponds to the line reported by the
|
||||
indicating the current execution line. (On a text terminal, the arrow
|
||||
appears as @samp{=>}, overlaid on the first two text columns.) Moving
|
||||
point in such a buffer does not move the arrow. You are free to edit
|
||||
these source files, but note that inserting or deleting lines will
|
||||
throw off the arrow's positioning, as Emacs has no way to figure out
|
||||
which edited source line corresponds to the line reported by the
|
||||
debugger subprocess. To update this information, you typically have
|
||||
to recompile and restart the program.
|
||||
|
||||
@ -936,7 +936,7 @@ already exists there, the click removes it. A @kbd{C-Mouse-1} click
|
||||
enables or disables an existing breakpoint; a breakpoint that is
|
||||
disabled, but not unset, is indicated by a gray dot.
|
||||
|
||||
On a text-only terminal, or when fringes are disabled, enabled
|
||||
On a text terminal, or when fringes are disabled, enabled
|
||||
breakpoints are indicated with a @samp{B} character in the left margin
|
||||
of the window. Disabled breakpoints are indicated with @samp{b}.
|
||||
(The margin is only displayed if a breakpoint is present.)
|
||||
@ -1079,9 +1079,9 @@ debugger}.
|
||||
|
||||
@findex gdb-frames-select
|
||||
On graphical displays, the selected stack frame is indicated by an
|
||||
arrow in the fringe. On text-only terminals, or when fringes are
|
||||
disabled, the selected stack frame is displayed in reverse contrast.
|
||||
To select a stack frame, move point in its line and type @key{RET}
|
||||
arrow in the fringe. On text terminals, or when fringes are disabled,
|
||||
the selected stack frame is displayed in reverse contrast. To select
|
||||
a stack frame, move point in its line and type @key{RET}
|
||||
(@code{gdb-frames-select}), or click @kbd{Mouse-2} on it. Doing so
|
||||
also updates the Locals buffer
|
||||
@ifnottex
|
||||
|
@ -849,8 +849,8 @@ emacs -ms coral -cr 'slate blue' &
|
||||
You can reverse the foreground and background colors through the
|
||||
@samp{-rv} option or with the X resource @samp{reverseVideo}.
|
||||
|
||||
The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on
|
||||
text-only terminals as well as on graphical displays.
|
||||
The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on text
|
||||
terminals as well as on graphical displays.
|
||||
|
||||
@node Window Size X
|
||||
@appendixsec Options for Window Size and Position
|
||||
|
@ -62,7 +62,7 @@ starting with @key{ESC}. Thus, you can enter @kbd{M-a} by typing
|
||||
C-a}. Unlike @key{Meta}, @key{ESC} is entered as a separate
|
||||
character. You don't hold down @key{ESC} while typing the next
|
||||
character; instead, press @key{ESC} and release it, then enter the
|
||||
next character. This feature is useful on certain text-only terminals
|
||||
next character. This feature is useful on certain text terminals
|
||||
where the @key{Meta} key does not function reliably.
|
||||
|
||||
@cindex keys stolen by window manager
|
||||
|
@ -286,8 +286,8 @@ scrolling whenever point moves off the left or right edge of the
|
||||
screen. To disable automatic horizontal scrolling, set the variable
|
||||
@code{auto-hscroll-mode} to @code{nil}. Note that when the automatic
|
||||
horizontal scrolling is turned off, if point moves off the edge of the
|
||||
screen, the cursor disappears to indicate that. (On text-only
|
||||
terminals, the cursor is left at the edge instead.)
|
||||
screen, the cursor disappears to indicate that. (On text terminals,
|
||||
the cursor is left at the edge instead.)
|
||||
|
||||
@vindex hscroll-margin
|
||||
The variable @code{hscroll-margin} controls how close point can get
|
||||
@ -479,9 +479,9 @@ prompts for a regular expression, and displays only faces with names
|
||||
matching that regular expression (@pxref{Regexps}).
|
||||
|
||||
It's possible for a given face to look different in different
|
||||
frames. For instance, some text-only terminals do not support all
|
||||
face attributes, particularly font, height, and width, and some
|
||||
support a limited range of colors.
|
||||
frames. For instance, some text terminals do not support all face
|
||||
attributes, particularly font, height, and width, and some support a
|
||||
limited range of colors.
|
||||
|
||||
@cindex background color
|
||||
@cindex default face
|
||||
@ -529,13 +529,13 @@ or an @dfn{RGB triplet}.
|
||||
@samp{medium sea green}. To view a list of color names, type @kbd{M-x
|
||||
list-colors-display}. To control the order in which colors are shown,
|
||||
customize @code{list-colors-sort}. If you run this command on a
|
||||
graphical display, it shows the full range of color names known to Emacs
|
||||
(these are the standard X11 color names, defined in X's @file{rgb.txt}
|
||||
file). If you run the command on a text-only terminal, it shows only a
|
||||
small subset of colors that can be safely displayed on such terminals.
|
||||
However, Emacs understands X11 color names even on text-only terminals;
|
||||
if a face is given a color specified by an X11 color name, it is
|
||||
displayed using the closest-matching terminal color.
|
||||
graphical display, it shows the full range of color names known to
|
||||
Emacs (these are the standard X11 color names, defined in X's
|
||||
@file{rgb.txt} file). If you run the command on a text terminal, it
|
||||
shows only a small subset of colors that can be safely displayed on
|
||||
such terminals. However, Emacs understands X11 color names even on
|
||||
text terminals; if a face is given a color specified by an X11 color
|
||||
name, it is displayed using the closest-matching terminal color.
|
||||
|
||||
An RGB triplet is a string of the form @samp{#RRGGBB}. Each of the
|
||||
R, G, and B components is a hexadecimal number specifying the
|
||||
@ -651,8 +651,8 @@ at the top of a window just as the mode line appears at the bottom.
|
||||
Most windows do not have a header line---only some special modes, such
|
||||
Info mode, create one.
|
||||
@item vertical-border
|
||||
This face is used for the vertical divider between windows on
|
||||
text-only terminals.
|
||||
This face is used for the vertical divider between windows on text
|
||||
terminals.
|
||||
@item minibuffer-prompt
|
||||
@cindex @code{minibuffer-prompt} face
|
||||
@vindex minibuffer-prompt-properties
|
||||
@ -679,9 +679,9 @@ This face determines the color of the mouse pointer.
|
||||
@end table
|
||||
|
||||
The following faces likewise control the appearance of parts of the
|
||||
Emacs frame, but only on text-only terminals, or when Emacs is built
|
||||
on X with no toolkit support. (For all other cases, the appearance of
|
||||
the respective frame elements is determined by system-wide settings.)
|
||||
Emacs frame, but only on text terminals, or when Emacs is built on X
|
||||
with no toolkit support. (For all other cases, the appearance of the
|
||||
respective frame elements is determined by system-wide settings.)
|
||||
|
||||
@table @code
|
||||
@item scroll-bar
|
||||
@ -1453,9 +1453,9 @@ global-hl-line-mode} enables or disables the same mode globally.
|
||||
Emacs can display long lines by @dfn{truncation}. This means that all
|
||||
the characters that do not fit in the width of the screen or window do
|
||||
not appear at all. On graphical displays, a small straight arrow in
|
||||
the fringe indicates truncation at either end of the line. On
|
||||
text-only terminals, this is indicated with @samp{$} signs in the
|
||||
leftmost and/or rightmost columns.
|
||||
the fringe indicates truncation at either end of the line. On text
|
||||
terminals, this is indicated with @samp{$} signs in the leftmost
|
||||
and/or rightmost columns.
|
||||
|
||||
@vindex truncate-lines
|
||||
@findex toggle-truncate-lines
|
||||
@ -1577,7 +1577,7 @@ of an overline above the text, including the height of the overline
|
||||
itself, in pixels; the default is 2.
|
||||
|
||||
@findex tty-suppress-bold-inverse-default-colors
|
||||
On some text-only terminals, bold face and inverse video together
|
||||
result in text that is hard to read. Call the function
|
||||
On some text terminals, bold face and inverse video together result
|
||||
in text that is hard to read. Call the function
|
||||
@code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil}
|
||||
argument to suppress the effect of bold-face in this case.
|
||||
|
@ -511,7 +511,7 @@ Frames and Graphical Displays
|
||||
* Tooltips:: Displaying information at the current mouse position.
|
||||
* Mouse Avoidance:: Moving the mouse pointer out of the way.
|
||||
* Non-Window Terminals:: Multiple frames on terminals that show only one.
|
||||
* Text-Only Mouse:: Using the mouse in text-only terminals.
|
||||
* Text-Only Mouse:: Using the mouse in text terminals.
|
||||
|
||||
International Character Set Support
|
||||
|
||||
|
@ -148,14 +148,14 @@ stopping the program temporarily and returning control to the parent
|
||||
process (usually a shell); in most shells, you can resume Emacs after
|
||||
suspending it with the shell command @command{%emacs}.
|
||||
|
||||
Text-only terminals usually listen for certain special characters
|
||||
whose meaning is to kill or suspend the program you are running.
|
||||
@b{This terminal feature is turned off while you are in Emacs.} The
|
||||
meanings of @kbd{C-z} and @kbd{C-x C-c} as keys in Emacs were inspired
|
||||
by the use of @kbd{C-z} and @kbd{C-c} on several operating systems as
|
||||
the characters for stopping or killing a program, but that is their
|
||||
only relationship with the operating system. You can customize these
|
||||
keys to run any commands of your choice (@pxref{Keymaps}).
|
||||
Text terminals usually listen for certain special characters whose
|
||||
meaning is to kill or suspend the program you are running. @b{This
|
||||
terminal feature is turned off while you are in Emacs.} The meanings
|
||||
of @kbd{C-z} and @kbd{C-x C-c} as keys in Emacs were inspired by the
|
||||
use of @kbd{C-z} and @kbd{C-c} on several operating systems as the
|
||||
characters for stopping or killing a program, but that is their only
|
||||
relationship with the operating system. You can customize these keys
|
||||
to run any commands of your choice (@pxref{Keymaps}).
|
||||
|
||||
@ifnottex
|
||||
@lowersections
|
||||
|
@ -1853,7 +1853,7 @@ When typing a file name in the minibuffer, @kbd{C-@key{tab}}
|
||||
(@code{file-cache-minibuffer-complete}) completes it using the file
|
||||
name cache. If you repeat @kbd{C-@key{tab}}, that cycles through the
|
||||
possible completions of what you had originally typed. (However, note
|
||||
that the @kbd{C-@key{tab}} character cannot be typed on most text-only
|
||||
that the @kbd{C-@key{tab}} character cannot be typed on most text
|
||||
terminals.)
|
||||
|
||||
The file name cache does not fill up automatically. Instead, you
|
||||
|
@ -57,9 +57,9 @@ Undo one entry in the current buffer's undo records (@code{undo}).
|
||||
@kbd{C-x u})@footnote{Aside from @kbd{C-/}, the @code{undo} command is
|
||||
also bound to @kbd{C-x u} because that is more straightforward for
|
||||
beginners to remember: @samp{u} stands for ``undo''. It is also bound
|
||||
to @kbd{C-_} because typing @kbd{C-/} on some text-only terminals
|
||||
actually enters @kbd{C-_}.}. This undoes the most recent change in
|
||||
the buffer, and moves point back to where it was before that change.
|
||||
to @kbd{C-_} because typing @kbd{C-/} on some text terminals actually
|
||||
enters @kbd{C-_}.}. This undoes the most recent change in the buffer,
|
||||
and moves point back to where it was before that change.
|
||||
|
||||
Consecutive repetitions of @kbd{C-/} (or its aliases) undo earlier
|
||||
and earlier changes in the current buffer. If all the recorded
|
||||
|
@ -27,13 +27,12 @@ displays (@pxref{Exiting}). To close just the selected frame, type
|
||||
|
||||
This chapter describes Emacs features specific to graphical displays
|
||||
(particularly mouse commands), and features for managing multiple
|
||||
frames. On text-only terminals, many of these features are
|
||||
unavailable. However, it is still possible to create multiple
|
||||
``frames'' on text-only terminals; such frames are displayed one at a
|
||||
time, filling the entire terminal screen (@pxref{Non-Window
|
||||
Terminals}). It is also possible to use the mouse on some text-only
|
||||
terminals (@pxref{Text-Only Mouse}, for doing so on GNU and Unix
|
||||
systems; and
|
||||
frames. On text terminals, many of these features are unavailable.
|
||||
However, it is still possible to create multiple ``frames'' on text
|
||||
terminals; such frames are displayed one at a time, filling the entire
|
||||
terminal screen (@pxref{Non-Window Terminals}). It is also possible
|
||||
to use the mouse on some text terminals (@pxref{Text-Only Mouse}, for
|
||||
doing so on GNU and Unix systems; and
|
||||
@iftex
|
||||
@pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features},
|
||||
@end iftex
|
||||
@ -62,7 +61,7 @@ for doing so on MS-DOS).
|
||||
* Tooltips:: Displaying information at the current mouse position.
|
||||
* Mouse Avoidance:: Preventing the mouse pointer from obscuring text.
|
||||
* Non-Window Terminals:: Multiple frames on terminals that show only one.
|
||||
* Text-Only Mouse:: Using the mouse in text-only terminals.
|
||||
* Text-Only Mouse:: Using the mouse in text terminals.
|
||||
@end menu
|
||||
|
||||
@node Mouse Commands
|
||||
@ -465,9 +464,9 @@ the ordinary, interactive frames are deleted. In this case, @kbd{C-x
|
||||
|
||||
The @kbd{C-x 5 1} (@code{delete-other-frames}) command deletes all
|
||||
other frames on the current terminal (this terminal refers to either a
|
||||
graphical display, or a text-only terminal; @pxref{Non-Window
|
||||
Terminals}). If the Emacs session has frames open on other graphical
|
||||
displays or text terminals, those are not deleted.
|
||||
graphical display, or a text terminal; @pxref{Non-Window Terminals}).
|
||||
If the Emacs session has frames open on other graphical displays or
|
||||
text terminals, those are not deleted.
|
||||
|
||||
@vindex focus-follows-mouse
|
||||
The @kbd{C-x 5 o} (@code{other-frame}) command selects the next
|
||||
@ -908,7 +907,7 @@ scroll bars on the right side of windows), @code{left} (put them on
|
||||
the left), or @code{nil} (disable scroll bars). By default, Emacs
|
||||
puts scroll bars on the right if it was compiled with GTK+ support on
|
||||
the X Window System, and on MS-Windows or Mac OS; Emacs puts scroll
|
||||
bars on the left if compiled on the X Window system without GTK+
|
||||
bars on the left if compiled on the X Window System without GTK+
|
||||
support (following the old convention for X applications).
|
||||
|
||||
@vindex scroll-bar-width
|
||||
@ -953,7 +952,7 @@ the use of menu bars at startup, customize the variable
|
||||
@code{menu-bar-mode}.
|
||||
|
||||
@kindex C-Mouse-3 @r{(when menu bar is disabled)}
|
||||
Expert users often turn off the menu bar, especially on text-only
|
||||
Expert users often turn off the menu bar, especially on text
|
||||
terminals, where this makes one additional line available for text.
|
||||
If the menu bar is off, you can still pop up a menu of its contents
|
||||
with @kbd{C-Mouse-3} on a display which supports pop-up menus.
|
||||
@ -1112,9 +1111,9 @@ raises the frame.
|
||||
|
||||
@node Non-Window Terminals
|
||||
@section Non-Window Terminals
|
||||
@cindex text-only terminal
|
||||
@cindex text terminal
|
||||
|
||||
On a text-only terminal, Emacs can display only one Emacs frame at a
|
||||
On a text terminal, Emacs can display only one Emacs frame at a
|
||||
time. However, you can still create multiple Emacs frames, and switch
|
||||
between them. Switching frames on these terminals is much like
|
||||
switching between different window configurations.
|
||||
@ -1139,11 +1138,11 @@ to select a frame according to its name. The name you specify appears
|
||||
in the mode line when the frame is selected.
|
||||
|
||||
@node Text-Only Mouse
|
||||
@section Using a Mouse in Text-only Terminals
|
||||
@section Using a Mouse in Text Terminals
|
||||
@cindex mouse support
|
||||
@cindex terminal emulators, mouse support
|
||||
|
||||
Some text-only terminals support mouse clicks in the terminal window.
|
||||
Some text terminals support mouse clicks in the terminal window.
|
||||
|
||||
@cindex xterm
|
||||
In a terminal emulator which is compatible with @command{xterm}, you
|
||||
|
@ -181,7 +181,7 @@ Emacs supports a number of character sets, each of which represents a
|
||||
particular alphabet or script. @xref{International}.
|
||||
|
||||
@item Character Terminal
|
||||
@xref{Glossary - Text-only Terminal}.
|
||||
@xref{Glossary - Text Terminal}.
|
||||
|
||||
@item Click Event
|
||||
A click event is the kind of input event (q.v.@:) generated when you
|
||||
@ -193,7 +193,7 @@ press a mouse button and release it without moving the mouse.
|
||||
|
||||
@item Clipboard
|
||||
A clipboard is a buffer provided by the window system for transferring
|
||||
text between applications. On the X Window system, the clipboard is
|
||||
text between applications. On the X Window System, the clipboard is
|
||||
provided in addition to the primary selection (q.v.@:); on MS-Windows and Mac,
|
||||
the clipboard is used @emph{instead} of the primary selection.
|
||||
@xref{Clipboard}.
|
||||
@ -1329,12 +1329,12 @@ Data consisting of written human language (as opposed to programs),
|
||||
or following the stylistic conventions of human language.
|
||||
@end itemize
|
||||
|
||||
@anchor{Glossary - Text-only Terminal}
|
||||
@item Text-only Terminal
|
||||
A text-only terminal is a display that is limited to displaying text in
|
||||
character units. Such a terminal cannot control individual pixels it
|
||||
displays. Emacs supports a subset of display features on text-only
|
||||
terminals.
|
||||
@anchor{Glossary - Text Terminal}
|
||||
@item Text Terminal
|
||||
A text terminal, or character terminal, is a display that is limited
|
||||
to displaying text in character units. Such a terminal cannot control
|
||||
individual pixels it displays. Emacs supports a subset of display
|
||||
features on text terminals.
|
||||
|
||||
@item Text Properties
|
||||
Text properties are annotations recorded for particular characters in
|
||||
@ -1384,7 +1384,7 @@ displaying it. @xref{Continuation Lines,Truncation}, and
|
||||
@ref{Glossary - Continuation Line}.
|
||||
|
||||
@item TTY
|
||||
@xref{Glossary - Text-only Terminal}.
|
||||
@xref{Glossary - Text Terminal}.
|
||||
|
||||
@item Undoing
|
||||
Undoing means making your previous editing go in reverse, bringing
|
||||
|
@ -1405,7 +1405,7 @@ signaled.) Currently, this feature is mainly useful for developers.
|
||||
the shell command @samp{emacsclient @var{file}}, where @var{file} is a
|
||||
file name. This connects to an Emacs server, and tells that Emacs
|
||||
process to visit @var{file} in one of its existing frames---either a
|
||||
graphical frame, or one in a text-only terminal (@pxref{Frames}). You
|
||||
graphical frame, or one in a text terminal (@pxref{Frames}). You
|
||||
can then select that frame to begin editing.
|
||||
|
||||
If there is no Emacs server, the @command{emacsclient} program halts
|
||||
@ -1415,12 +1415,12 @@ Server})---then Emacs opens a frame on the terminal in which you
|
||||
called @command{emacsclient}.
|
||||
|
||||
You can also force @command{emacsclient} to open a new frame on a
|
||||
graphical display, or on a text-only terminal, using the @samp{-c} and
|
||||
graphical display, or on a text terminal, using the @samp{-c} and
|
||||
@samp{-t} options. @xref{emacsclient Options}.
|
||||
|
||||
If you are running on a single text-only terminal, you can switch
|
||||
between @command{emacsclient}'s shell and the Emacs server using one
|
||||
of two methods: (i) run the Emacs server and @command{emacsclient} on
|
||||
If you are running on a single text terminal, you can switch between
|
||||
@command{emacsclient}'s shell and the Emacs server using one of two
|
||||
methods: (i) run the Emacs server and @command{emacsclient} on
|
||||
different virtual terminals, and switch to the Emacs server's virtual
|
||||
terminal after calling @command{emacsclient}; or (ii) call
|
||||
@command{emacsclient} from within the Emacs server itself, using Shell
|
||||
@ -1502,16 +1502,24 @@ The environment variable @env{ALTERNATE_EDITOR} has the same effect as
|
||||
the @samp{-a} option. If both are present, the latter takes
|
||||
precedence.
|
||||
|
||||
@cindex client frame
|
||||
@item -c
|
||||
Create a new graphical frame, instead of using an existing Emacs
|
||||
frame. Emacs can create a graphical frame even if it was started in a
|
||||
text-only terminal, provided it is able to connect to a graphical
|
||||
display. If Emacs is unable to connect to a graphical display, and on
|
||||
systems, such as MS-Windows (@pxref{Windows Startup, emacsclient}),
|
||||
where it cannot create graphical frames when started from a text-only
|
||||
terminal, it creates a new text-only terminal frame (@pxref{Frames}).
|
||||
If you omit a filename argument while supplying the @samp{-c} option,
|
||||
the new frame displays the @file{*scratch*} buffer (@pxref{Buffers}).
|
||||
Create a new graphical @dfn{client frame}, instead of using an
|
||||
existing Emacs frame. If you omit a filename argument while supplying
|
||||
the @samp{-c} option, the new frame displays the @file{*scratch*}
|
||||
buffer (@pxref{Buffers}). See below for the special behavior of
|
||||
@kbd{C-x C-c} in a client frame.
|
||||
|
||||
If Emacs is unable to create a new graphical frame (e.g.@: if it is
|
||||
unable to connect to the X server), it tries to create a text terminal
|
||||
client frame, as though you had supplied the @samp{-t} option instead
|
||||
(see below).
|
||||
|
||||
On MS-Windows, a single Emacs session cannot display frames on both
|
||||
graphical and text terminals, nor on multiple text terminals. Thus,
|
||||
if the Emacs server is running on a text terminal, the @samp{-c}
|
||||
option, like the @samp{-t} option, creates a new frame in the server's
|
||||
current text terminal. @xref{Windows Startup}.
|
||||
|
||||
@item -F @var{alist}
|
||||
@itemx --frame-parameters=@var{alist}
|
||||
@ -1593,28 +1601,46 @@ server it finds. (This option is not supported on MS-Windows.)
|
||||
@item -t
|
||||
@itemx --tty
|
||||
@itemx -nw
|
||||
Create a new Emacs frame on the current text-only terminal, instead of
|
||||
using an existing Emacs frame. Emacs can open a text-only terminal
|
||||
even if it was started in another text-only terminal, or on a
|
||||
graphical display. On systems, such as MS-Windows, where this is
|
||||
impossible, Emacs will create a new frame, either GUI or text-only, on
|
||||
the same terminal where it was started (@pxref{Windows Startup,
|
||||
emacsclient}). If you omit a filename argument while supplying this
|
||||
option, the new frame displays the @file{*scratch*} buffer.
|
||||
@xref{Buffers}.
|
||||
Create a new client frame on the current text terminal, instead of
|
||||
using an existing Emacs frame. This is similar to the @samp{-c}
|
||||
option, above, except that it creates a text terminal frame
|
||||
(@pxref{Non-Window Terminals}). If you omit a filename argument while
|
||||
supplying this option, the new frame displays the @file{*scratch*}
|
||||
buffer (@pxref{Buffers}). See below for the special behavior of
|
||||
@kbd{C-x C-c} in a client frame.
|
||||
|
||||
On MS-Windows, a single Emacs session cannot display frames on both
|
||||
graphical and text terminals, nor on multiple text terminals. Thus,
|
||||
if the Emacs server is using the graphical display, @samp{-t} behaves
|
||||
like @samp{-c} (see above); whereas if the Emacs server is running on
|
||||
a text terminal, it creates a new frame in its current text terminal.
|
||||
@xref{Windows Startup}.
|
||||
@end table
|
||||
|
||||
If you type @kbd{C-x C-c} (@code{save-buffers-kill-terminal}) in an
|
||||
Emacs frame created with @command{emacsclient}, via the @samp{-c} or
|
||||
@samp{-t} options, Emacs deletes the frame instead of killing the
|
||||
Emacs process itself. On a text-only terminal frame created with the
|
||||
@samp{-t} option, this returns control to the terminal. Emacs also
|
||||
marks all the server buffers for the client as finished, as though you
|
||||
had typed @kbd{C-x #} in all of them.
|
||||
The new graphical or text terminal frames created by the @samp{-c}
|
||||
or @samp{-t} options are considered @dfn{client frames}. Any new
|
||||
frame that you create from a client frame is also considered a client
|
||||
frame. If you type @kbd{C-x C-c} (@code{save-buffers-kill-terminal})
|
||||
in a client frame, that command does not kill the Emacs session as it
|
||||
normally does (@pxref{Exiting}). Instead, Emacs deletes the client
|
||||
frame; furthermore, if the client frame has an @command{emacsclient}
|
||||
waiting to regain control (i.e.@: if you did not supply the @samp{-n}
|
||||
option), Emacs deletes all other frames of the same client, and marks
|
||||
the client's server buffers as finished, as though you had typed
|
||||
@kbd{C-x #} in all of them. If it so happens that there are no
|
||||
remaining frames after the client frame(s) are deleted, the Emacs
|
||||
session exits.
|
||||
|
||||
When Emacs is started as a daemon, all frames are considered client
|
||||
frames, so @kbd{C-x C-c} will never kill Emacs. To kill the Emacs
|
||||
process, type @kbd{M-x kill-emacs}.
|
||||
As an exception, when Emacs is started as a daemon, all frames are
|
||||
considered client frames, and @kbd{C-x C-c} never kills Emacs. To
|
||||
kill a daemon session, type @kbd{M-x kill-emacs}.
|
||||
|
||||
Note that the @samp{-t} and @samp{-n} options are contradictory:
|
||||
@samp{-t} says to take control of the current text terminal to create
|
||||
a new client frame, while @samp{-n} says not to take control of the
|
||||
text terminal. If you supply both options, Emacs visits the specified
|
||||
files(s) in an existing frame rather than a new client frame, negating
|
||||
the effect of @samp{-t}.
|
||||
|
||||
@node Printing, Sorting, Emacs Server, Top
|
||||
@section Printing Hard Copies
|
||||
|
@ -247,7 +247,7 @@ begins at the top of the character cell.
|
||||
|
||||
@cindex frames on MS-DOS
|
||||
The MS-DOS terminal can only display a single frame at a time. The
|
||||
Emacs frame facilities work on MS-DOS much as they do on text-only
|
||||
Emacs frame facilities work on MS-DOS much as they do on text
|
||||
terminals
|
||||
@iftex
|
||||
(@pxref{Frames,,,emacs, the Emacs Manual}).
|
||||
|
@ -121,8 +121,8 @@ Emacs will always create a new text-mode frame in the same
|
||||
created only if the server runs in a GUI session. Similarly, if you
|
||||
invoke @command{emacsclient} with the @option{-t} option, Emacs will
|
||||
create a GUI frame if the server runs in a GUI session, or a text-mode
|
||||
frame when the session runs in text-only mode in a @dfn{Command
|
||||
Prompt} window. @xref{emacsclient Options}.
|
||||
frame when the session runs in text mode in a @dfn{Command Prompt}
|
||||
window. @xref{emacsclient Options}.
|
||||
|
||||
@node Text and Binary
|
||||
@section Text Files and Binary Files
|
||||
@ -729,9 +729,9 @@ Posix-style @code{lpr} program is unavailable. The same Emacs
|
||||
variables control printing on all systems, but in some cases they have
|
||||
different default values on MS-DOS and MS-Windows.
|
||||
|
||||
Emacs on Windows automatically determines your default printer and
|
||||
sets the variable @code{printer-name} to that printer's name. But in
|
||||
some rare cases this can fail, or you may wish to use a different
|
||||
Emacs on MS Windows attempts to determine your default printer
|
||||
automatically (using the function @code{default-printer-name}).
|
||||
But in some rare cases this can fail, or you may wish to use a different
|
||||
printer from within Emacs. The rest of this section explains how to
|
||||
tell Emacs which printer to use.
|
||||
|
||||
|
@ -60,7 +60,7 @@ for each command; see @ref{Text Coding}.
|
||||
@item
|
||||
You can display non-@acronym{ASCII} characters encoded by the various
|
||||
scripts. This works by using appropriate fonts on graphics displays
|
||||
(@pxref{Defining Fontsets}), and by sending special codes to text-only
|
||||
(@pxref{Defining Fontsets}), and by sending special codes to text
|
||||
displays (@pxref{Terminal Coding}). If some characters are displayed
|
||||
incorrectly, refer to @ref{Undisplayable Characters}, which describes
|
||||
possible problems and explains how to solve them.
|
||||
@ -210,7 +210,7 @@ What keys to type to input the character in the current input method
|
||||
|
||||
@item
|
||||
If you are running Emacs on a graphical display, the font name and
|
||||
glyph code for the character. If you are running Emacs on a text-only
|
||||
glyph code for the character. If you are running Emacs on a text
|
||||
terminal, the code(s) sent to the terminal.
|
||||
|
||||
@item
|
||||
@ -365,25 +365,8 @@ UTF-8), Ukrainian, Vietnamese, Welsh, and Windows-1255 (for a setup
|
||||
which prefers Cyrillic characters and files encoded in Windows-1255).
|
||||
@end quotation
|
||||
|
||||
@cindex fonts for various scripts
|
||||
@cindex Intlfonts package, installation
|
||||
To display the script(s) used by your language environment on a
|
||||
graphical display, you need to have a suitable font. If some of the
|
||||
characters appear as empty boxes or hex codes, you should install
|
||||
extra fonts. Your operating system may have optional fonts that
|
||||
you can install; or you can install the
|
||||
GNU Intlfonts package, which includes fonts for most supported
|
||||
scripts.@footnote{If you run Emacs on X, you may need to inform the X
|
||||
server about the location of the newly installed fonts with
|
||||
commands such as:
|
||||
@c FIXME? I feel like this may be out of date.
|
||||
@c Eg the intlfonts tarfile is ~ 10 years old.
|
||||
|
||||
@example
|
||||
xset fp+ /usr/local/share/emacs/fonts
|
||||
xset fp rehash
|
||||
@end example
|
||||
}
|
||||
graphical display, you need to have suitable fonts.
|
||||
@xref{Fontsets}, for more details about setting up your fonts.
|
||||
|
||||
@findex set-locale-environment
|
||||
@ -577,10 +560,10 @@ Text}.
|
||||
|
||||
@table @kbd
|
||||
@item C-\
|
||||
Enable or disable use of the selected input method.
|
||||
Enable or disable use of the selected input method (@code{toggle-input-method}).
|
||||
|
||||
@item C-x @key{RET} C-\ @var{method} @key{RET}
|
||||
Select a new input method for the current buffer.
|
||||
Select a new input method for the current buffer (@code{set-input-method}).
|
||||
|
||||
@item C-h I @var{method} @key{RET}
|
||||
@itemx C-h C-\ @var{method} @key{RET}
|
||||
@ -716,7 +699,7 @@ carriage-return (``mac'').
|
||||
|
||||
@table @kbd
|
||||
@item C-h C @var{coding} @key{RET}
|
||||
Describe coding system @var{coding}.
|
||||
Describe coding system @var{coding} (@code{describe-coding-system}).
|
||||
|
||||
@item C-h C @key{RET}
|
||||
Describe the coding systems currently in use.
|
||||
@ -921,7 +904,7 @@ escape sequence detection.
|
||||
the strongest way to specify the coding system for certain patterns of
|
||||
file names, or for files containing certain patterns, respectively.
|
||||
These variables even override @samp{-*-coding:-*-} tags in the file
|
||||
itself. For example, Emacs
|
||||
itself (@pxref{Specify Coding}). For example, Emacs
|
||||
uses @code{auto-coding-alist} for tar and archive files, to prevent it
|
||||
from being confused by a @samp{-*-coding:-*-} tag in a member of the
|
||||
archive and thinking it applies to the archive file as a whole.
|
||||
@ -1006,6 +989,7 @@ and asks you to choose one of those coding systems.
|
||||
|
||||
If you insert the unsuitable characters in a mail message, Emacs
|
||||
behaves a bit differently. It additionally checks whether the
|
||||
@c What determines this?
|
||||
most-preferred coding system is recommended for use in MIME messages;
|
||||
if not, Emacs tells you that the most-preferred coding system is not
|
||||
recommended and prompts you for another coding system. This is so you
|
||||
@ -1014,17 +998,22 @@ recipient's mail software will have difficulty decoding. (You can
|
||||
still use an unsuitable coding system if you type its name in response
|
||||
to the question.)
|
||||
|
||||
@c It seems that select-message-coding-system does this.
|
||||
@c Both sendmail.el and smptmail.el call it; i.e. smtpmail.el still
|
||||
@c obeys sendmail-coding-system.
|
||||
@vindex sendmail-coding-system
|
||||
When you send a message with Message mode (@pxref{Sending Mail}),
|
||||
When you send a mail message (@pxref{Sending Mail}),
|
||||
Emacs has four different ways to determine the coding system to use
|
||||
for encoding the message text. It tries the buffer's own value of
|
||||
@code{buffer-file-coding-system}, if that is non-@code{nil}.
|
||||
Otherwise, it uses the value of @code{sendmail-coding-system}, if that
|
||||
is non-@code{nil}. The third way is to use the default coding system
|
||||
for new files, which is controlled by your choice of language
|
||||
@c i.e., default-sendmail-coding-system
|
||||
environment, if that is non-@code{nil}. If all of these three values
|
||||
are @code{nil}, Emacs encodes outgoing mail using the Latin-1 coding
|
||||
system.
|
||||
@c FIXME? Where does the Latin-1 default come in?
|
||||
|
||||
@node Text Coding
|
||||
@section Specifying a Coding System for File Text
|
||||
@ -1035,8 +1024,8 @@ one:
|
||||
|
||||
@table @kbd
|
||||
@item C-x @key{RET} f @var{coding} @key{RET}
|
||||
Use coding system @var{coding} to save or revisit the visited file in
|
||||
the current buffer (@code{set-buffer-file-coding-system})
|
||||
Use coding system @var{coding} to save or revisit the file in
|
||||
the current buffer (@code{set-buffer-file-coding-system}).
|
||||
|
||||
@item C-x @key{RET} c @var{coding} @key{RET}
|
||||
Specify coding system @var{coding} for the immediately following
|
||||
@ -1066,8 +1055,8 @@ buffer.
|
||||
You can also use this command to specify the end-of-line conversion
|
||||
(@pxref{Coding Systems, end-of-line conversion}) for encoding the
|
||||
current buffer. For example, @kbd{C-x @key{RET} f dos @key{RET}} will
|
||||
cause Emacs to save the current buffer's text with DOS-style CRLF line
|
||||
endings.
|
||||
cause Emacs to save the current buffer's text with DOS-style
|
||||
carriage-return linefeed line endings.
|
||||
|
||||
@kindex C-x RET c
|
||||
@findex universal-coding-system-argument
|
||||
@ -1155,7 +1144,7 @@ coding system for the next selection made in Emacs or read by Emacs.
|
||||
The variable @code{x-select-request-type} specifies the data type to
|
||||
request from the X Window System for receiving text selections from
|
||||
other applications. If the value is @code{nil} (the default), Emacs
|
||||
tries @code{COMPOUND_TEXT} and @code{UTF8_STRING}, in this order, and
|
||||
tries @code{UTF8_STRING} and @code{COMPOUND_TEXT}, in this order, and
|
||||
uses various heuristics to choose the more appropriate of the two
|
||||
results; if none of these succeed, Emacs falls back on @code{STRING}.
|
||||
If the value of @code{x-select-request-type} is one of the symbols
|
||||
@ -1187,8 +1176,8 @@ current language environment.
|
||||
The variable @code{locale-coding-system} specifies a coding system
|
||||
to use when encoding and decoding system strings such as system error
|
||||
messages and @code{format-time-string} formats and time stamps. That
|
||||
coding system is also used for decoding non-@acronym{ASCII} keyboard input on X
|
||||
Window systems. You should choose a coding system that is compatible
|
||||
coding system is also used for decoding non-@acronym{ASCII} keyboard
|
||||
input on the X Window System. You should choose a coding system that is compatible
|
||||
with the underlying system's text representation, which is normally
|
||||
specified by one of the environment variables @env{LC_ALL},
|
||||
@env{LC_CTYPE}, and @env{LANG}. (The first one, in the order
|
||||
@ -1201,27 +1190,29 @@ the text representation.)
|
||||
@table @kbd
|
||||
@item C-x @key{RET} F @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for encoding and decoding file
|
||||
@emph{names} (@code{set-file-name-coding-system}).
|
||||
names (@code{set-file-name-coding-system}).
|
||||
@end table
|
||||
|
||||
@vindex file-name-coding-system
|
||||
@cindex file names with non-@acronym{ASCII} characters
|
||||
The variable @code{file-name-coding-system} specifies a coding
|
||||
system to use for encoding file names. It has no effect on reading
|
||||
and writing the @emph{contents} of files.
|
||||
|
||||
@findex set-file-name-coding-system
|
||||
@kindex C-x @key{RET} F
|
||||
If you set the variable to a coding system name (as a Lisp symbol or
|
||||
a string), Emacs encodes file names using that coding system for all
|
||||
file operations. This makes it possible to use non-@acronym{ASCII}
|
||||
characters in file names---or, at least, those non-@acronym{ASCII}
|
||||
characters which the specified coding system can encode. Use @kbd{C-x
|
||||
@key{RET} F} (@code{set-file-name-coding-system}) to specify this
|
||||
interactively.
|
||||
@cindex file names with non-@acronym{ASCII} characters
|
||||
The command @kbd{C-x @key{RET} F} (@code{set-file-name-coding-system})
|
||||
specifies a coding system to use for encoding file @emph{names}. It
|
||||
has no effect on reading and writing the @emph{contents} of files.
|
||||
|
||||
@vindex file-name-coding-system
|
||||
In fact, all this command does is set the value of the variable
|
||||
@code{file-name-coding-system}. If you set the variable to a coding
|
||||
system name (as a Lisp symbol or a string), Emacs encodes file names
|
||||
using that coding system for all file operations. This makes it
|
||||
possible to use non-@acronym{ASCII} characters in file names---or, at
|
||||
least, those non-@acronym{ASCII} characters that the specified coding
|
||||
system can encode.
|
||||
|
||||
If @code{file-name-coding-system} is @code{nil}, Emacs uses a
|
||||
default coding system determined by the selected language environment.
|
||||
default coding system determined by the selected language environment,
|
||||
and stored in the @code{default-file-name-coding-system} variable.
|
||||
@c FIXME? Is this correct? What is the "default language environment"?
|
||||
In the default language environment, non-@acronym{ASCII} characters in
|
||||
file names are not encoded specially; they appear in the file system
|
||||
using the internal Emacs representation.
|
||||
@ -1232,7 +1223,7 @@ result if you have already visited files whose names were encoded using
|
||||
the earlier coding system and cannot be encoded (or are encoded
|
||||
differently) under the new coding system. If you try to save one of
|
||||
these buffers under the visited file name, saving may use the wrong file
|
||||
name, or it may get an error. If such a problem happens, use @kbd{C-x
|
||||
name, or it may encounter an error. If such a problem happens, use @kbd{C-x
|
||||
C-w} to specify a new file name for that buffer.
|
||||
|
||||
@findex recode-file-name
|
||||
@ -1245,13 +1236,13 @@ system, and the coding system to which you wish to convert.
|
||||
@section Coding Systems for Terminal I/O
|
||||
|
||||
@table @kbd
|
||||
@item C-x @key{RET} k @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for keyboard input
|
||||
(@code{set-keyboard-coding-system}).
|
||||
|
||||
@item C-x @key{RET} t @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for terminal output
|
||||
(@code{set-terminal-coding-system}).
|
||||
|
||||
@item C-x @key{RET} k @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for keyboard input
|
||||
(@code{set-keyboard-coding-system}).
|
||||
@end table
|
||||
|
||||
@kindex C-x RET t
|
||||
@ -1274,8 +1265,8 @@ your locale specification (@pxref{Language Environments}).
|
||||
@kindex C-x RET k
|
||||
@findex set-keyboard-coding-system
|
||||
@vindex keyboard-coding-system
|
||||
The command @kbd{C-x @key{RET} k} (@code{set-keyboard-coding-system})
|
||||
or the variable @code{keyboard-coding-system} specifies the coding
|
||||
The command @kbd{C-x @key{RET} k} (@code{set-keyboard-coding-system}),
|
||||
or the variable @code{keyboard-coding-system}, specifies the coding
|
||||
system for keyboard input. Character-code translation of keyboard
|
||||
input is useful for terminals with keys that send non-@acronym{ASCII}
|
||||
graphic characters---for example, some terminals designed for ISO
|
||||
@ -1310,30 +1301,49 @@ non-graphic characters.
|
||||
A font typically defines shapes for a single alphabet or script.
|
||||
Therefore, displaying the entire range of scripts that Emacs supports
|
||||
requires a collection of many fonts. In Emacs, such a collection is
|
||||
called a @dfn{fontset}. A fontset is defined by a list of font specs,
|
||||
called a @dfn{fontset}. A fontset is defined by a list of font specifications,
|
||||
each assigned to handle a range of character codes, and may fall back
|
||||
on another fontset for characters which are not covered by the fonts
|
||||
on another fontset for characters that are not covered by the fonts
|
||||
it specifies.
|
||||
|
||||
@cindex fonts for various scripts
|
||||
@cindex Intlfonts package, installation
|
||||
Each fontset has a name, like a font. However, while fonts are
|
||||
stored in the system and the available font names are defined by the
|
||||
system, fontsets are defined within Emacs itself. Once you have
|
||||
defined a fontset, you can use it within Emacs by specifying its name,
|
||||
anywhere that you could use a single font. Of course, Emacs fontsets
|
||||
can use only the fonts that the system supports; if certain characters
|
||||
appear on the screen as hollow boxes, this means that the fontset in
|
||||
use for them has no font for those characters.@footnote{The Emacs
|
||||
installation instructions have information on additional font
|
||||
support.}
|
||||
can use only the fonts that the system supports. If some characters
|
||||
appear on the screen as empty boxes or hex codes, this means that the
|
||||
fontset in use for them has no font for those characters. In this
|
||||
case, or if the characters are shown, but not as well as you would
|
||||
like, you may need to install extra fonts. Your operating system may
|
||||
have optional fonts that you can install; or you can install the GNU
|
||||
Intlfonts package, which includes fonts for most supported
|
||||
scripts.@footnote{If you run Emacs on X, you may need to inform the X
|
||||
server about the location of the newly installed fonts with commands
|
||||
such as:
|
||||
@c FIXME? I feel like this may be out of date.
|
||||
@c Eg the intlfonts tarfile is ~ 10 years old.
|
||||
|
||||
@example
|
||||
xset fp+ /usr/local/share/emacs/fonts
|
||||
xset fp rehash
|
||||
@end example
|
||||
}
|
||||
|
||||
Emacs creates three fontsets automatically: the @dfn{standard
|
||||
fontset}, the @dfn{startup fontset} and the @dfn{default fontset}.
|
||||
@c FIXME? The doc of *standard*-fontset-spec says:
|
||||
@c "You have the biggest chance to display international characters
|
||||
@c with correct glyphs by using the *standard* fontset." (my emphasis)
|
||||
The default fontset is most likely to have fonts for a wide variety of
|
||||
non-@acronym{ASCII} characters and is the default fallback for the
|
||||
non-@acronym{ASCII} characters, and is the default fallback for the
|
||||
other two fontsets, and if you set a default font rather than fontset.
|
||||
However it does not specify font family names, so results can be
|
||||
However, it does not specify font family names, so results can be
|
||||
somewhat random if you use it directly. You can specify use of a
|
||||
specific fontset with the @samp{-fn} option. For example,
|
||||
particular fontset by starting Emacs with the @samp{-fn} option.
|
||||
For example,
|
||||
|
||||
@example
|
||||
emacs -fn fontset-standard
|
||||
@ -1372,10 +1382,12 @@ of @code{standard-fontset-spec}. This fontset's name is
|
||||
@noindent
|
||||
or just @samp{fontset-standard} for short.
|
||||
|
||||
On GNUstep and Mac, fontset-standard is created using the value of
|
||||
@code{ns-standard-fontset-spec}, and on Windows it is
|
||||
On GNUstep and Mac OS X, the standard fontset is created using the value of
|
||||
@code{ns-standard-fontset-spec}, and on MS Windows it is
|
||||
created using the value of @code{w32-standard-fontset-spec}.
|
||||
|
||||
@c FIXME? How does one access these, or do anything with them?
|
||||
@c Does it matter?
|
||||
Bold, italic, and bold-italic variants of the standard fontset are
|
||||
created automatically. Their names have @samp{bold} instead of
|
||||
@samp{medium}, or @samp{i} instead of @samp{r}, or both.
|
||||
@ -1390,8 +1402,15 @@ started. This is the @dfn{startup fontset} and its name is
|
||||
@var{charset_encoding} field with @samp{startup}, then using the
|
||||
resulting string to specify a fontset.
|
||||
|
||||
For instance, if you start Emacs this way,
|
||||
For instance, if you start Emacs with a font of this form,
|
||||
|
||||
@c FIXME? I think this is a little misleading, because you cannot (?)
|
||||
@c actually specify a font with wildcards, it has to be a complete spec.
|
||||
@c Also, an X font specification of this form hasn't (?) been
|
||||
@c mentioned before now, and is somewhat obsolete these days.
|
||||
@c People are more likely to use a form like
|
||||
@c emacs -fn "DejaVu Sans Mono-12"
|
||||
@c How does any of this apply in that case?
|
||||
@example
|
||||
emacs -fn "*courier-medium-r-normal--14-140-*-iso8859-1"
|
||||
@end example
|
||||
@ -1404,8 +1423,8 @@ window frame:
|
||||
-*-courier-medium-r-normal-*-14-140-*-*-*-*-fontset-startup
|
||||
@end example
|
||||
|
||||
The startup fontset will use the font that you specify or a variant
|
||||
with a different registry and encoding for all the characters which
|
||||
The startup fontset will use the font that you specify, or a variant
|
||||
with a different registry and encoding, for all the characters that
|
||||
are supported by that font, and fallback on @samp{fontset-default} for
|
||||
other characters.
|
||||
|
||||
@ -1413,7 +1432,8 @@ other characters.
|
||||
just like an actual font name. But be careful not to specify a fontset
|
||||
name in a wildcard resource like @samp{Emacs*Font}---that wildcard
|
||||
specification matches various other resources, such as for menus, and
|
||||
menus cannot handle fontsets.
|
||||
@c FIXME is this still true?
|
||||
menus cannot handle fontsets. @xref{X Resources}.
|
||||
|
||||
You can specify additional fontsets using X resources named
|
||||
@samp{Fontset-@var{n}}, where @var{n} is an integer starting from 0.
|
||||
@ -1424,7 +1444,8 @@ The resource value should have this form:
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
@var{fontpattern} should have the form of a standard X font name, except
|
||||
@var{fontpattern} should have the form of a standard X font name (see
|
||||
the previous fontset-startup example), except
|
||||
for the last two fields. They should have the form
|
||||
@samp{fontset-@var{alias}}.
|
||||
|
||||
@ -1446,7 +1467,7 @@ that describe the character set. For the @acronym{ASCII} character font,
|
||||
In addition, when several consecutive fields are wildcards, Emacs
|
||||
collapses them into a single wildcard. This is to prevent use of
|
||||
auto-scaled fonts. Fonts made by scaling larger fonts are not usable
|
||||
for editing, and scaling a smaller font is not useful because it is
|
||||
for editing, and scaling a smaller font is not also useful, because it is
|
||||
better to use the smaller font in its own size, which is what Emacs
|
||||
does.
|
||||
|
||||
@ -1472,8 +1493,8 @@ and the font specification for Chinese GB2312 characters would be this:
|
||||
|
||||
You may not have any Chinese font matching the above font
|
||||
specification. Most X distributions include only Chinese fonts that
|
||||
have @samp{song ti} or @samp{fangsong ti} in @var{family} field. In
|
||||
such a case, @samp{Fontset-@var{n}} can be specified as below:
|
||||
have @samp{song ti} or @samp{fangsong ti} in the @var{family} field. In
|
||||
such a case, @samp{Fontset-@var{n}} can be specified as:
|
||||
|
||||
@smallexample
|
||||
Emacs.Fontset-0: -*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24,\
|
||||
@ -1507,8 +1528,8 @@ script.
|
||||
|
||||
Fontsets can be modified using the function @code{set-fontset-font},
|
||||
specifying a character, a charset, a script, or a range of characters
|
||||
to modify the font for, and a font-spec for the font to be used. Some
|
||||
examples are:
|
||||
to modify the font for, and a font specification for the font to be
|
||||
used. Some examples are:
|
||||
|
||||
@example
|
||||
;; Use Liberation Mono for latin-3 charset.
|
||||
@ -1535,10 +1556,10 @@ examples are:
|
||||
@node Undisplayable Characters
|
||||
@section Undisplayable Characters
|
||||
|
||||
There may be a some non-@acronym{ASCII} characters that your terminal cannot
|
||||
display. Most text-only terminals support just a single character
|
||||
set (use the variable @code{default-terminal-coding-system}
|
||||
(@pxref{Terminal Coding}) to tell Emacs which one); characters which
|
||||
There may be some non-@acronym{ASCII} characters that your
|
||||
terminal cannot display. Most text terminals support just a single
|
||||
character set (use the variable @code{default-terminal-coding-system}
|
||||
to tell Emacs which one, @ref{Terminal Coding}); characters that
|
||||
can't be encoded in that coding system are displayed as @samp{?} by
|
||||
default.
|
||||
|
||||
@ -1570,17 +1591,15 @@ the range 0240 to 0377 octal (160 to 255 decimal) to handle the
|
||||
accented letters and punctuation needed by various European languages
|
||||
(and some non-European ones). Note that Emacs considers bytes with
|
||||
codes in this range as raw bytes, not as characters, even in a unibyte
|
||||
session, i.e.@: if you disable multibyte characters. However, Emacs
|
||||
buffer, i.e.@: if you disable multibyte characters. However, Emacs
|
||||
can still handle these character codes as if they belonged to
|
||||
@emph{one} of the single-byte character sets at a time. To specify
|
||||
@emph{which} of these codes to use, invoke @kbd{M-x
|
||||
set-language-environment} and specify a suitable language environment
|
||||
such as @samp{Latin-@var{n}}.
|
||||
|
||||
For more information about unibyte operation, see @ref{Disabling
|
||||
Multibyte}. Note particularly that you probably want to ensure that
|
||||
your initialization files are read as unibyte if they contain
|
||||
non-@acronym{ASCII} characters.
|
||||
For more information about unibyte operation, see
|
||||
@ref{Disabling Multibyte}.
|
||||
|
||||
@vindex unibyte-display-via-language-environment
|
||||
Emacs can also display bytes in the range 160 to 255 as readable
|
||||
@ -1599,8 +1618,8 @@ them as raw bytes, not as characters.
|
||||
set, Emacs can display these characters as @acronym{ASCII} sequences which at
|
||||
least give you a clear idea of what the characters are. To do this,
|
||||
load the library @code{iso-ascii}. Similar libraries for other
|
||||
Latin-@var{n} character sets could be implemented, but we don't have
|
||||
them yet.
|
||||
Latin-@var{n} character sets could be implemented, but have not been
|
||||
so far.
|
||||
|
||||
@findex standard-display-8bit
|
||||
@cindex 8-bit display
|
||||
@ -1624,9 +1643,9 @@ If your keyboard can generate character codes 128 (decimal) and up,
|
||||
representing non-@acronym{ASCII} characters, you can type those character codes
|
||||
directly.
|
||||
|
||||
On a graphical display, you should not need to do anything special to use
|
||||
these keys; they should simply work. On a text-only terminal, you
|
||||
should use the command @code{M-x set-keyboard-coding-system} or the
|
||||
On a graphical display, you should not need to do anything special to
|
||||
use these keys; they should simply work. On a text terminal, you
|
||||
should use the command @code{M-x set-keyboard-coding-system} or customize the
|
||||
variable @code{keyboard-coding-system} to specify which coding system
|
||||
your keyboard uses (@pxref{Terminal Coding}). Enabling this feature
|
||||
will probably require you to use @kbd{ESC} to type Meta characters;
|
||||
@ -1694,8 +1713,9 @@ internal representation within Emacs.
|
||||
@findex list-character-sets
|
||||
@kbd{M-x list-character-sets} displays a list of all supported
|
||||
charsets. The list gives the names of charsets and additional
|
||||
information to identity each charset (see
|
||||
@url{http://www.itscj.ipsj.or.jp/ISO-IR/} for details). In this list,
|
||||
information to identity each charset; see the
|
||||
@url{http://www.itscj.ipsj.or.jp/ISO-IR/, International Register of
|
||||
Coded Character Sets} for more details. In this list,
|
||||
charsets are divided into two categories: @dfn{normal charsets} are
|
||||
listed first, followed by @dfn{supplementary charsets}. A
|
||||
supplementary charset is one that is used to define another charset
|
||||
@ -1715,8 +1735,8 @@ Chars}).
|
||||
Hebrew, whose natural ordering of horizontal text for display is from
|
||||
right to left. However, digits and Latin text embedded in these
|
||||
scripts are still displayed left to right. It is also not uncommon to
|
||||
have small portions of text in Arabic or Hebrew embedded in otherwise
|
||||
Latin document, e.g., as comments and strings in a program source
|
||||
have small portions of text in Arabic or Hebrew embedded in an otherwise
|
||||
Latin document; e.g., as comments and strings in a program source
|
||||
file. For these reasons, text that uses these scripts is actually
|
||||
@dfn{bidirectional}: a mixture of runs of left-to-right and
|
||||
right-to-left characters.
|
||||
@ -1744,6 +1764,7 @@ directionality when they are displayed. The default value is
|
||||
|
||||
Each paragraph of bidirectional text can have its own @dfn{base
|
||||
direction}, either right-to-left or left-to-right. (Paragraph
|
||||
@c paragraph-separate etc have no influence on this?
|
||||
boundaries are empty lines, i.e.@: lines consisting entirely of
|
||||
whitespace characters.) Text in left-to-right paragraphs begins at
|
||||
the left margin of the window and is truncated or continued when it
|
||||
@ -1780,5 +1801,5 @@ commands move point in the logical order, so the cursor will sometimes
|
||||
jump when point traverses reordered bidirectional text. Similarly, a
|
||||
highlighted region covering a contiguous range of character positions
|
||||
may look discontinuous if the region spans reordered text. This is
|
||||
normal and similar to behavior of other programs that support
|
||||
normal and similar to the behavior of other programs that support
|
||||
bidirectional text.
|
||||
|
@ -8,12 +8,12 @@
|
||||
@cindex frame
|
||||
|
||||
On a graphical display, such as on GNU/Linux using the X Window
|
||||
System, Emacs occupies a ``graphical window''. On a text-only
|
||||
terminal, Emacs occupies the entire terminal screen. We will use the
|
||||
term @dfn{frame} to mean a graphical window or terminal screen
|
||||
occupied by Emacs. Emacs behaves very similarly on both kinds of
|
||||
frames. It normally starts out with just one frame, but you can
|
||||
create additional frames if you wish (@pxref{Frames}).
|
||||
System, Emacs occupies a ``graphical window''. On a text terminal,
|
||||
Emacs occupies the entire terminal screen. We will use the term
|
||||
@dfn{frame} to mean a graphical window or terminal screen occupied by
|
||||
Emacs. Emacs behaves very similarly on both kinds of frames. It
|
||||
normally starts out with just one frame, but you can create additional
|
||||
frames if you wish (@pxref{Frames}).
|
||||
|
||||
Each frame consists of several distinct regions. At the top of the
|
||||
frame is a @dfn{menu bar}, which allows you to access commands via a
|
||||
@ -178,7 +178,7 @@ unselected windows, in order to make it stand out.
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
On a text-only terminal, this text is followed by a series of dashes
|
||||
On a text terminal, this text is followed by a series of dashes
|
||||
extending to the right edge of the window. These dashes are omitted
|
||||
on a graphical display.
|
||||
|
||||
@ -195,7 +195,7 @@ means no conversion whatsoever, and is usually used for files
|
||||
containing non-textual data. Other characters represent various
|
||||
@dfn{coding systems}---for example, @samp{1} represents ISO Latin-1.
|
||||
|
||||
On a text-only terminal, @var{cs} is preceded by two additional
|
||||
On a text terminal, @var{cs} is preceded by two additional
|
||||
characters that describe the coding systems for keyboard input and
|
||||
terminal output. Furthermore, if you are using an input method,
|
||||
@var{cs} is preceded by a string that identifies the input method
|
||||
@ -228,7 +228,7 @@ However, if the default-directory for the current buffer is on a
|
||||
remote machine, @samp{@@} is displayed instead (@pxref{File Names}).
|
||||
|
||||
@var{fr} gives the selected frame name (@pxref{Frames}). It appears
|
||||
only on text-only terminals. The initial frame's name is @samp{F1}.
|
||||
only on text terminals. The initial frame's name is @samp{F1}.
|
||||
|
||||
@var{buf} is the name of the buffer displayed in the window.
|
||||
Usually, this is the same as the name of a file you are editing.
|
||||
@ -307,13 +307,12 @@ You can then navigate the menus with the arrow keys. To activate a
|
||||
selected menu item, press @key{RET}; to cancel menu navigation, press
|
||||
@key{ESC}.
|
||||
|
||||
On a text-only terminal, you can use the menu bar by typing
|
||||
@kbd{M-`} or @key{F10} (these run the command @code{tmm-menubar}).
|
||||
This lets you select a menu item with the keyboard. A provisional
|
||||
choice appears in the echo area. You can use the up and down arrow
|
||||
keys to move through the menu to different items, and then you can
|
||||
type @key{RET} to select the item. Each menu item is also designated
|
||||
by a letter or digit (usually the initial of some word in the item's
|
||||
name). This letter or digit is separated from the item name by
|
||||
@samp{=>}. You can type the item's letter or digit to select the
|
||||
item.
|
||||
On a text terminal, you can use the menu bar by typing @kbd{M-`} or
|
||||
@key{F10} (these run the command @code{tmm-menubar}). This lets you
|
||||
select a menu item with the keyboard. A provisional choice appears in
|
||||
the echo area. You can use the up and down arrow keys to move through
|
||||
the menu to different items, and then you can type @key{RET} to select
|
||||
the item. Each menu item is also designated by a letter or digit
|
||||
(usually the initial of some word in the item's name). This letter or
|
||||
digit is separated from the item name by @samp{=>}. You can type the
|
||||
item's letter or digit to select the item.
|
||||
|
@ -172,20 +172,19 @@ used to delete forwards. If this key deletes backward in Emacs, that
|
||||
too suggests Emacs got the wrong information---but in the opposite
|
||||
sense.
|
||||
|
||||
On a text-only terminal, if you find that @key{Backspace} prompts
|
||||
for a Help command, like @kbd{Control-h}, instead of deleting a
|
||||
character, it means that key is actually sending the @key{BS}
|
||||
character. Emacs ought to be treating @key{BS} as @key{DEL}, but it
|
||||
isn't.
|
||||
On a text terminal, if you find that @key{Backspace} prompts for a
|
||||
Help command, like @kbd{Control-h}, instead of deleting a character,
|
||||
it means that key is actually sending the @key{BS} character. Emacs
|
||||
ought to be treating @key{BS} as @key{DEL}, but it isn't.
|
||||
|
||||
@findex normal-erase-is-backspace-mode
|
||||
In all of those cases, the immediate remedy is the same: use the
|
||||
command @kbd{M-x normal-erase-is-backspace-mode}. This toggles
|
||||
between the two modes that Emacs supports for handling @key{DEL}, so
|
||||
if Emacs starts in the wrong mode, this should switch to the right
|
||||
mode. On a text-only terminal, if you want to ask for help when
|
||||
@key{BS} is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also
|
||||
work, if it sends character code 127.
|
||||
mode. On a text terminal, if you want to ask for help when @key{BS}
|
||||
is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also work, if it
|
||||
sends character code 127.
|
||||
|
||||
To fix the problem in every Emacs session, put one of the following
|
||||
lines into your initialization file (@pxref{Init File}). For the
|
||||
@ -327,8 +326,8 @@ not make a backup of its old contents.
|
||||
@node Emergency Escape
|
||||
@subsection Emergency Escape
|
||||
|
||||
On text-only terminals, the @dfn{emergency escape} feature suspends
|
||||
Emacs immediately if you type @kbd{C-g} a second time before Emacs can
|
||||
On text terminals, the @dfn{emergency escape} feature suspends Emacs
|
||||
immediately if you type @kbd{C-g} a second time before Emacs can
|
||||
actually respond to the first one by quitting. This is so you can
|
||||
always get out of GNU Emacs no matter how badly it might be hung.
|
||||
When things are working properly, Emacs recognizes and handles the
|
||||
|
@ -36,8 +36,8 @@ has its own value of point.
|
||||
At any time, one Emacs window is the @dfn{selected window}; the
|
||||
buffer this window is displaying is the current buffer. On graphical
|
||||
displays, the point is indicated by a solid blinking cursor in the
|
||||
selected window, and by a hollow box in non-selected windows. On
|
||||
text-only terminals, the cursor is drawn only in the selected window.
|
||||
selected window, and by a hollow box in non-selected windows. On text
|
||||
terminals, the cursor is drawn only in the selected window.
|
||||
@xref{Cursor Display}.
|
||||
|
||||
Commands to move point affect the value of point for the selected
|
||||
|
@ -1,3 +1,23 @@
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* processes.texi (Processes, Subprocess Creation, Shell Arguments):
|
||||
(Synchronous Processes, Asynchronous Processes, Deleting Processes):
|
||||
Copyedits.
|
||||
(Subprocess Creation): Discourage modifying exec-path directly.
|
||||
(Synchronous Processes, Asynchronous Processes):
|
||||
Update some example output.
|
||||
(Process Information): Fix typo.
|
||||
(Bindat Spec): Use Texinfo-recommended form of quote+punctuation.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* anti.texi (Antinews): Copyedits. Don't @dfn anything here.
|
||||
open-network-stream does exist in Emacs 23, but is simpler.
|
||||
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* customize.texi (Custom Themes): Also document load-theme etc.
|
||||
|
||||
2012-04-14 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* customize.texi (Applying Customizations):
|
||||
|
@ -65,9 +65,9 @@ Emacs windows now have most of their internal state hidden from Lisp.
|
||||
Internal windows are no longer visible to Lisp; functions such as
|
||||
@code{window-parent}, window parameters related to window arrangement,
|
||||
and window-local buffer lists have all been removed. Functions for
|
||||
resizing windows can delete windows if when they become too small.
|
||||
resizing windows can delete windows if they become too small.
|
||||
|
||||
The @dfn{action function} feature for controlling buffer display has
|
||||
The ``action function'' feature for controlling buffer display has
|
||||
been removed, including @code{display-buffer-overriding-action} and
|
||||
related variables, as well as the @var{action} argument to
|
||||
@code{display-buffer} and other functions. The way to
|
||||
@ -80,7 +80,7 @@ variables.
|
||||
The standard completion interface has been simplified, eliminating the
|
||||
@code{completion-extra-properties} variable, the @code{metadata}
|
||||
action flag for completion functions, and the concept of
|
||||
@dfn{completion categories}. Lisp programmers may now find the choice
|
||||
``completion categories''. Lisp programmers may now find the choice
|
||||
of methods for tuning completion less bewildering, but if a package
|
||||
finds the streamlined interface insufficient for its needs, it must
|
||||
implement its own specialized completion feature.
|
||||
@ -123,17 +123,19 @@ an additional @var{cache} entry in their definitions, like this:
|
||||
The @var{cache} entry is used internally by Emacs to record equivalent
|
||||
keyboard key sequences for invoking the same command; Lisp programs
|
||||
should never use it.
|
||||
@c Not really NEWS-worthy then...
|
||||
|
||||
@item
|
||||
The @code{open-network-stream} function has been removed, and so has
|
||||
the @code{gnutls} library. Lisp programs that want an encrypted
|
||||
network connection must now call external utilities such as
|
||||
@command{starttls} or @command{gnutls-cli}.
|
||||
The @code{gnutls} library has been removed, and the function
|
||||
@code{open-network-stream} correspondingly simplified.
|
||||
Lisp programs that want an encrypted network connection must now call
|
||||
external utilities such as @command{starttls} or @command{gnutls-cli}.
|
||||
|
||||
@item
|
||||
Tool bars can no longer display separators, which frees up several
|
||||
pixels of space on each graphical frame.
|
||||
|
||||
@item
|
||||
Many other functions and variables have been eliminated.
|
||||
As part of the ongoing quest for simplicity, many other functions and
|
||||
variables have been eliminated.
|
||||
@end itemize
|
||||
|
@ -22,7 +22,7 @@ subprocess, the Lisp program waits for the subprocess to terminate
|
||||
before continuing execution. When you create an asynchronous
|
||||
subprocess, it can run in parallel with the Lisp program. This kind of
|
||||
subprocess is represented within Emacs by a Lisp object which is also
|
||||
called a ``process.'' Lisp programs can use this object to communicate
|
||||
called a ``process''. Lisp programs can use this object to communicate
|
||||
with the subprocess or to control it. For example, you can send
|
||||
signals, obtain status information, receive output from the process, or
|
||||
send input to it.
|
||||
@ -69,7 +69,9 @@ a program. One of them, @code{start-process}, creates an asynchronous
|
||||
process and returns a process object (@pxref{Asynchronous Processes}).
|
||||
The other two, @code{call-process} and @code{call-process-region},
|
||||
create a synchronous process and do not return a process object
|
||||
(@pxref{Synchronous Processes}).
|
||||
(@pxref{Synchronous Processes}). There are various higher-level
|
||||
functions that make use of these primitives to run particular types of
|
||||
process.
|
||||
|
||||
Synchronous and asynchronous processes are explained in the following
|
||||
sections. Since the three functions are all called in a similar
|
||||
@ -103,16 +105,19 @@ system-dependent.
|
||||
|
||||
@strong{Please note:} The argument @var{program} contains only the
|
||||
name of the program; it may not contain any command-line arguments. You
|
||||
must use @var{args} to provide those.
|
||||
must use a separate argument, @var{args}, to provide those, as
|
||||
described below.
|
||||
|
||||
Each of the subprocess-creating functions has a @var{buffer-or-name}
|
||||
argument which specifies where the standard output from the program will
|
||||
argument that specifies where the standard output from the program will
|
||||
go. It should be a buffer or a buffer name; if it is a buffer name,
|
||||
that will create the buffer if it does not already exist. It can also
|
||||
be @code{nil}, which says to discard the output unless a filter function
|
||||
handles it. (@xref{Filter Functions}, and @ref{Read and Print}.)
|
||||
Normally, you should avoid having multiple processes send output to the
|
||||
same buffer because their output would be intermixed randomly.
|
||||
For synchronous processes, you can send the output to a file instead
|
||||
of a buffer.
|
||||
|
||||
@cindex program arguments
|
||||
All three of the subprocess-creating functions have a @code{&rest}
|
||||
@ -121,18 +126,16 @@ supplied to @var{program} as separate command line arguments. Wildcard
|
||||
characters and other shell constructs have no special meanings in these
|
||||
strings, since the strings are passed directly to the specified program.
|
||||
|
||||
The subprocess gets its current directory from the value of
|
||||
@code{default-directory} (@pxref{File Name Expansion}).
|
||||
|
||||
@cindex environment variables, subprocesses
|
||||
The subprocess inherits its environment from Emacs, but you can
|
||||
specify overrides for it with @code{process-environment}. @xref{System
|
||||
Environment}.
|
||||
Environment}. The subprocess gets its current directory from the
|
||||
value of @code{default-directory}.
|
||||
|
||||
@defvar exec-directory
|
||||
@pindex movemail
|
||||
The value of this variable is a string, the name of a directory that
|
||||
contains programs that come with GNU Emacs, programs intended for Emacs
|
||||
contains programs that come with GNU Emacs and are intended for Emacs
|
||||
to invoke. The program @code{movemail} is an example of such a program;
|
||||
Rmail uses it to fetch new mail from an inbox.
|
||||
@end defvar
|
||||
@ -147,6 +150,11 @@ directory (which is the value of @code{default-directory}).
|
||||
The value of @code{exec-path} is used by @code{call-process} and
|
||||
@code{start-process} when the @var{program} argument is not an absolute
|
||||
file name.
|
||||
|
||||
Generally, you should not modify @code{exec-path} directly. Instead,
|
||||
ensure that your @env{PATH} environment variable is set appropriately
|
||||
before starting Emacs. Trying to modify @code{exec-path}
|
||||
independently of @env{PATH} can lead to confusing results.
|
||||
@end defopt
|
||||
|
||||
@node Shell Arguments
|
||||
@ -162,7 +170,7 @@ occur in the file name, they will confuse the shell. To handle these
|
||||
characters, use the function @code{shell-quote-argument}:
|
||||
|
||||
@defun shell-quote-argument argument
|
||||
This function returns a string which represents, in shell syntax,
|
||||
This function returns a string that represents, in shell syntax,
|
||||
an argument whose actual contents are @var{argument}. It should
|
||||
work reliably to concatenate the return value into a shell command
|
||||
and then pass it to a shell for execution.
|
||||
@ -200,10 +208,10 @@ a shell command:
|
||||
The following two functions are useful for combining a list of
|
||||
individual command-line argument strings into a single string, and
|
||||
taking a string apart into a list of individual command-line
|
||||
arguments. These functions are mainly intended to be used for
|
||||
arguments. These functions are mainly intended for
|
||||
converting user input in the minibuffer, a Lisp string, into a list of
|
||||
string arguments to be passed to @code{call-process} or
|
||||
@code{start-process}, or for the converting such lists of arguments in
|
||||
@code{start-process}, or for converting such lists of arguments into
|
||||
a single Lisp string to be presented in the minibuffer or echo area.
|
||||
|
||||
@defun split-string-and-unquote string &optional separators
|
||||
@ -347,7 +355,7 @@ In the examples below, the buffer @samp{foo} is current.
|
||||
@result{} 0
|
||||
|
||||
---------- Buffer: foo ----------
|
||||
/usr/user/lewis/manual
|
||||
/home/lewis/manual
|
||||
---------- Buffer: foo ----------
|
||||
@end group
|
||||
|
||||
@ -356,18 +364,18 @@ In the examples below, the buffer @samp{foo} is current.
|
||||
@result{} 0
|
||||
|
||||
---------- Buffer: bar ----------
|
||||
lewis:5LTsHm66CSWKg:398:21:Bil Lewis:/user/lewis:/bin/csh
|
||||
lewis:x:1001:1001:Bil Lewis,,,,:/home/lewis:/bin/bash
|
||||
|
||||
---------- Buffer: bar ----------
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
Here is a good example of the use of @code{call-process}, which used to
|
||||
be found in the definition of @code{insert-directory}:
|
||||
Here is an example of the use of @code{call-process}, as used to
|
||||
be found in the definition of the @code{insert-directory} function:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
(call-process insert-directory-program nil t nil @var{switches}
|
||||
(call-process insert-directory-program nil t nil switches
|
||||
(if full-directory-p
|
||||
(concat (file-name-as-directory file) ".")
|
||||
file))
|
||||
@ -377,9 +385,9 @@ be found in the definition of @code{insert-directory}:
|
||||
|
||||
@defun process-file program &optional infile buffer display &rest args
|
||||
This function processes files synchronously in a separate process. It
|
||||
is similar to @code{call-process} but may invoke a file handler based
|
||||
on the value of the variable @code{default-directory}. The current
|
||||
working directory of the subprocess is @code{default-directory}.
|
||||
is similar to @code{call-process}, but may invoke a file handler based
|
||||
on the value of the variable @code{default-directory}, which specifies
|
||||
the current working directory of the subprocess.
|
||||
|
||||
The arguments are handled in almost the same way as for
|
||||
@code{call-process}, with the following differences:
|
||||
@ -392,15 +400,15 @@ file handlers might not support separating standard output and error
|
||||
output by way of the @var{buffer} argument.
|
||||
|
||||
If a file handler is invoked, it determines the program to run based
|
||||
on the first argument @var{program}. For instance, consider that a
|
||||
on the first argument @var{program}. For instance, suppose that a
|
||||
handler for remote files is invoked. Then the path that is used for
|
||||
searching the program might be different than @code{exec-path}.
|
||||
searching for the program might be different from @code{exec-path}.
|
||||
|
||||
The second argument @var{infile} may invoke a file handler. The file
|
||||
handler could be different from the handler chosen for the
|
||||
@code{process-file} function itself. (For example,
|
||||
@code{default-directory} could be on a remote host, whereas
|
||||
@var{infile} is on another remote host. Or @code{default-directory}
|
||||
@code{default-directory} could be on one remote host, and
|
||||
@var{infile} on a different remote host. Or @code{default-directory}
|
||||
could be non-special, whereas @var{infile} is on a remote host.)
|
||||
|
||||
If @var{buffer} is a list of the form @code{(@var{real-destination}
|
||||
@ -417,16 +425,16 @@ file names.
|
||||
@end defun
|
||||
|
||||
@defvar process-file-side-effects
|
||||
This variable indicates, whether a call of @code{process-file} changes
|
||||
This variable indicates whether a call of @code{process-file} changes
|
||||
remote files.
|
||||
|
||||
Per default, this variable is always set to @code{t}, meaning that a
|
||||
By default, this variable is always set to @code{t}, meaning that a
|
||||
call of @code{process-file} could potentially change any file on a
|
||||
remote host. When set to @code{nil}, a file handler could optimize
|
||||
its behavior with respect to remote file attributes caching.
|
||||
its behavior with respect to remote file attribute caching.
|
||||
|
||||
This variable should never be changed by @code{setq}. Instead of, it
|
||||
shall be set only by let-binding.
|
||||
You should only ever change this variable with a let-binding; never
|
||||
with @code{setq}.
|
||||
@end defvar
|
||||
|
||||
@defun call-process-region start end program &optional delete destination display &rest args
|
||||
@ -442,7 +450,7 @@ as it comes in. For details, see the description of
|
||||
@code{call-process}, above. If @var{destination} is the integer 0,
|
||||
@code{call-process-region} discards the output and returns @code{nil}
|
||||
immediately, without waiting for the subprocess to finish (this only
|
||||
works if asynchronous subprocesses are supported).
|
||||
works if asynchronous subprocesses are supported; i.e. not on MS-DOS).
|
||||
|
||||
The remaining arguments, @var{args}, are strings that specify command
|
||||
line arguments for the program.
|
||||
@ -476,20 +484,21 @@ inputinput@point{}
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
The @code{shell-command-on-region} command uses
|
||||
@code{call-process-region} like this:
|
||||
For example, the @code{shell-command-on-region} command uses
|
||||
@code{call-process-region} in a manner similar to this:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
(call-process-region
|
||||
start end
|
||||
shell-file-name ; @r{Name of program.}
|
||||
nil ; @r{Do not delete region.}
|
||||
buffer ; @r{Send output to @code{buffer}.}
|
||||
nil ; @r{No redisplay during output.}
|
||||
"-c" command) ; @r{Arguments for the shell.}
|
||||
shell-file-name ; @r{name of program}
|
||||
nil ; @r{do not delete region}
|
||||
buffer ; @r{send output to @code{buffer}}
|
||||
nil ; @r{no redisplay during output}
|
||||
"-c" command) ; @r{arguments for the shell}
|
||||
@end group
|
||||
@end smallexample
|
||||
@c It actually uses shell-command-switch, but no need to mention that here.
|
||||
@end defun
|
||||
|
||||
@defun call-process-shell-command command &optional infile destination display &rest args
|
||||
@ -510,6 +519,9 @@ This function executes @var{command} (a string) as a shell command,
|
||||
then returns the command's output as a string.
|
||||
@end defun
|
||||
|
||||
@c There is also shell-command-on-region, but that is more of a user
|
||||
@c command, not something to use in programs.
|
||||
|
||||
@defun process-lines program &rest args
|
||||
This function runs @var{program}, waits for it to finish, and returns
|
||||
its output as a list of strings. Each string in the list holds a
|
||||
@ -553,7 +565,8 @@ The remaining arguments, @var{args}, are strings that specify command
|
||||
line arguments for the program.
|
||||
|
||||
In the example below, the first process is started and runs (rather,
|
||||
sleeps) for 100 seconds. Meanwhile, the second process is started, and
|
||||
sleeps) for 100 seconds (the output buffer @samp{foo} is created
|
||||
immediately). Meanwhile, the second process is started, and
|
||||
given the name @samp{my-process<1>} for the sake of uniqueness. It
|
||||
inserts the directory listing at the end of the buffer @samp{foo},
|
||||
before the first process finishes. Then it finishes, and a message to
|
||||
@ -567,13 +580,15 @@ finishes, and another message is inserted in the buffer for it.
|
||||
@end group
|
||||
|
||||
@group
|
||||
(start-process "my-process" "foo" "ls" "-l" "/user/lewis/bin")
|
||||
(start-process "my-process" "foo" "ls" "-l" "/bin")
|
||||
@result{} #<process my-process<1>>
|
||||
|
||||
---------- Buffer: foo ----------
|
||||
total 2
|
||||
lrwxrwxrwx 1 lewis 14 Jul 22 10:12 gnuemacs --> /emacs
|
||||
-rwxrwxrwx 1 lewis 19 Jul 30 21:02 lemon
|
||||
total 8336
|
||||
-rwxr-xr-x 1 root root 971384 Mar 30 10:14 bash
|
||||
-rwxr-xr-x 1 root root 146920 Jul 5 2011 bsd-csh
|
||||
@dots{}
|
||||
-rwxr-xr-x 1 root root 696880 Feb 28 15:55 zsh4
|
||||
|
||||
Process my-process<1> finished
|
||||
|
||||
@ -586,45 +601,49 @@ Process my-process finished
|
||||
@defun start-file-process name buffer-or-name program &rest args
|
||||
Like @code{start-process}, this function starts a new asynchronous
|
||||
subprocess running @var{program} in it, and returns its process
|
||||
object---when @code{default-directory} is not a magic file name.
|
||||
object.
|
||||
|
||||
If @code{default-directory} is magic, the function invokes its file
|
||||
handler instead. This handler ought to run @var{program}, perhaps on
|
||||
the local host, perhaps on a remote host that corresponds to
|
||||
@code{default-directory}. In the latter case, the local part of
|
||||
@code{default-directory} becomes the working directory of the process.
|
||||
The difference from @code{start-process} is that this function may
|
||||
invoked a file handler based on the value of @code{default-directory}.
|
||||
This handler ought to run @var{program}, perhaps on the local host,
|
||||
perhaps on a remote host that corresponds to @code{default-directory}.
|
||||
In the latter case, the local part of @code{default-directory} becomes
|
||||
the working directory of the process.
|
||||
|
||||
This function does not try to invoke file name handlers for
|
||||
@var{program} or for the @var{program-args}.
|
||||
|
||||
Depending on the implementation of the file handler, it might not be
|
||||
possible to apply @code{process-filter} or @code{process-sentinel} to
|
||||
the resulting process object (@pxref{Filter Functions}, @pxref{Sentinels}).
|
||||
the resulting process object. @xref{Filter Functions}, and @ref{Sentinels}.
|
||||
|
||||
@c FIXME Can we find a better example (i.e. a more modern function
|
||||
@c that is actually documented).
|
||||
Some file handlers may not support @code{start-file-process} (for
|
||||
example @code{ange-ftp-hook-function}). In such cases, the function
|
||||
does nothing and returns @code{nil}.
|
||||
example the function @code{ange-ftp-hook-function}). In such cases,
|
||||
this function does nothing and returns @code{nil}.
|
||||
@end defun
|
||||
|
||||
@defun start-process-shell-command name buffer-or-name command
|
||||
This function is like @code{start-process} except that it uses a shell
|
||||
This function is like @code{start-process}, except that it uses a shell
|
||||
to execute the specified command. The argument @var{command} is a shell
|
||||
command name. The variable @code{shell-file-name} specifies which shell to
|
||||
use.
|
||||
|
||||
The point of running a program through the shell, rather than directly
|
||||
with @code{start-process}, is so that you can employ shell features such
|
||||
as wildcards in the arguments. It follows that if you include an
|
||||
arbitrary user-specified arguments in the command, you should quote it
|
||||
as wildcards in the arguments. It follows that if you include any
|
||||
arbitrary user-specified arguments in the command, you should quote them
|
||||
with @code{shell-quote-argument} first, so that any special shell
|
||||
characters do @emph{not} have their special shell meanings. @xref{Shell
|
||||
Arguments}.
|
||||
Arguments}. Of course, when executing commands based on user input
|
||||
you should also consider the security implications.
|
||||
@end defun
|
||||
|
||||
@defun start-file-process-shell-command name buffer-or-name command
|
||||
This function is like @code{start-process-shell-command}, but uses
|
||||
@code{start-file-process} internally. By this, @var{command} can be
|
||||
executed also on remote hosts, depending on @code{default-directory}.
|
||||
@code{start-file-process} internally. Because of this, @var{command}
|
||||
can also be executed on remote hosts, depending on @code{default-directory}.
|
||||
@end defun
|
||||
|
||||
@defvar process-connection-type
|
||||
@ -649,7 +668,7 @@ with one subprocess by binding the variable around the call to
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
(let ((process-connection-type nil)) ; @r{Use a pipe.}
|
||||
(let ((process-connection-type nil)) ; @r{use a pipe}
|
||||
(start-process @dots{}))
|
||||
@end group
|
||||
@end smallexample
|
||||
@ -666,9 +685,9 @@ Information}).
|
||||
@dfn{Deleting a process} disconnects Emacs immediately from the
|
||||
subprocess. Processes are deleted automatically after they terminate,
|
||||
but not necessarily right away. You can delete a process explicitly
|
||||
at any time. If you delete a terminated process explicitly before it
|
||||
at any time. If you explicitly delete a terminated process before it
|
||||
is deleted automatically, no harm results. Deleting a running
|
||||
process sends a signal to terminate it (and its child processes if
|
||||
process sends a signal to terminate it (and its child processes, if
|
||||
any), and calls the process sentinel if it has one. @xref{Sentinels}.
|
||||
|
||||
When a process is deleted, the process object itself continues to
|
||||
@ -866,7 +885,7 @@ closed the connection, or Emacs did @code{delete-process}.
|
||||
@end defun
|
||||
|
||||
@defun process-live-p process
|
||||
This function returns nin-@code{nil} if @var{process} is alive. A
|
||||
This function returns non-@code{nil} if @var{process} is alive. A
|
||||
process is considered alive if its status is @code{run}, @code{open},
|
||||
@code{listen}, @code{connect} or @code{stop}.
|
||||
@end defun
|
||||
@ -2664,7 +2683,7 @@ specification}, a special nested list describing named and typed
|
||||
@dfn{fields}. This specification controls length of each field to be
|
||||
processed, and how to pack or unpack it. We normally keep bindat specs
|
||||
in variables whose names end in @samp{-bindat-spec}; that kind of name
|
||||
is automatically recognized as ``risky.''
|
||||
is automatically recognized as ``risky''.
|
||||
|
||||
@cindex endianness
|
||||
@cindex big endian
|
||||
@ -2674,7 +2693,7 @@ is automatically recognized as ``risky.''
|
||||
that the field represents and, in the case of multibyte fields, how
|
||||
the bytes are ordered within the field. The two possible orderings
|
||||
are ``big endian'' (also known as ``network byte ordering'') and
|
||||
``little endian.'' For instance, the number @code{#x23cd} (decimal
|
||||
``little endian''. For instance, the number @code{#x23cd} (decimal
|
||||
9165) in big endian would be the two bytes @code{#x23} @code{#xcd};
|
||||
and in little endian, @code{#xcd} @code{#x23}. Here are the possible
|
||||
type values:
|
||||
|
2
etc/NEWS
2
etc/NEWS
@ -54,6 +54,8 @@ prompts for a column number.
|
||||
** `C-M-f' and `C-M-b' will now move to the path name separator
|
||||
character when doing minibuffer filename prompts.
|
||||
|
||||
** `goto-char' is now bound to `M-g c'.
|
||||
|
||||
|
||||
* Changes in Specialized Modes and Packages in Emacs 24.2
|
||||
|
||||
|
@ -73,7 +73,7 @@
|
||||
* makefile.w32-in (LOCAL_FLAGS): Add $(EMACS_EXTRA_C_FLAGS).
|
||||
|
||||
* emacsclient.c (main) <environ>: Remove declaration, already
|
||||
pulled in by unistd.h on Posix hosts and stdlib.h on MS-Windows.
|
||||
pulled in by unistd.h on POSIX hosts and stdlib.h on MS-Windows.
|
||||
|
||||
2011-11-24 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
@ -6657,7 +6657,7 @@
|
||||
|
||||
1993-08-25 Paul Eggert (eggert@twinsun.com)
|
||||
|
||||
* rcs2log: Change /{/ to /\{/ for Posix ERE compatibility;
|
||||
* rcs2log: Change /{/ to /\{/ for POSIX ERE compatibility;
|
||||
otherwise, HP awk complains.
|
||||
|
||||
* vcdiff: Append /usr/ccs/bin and /usr/sccs to PATH, since these
|
||||
@ -7004,7 +7004,7 @@
|
||||
|
||||
* rcs2log: mawk, SunOS 4.1.3 nawk, and Ultrix/MKS nawk all barf on
|
||||
/[/]/, so change it to /[\/]/. This should work on all
|
||||
Posix-compliant awks. It's slightly wrong with traditional awk,
|
||||
POSIX-compliant awks. It's slightly wrong with traditional awk,
|
||||
since it matches \ too, but that's a minor problem compared to awk
|
||||
syntax errors.
|
||||
|
||||
|
@ -1,3 +1,26 @@
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* frame.el (scrolling): Remove nearly unused customization group.
|
||||
|
||||
* scroll-all.el (scroll-all-mode): Move to windows group.
|
||||
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240).
|
||||
|
||||
2012-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
Avoid the use of ((lambda ...) ...) in lexical-binding code.
|
||||
* emacs-lisp/easy-mmode.el (define-minor-mode):Use funcall (bug#11241).
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* simple.el (process-file-side-effects): Doc fix.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* international/mule-cmds.el (set-language-environment): Doc fix.
|
||||
|
||||
2012-04-14 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* server.el (server-auth-key, server-generate-key): Doc fixes.
|
||||
@ -12,8 +35,7 @@
|
||||
2012-04-14 Michal Nazarewicz <mina86@mina86.com>
|
||||
|
||||
* server.el (server-auth-key): New variable.
|
||||
(server-generate-key): New function.
|
||||
(server-get-auth-key): New function.
|
||||
(server-generate-key, server-get-auth-key): New function.
|
||||
(server-start): Use the new variable and functions to allow
|
||||
setting a permanent server key (bug#9423).
|
||||
|
||||
@ -156,11 +178,10 @@
|
||||
|
||||
* hexl.el (hexl-bits): New variable.
|
||||
(hexl-options): Mention the variable in the doc string.
|
||||
(hexl-rulerise): New function.
|
||||
(hexl-line-displen): New function
|
||||
(hexl-rulerise, hexl-line-displen): New functions.
|
||||
(hexl-mode): Mention the new variable.
|
||||
(hexl-mode, hexl-current-address, hexl-current-address): Use the
|
||||
displen.
|
||||
(hexl-mode, hexl-current-address, hexl-current-address):
|
||||
Use the displen.
|
||||
(hexl-ascii-start-column): New function.
|
||||
(hexl-address-to-marker, hexl-beginning-of-line, hexl-options)
|
||||
(hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941).
|
||||
@ -223,7 +244,7 @@
|
||||
|
||||
* emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes
|
||||
to previous function when point is on the first character of a
|
||||
function. Take care of that in `narrow-to-defun' (bug#6157).
|
||||
function. Take care of that in `narrow-to-defun' (bug#6157).
|
||||
|
||||
2012-04-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
@ -285,8 +306,8 @@
|
||||
2012-04-10 Laimonas Vėbra <laimonas.vebra@gmail.com> (tiny change)
|
||||
|
||||
* language/european.el (cp775): Add oem/legacy (en)coding on
|
||||
DOS/MS Windows for the Baltic languages. There are still plenty of
|
||||
texts written in this encoding/codepage (bug#6519).
|
||||
DOS/MS Windows for the Baltic languages. There are still plenty
|
||||
of texts written in this encoding/codepage (bug#6519).
|
||||
|
||||
2012-04-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
@ -476,8 +497,8 @@
|
||||
2012-03-30 Agustín Martín Domingo <agustin.martin@hispalinux.es>
|
||||
|
||||
* ispell.el (ispell-get-extended-character-mode): Disable
|
||||
extended-char-mode for hunspell. hunspell does not support it and
|
||||
treats ~word as ordinary words in pipe mode.
|
||||
extended-char-mode for hunspell. hunspell does not support it
|
||||
and treats ~word as ordinary words in pipe mode.
|
||||
|
||||
2012-03-30 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
@ -707,7 +728,7 @@
|
||||
(hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'.
|
||||
(hfy-face-to-css): Re-defined to be a variable.
|
||||
(hfy-compile-stylesheet): Modify. Allow stylesheet to be built
|
||||
over multiple runs. This is made possible by having the caller let
|
||||
over multiple runs. This is made possible by having the caller let
|
||||
bind a special variable `hfy-user-sheet-assoc'.
|
||||
(htmlfontify-string): New defun.
|
||||
(hfy-compile-face-map): Make sure that the last char in the
|
||||
@ -940,7 +961,7 @@
|
||||
|
||||
2012-03-09 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/dbus.el: (dbus-property-handler): Return empty array if
|
||||
* net/dbus.el (dbus-property-handler): Return empty array if
|
||||
there are no properties.
|
||||
|
||||
2012-03-09 Leo Liu <sdl.web@gmail.com>
|
||||
|
@ -10889,7 +10889,7 @@
|
||||
2004-01-29 Jari Aalto <jari.aalto@poboxes.com>
|
||||
|
||||
* progmodes/executable.el (executable-command-find-posix-p):
|
||||
New. Check if find handles arguments Posix-style.
|
||||
New. Check if find handles arguments POSIX-style.
|
||||
|
||||
* progmodes/grep.el (grep-compute-defaults):
|
||||
Use executable-command-find-posix-p.
|
||||
|
@ -12449,7 +12449,7 @@
|
||||
|
||||
* calendar/appt.el (diary-selective-display): Add defvar.
|
||||
|
||||
* sort.el (sort-columns): Use Posix arg syntax for `sort'.
|
||||
* sort.el (sort-columns): Use POSIX arg syntax for `sort'.
|
||||
|
||||
* isearch.el (search-whitespace-regexp): Fix custom type.
|
||||
|
||||
|
@ -715,7 +715,7 @@
|
||||
|
||||
* ediff-diff.el (ediff-setup-fine-diff-regions):
|
||||
Allow diff options to be passed to the diff program.
|
||||
(ediff-make-diff2-buffer): Don't run Posix diff on remote files.
|
||||
(ediff-make-diff2-buffer): Don't run POSIX diff on remote files.
|
||||
(ediff-make-diff2-buffer): Refuses to diff remote files.
|
||||
(ediff-make-diff2-buffer, ediff-setup-diff-regions): Changed functions.
|
||||
(ediff-make-diff2-buffer): New function.
|
||||
|
@ -868,6 +868,7 @@ if `inhibit-field-text-motion' is non-nil."
|
||||
"Keymap for navigation commands.")
|
||||
(define-key esc-map "g" goto-map)
|
||||
|
||||
(define-key goto-map "c" 'goto-char)
|
||||
(define-key goto-map "g" 'goto-line)
|
||||
(define-key goto-map "\M-g" 'goto-line)
|
||||
(define-key goto-map "n" 'next-error)
|
||||
|
@ -260,7 +260,7 @@ the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
|
||||
;; repeat-command still does the toggling correctly.
|
||||
(interactive (list (or current-prefix-arg 'toggle)))
|
||||
(let ((,last-message (current-message)))
|
||||
(,@(if setter (list setter)
|
||||
(,@(if setter `(funcall #',setter)
|
||||
(list (if (symbolp mode) 'setq 'setf) mode))
|
||||
(if (eq arg 'toggle)
|
||||
(not ,mode)
|
||||
|
@ -1556,21 +1556,6 @@ left untouched. FRAME nil or omitted means use the selected frame."
|
||||
(define-obsolete-variable-alias 'delete-frame-hook
|
||||
'delete-frame-functions "22.1")
|
||||
|
||||
|
||||
;; Highlighting trailing whitespace.
|
||||
|
||||
(make-variable-buffer-local 'show-trailing-whitespace)
|
||||
|
||||
|
||||
;; Scrolling
|
||||
|
||||
(defgroup scrolling nil
|
||||
"Scrolling windows."
|
||||
:version "21.1"
|
||||
:group 'frames)
|
||||
|
||||
(defvaralias 'automatic-hscrolling 'auto-hscroll-mode)
|
||||
|
||||
|
||||
;; Blinking cursor
|
||||
|
||||
@ -1663,6 +1648,13 @@ terminals, cursor blinking is controlled by the terminal."
|
||||
(define-key ctl-x-5-map "0" 'delete-frame)
|
||||
(define-key ctl-x-5-map "o" 'other-frame)
|
||||
|
||||
|
||||
;; Misc.
|
||||
|
||||
(defvaralias 'automatic-hscrolling 'auto-hscroll-mode)
|
||||
|
||||
(make-variable-buffer-local 'show-trailing-whitespace)
|
||||
|
||||
(provide 'frame)
|
||||
|
||||
;;; frame.el ends here
|
||||
|
@ -1834,7 +1834,11 @@ The default status is as follows:
|
||||
This sets the coding system priority and the default input method
|
||||
and sometimes other things. LANGUAGE-NAME should be a string
|
||||
which is the name of a language environment. For example, \"Latin-1\"
|
||||
specifies the character set for the major languages of Western Europe."
|
||||
specifies the character set for the major languages of Western Europe.
|
||||
|
||||
If there is a prior value for `current-language-environment', this
|
||||
runs the hook `exit-language-environment-hook'. After setting up
|
||||
the new language environment, it runs `set-language-environment-hook'."
|
||||
(interactive (list (read-language-name
|
||||
nil
|
||||
"Set language environment (default English): ")))
|
||||
|
@ -111,7 +111,6 @@ one window apply to all visible windows in the same frame."
|
||||
nil " *SL*" nil
|
||||
:global t
|
||||
:group 'windows
|
||||
:group 'scrolling
|
||||
(if scroll-all-mode
|
||||
(add-hook 'post-command-hook 'scroll-all-check-to-scroll)
|
||||
(remove-hook 'post-command-hook 'scroll-all-check-to-scroll)))
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; simple.el --- basic editing commands for Emacs
|
||||
|
||||
;; Copyright (C) 1985-1987, 1993-2012 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1985-1987, 1993-2012 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: internal
|
||||
@ -2677,13 +2677,13 @@ value passed."
|
||||
(defvar process-file-side-effects t
|
||||
"Whether a call of `process-file' changes remote files.
|
||||
|
||||
Per default, this variable is always set to `t', meaning that a
|
||||
By default, this variable is always set to `t', meaning that a
|
||||
call of `process-file' could potentially change any file on a
|
||||
remote host. When set to `nil', a file handler could optimize
|
||||
its behavior with respect to remote file attributes caching.
|
||||
its behavior with respect to remote file attribute caching.
|
||||
|
||||
This variable should never be changed by `setq'. Instead of, it
|
||||
shall be set only by let-binding.")
|
||||
You should only ever change this variable with a let-binding;
|
||||
never with `setq'.")
|
||||
|
||||
(defun start-file-process (name buffer program &rest program-args)
|
||||
"Start a program in a subprocess. Return the process object for it.
|
||||
|
@ -5443,7 +5443,7 @@ A value of t means point moves to the beginning or the end of the buffer
|
||||
\(depending on scrolling direction) when no more scrolling possible.
|
||||
When point is already on that position, then signal an error."
|
||||
:type 'boolean
|
||||
:group 'scrolling
|
||||
:group 'windows
|
||||
:version "24.1")
|
||||
|
||||
(defun scroll-up-command (&optional arg)
|
||||
|
@ -1195,7 +1195,7 @@
|
||||
2005-06-05 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* inc/sys/socket.h: Change arg 4 of sys_setsockopt to
|
||||
`const void *', for consistency with Posix.
|
||||
`const void *', for consistency with POSIX.
|
||||
|
||||
2005-06-04 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
|
@ -1,3 +1,16 @@
|
||||
2012-04-15 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* lisp.h (struct Lisp_Symbol): Remove explicit padding.
|
||||
(struct Lisp_Misc_Any): Likewise.
|
||||
(struct Lisp_Free): Likewise.
|
||||
* alloc.c (union aligned_Lisp_Symbol): Define.
|
||||
(SYMBOL_BLOCK_SIZE, struct symbol_block): Use union
|
||||
aligned_Lisp_Symbol instead of struct Lisp_Symbol.
|
||||
(union aligned_Lisp_Misc): Define.
|
||||
(MARKER_BLOCK_SIZE, struct marker_block): Use union
|
||||
aligned_Lisp_Misc instead of union Lisp_Misc.
|
||||
(Fmake_symbol, allocate_misc, gc_sweep): Adjust
|
||||
|
||||
2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
configure: new option --enable-gcc-warnings (Bug#11207)
|
||||
@ -64,7 +77,7 @@
|
||||
|
||||
* alloc.c (lisp_align_malloc): Remove unneeded prototype.
|
||||
|
||||
2012-04-10 "Jason S. Cornez" <jcornez@ravenpack.com> (tiny change)
|
||||
2012-04-10 Jason S. Cornez <jcornez@ravenpack.com> (tiny change)
|
||||
|
||||
* keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
|
||||
(force_quit_count): New var.
|
||||
@ -1563,7 +1576,7 @@
|
||||
* xfns.c (unwind_create_frame): Fix comment.
|
||||
(Fx_create_frame, x_create_tip_frame):
|
||||
Move terminal->reference_count++ just before making the frame
|
||||
official. Move initialization of image_cache_refcount and
|
||||
official. Move initialization of image_cache_refcount and
|
||||
dpyinfo_refcount before calling init_frame_faces (Bug#9943).
|
||||
|
||||
2011-11-05 Eli Zaretskii <eliz@gnu.org>
|
||||
@ -7336,7 +7349,7 @@
|
||||
* xfaces.c <Qunspecified>: Make extern again.
|
||||
|
||||
* syntax.c: Include sys/types.h before including regex.h, as
|
||||
required by Posix.
|
||||
required by POSIX.
|
||||
|
||||
* doc.c (get_doc_string): Improve the format passed to `error'.
|
||||
|
||||
|
@ -23215,7 +23215,7 @@
|
||||
|
||||
* macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
|
||||
and FSRefMakePath to convert FSSpec returned with Apple Event to
|
||||
Posix pathname.
|
||||
POSIX pathname.
|
||||
(mac_initialize) [TARGET_API_MAC_CARBON]:
|
||||
Call init_required_apple_events and disable the `Quit' menu item
|
||||
provided automatically by the Carbon Toolbox.
|
||||
|
@ -9641,7 +9641,7 @@
|
||||
|
||||
2010-03-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
These changes remove termcap.c from the build on Posix platforms.
|
||||
These changes remove termcap.c from the build on POSIX platforms.
|
||||
* Makefile.in (termcapobj): Move termcap.o from here...
|
||||
(MSDOS_OBJ): ...to here.
|
||||
(termcapobj) [!LIBS_TERMCAP]: Remove specialized value, as it is
|
||||
|
@ -3236,7 +3236,7 @@
|
||||
|
||||
1995-12-12 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* process.c (create_process): Use Posix signal handling to
|
||||
* process.c (create_process): Use POSIX signal handling to
|
||||
block signals, if available. If HAVE_VFORK, save and restore
|
||||
signal handlers that the child might change, since in many
|
||||
systems (e.g. Solaris 2.4) if the child changes the signal
|
||||
|
74
src/alloc.c
74
src/alloc.c
@ -3136,17 +3136,29 @@ usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INT
|
||||
Symbol Allocation
|
||||
***********************************************************************/
|
||||
|
||||
/* Like struct Lisp_Symbol, but padded so that the size is a multiple
|
||||
of the required alignment if LSB tags are used. */
|
||||
|
||||
union aligned_Lisp_Symbol
|
||||
{
|
||||
struct Lisp_Symbol s;
|
||||
#ifdef USE_LSB_TAG
|
||||
unsigned char c[(sizeof (struct Lisp_Symbol) + (1 << GCTYPEBITS) - 1)
|
||||
& -(1 << GCTYPEBITS)];
|
||||
#endif
|
||||
};
|
||||
|
||||
/* Each symbol_block is just under 1020 bytes long, since malloc
|
||||
really allocates in units of powers of two and uses 4 bytes for its
|
||||
own overhead. */
|
||||
|
||||
#define SYMBOL_BLOCK_SIZE \
|
||||
((1020 - sizeof (struct symbol_block *)) / sizeof (struct Lisp_Symbol))
|
||||
((1020 - sizeof (struct symbol_block *)) / sizeof (union aligned_Lisp_Symbol))
|
||||
|
||||
struct symbol_block
|
||||
{
|
||||
/* Place `symbols' first, to preserve alignment. */
|
||||
struct Lisp_Symbol symbols[SYMBOL_BLOCK_SIZE];
|
||||
union aligned_Lisp_Symbol symbols[SYMBOL_BLOCK_SIZE];
|
||||
struct symbol_block *next;
|
||||
};
|
||||
|
||||
@ -3202,7 +3214,7 @@ Its value and function definition are void, and its property list is nil. */)
|
||||
symbol_block = new;
|
||||
symbol_block_index = 0;
|
||||
}
|
||||
XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index]);
|
||||
XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index].s);
|
||||
symbol_block_index++;
|
||||
}
|
||||
|
||||
@ -3230,16 +3242,28 @@ Its value and function definition are void, and its property list is nil. */)
|
||||
Marker (Misc) Allocation
|
||||
***********************************************************************/
|
||||
|
||||
/* Like union Lisp_Misc, but padded so that its size is a multiple of
|
||||
the required alignment when LSB tags are used. */
|
||||
|
||||
union aligned_Lisp_Misc
|
||||
{
|
||||
union Lisp_Misc m;
|
||||
#ifdef USE_LSB_TAG
|
||||
unsigned char c[(sizeof (union Lisp_Misc) + (1 << GCTYPEBITS) - 1)
|
||||
& -(1 << GCTYPEBITS)];
|
||||
#endif
|
||||
};
|
||||
|
||||
/* Allocation of markers and other objects that share that structure.
|
||||
Works like allocation of conses. */
|
||||
|
||||
#define MARKER_BLOCK_SIZE \
|
||||
((1020 - sizeof (struct marker_block *)) / sizeof (union Lisp_Misc))
|
||||
((1020 - sizeof (struct marker_block *)) / sizeof (union aligned_Lisp_Misc))
|
||||
|
||||
struct marker_block
|
||||
{
|
||||
/* Place `markers' first, to preserve alignment. */
|
||||
union Lisp_Misc markers[MARKER_BLOCK_SIZE];
|
||||
union aligned_Lisp_Misc markers[MARKER_BLOCK_SIZE];
|
||||
struct marker_block *next;
|
||||
};
|
||||
|
||||
@ -3284,7 +3308,7 @@ allocate_misc (void)
|
||||
marker_block_index = 0;
|
||||
total_free_markers += MARKER_BLOCK_SIZE;
|
||||
}
|
||||
XSETMISC (val, &marker_block->markers[marker_block_index]);
|
||||
XSETMISC (val, &marker_block->markers[marker_block_index].m);
|
||||
marker_block_index++;
|
||||
}
|
||||
|
||||
@ -6070,22 +6094,22 @@ gc_sweep (void)
|
||||
for (sblk = symbol_block; sblk; sblk = *sprev)
|
||||
{
|
||||
int this_free = 0;
|
||||
struct Lisp_Symbol *sym = sblk->symbols;
|
||||
struct Lisp_Symbol *end = sym + lim;
|
||||
union aligned_Lisp_Symbol *sym = sblk->symbols;
|
||||
union aligned_Lisp_Symbol *end = sym + lim;
|
||||
|
||||
for (; sym < end; ++sym)
|
||||
{
|
||||
/* Check if the symbol was created during loadup. In such a case
|
||||
it might be pointed to by pure bytecode which we don't trace,
|
||||
so we conservatively assume that it is live. */
|
||||
int pure_p = PURE_POINTER_P (XSTRING (sym->xname));
|
||||
int pure_p = PURE_POINTER_P (XSTRING (sym->s.xname));
|
||||
|
||||
if (!sym->gcmarkbit && !pure_p)
|
||||
if (!sym->s.gcmarkbit && !pure_p)
|
||||
{
|
||||
if (sym->redirect == SYMBOL_LOCALIZED)
|
||||
xfree (SYMBOL_BLV (sym));
|
||||
sym->next = symbol_free_list;
|
||||
symbol_free_list = sym;
|
||||
if (sym->s.redirect == SYMBOL_LOCALIZED)
|
||||
xfree (SYMBOL_BLV (&sym->s));
|
||||
sym->s.next = symbol_free_list;
|
||||
symbol_free_list = &sym->s;
|
||||
#if GC_MARK_STACK
|
||||
symbol_free_list->function = Vdead;
|
||||
#endif
|
||||
@ -6095,8 +6119,8 @@ gc_sweep (void)
|
||||
{
|
||||
++num_used;
|
||||
if (!pure_p)
|
||||
UNMARK_STRING (XSTRING (sym->xname));
|
||||
sym->gcmarkbit = 0;
|
||||
UNMARK_STRING (XSTRING (sym->s.xname));
|
||||
sym->s.gcmarkbit = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6108,7 +6132,7 @@ gc_sweep (void)
|
||||
{
|
||||
*sprev = sblk->next;
|
||||
/* Unhook from the free list. */
|
||||
symbol_free_list = sblk->symbols[0].next;
|
||||
symbol_free_list = sblk->symbols[0].s.next;
|
||||
lisp_free (sblk);
|
||||
}
|
||||
else
|
||||
@ -6138,22 +6162,22 @@ gc_sweep (void)
|
||||
|
||||
for (i = 0; i < lim; i++)
|
||||
{
|
||||
if (!mblk->markers[i].u_any.gcmarkbit)
|
||||
if (!mblk->markers[i].m.u_any.gcmarkbit)
|
||||
{
|
||||
if (mblk->markers[i].u_any.type == Lisp_Misc_Marker)
|
||||
unchain_marker (&mblk->markers[i].u_marker);
|
||||
if (mblk->markers[i].m.u_any.type == Lisp_Misc_Marker)
|
||||
unchain_marker (&mblk->markers[i].m.u_marker);
|
||||
/* Set the type of the freed object to Lisp_Misc_Free.
|
||||
We could leave the type alone, since nobody checks it,
|
||||
but this might catch bugs faster. */
|
||||
mblk->markers[i].u_marker.type = Lisp_Misc_Free;
|
||||
mblk->markers[i].u_free.chain = marker_free_list;
|
||||
marker_free_list = &mblk->markers[i];
|
||||
mblk->markers[i].m.u_marker.type = Lisp_Misc_Free;
|
||||
mblk->markers[i].m.u_free.chain = marker_free_list;
|
||||
marker_free_list = &mblk->markers[i].m;
|
||||
this_free++;
|
||||
}
|
||||
else
|
||||
{
|
||||
num_used++;
|
||||
mblk->markers[i].u_any.gcmarkbit = 0;
|
||||
mblk->markers[i].m.u_any.gcmarkbit = 0;
|
||||
}
|
||||
}
|
||||
lim = MARKER_BLOCK_SIZE;
|
||||
@ -6164,7 +6188,7 @@ gc_sweep (void)
|
||||
{
|
||||
*mprev = mblk->next;
|
||||
/* Unhook from the free list. */
|
||||
marker_free_list = mblk->markers[0].u_free.chain;
|
||||
marker_free_list = mblk->markers[0].m.u_free.chain;
|
||||
lisp_free (mblk);
|
||||
}
|
||||
else
|
||||
|
29
src/lisp.h
29
src/lisp.h
@ -1134,8 +1134,6 @@ struct Lisp_Symbol
|
||||
special (with `defvar' etc), and shouldn't be lexically bound. */
|
||||
unsigned declared_special : 1;
|
||||
|
||||
unsigned spacer : 23;
|
||||
|
||||
/* The symbol's name, as a Lisp string.
|
||||
The name "xname" is used to intentionally break code referring to
|
||||
the old field "name" of type pointer to struct Lisp_String. */
|
||||
@ -1337,8 +1335,6 @@ struct Lisp_Misc_Any /* Supertype of all Misc types. */
|
||||
ENUM_BF (Lisp_Misc_Type) type : 16; /* = Lisp_Misc_??? */
|
||||
unsigned gcmarkbit : 1;
|
||||
int spacer : 15;
|
||||
/* Make it as long as "Lisp_Free without padding". */
|
||||
void *fill;
|
||||
};
|
||||
|
||||
struct Lisp_Marker
|
||||
@ -1530,13 +1526,6 @@ struct Lisp_Free
|
||||
unsigned gcmarkbit : 1;
|
||||
int spacer : 15;
|
||||
union Lisp_Misc *chain;
|
||||
#ifdef USE_LSB_TAG
|
||||
/* Try to make sure that sizeof(Lisp_Misc) preserves TYPEBITS-alignment.
|
||||
This assumes that Lisp_Marker is the largest of the alternatives and
|
||||
that Lisp_Misc_Any has the same size as "Lisp_Free w/o padding". */
|
||||
char padding[((((sizeof (struct Lisp_Marker) - 1) >> GCTYPEBITS) + 1)
|
||||
<< GCTYPEBITS) - sizeof (struct Lisp_Misc_Any)];
|
||||
#endif
|
||||
};
|
||||
|
||||
/* To get the type field of a union Lisp_Misc, use XMISCTYPE.
|
||||
@ -1545,19 +1534,19 @@ struct Lisp_Free
|
||||
union Lisp_Misc
|
||||
{
|
||||
struct Lisp_Misc_Any u_any; /* Supertype of all Misc types. */
|
||||
struct Lisp_Free u_free; /* Includes padding to force alignment. */
|
||||
struct Lisp_Marker u_marker; /* 5 */
|
||||
struct Lisp_Overlay u_overlay; /* 5 */
|
||||
struct Lisp_Save_Value u_save_value; /* 3 */
|
||||
struct Lisp_Free u_free;
|
||||
struct Lisp_Marker u_marker;
|
||||
struct Lisp_Overlay u_overlay;
|
||||
struct Lisp_Save_Value u_save_value;
|
||||
};
|
||||
|
||||
union Lisp_Fwd
|
||||
{
|
||||
struct Lisp_Intfwd u_intfwd; /* 2 */
|
||||
struct Lisp_Boolfwd u_boolfwd; /* 2 */
|
||||
struct Lisp_Objfwd u_objfwd; /* 2 */
|
||||
struct Lisp_Buffer_Objfwd u_buffer_objfwd; /* 2 */
|
||||
struct Lisp_Kboard_Objfwd u_kboard_objfwd; /* 2 */
|
||||
struct Lisp_Intfwd u_intfwd;
|
||||
struct Lisp_Boolfwd u_boolfwd;
|
||||
struct Lisp_Objfwd u_objfwd;
|
||||
struct Lisp_Buffer_Objfwd u_buffer_objfwd;
|
||||
struct Lisp_Kboard_Objfwd u_kboard_objfwd;
|
||||
};
|
||||
|
||||
/* Lisp floating point type */
|
||||
|
Loading…
Reference in New Issue
Block a user