mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 14:30:50 -08:00
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-11
Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-69 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-71 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-72 src/dispextern.h (xassert): Enable unconditionally. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-73 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-81 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-82 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-12 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-13 Update from CVS
This commit is contained in:
commit
a359f0e0ff
64 changed files with 1000 additions and 414 deletions
|
|
@ -181,7 +181,7 @@ SECTION READERS
|
||||||
man/abbrevs.texi
|
man/abbrevs.texi
|
||||||
man/anti.texi
|
man/anti.texi
|
||||||
man/basic.texi "Luc Teirlinck"
|
man/basic.texi "Luc Teirlinck"
|
||||||
man/buffers.texi "Luc Teirlinck"
|
man/buffers.texi "Luc Teirlinck" Chong Yidong
|
||||||
man/building.texi "Ted Zlatanov" <tzz@lifelogs.com>
|
man/building.texi "Ted Zlatanov" <tzz@lifelogs.com>
|
||||||
man/calendar.texi Joakim Verona <joakim@verona.se>
|
man/calendar.texi Joakim Verona <joakim@verona.se>
|
||||||
man/cmdargs.texi
|
man/cmdargs.texi
|
||||||
|
|
@ -191,9 +191,9 @@ man/dired.texi
|
||||||
man/display.texi "Luc Teirlinck"
|
man/display.texi "Luc Teirlinck"
|
||||||
man/emacs.texi "Luc Teirlinck"
|
man/emacs.texi "Luc Teirlinck"
|
||||||
man/entering.texi "Luc Teirlinck"
|
man/entering.texi "Luc Teirlinck"
|
||||||
man/files.texi "Luc Teirlinck"
|
man/files.texi "Luc Teirlinck" Chong Yidong
|
||||||
man/fixit.texi "Luc Teirlinck"
|
man/fixit.texi "Luc Teirlinck"
|
||||||
man/frames.texi "Luc Teirlinck"
|
man/frames.texi "Luc Teirlinck" Chong Yidong
|
||||||
man/glossary.texi
|
man/glossary.texi
|
||||||
man/help.texi "Luc Teirlinck"
|
man/help.texi "Luc Teirlinck"
|
||||||
man/indent.texi "Luc Teirlinck"
|
man/indent.texi "Luc Teirlinck"
|
||||||
|
|
@ -215,9 +215,9 @@ man/rmail.texi
|
||||||
man/screen.texi "Luc Teirlinck"
|
man/screen.texi "Luc Teirlinck"
|
||||||
man/search.texi "Luc Teirlinck"
|
man/search.texi "Luc Teirlinck"
|
||||||
man/sending.texi
|
man/sending.texi
|
||||||
man/text.texi "Luc Teirlinck"
|
man/text.texi "Luc Teirlinck" Chong Yidong
|
||||||
man/trouble.texi
|
man/trouble.texi
|
||||||
man/windows.texi "Luc Teirlinck"
|
man/windows.texi "Luc Teirlinck" Chong Yidong
|
||||||
man/xresources.texi
|
man/xresources.texi
|
||||||
|
|
||||||
** Check the Emacs Lisp manual.
|
** Check the Emacs Lisp manual.
|
||||||
|
|
@ -233,7 +233,7 @@ lispref/abbrevs.texi "Luc Teirlinck"
|
||||||
lispref/advice.texi Joakim Verona <joakim@verona.se>
|
lispref/advice.texi Joakim Verona <joakim@verona.se>
|
||||||
lispref/anti.texi
|
lispref/anti.texi
|
||||||
lispref/backups.texi "Luc Teirlinck"
|
lispref/backups.texi "Luc Teirlinck"
|
||||||
lispref/buffers.texi "Luc Teirlinck"
|
lispref/buffers.texi "Luc Teirlinck" Chong Yidong
|
||||||
lispref/calendar.texi Joakim Verona <joakim@verona.se>
|
lispref/calendar.texi Joakim Verona <joakim@verona.se>
|
||||||
lispref/commands.texi "Luc Teirlinck"
|
lispref/commands.texi "Luc Teirlinck"
|
||||||
lispref/compile.texi "Luc Teirlinck"
|
lispref/compile.texi "Luc Teirlinck"
|
||||||
|
|
@ -245,8 +245,8 @@ lispref/edebug.texi
|
||||||
lispref/elisp.texi "Luc Teirlinck"
|
lispref/elisp.texi "Luc Teirlinck"
|
||||||
lispref/errors.texi "Luc Teirlinck"
|
lispref/errors.texi "Luc Teirlinck"
|
||||||
lispref/eval.texi "Luc Teirlinck"
|
lispref/eval.texi "Luc Teirlinck"
|
||||||
lispref/files.texi "Luc Teirlinck"
|
lispref/files.texi "Luc Teirlinck" Chong Yidong
|
||||||
lispref/frames.texi "Luc Teirlinck"
|
lispref/frames.texi "Luc Teirlinck" Chong Yidong
|
||||||
lispref/functions.texi "Luc Teirlinck"
|
lispref/functions.texi "Luc Teirlinck"
|
||||||
lispref/hash.texi "Luc Teirlinck"
|
lispref/hash.texi "Luc Teirlinck"
|
||||||
lispref/help.texi "Luc Teirlinck"
|
lispref/help.texi "Luc Teirlinck"
|
||||||
|
|
@ -274,10 +274,10 @@ lispref/streams.texi "Luc Teirlinck"
|
||||||
lispref/strings.texi "Luc Teirlinck"
|
lispref/strings.texi "Luc Teirlinck"
|
||||||
lispref/symbols.texi "Luc Teirlinck"
|
lispref/symbols.texi "Luc Teirlinck"
|
||||||
lispref/syntax.texi "Luc Teirlinck"
|
lispref/syntax.texi "Luc Teirlinck"
|
||||||
lispref/text.texi
|
lispref/text.texi Chong Yidong
|
||||||
lispref/tips.texi "Luc Teirlinck"
|
lispref/tips.texi "Luc Teirlinck"
|
||||||
lispref/variables.texi "Luc Teirlinck"
|
lispref/variables.texi "Luc Teirlinck"
|
||||||
lispref/windows.texi "Luc Teirlinck"
|
lispref/windows.texi "Luc Teirlinck" Chong Yidong
|
||||||
|
|
||||||
|
|
||||||
Local variables:
|
Local variables:
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
2005-02-05 Frederik Fouvry <fouvry@CoLi.Uni-SB.DE>
|
||||||
|
|
||||||
|
* emacs.bash: Update the name of the socket of the Emacs server.
|
||||||
|
|
||||||
2005-01-22 David Kastrup <dak@gnu.org>
|
2005-01-22 David Kastrup <dak@gnu.org>
|
||||||
|
|
||||||
* NEWS: Mention alias `find-grep' for `grep-find'.
|
* NEWS: Mention alias `find-grep' for `grep-find'.
|
||||||
|
|
|
||||||
27
etc/NEWS
27
etc/NEWS
|
|
@ -201,22 +201,23 @@ character is used every few digits, making it easier to see byte
|
||||||
boundries etc. For more info, see the documentation of the variable
|
boundries etc. For more info, see the documentation of the variable
|
||||||
`calculator-radix-grouping-mode'.
|
`calculator-radix-grouping-mode'.
|
||||||
|
|
||||||
|
+++
|
||||||
** You can now follow links by clicking Mouse-1 on the link.
|
** You can now follow links by clicking Mouse-1 on the link.
|
||||||
|
|
||||||
Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
|
Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
|
||||||
click to follow a link, whereas most other applications use a Mouse-1
|
click to follow a link, whereas most other applications use a Mouse-1
|
||||||
click for both purposes, depending on whether you click outside or
|
click for both purposes, depending on whether you click outside or
|
||||||
inside a link. With release 21.4, the behaviour of a Mouse-1 click
|
inside a link. Now the behavior of a Mouse-1 click has been changed
|
||||||
has been changed to match this context-sentitive dual behaviour.
|
to match this context-sentitive dual behavior.
|
||||||
|
|
||||||
Depending on the current mode, a Mouse-2 click in Emacs may do much
|
Depending on the current mode, a Mouse-2 click in Emacs may do much
|
||||||
more than just follow a link, so the new Mouse-1 behaviour is only
|
more than just follow a link, so the new Mouse-1 behavior is only
|
||||||
activated for modes which explicitly mark a clickable text as a "link"
|
activated for modes which explicitly mark a clickable text as a "link"
|
||||||
(see the new function `mouse-on-link-p' for details). The lisp
|
(see the new function `mouse-on-link-p' for details). The Lisp
|
||||||
packages that are included in release 21.4 have been adapted to do
|
packages that are included in release 21.4 have been adapted to do
|
||||||
this, but external packages may not yet support this. However, there
|
this, but external packages may not yet support this. However, there
|
||||||
is no risk in using such packages, as the worst thing that could
|
is no risk in using such packages, as the worst thing that could
|
||||||
happen is that you get the original Mouse-1 behaviour when you click
|
happen is that you get the original Mouse-1 behavior when you click
|
||||||
on a link, which typically means that you set point where you click.
|
on a link, which typically means that you set point where you click.
|
||||||
|
|
||||||
If you want to get the original Mouse-1 action also inside a link, you
|
If you want to get the original Mouse-1 action also inside a link, you
|
||||||
|
|
@ -227,7 +228,7 @@ you release it).
|
||||||
Dragging the Mouse-1 inside a link still performs the original
|
Dragging the Mouse-1 inside a link still performs the original
|
||||||
drag-mouse-1 action, typically copy the text.
|
drag-mouse-1 action, typically copy the text.
|
||||||
|
|
||||||
You can customize the new Mouse-1 behaviour via the new user option
|
You can customize the new Mouse-1 behavior via the new user option
|
||||||
`mouse-1-click-follows-link'.
|
`mouse-1-click-follows-link'.
|
||||||
|
|
||||||
+++
|
+++
|
||||||
|
|
@ -551,7 +552,7 @@ Instead, the newline now "overflows" into the right fringe, and the
|
||||||
cursor will be displayed in the fringe when positioned on that newline.
|
cursor will be displayed in the fringe when positioned on that newline.
|
||||||
|
|
||||||
The new user option 'overflow-newline-into-fringe' may be set to nil to
|
The new user option 'overflow-newline-into-fringe' may be set to nil to
|
||||||
revert to the old behaviour of continuing such lines.
|
revert to the old behavior of continuing such lines.
|
||||||
|
|
||||||
+++
|
+++
|
||||||
** The buffer boundaries (i.e. first and last line in the buffer) may
|
** The buffer boundaries (i.e. first and last line in the buffer) may
|
||||||
|
|
@ -1613,7 +1614,7 @@ directory listing into a buffer.
|
||||||
|
|
||||||
** Unexpected yanking of text due to accidental clicking on the mouse
|
** Unexpected yanking of text due to accidental clicking on the mouse
|
||||||
wheel button (typically mouse-2) during wheel scrolling is now avoided.
|
wheel button (typically mouse-2) during wheel scrolling is now avoided.
|
||||||
This behaviour can be customized via the mouse-wheel-click-event and
|
This behavior can be customized via the mouse-wheel-click-event and
|
||||||
mouse-wheel-inhibit-click-time variables.
|
mouse-wheel-inhibit-click-time variables.
|
||||||
|
|
||||||
+++
|
+++
|
||||||
|
|
@ -2445,7 +2446,7 @@ before calling it, if used while defining a macro.
|
||||||
|
|
||||||
In addition, when ending or calling a macro with C-x e, the macro can
|
In addition, when ending or calling a macro with C-x e, the macro can
|
||||||
be repeated immediately by typing just the `e'. You can customize
|
be repeated immediately by typing just the `e'. You can customize
|
||||||
this behaviour via the variable kmacro-call-repeat-key and
|
this behavior via the variable kmacro-call-repeat-key and
|
||||||
kmacro-call-repeat-with-arg.
|
kmacro-call-repeat-with-arg.
|
||||||
|
|
||||||
Keyboard macros can now be debugged and edited interactively.
|
Keyboard macros can now be debugged and edited interactively.
|
||||||
|
|
@ -3227,7 +3228,7 @@ created and can be changed later by `set-process-filter-multibyte'.
|
||||||
buffer is multibyte, the output of the process is at first converted
|
buffer is multibyte, the output of the process is at first converted
|
||||||
to multibyte by `string-to-multibyte' then inserted in the buffer.
|
to multibyte by `string-to-multibyte' then inserted in the buffer.
|
||||||
Previously, it was converted to multibyte by `string-as-multibyte',
|
Previously, it was converted to multibyte by `string-as-multibyte',
|
||||||
which was not compatible with the behaviour of file reading.
|
which was not compatible with the behavior of file reading.
|
||||||
|
|
||||||
+++
|
+++
|
||||||
** New function `string-to-multibyte' converts a unibyte string to a
|
** New function `string-to-multibyte' converts a unibyte string to a
|
||||||
|
|
@ -3715,7 +3716,7 @@ elements with the following format:
|
||||||
The `insert-for-yank' function looks for a yank-handler property on
|
The `insert-for-yank' function looks for a yank-handler property on
|
||||||
the first character on its string argument (typically the first
|
the first character on its string argument (typically the first
|
||||||
element on the kill-ring). If a yank-handler property is found,
|
element on the kill-ring). If a yank-handler property is found,
|
||||||
the normal behaviour of `insert-for-yank' is modified in various ways:
|
the normal behavior of `insert-for-yank' is modified in various ways:
|
||||||
|
|
||||||
When FUNCTION is present and non-nil, it is called instead of `insert'
|
When FUNCTION is present and non-nil, it is called instead of `insert'
|
||||||
to insert the string. FUNCTION takes one argument--the object to insert.
|
to insert the string. FUNCTION takes one argument--the object to insert.
|
||||||
|
|
@ -3803,7 +3804,7 @@ speech synthesis.
|
||||||
|
|
||||||
On some systems, when emacs reads the output from a subprocess, the
|
On some systems, when emacs reads the output from a subprocess, the
|
||||||
output data is read in very small blocks, potentially resulting in
|
output data is read in very small blocks, potentially resulting in
|
||||||
very poor performance. This behaviour can be remedied to some extent
|
very poor performance. This behavior can be remedied to some extent
|
||||||
by setting the new variable process-adaptive-read-buffering to a
|
by setting the new variable process-adaptive-read-buffering to a
|
||||||
non-nil value (the default), as it will automatically delay reading
|
non-nil value (the default), as it will automatically delay reading
|
||||||
from such processes, to allowing them to produce more output before
|
from such processes, to allowing them to produce more output before
|
||||||
|
|
@ -4317,7 +4318,7 @@ By default `unify-8859-on-encoding-mode' is turned on.
|
||||||
If you want the old behavior, set selection-coding-system to
|
If you want the old behavior, set selection-coding-system to
|
||||||
compound-text, which may be significantly more efficient. Using
|
compound-text, which may be significantly more efficient. Using
|
||||||
compound-text-with-extensions seems to be necessary only for decoding
|
compound-text-with-extensions seems to be necessary only for decoding
|
||||||
text from applications under XFree86 4.2, whose behaviour is actually
|
text from applications under XFree86 4.2, whose behavior is actually
|
||||||
contrary to the compound text specification.
|
contrary to the compound text specification.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
3
etc/TODO
3
etc/TODO
|
|
@ -24,6 +24,9 @@ to the FSF.
|
||||||
It should not generate :require. Or :require in defcustom
|
It should not generate :require. Or :require in defcustom
|
||||||
should not be recorded in the user's custom-set-variables call.
|
should not be recorded in the user's custom-set-variables call.
|
||||||
|
|
||||||
|
** The buttons at the top of a custom buffer should not omit
|
||||||
|
variables whose values are currently hidden.
|
||||||
|
|
||||||
* Important features:
|
* Important features:
|
||||||
|
|
||||||
** Provide user-friendly ways to list all available font families,
|
** Provide user-friendly ways to list all available font families,
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ function edit ()
|
||||||
if [ -n "${windowsys:+set}" ]; then
|
if [ -n "${windowsys:+set}" ]; then
|
||||||
# Do not just test if these files are sockets. On some systems
|
# Do not just test if these files are sockets. On some systems
|
||||||
# ordinary files or fifos are used instead. Just see if they exist.
|
# ordinary files or fifos are used instead. Just see if they exist.
|
||||||
if [ -e "${HOME}/.emacs_server" -o -e "/tmp/esrv${UID}-"* ]; then
|
if [ -e "${HOME}/.emacs_server" -o -e "/tmp/emacs${UID}/server" ]; then
|
||||||
emacsclient "$@"
|
emacsclient "$@"
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
||||||
|
2005-02-04 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
* movemail.c (fatal): Accept third parameter and pass down to
|
||||||
|
error.
|
||||||
|
(pfatal_with_name): Pass error string as format parameter instead
|
||||||
|
of as part of format string.
|
||||||
|
(pfatal_and_delete): Likewise.
|
||||||
|
(main): Adjust call to fatal.
|
||||||
|
(xmalloc): Likewise.
|
||||||
|
|
||||||
2005-01-29 Richard M. Stallman <rms@gnu.org>
|
2005-01-29 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
* movemail.c (popmail): Don't use Errmsg as format string.
|
* movemail.c (popmail): Don't use Errmsg as format string.
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,7 @@ main (argc, argv)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (*outname == 0)
|
if (*outname == 0)
|
||||||
fatal ("Destination file name is empty", 0);
|
fatal ("Destination file name is empty", 0, 0);
|
||||||
|
|
||||||
/* Check access to output file. */
|
/* Check access to output file. */
|
||||||
if (access (outname, F_OK) == 0 && access (outname, W_OK) != 0)
|
if (access (outname, F_OK) == 0 && access (outname, W_OK) != 0)
|
||||||
|
|
@ -601,12 +601,12 @@ mail_spool_name (inname)
|
||||||
/* Print error message and exit. */
|
/* Print error message and exit. */
|
||||||
|
|
||||||
void
|
void
|
||||||
fatal (s1, s2)
|
fatal (s1, s2, s3)
|
||||||
char *s1, *s2;
|
char *s1, *s2, *s3;
|
||||||
{
|
{
|
||||||
if (delete_lockname)
|
if (delete_lockname)
|
||||||
unlink (delete_lockname);
|
unlink (delete_lockname);
|
||||||
error (s1, s2, 0);
|
error (s1, s2, s3);
|
||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -631,17 +631,16 @@ void
|
||||||
pfatal_with_name (name)
|
pfatal_with_name (name)
|
||||||
char *name;
|
char *name;
|
||||||
{
|
{
|
||||||
char *s = concat ("", strerror (errno), " for %s");
|
fatal ("%s for %s", strerror (errno), name);
|
||||||
fatal (s, name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
pfatal_and_delete (name)
|
pfatal_and_delete (name)
|
||||||
char *name;
|
char *name;
|
||||||
{
|
{
|
||||||
char *s = concat ("", strerror (errno), " for %s");
|
char *s = strerror (errno);
|
||||||
unlink (name);
|
unlink (name);
|
||||||
fatal (s, name);
|
fatal ("%s for %s", s, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */
|
/* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */
|
||||||
|
|
@ -669,7 +668,7 @@ xmalloc (size)
|
||||||
{
|
{
|
||||||
long *result = (long *) malloc (size);
|
long *result = (long *) malloc (size);
|
||||||
if (!result)
|
if (!result)
|
||||||
fatal ("virtual memory exhausted", 0);
|
fatal ("virtual memory exhausted", 0, 0);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
122
lisp/ChangeLog
122
lisp/ChangeLog
|
|
@ -1,3 +1,107 @@
|
||||||
|
2005-02-05 Arne_J,Ax(Brgensen <arne@arnested.dk> (tiny change)
|
||||||
|
|
||||||
|
* net/ldap.el (ldap-search-internal): Support attributes with
|
||||||
|
optional descriptions separated by a semi-colon, as in
|
||||||
|
"userCertificate;binary".
|
||||||
|
|
||||||
|
2005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||||
|
|
||||||
|
* x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags
|
||||||
|
isn't a cons (i.e. the version is 0).
|
||||||
|
|
||||||
|
2005-02-05 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* help.el (help-for-help): Doc fix.
|
||||||
|
|
||||||
|
2005-02-05 Nick Roberts <nickrob@snap.net.nz>
|
||||||
|
|
||||||
|
* progmodes/gdb-ui.el: Update copyright. Put GDB-Frames before
|
||||||
|
GDB-Windows on the menu-bar as this works better.
|
||||||
|
|
||||||
|
2005-02-04 Jay Belanger <belanger@truman.edu>
|
||||||
|
|
||||||
|
* calc/calc-embed.el (calc-embedded-update): Don't put in
|
||||||
|
unnecessary newlines. Adjust the end of formula marker.
|
||||||
|
|
||||||
|
* calc/calc-lang.el (math-latex-parse-frac): Don't use arguments.
|
||||||
|
(math-latex-parse-two-args): New function.
|
||||||
|
|
||||||
|
2005-02-03 Lute Kamstra <lute@gnu.org>
|
||||||
|
|
||||||
|
* help-fns.el (help-with-tutorial): Make sure that users cannot
|
||||||
|
remove the entire text of the tutorial by means of `undo'.
|
||||||
|
|
||||||
|
2005-02-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* textmodes/ispell.el (ispell-internal-change-dictionary): Fix problem
|
||||||
|
in recent changes, where the ispell process was repeatedly
|
||||||
|
killed & restarted.
|
||||||
|
|
||||||
|
* international/mule-cmds.el (set-locale-environment): Set file-name
|
||||||
|
coding system to utf-8 on Darwin systems.
|
||||||
|
(set-default-coding-systems): Don't set default-file-name-coding-system
|
||||||
|
on Darwin systems.
|
||||||
|
|
||||||
|
2005-02-03 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
|
* hi-lock.el (hi-lock-mode): Turning on Hi-Lock turns on Font-Lock.
|
||||||
|
|
||||||
|
2005-02-03 Matt Hodges <MPHodges@member.fsf.org>
|
||||||
|
|
||||||
|
* faces.el (list-faces-display): Add optional argument.
|
||||||
|
|
||||||
|
2005-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* font-core.el (font-lock-default-function): Handle the rare case where
|
||||||
|
only font-lock-keywords is set.
|
||||||
|
|
||||||
|
2005-02-02 Kenichi Handa <handa@m17n.org>
|
||||||
|
|
||||||
|
* international/characters.el: Cancel previous change for
|
||||||
|
I-WITH-DOT-ABOVE and DOTLESS-i.
|
||||||
|
|
||||||
|
* international/latin-5.el: Cancel previous change.
|
||||||
|
|
||||||
|
2005-02-02 Nick Roberts <nickrob@snap.net.nz>
|
||||||
|
|
||||||
|
* progmodes/gud.el: Correction to syntax in gud-menu-map.
|
||||||
|
|
||||||
|
2005-02-02 Kenichi Handa <handa@m17n.org>
|
||||||
|
|
||||||
|
* international/latin-5.el (tbl): Setup cases of I-WITH-DOT-ABOVE,
|
||||||
|
DOTLESS-i.
|
||||||
|
|
||||||
|
* international/characters.el: Setup cases of GREEK-FINAL-SIGMA,
|
||||||
|
Y-WITH-DIAERESIS, I-WITH-DOT-ABOVE, DOTLESS-i.
|
||||||
|
|
||||||
|
* case-table.el (get-upcase-table): New function.
|
||||||
|
(copy-case-table): Copy upcaes table too if non-nil.
|
||||||
|
(set-case-syntax-delims): Maintain upcase table too.
|
||||||
|
(set-case-syntax-pair): Likewise.
|
||||||
|
(set-upcase-syntax, set-downcase-syntax): New functions.
|
||||||
|
(set-case-syntax): Maintain upcase table too.
|
||||||
|
|
||||||
|
2005-02-02 Nick Roberts <nickrob@snap.net.nz>
|
||||||
|
|
||||||
|
* progmodes/gdb-ui.el: (gdb-goto-info): Delete.
|
||||||
|
|
||||||
|
* progmodes/gud.el (gud-goto-info): New function.
|
||||||
|
(gud-tool-bar-map): Use correct icon.
|
||||||
|
|
||||||
|
2005-02-01 Thien-Thi Nguyen <ttn@gnu.org>
|
||||||
|
|
||||||
|
* emacs-lisp/lisp-mode.el (lisp-indent-function): Fix bug:
|
||||||
|
When delegating, order args in the funcall correctly.
|
||||||
|
|
||||||
|
2005-02-01 Thien-Thi Nguyen <ttn@gnu.org>
|
||||||
|
|
||||||
|
* emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix.
|
||||||
|
|
||||||
|
2005-02-01 Carsten Dominik <dominik@science.uva.nl>
|
||||||
|
|
||||||
|
* textmodes/reftex.el (reftex-access-scan-info): Error out in a
|
||||||
|
buffer not visiting a file.
|
||||||
|
|
||||||
2005-01-31 Jay Belanger <belanger@truman.edu>
|
2005-01-31 Jay Belanger <belanger@truman.edu>
|
||||||
|
|
||||||
* calc/calc-embed.el (calc-embedded-find-bounds): Set the formula
|
* calc/calc-embed.el (calc-embedded-find-bounds): Set the formula
|
||||||
|
|
@ -111,7 +215,7 @@
|
||||||
|
|
||||||
2005-01-29 Richard M. Stallman <rms@gnu.org>
|
2005-01-29 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
* ses.el (undo-more): defadvice deleted.
|
* ses.el (undo-more): Delete defadvice.
|
||||||
(ses-begin-change): Doc fix.
|
(ses-begin-change): Doc fix.
|
||||||
|
|
||||||
* dired.el (dired-mode-map): Remap `undo' and `advertised-undo'
|
* dired.el (dired-mode-map): Remap `undo' and `advertised-undo'
|
||||||
|
|
@ -129,7 +233,7 @@
|
||||||
|
|
||||||
* simple.el (undo): Fix the test for continuing a series of undos.
|
* simple.el (undo): Fix the test for continuing a series of undos.
|
||||||
(undo-more): Set pending-undo-list to t when we reach end.
|
(undo-more): Set pending-undo-list to t when we reach end.
|
||||||
(pending-undo-list): defvar moved up.
|
(pending-undo-list): Move up defvar.
|
||||||
|
|
||||||
* wid-edit.el (widget-button-click):
|
* wid-edit.el (widget-button-click):
|
||||||
Shorten the range of the track-mouse binding.
|
Shorten the range of the track-mouse binding.
|
||||||
|
|
@ -154,6 +258,20 @@
|
||||||
(gdb-assembler-custom): Update to recognise breakpoint information
|
(gdb-assembler-custom): Update to recognise breakpoint information
|
||||||
added on 2005-01-19.
|
added on 2005-01-19.
|
||||||
|
|
||||||
|
2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* progmodes/scheme.el (scheme-mode-variables): Set comment-add.
|
||||||
|
(dsssl-mode): Use define-derived-mode.
|
||||||
|
(scheme-mode-initialize): Remove.
|
||||||
|
(scheme-mode): Use run-mode-hooks.
|
||||||
|
|
||||||
|
* cus-edit.el (customize-group-other-window)
|
||||||
|
(custom-buffer-create-other-window): Don't override special-display-*.
|
||||||
|
(custom-mode-map): Make it dense.
|
||||||
|
|
||||||
|
* emacs-lisp/lisp-mode.el (eval-defun-1): Make sure `defvar' always
|
||||||
|
sets the default value.
|
||||||
|
|
||||||
2005-01-28 Eli Zaretskii <eliz@gnu.org>
|
2005-01-28 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
* descr-text.el: Add more keywords.
|
* descr-text.el: Add more keywords.
|
||||||
|
|
|
||||||
|
|
@ -967,19 +967,24 @@ The command \\[yank] can retrieve it from there."
|
||||||
(calc-embedded-original-buffer t info)
|
(calc-embedded-original-buffer t info)
|
||||||
(or (equal str (aref info 6))
|
(or (equal str (aref info 6))
|
||||||
(let ((delta (- (aref info 5) (aref info 3)))
|
(let ((delta (- (aref info 5) (aref info 3)))
|
||||||
|
(adjbot 0)
|
||||||
(buffer-read-only nil))
|
(buffer-read-only nil))
|
||||||
(goto-char (aref info 2))
|
(goto-char (aref info 2))
|
||||||
(delete-region (point) (aref info 3))
|
(delete-region (point) (aref info 3))
|
||||||
(and (> (nth 1 entry) (1+ extra))
|
(and (> (nth 1 entry) (1+ extra))
|
||||||
(aref info 7)
|
(aref info 7)
|
||||||
(progn
|
(progn
|
||||||
(aset info 7 nil)
|
|
||||||
(delete-horizontal-space)
|
(delete-horizontal-space)
|
||||||
(insert "\n\n")
|
(if (looking-at "\n")
|
||||||
(delete-horizontal-space)
|
;; If there's a newline there, don't add one
|
||||||
(backward-char 1)))
|
(insert "\n")
|
||||||
|
(insert "\n\n")
|
||||||
|
(delete-horizontal-space)
|
||||||
|
(setq adjbot 1)
|
||||||
|
; (setq delta (1+ delta))
|
||||||
|
(backward-char 1))))
|
||||||
(insert str)
|
(insert str)
|
||||||
(set-marker (aref info 3) (point))
|
(set-marker (aref info 3) (+ (point) adjbot))
|
||||||
(set-marker (aref info 5) (+ (point) delta))
|
(set-marker (aref info 5) (+ (point) delta))
|
||||||
(aset info 6 str))))))
|
(aset info 6 str))))))
|
||||||
(if (eq (car-safe val) 'calcFunc-evalto)
|
(if (eq (car-safe val) 'calcFunc-evalto)
|
||||||
|
|
|
||||||
|
|
@ -469,12 +469,12 @@
|
||||||
(put 'latex 'math-function-table
|
(put 'latex 'math-function-table
|
||||||
(append
|
(append
|
||||||
(get 'tex 'math-function-table)
|
(get 'tex 'math-function-table)
|
||||||
'(( \\frac . (math-latex-parse-frac /))
|
'(( \\frac . (math-latex-parse-frac))
|
||||||
( \\tfrac . (math-latex-parse-frac /))
|
( \\tfrac . (math-latex-parse-frac))
|
||||||
( \\dfrac . (math-latex-parse-frac /))
|
( \\dfrac . (math-latex-parse-frac))
|
||||||
( \\binom . (math-latex-parse-frac calcFunc-choose))
|
( \\binom . (math-latex-parse-two-args calcFunc-choose))
|
||||||
( \\tbinom . (math-latex-parse-frac calcFunc-choose))
|
( \\tbinom . (math-latex-parse-two-args calcFunc-choose))
|
||||||
( \\dbinom . (math-latex-parse-frac calcFunc-choose))
|
( \\dbinom . (math-latex-parse-two-args calcFunc-choose))
|
||||||
( \\phi . calcFunc-totient )
|
( \\phi . calcFunc-totient )
|
||||||
( \\mu . calcFunc-moebius ))))
|
( \\mu . calcFunc-moebius ))))
|
||||||
|
|
||||||
|
|
@ -487,12 +487,23 @@
|
||||||
|
|
||||||
(put 'latex 'math-complex-format 'i)
|
(put 'latex 'math-complex-format 'i)
|
||||||
|
|
||||||
|
|
||||||
(defun math-latex-parse-frac (f val)
|
(defun math-latex-parse-frac (f val)
|
||||||
(let (numer denom)
|
(let (numer denom)
|
||||||
(setq args (math-read-expr-list))
|
(setq numer (car (math-read-expr-list)))
|
||||||
(math-read-token)
|
(math-read-token)
|
||||||
(setq margs (math-read-factor))
|
(setq denom (math-read-factor))
|
||||||
(list (nth 2 f) (car args) margs)))
|
(if (and (Math-num-integerp numer)
|
||||||
|
(Math-num-integerp denom))
|
||||||
|
(list 'frac numer denom)
|
||||||
|
(list '/ numer denom))))
|
||||||
|
|
||||||
|
(defun math-latex-parse-two-args (f val)
|
||||||
|
(let (first second)
|
||||||
|
(setq first (car (math-read-expr-list)))
|
||||||
|
(math-read-token)
|
||||||
|
(setq second (math-read-factor))
|
||||||
|
(list (nth 2 f) first second)))
|
||||||
|
|
||||||
(defun math-latex-print-frac (a fn)
|
(defun math-latex-print-frac (a fn)
|
||||||
(list 'horiz (nth 1 fn) "{" (math-compose-expr (nth 1 a) -1)
|
(list 'horiz (nth 1 fn) "{" (math-compose-expr (nth 1 a) -1)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; case-table.el --- code to extend the character set and support case tables
|
;;; case-table.el --- code to extend the character set and support case tables
|
||||||
|
|
||||||
;; Copyright (C) 1988, 1994 Free Software Foundation, Inc.
|
;; Copyright (C) 1988, 1994, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Howard Gayle
|
;; Author: Howard Gayle
|
||||||
;; Maintainer: FSF
|
;; Maintainer: FSF
|
||||||
|
|
@ -60,11 +60,26 @@
|
||||||
(describe-vector description)
|
(describe-vector description)
|
||||||
(help-mode)))))
|
(help-mode)))))
|
||||||
|
|
||||||
|
(defun get-upcase-table (case-table)
|
||||||
|
"Return the upcase table of CASE-TABLE."
|
||||||
|
(or (char-table-extra-slot case-table 0)
|
||||||
|
;; Setup all extra slots of CASE-TABLE by temporarily selecting
|
||||||
|
;; it as the standard case table.
|
||||||
|
(let ((old (standard-case-table)))
|
||||||
|
(unwind-protect
|
||||||
|
(progn
|
||||||
|
(set-standard-case-table case-table)
|
||||||
|
(char-table-extra-slot case-table 0))
|
||||||
|
(or (eq case-table old)
|
||||||
|
(set-standard-case-table old))))))
|
||||||
|
|
||||||
(defun copy-case-table (case-table)
|
(defun copy-case-table (case-table)
|
||||||
(let ((copy (copy-sequence case-table)))
|
(let ((copy (copy-sequence case-table))
|
||||||
;; Clear out the extra slots so that they will be
|
(up (char-table-extra-slot case-table 0)))
|
||||||
;; recomputed from the main (downcase) table.
|
;; Clear out the extra slots (except for upcase table) so that
|
||||||
(set-char-table-extra-slot copy 0 nil)
|
;; they will be recomputed from the main (downcase) table.
|
||||||
|
(if up
|
||||||
|
(set-char-table-extra-slot copy 0 (copy-sequence up)))
|
||||||
(set-char-table-extra-slot copy 1 nil)
|
(set-char-table-extra-slot copy 1 nil)
|
||||||
(set-char-table-extra-slot copy 2 nil)
|
(set-char-table-extra-slot copy 2 nil)
|
||||||
copy))
|
copy))
|
||||||
|
|
@ -77,9 +92,11 @@ It also modifies `standard-syntax-table' to
|
||||||
indicate left and right delimiters."
|
indicate left and right delimiters."
|
||||||
(aset table l l)
|
(aset table l l)
|
||||||
(aset table r r)
|
(aset table r r)
|
||||||
|
(let ((up (get-upcase-table table)))
|
||||||
|
(aset up l l)
|
||||||
|
(aset up r r))
|
||||||
;; Clear out the extra slots so that they will be
|
;; Clear out the extra slots so that they will be
|
||||||
;; recomputed from the main (downcase) table.
|
;; recomputed from the main (downcase) table and upcase table.
|
||||||
(set-char-table-extra-slot table 0 nil)
|
|
||||||
(set-char-table-extra-slot table 1 nil)
|
(set-char-table-extra-slot table 1 nil)
|
||||||
(set-char-table-extra-slot table 2 nil)
|
(set-char-table-extra-slot table 2 nil)
|
||||||
(modify-syntax-entry l (concat "(" (char-to-string r) " ")
|
(modify-syntax-entry l (concat "(" (char-to-string r) " ")
|
||||||
|
|
@ -110,9 +127,10 @@ that will be used as the downcase part of a case table.
|
||||||
It also modifies `standard-syntax-table'.
|
It also modifies `standard-syntax-table'.
|
||||||
SYNTAX should be \" \", \"w\", \".\" or \"_\"."
|
SYNTAX should be \" \", \"w\", \".\" or \"_\"."
|
||||||
(aset table c c)
|
(aset table c c)
|
||||||
|
(let ((up (get-upcase-table table)))
|
||||||
|
(aset up c c))
|
||||||
;; Clear out the extra slots so that they will be
|
;; Clear out the extra slots so that they will be
|
||||||
;; recomputed from the main (downcase) table.
|
;; recomputed from the main (downcase) table and upcase table.
|
||||||
(set-char-table-extra-slot table 0 nil)
|
|
||||||
(set-char-table-extra-slot table 1 nil)
|
(set-char-table-extra-slot table 1 nil)
|
||||||
(set-char-table-extra-slot table 2 nil)
|
(set-char-table-extra-slot table 2 nil)
|
||||||
(modify-syntax-entry c syntax (standard-syntax-table)))
|
(modify-syntax-entry c syntax (standard-syntax-table)))
|
||||||
|
|
|
||||||
|
|
@ -881,11 +881,11 @@ which has a non-nil property `lisp-indent-function',
|
||||||
that specifies how to do the indentation. The property value can be
|
that specifies how to do the indentation. The property value can be
|
||||||
* `defun', meaning indent `defun'-style;
|
* `defun', meaning indent `defun'-style;
|
||||||
* an integer N, meaning indent the first N arguments specially
|
* an integer N, meaning indent the first N arguments specially
|
||||||
like ordinary function arguments and then indent any further
|
like ordinary function arguments and then indent any further
|
||||||
aruments like a body;
|
arguments like a body;
|
||||||
* a function to call just as this function was called.
|
* a function to call just as this function was called.
|
||||||
If that function returns nil, that means it doesn't specify
|
If that function returns nil, that means it doesn't specify
|
||||||
the indentation.
|
the indentation.
|
||||||
|
|
||||||
This function also returns nil meaning don't specify the indentation."
|
This function also returns nil meaning don't specify the indentation."
|
||||||
(let ((normal-indent (current-column)))
|
(let ((normal-indent (current-column)))
|
||||||
|
|
@ -921,7 +921,7 @@ This function also returns nil meaning don't specify the indentation."
|
||||||
(lisp-indent-specform method state
|
(lisp-indent-specform method state
|
||||||
indent-point normal-indent))
|
indent-point normal-indent))
|
||||||
(method
|
(method
|
||||||
(funcall method state indent-point)))))))
|
(funcall method indent-point state)))))))
|
||||||
|
|
||||||
(defvar lisp-body-indent 2
|
(defvar lisp-body-indent 2
|
||||||
"Number of columns to indent the second line of a `(def...)' form.")
|
"Number of columns to indent the second line of a `(def...)' form.")
|
||||||
|
|
|
||||||
|
|
@ -1143,15 +1143,26 @@ Value is a list (FACE NEW-VALUE) where FACE is the face read
|
||||||
;; conflict with Lucid, which uses that name differently.
|
;; conflict with Lucid, which uses that name differently.
|
||||||
|
|
||||||
(defvar help-xref-stack)
|
(defvar help-xref-stack)
|
||||||
(defun list-faces-display ()
|
(defun list-faces-display (&optional regexp)
|
||||||
"List all faces, using the same sample text in each.
|
"List all faces, using the same sample text in each.
|
||||||
The sample text is a string that comes from the variable
|
The sample text is a string that comes from the variable
|
||||||
`list-faces-sample-text'."
|
`list-faces-sample-text'.
|
||||||
(interactive)
|
|
||||||
|
If REGEXP is non-nil, list only those faces with names matching
|
||||||
|
this regular expression. When called interactively with a prefix
|
||||||
|
arg, prompt for a regular expression."
|
||||||
|
(interactive (list (and current-prefix-arg
|
||||||
|
(read-string "List faces matching regexp: "))))
|
||||||
(let ((faces (sort (face-list) #'string-lessp))
|
(let ((faces (sort (face-list) #'string-lessp))
|
||||||
(face nil)
|
|
||||||
(frame (selected-frame))
|
(frame (selected-frame))
|
||||||
disp-frame window face-name)
|
disp-frame window face-name)
|
||||||
|
(when (> (length regexp) 0)
|
||||||
|
(setq faces
|
||||||
|
(delq nil
|
||||||
|
(mapcar (lambda (f)
|
||||||
|
(when (string-match regexp (symbol-name f))
|
||||||
|
f))
|
||||||
|
faces))))
|
||||||
(with-output-to-temp-buffer "*Faces*"
|
(with-output-to-temp-buffer "*Faces*"
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(set-buffer standard-output)
|
(set-buffer standard-output)
|
||||||
|
|
@ -1164,9 +1175,7 @@ The sample text is a string that comes from the variable
|
||||||
"\\[help-follow] on a face name to customize it\n"
|
"\\[help-follow] on a face name to customize it\n"
|
||||||
"or on its sample text for a description of the face.\n\n")))
|
"or on its sample text for a description of the face.\n\n")))
|
||||||
(setq help-xref-stack nil)
|
(setq help-xref-stack nil)
|
||||||
(while faces
|
(dolist (face faces)
|
||||||
(setq face (car faces))
|
|
||||||
(setq faces (cdr faces))
|
|
||||||
(setq face-name (symbol-name face))
|
(setq face-name (symbol-name face))
|
||||||
(insert (format "%25s " face-name))
|
(insert (format "%25s " face-name))
|
||||||
;; Hyperlink to a customization buffer for the face. Using
|
;; Hyperlink to a customization buffer for the face. Using
|
||||||
|
|
@ -1208,6 +1217,7 @@ The sample text is a string that comes from the variable
|
||||||
(copy-face (car faces) (car faces) frame disp-frame)
|
(copy-face (car faces) (car faces) frame disp-frame)
|
||||||
(setq faces (cdr faces)))))))
|
(setq faces (cdr faces)))))))
|
||||||
|
|
||||||
|
|
||||||
(defun describe-face (face &optional frame)
|
(defun describe-face (face &optional frame)
|
||||||
"Display the properties of face FACE on FRAME.
|
"Display the properties of face FACE on FRAME.
|
||||||
Interactively, FACE defaults to the faces of the character after point
|
Interactively, FACE defaults to the faces of the character after point
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
;;; font-core.el --- Core interface to font-lock
|
;;; font-core.el --- Core interface to font-lock
|
||||||
|
|
||||||
;; Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 1999, 2000, 2001, 02, 2003
|
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||||
;; Free Software Foundation, Inc.
|
;; 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Maintainer: FSF
|
;; Maintainer: FSF
|
||||||
;; Keywords: languages, faces
|
;; Keywords: languages, faces
|
||||||
|
|
@ -202,6 +202,7 @@ this function onto `change-major-mode-hook'."
|
||||||
;; Only do hard work if the mode has specified stuff in
|
;; Only do hard work if the mode has specified stuff in
|
||||||
;; `font-lock-defaults'.
|
;; `font-lock-defaults'.
|
||||||
(when (or font-lock-defaults
|
(when (or font-lock-defaults
|
||||||
|
(and (boundp 'font-lock-keywords) font-lock-keywords)
|
||||||
(cdr (assq major-mode font-lock-defaults-alist)))
|
(cdr (assq major-mode font-lock-defaults-alist)))
|
||||||
(font-lock-mode-internal mode)))
|
(font-lock-mode-internal mode)))
|
||||||
|
|
||||||
|
|
@ -295,6 +296,5 @@ means that Font Lock mode is turned on for buffers in C and C++ modes only."
|
||||||
|
|
||||||
(provide 'font-core)
|
(provide 'font-core)
|
||||||
|
|
||||||
|
;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71
|
||||||
;;; font-core.el ends here
|
;;; font-core.el ends here
|
||||||
|
|
||||||
;;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2005-02-03 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||||
|
|
||||||
|
* gnus-art.el (gnus-mime-inline-part): Show the raw contents if a
|
||||||
|
prefix arg is neither nil nor a number, as info specifies.
|
||||||
|
|
||||||
2005-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
2005-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
* gnus-art.el (gnus-article-mode): Turn off the "\ " non-break space.
|
* gnus-art.el (gnus-article-mode): Turn off the "\ " non-break space.
|
||||||
|
|
|
||||||
|
|
@ -4354,7 +4354,16 @@ are decompressed."
|
||||||
(setq charset
|
(setq charset
|
||||||
(or (cdr (assq arg
|
(or (cdr (assq arg
|
||||||
gnus-summary-show-article-charset-alist))
|
gnus-summary-show-article-charset-alist))
|
||||||
(mm-read-coding-system "Charset: ")))))
|
(mm-read-coding-system "Charset: "))))
|
||||||
|
(t
|
||||||
|
(if (mm-handle-undisplayer handle)
|
||||||
|
(mm-remove-part handle))
|
||||||
|
(setq contents
|
||||||
|
(if (fboundp 'string-to-multibyte)
|
||||||
|
(string-to-multibyte contents)
|
||||||
|
(mapconcat
|
||||||
|
(lambda (ch) (mm-string-as-multibyte (char-to-string ch)))
|
||||||
|
contents "")))))
|
||||||
(forward-line 2)
|
(forward-line 2)
|
||||||
(mm-insert-inline handle
|
(mm-insert-inline handle
|
||||||
(if (and charset
|
(if (and charset
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,7 @@ With ARG, you are asked to choose which language."
|
||||||
(forward-line 1)
|
(forward-line 1)
|
||||||
(newline (- n (/ n 2)))))
|
(newline (- n (/ n 2)))))
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
(setq buffer-undo-list nil)
|
||||||
(set-buffer-modified-p nil))))
|
(set-buffer-modified-p nil))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
|
||||||
20
lisp/help.el
20
lisp/help.el
|
|
@ -186,7 +186,7 @@ If FUNCTION is nil, it applies `message', thus displaying the message."
|
||||||
\(Use SPC or DEL to scroll through this text. Type \\<help-map>\\[help-quit] to exit the Help command.)
|
\(Use SPC or DEL to scroll through this text. Type \\<help-map>\\[help-quit] to exit the Help command.)
|
||||||
|
|
||||||
a command-apropos. Give a substring, and see a list of commands
|
a command-apropos. Give a substring, and see a list of commands
|
||||||
(functions interactively callable) that contain
|
(functions that are interactively callable) that contain
|
||||||
that substring. See also the apropos command.
|
that substring. See also the apropos command.
|
||||||
b describe-bindings. Display table of all key bindings.
|
b describe-bindings. Display table of all key bindings.
|
||||||
c describe-key-briefly. Type a command key sequence;
|
c describe-key-briefly. Type a command key sequence;
|
||||||
|
|
@ -194,24 +194,28 @@ c describe-key-briefly. Type a command key sequence;
|
||||||
C describe-coding-system. This describes either a specific coding system
|
C describe-coding-system. This describes either a specific coding system
|
||||||
(if you type its name) or the coding systems currently in use
|
(if you type its name) or the coding systems currently in use
|
||||||
(if you type just RET).
|
(if you type just RET).
|
||||||
e view-echo-area-messages. Show the `*Messages*' buffer.
|
e view-echo-area-messages. Show the buffer where the echo-area messages
|
||||||
f describe-function. Type a function name and get documentation of it.
|
are stored.
|
||||||
|
f describe-function. Type a function name and get its documentation.
|
||||||
F Info-goto-emacs-command-node. Type a function name;
|
F Info-goto-emacs-command-node. Type a function name;
|
||||||
it takes you to the Info node for that command.
|
it takes you to the on-line manual's section that describes
|
||||||
|
the command.
|
||||||
h Display the HELLO file which illustrates various scripts.
|
h Display the HELLO file which illustrates various scripts.
|
||||||
i info. The info documentation reader.
|
i info. The Info documentation reader: read on-line manuals.
|
||||||
I describe-input-method. Describe a specific input method (if you type
|
I describe-input-method. Describe a specific input method (if you type
|
||||||
its name) or the current input method (if you type just RET).
|
its name) or the current input method (if you type just RET).
|
||||||
k describe-key. Type a command key sequence;
|
k describe-key. Type a command key sequence;
|
||||||
it displays the full documentation.
|
it displays the full documentation for that key sequence.
|
||||||
K Info-goto-emacs-key-command-node. Type a command key sequence;
|
K Info-goto-emacs-key-command-node. Type a command key sequence;
|
||||||
it takes you to the Info node for the command bound to that key.
|
it takes you to the on-line manual's section that describes
|
||||||
|
the command bound to that key.
|
||||||
l view-lossage. Show last 100 characters you typed.
|
l view-lossage. Show last 100 characters you typed.
|
||||||
L describe-language-environment. This describes either a
|
L describe-language-environment. This describes either a
|
||||||
specific language environment (if you type its name)
|
specific language environment (if you type its name)
|
||||||
or the current language environment (if you type just RET).
|
or the current language environment (if you type just RET).
|
||||||
m describe-mode. Print documentation of current minor modes,
|
m describe-mode. Display documentation of current minor modes,
|
||||||
and the current major mode, including their special commands.
|
and the current major mode, including their special commands.
|
||||||
|
n view-emacs-news. Display news of recent Emacs changes.
|
||||||
p finder-by-keyword. Find packages matching a given topic keyword.
|
p finder-by-keyword. Find packages matching a given topic keyword.
|
||||||
s describe-syntax. Display contents of syntax table, plus explanations.
|
s describe-syntax. Display contents of syntax table, plus explanations.
|
||||||
S info-lookup-symbol. Display the definition of a specific symbol
|
S info-lookup-symbol. Display the definition of a specific symbol
|
||||||
|
|
|
||||||
|
|
@ -294,6 +294,10 @@ is found. A mode is excluded if it's in the list `hi-lock-exclude-modes'."
|
||||||
(when (and (not hi-lock-mode-prev) hi-lock-mode)
|
(when (and (not hi-lock-mode-prev) hi-lock-mode)
|
||||||
(add-hook 'find-file-hooks 'hi-lock-find-file-hook)
|
(add-hook 'find-file-hooks 'hi-lock-find-file-hook)
|
||||||
(add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook)
|
(add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook)
|
||||||
|
(when (eq nil font-lock-defaults)
|
||||||
|
(setq font-lock-defaults '(nil)))
|
||||||
|
(unless font-lock-mode
|
||||||
|
(font-lock-mode 1))
|
||||||
(define-key-after menu-bar-edit-menu [hi-lock]
|
(define-key-after menu-bar-edit-menu [hi-lock]
|
||||||
(cons "Regexp Highlighting" hi-lock-menu))
|
(cons "Regexp Highlighting" hi-lock-menu))
|
||||||
(dolist (buffer (buffer-list))
|
(dolist (buffer (buffer-list))
|
||||||
|
|
|
||||||
|
|
@ -332,7 +332,8 @@ This also sets the following values:
|
||||||
(or (local-variable-p 'buffer-file-coding-system buffer)
|
(or (local-variable-p 'buffer-file-coding-system buffer)
|
||||||
(ucs-set-table-for-input buffer))))
|
(ucs-set-table-for-input buffer))))
|
||||||
|
|
||||||
(if default-enable-multibyte-characters
|
(if (and default-enable-multibyte-characters (not (eq system-type 'darwin)))
|
||||||
|
;; The file-name coding system on Darwin systems is always utf-8.
|
||||||
(setq default-file-name-coding-system coding-system))
|
(setq default-file-name-coding-system coding-system))
|
||||||
;; If coding-system is nil, honor that on MS-DOS as well, so
|
;; If coding-system is nil, honor that on MS-DOS as well, so
|
||||||
;; that they could reset the terminal coding system.
|
;; that they could reset the terminal coding system.
|
||||||
|
|
@ -1647,6 +1648,8 @@ The default status is as follows:
|
||||||
|
|
||||||
(set-default-coding-systems nil)
|
(set-default-coding-systems nil)
|
||||||
(setq default-sendmail-coding-system 'iso-latin-1)
|
(setq default-sendmail-coding-system 'iso-latin-1)
|
||||||
|
;; On Darwin systems, this should be utf-8, but when this file is loaded
|
||||||
|
;; utf-8 is not yet defined, so we set it in set-locale-environment instead.
|
||||||
(setq default-file-name-coding-system 'iso-latin-1)
|
(setq default-file-name-coding-system 'iso-latin-1)
|
||||||
;; Preserve eol-type from existing default-process-coding-systems.
|
;; Preserve eol-type from existing default-process-coding-systems.
|
||||||
;; On non-unix-like systems in particular, these may have been set
|
;; On non-unix-like systems in particular, these may have been set
|
||||||
|
|
@ -2411,6 +2414,10 @@ system codeset `%s' for this locale." coding-system codeset))))))))
|
||||||
(set-keyboard-coding-system code-page-coding)
|
(set-keyboard-coding-system code-page-coding)
|
||||||
(set-terminal-coding-system code-page-coding))))
|
(set-terminal-coding-system code-page-coding))))
|
||||||
|
|
||||||
|
;; On Darwin, file names are always encoded in utf-8, no matter the locale.
|
||||||
|
(when (eq system-type 'darwin)
|
||||||
|
(setq default-file-name-coding-system 'utf-8))
|
||||||
|
|
||||||
;; Default to A4 paper if we're not in a C, POSIX or US locale.
|
;; Default to A4 paper if we're not in a C, POSIX or US locale.
|
||||||
;; (See comments in Flocale_info.)
|
;; (See comments in Flocale_info.)
|
||||||
(let ((locale locale)
|
(let ((locale locale)
|
||||||
|
|
|
||||||
|
|
@ -579,9 +579,9 @@ an alist of attribute/value pairs."
|
||||||
(end-of-line)
|
(end-of-line)
|
||||||
(point))))
|
(point))))
|
||||||
(forward-line 1)
|
(forward-line 1)
|
||||||
(while (looking-at "^\\(\\w*\\)[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$")
|
(while (looking-at "^\\(\\w*\\)\\(;\\w*\\)?[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$")
|
||||||
(setq name (match-string 1)
|
(setq name (match-string 1)
|
||||||
value (match-string 3))
|
value (match-string 4))
|
||||||
;; Need to handle file:///D:/... as generated by OpenLDAP
|
;; Need to handle file:///D:/... as generated by OpenLDAP
|
||||||
;; on DOS/Windows as local files.
|
;; on DOS/Windows as local files.
|
||||||
(if (and (memq system-type '(windows-nt ms-dos))
|
(if (and (memq system-type '(windows-nt ms-dos))
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
;; Maintainer: FSF
|
;; Maintainer: FSF
|
||||||
;; Keywords: unix, tools
|
;; Keywords: unix, tools
|
||||||
|
|
||||||
;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
|
;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
@ -289,13 +289,6 @@ detailed description of this mode.
|
||||||
`(lambda () (gdb-var-create-handler ,expr))))))
|
`(lambda () (gdb-var-create-handler ,expr))))))
|
||||||
(select-window (get-buffer-window gud-comint-buffer 0)))
|
(select-window (get-buffer-window gud-comint-buffer 0)))
|
||||||
|
|
||||||
(defun gdb-goto-info ()
|
|
||||||
"Go to Emacs info node: GDB Graphical Interface."
|
|
||||||
(interactive)
|
|
||||||
(select-frame (make-frame))
|
|
||||||
(require 'info)
|
|
||||||
(Info-goto-node "(emacs)GDB Graphical Interface"))
|
|
||||||
|
|
||||||
(defconst gdb-var-create-regexp
|
(defconst gdb-var-create-regexp
|
||||||
"name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"")
|
"name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"")
|
||||||
|
|
||||||
|
|
@ -1897,18 +1890,6 @@ corresponding to the mode line clicked."
|
||||||
|
|
||||||
;;; Shared keymap initialization:
|
;;; Shared keymap initialization:
|
||||||
|
|
||||||
(let ((menu (make-sparse-keymap "GDB-Frames")))
|
|
||||||
(define-key gud-menu-map [frames]
|
|
||||||
`(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
|
|
||||||
(define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
|
|
||||||
(define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
|
|
||||||
(define-key menu [memory] '("Memory" . gdb-frame-memory-buffer))
|
|
||||||
(define-key menu [assembler] '("Machine" . gdb-frame-assembler-buffer))
|
|
||||||
(define-key menu [registers] '("Registers" . gdb-frame-registers-buffer))
|
|
||||||
(define-key menu [locals] '("Locals" . gdb-frame-locals-buffer))
|
|
||||||
(define-key menu [frames] '("Stack" . gdb-frame-stack-buffer))
|
|
||||||
(define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer)))
|
|
||||||
|
|
||||||
(let ((menu (make-sparse-keymap "GDB-Windows")))
|
(let ((menu (make-sparse-keymap "GDB-Windows")))
|
||||||
(define-key gud-menu-map [displays]
|
(define-key gud-menu-map [displays]
|
||||||
`(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba)))
|
`(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba)))
|
||||||
|
|
@ -1921,15 +1902,27 @@ corresponding to the mode line clicked."
|
||||||
(define-key menu [frames] '("Stack" . gdb-display-stack-buffer))
|
(define-key menu [frames] '("Stack" . gdb-display-stack-buffer))
|
||||||
(define-key menu [breakpoints] '("Breakpoints" . gdb-display-breakpoints-buffer)))
|
(define-key menu [breakpoints] '("Breakpoints" . gdb-display-breakpoints-buffer)))
|
||||||
|
|
||||||
|
(let ((menu (make-sparse-keymap "GDB-Frames")))
|
||||||
|
(define-key gud-menu-map [frames]
|
||||||
|
`(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
|
||||||
|
(define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
|
||||||
|
(define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
|
||||||
|
(define-key menu [memory] '("Memory" . gdb-frame-memory-buffer))
|
||||||
|
(define-key menu [assembler] '("Machine" . gdb-frame-assembler-buffer))
|
||||||
|
(define-key menu [registers] '("Registers" . gdb-frame-registers-buffer))
|
||||||
|
(define-key menu [locals] '("Locals" . gdb-frame-locals-buffer))
|
||||||
|
(define-key menu [frames] '("Stack" . gdb-frame-stack-buffer))
|
||||||
|
(define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer)))
|
||||||
|
|
||||||
(let ((menu (make-sparse-keymap "GDB-UI")))
|
(let ((menu (make-sparse-keymap "GDB-UI")))
|
||||||
(define-key gud-menu-map [ui]
|
(define-key gud-menu-map [ui]
|
||||||
`(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba)))
|
`(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba)))
|
||||||
(define-key menu [gdb-restore-windows]
|
(define-key menu [gdb-restore-windows]
|
||||||
'("Restore window layout" . gdb-restore-windows))
|
'("Restore Window Layout" . gdb-restore-windows))
|
||||||
(define-key menu [gdb-many-windows]
|
(define-key menu [gdb-many-windows]
|
||||||
(menu-bar-make-toggle gdb-many-windows gdb-many-windows
|
(menu-bar-make-toggle gdb-many-windows gdb-many-windows
|
||||||
"Display other windows" "Many Windows %s"
|
"Display Other Windows" "Many windows %s"
|
||||||
"Display locals, stack and breakpoint information")))
|
"Toggle display of locals, stack and breakpoint information")))
|
||||||
|
|
||||||
(defun gdb-frame-gdb-buffer ()
|
(defun gdb-frame-gdb-buffer ()
|
||||||
"Display GUD buffer in a new frame."
|
"Display GUD buffer in a new frame."
|
||||||
|
|
|
||||||
|
|
@ -91,9 +91,17 @@ If SOFT is non-nil, returns nil if the symbol doesn't already exist."
|
||||||
"Non-nil if debuggee is running.
|
"Non-nil if debuggee is running.
|
||||||
Used to grey out relevant toolbar icons.")
|
Used to grey out relevant toolbar icons.")
|
||||||
|
|
||||||
|
(defun gud-goto-info ()
|
||||||
|
"Go to relevant Emacs info node."
|
||||||
|
(interactive)
|
||||||
|
(select-frame (make-frame))
|
||||||
|
(require 'info)
|
||||||
|
(if (memq gud-minor-mode '(gdbmi gdba))
|
||||||
|
(Info-goto-node "(emacs)GDB Graphical Interface")
|
||||||
|
(Info-goto-node "(emacs)Debuggers")))
|
||||||
|
|
||||||
(easy-mmode-defmap gud-menu-map
|
(easy-mmode-defmap gud-menu-map
|
||||||
'(([help] menu-item "Help" gdb-goto-info
|
'(([help] "Info" . gud-goto-info)
|
||||||
:enable (memq gud-minor-mode '(gdbmi gdba)))
|
|
||||||
([refresh] "Refresh" . gud-refresh)
|
([refresh] "Refresh" . gud-refresh)
|
||||||
([run] menu-item "Run" gud-run
|
([run] menu-item "Run" gud-run
|
||||||
:enable (and (not gud-running)
|
:enable (and (not gud-running)
|
||||||
|
|
@ -172,7 +180,7 @@ Used to grey out relevant toolbar icons.")
|
||||||
(gud-nexti . "gud-ni")
|
(gud-nexti . "gud-ni")
|
||||||
(gud-up . "gud-up")
|
(gud-up . "gud-up")
|
||||||
(gud-down . "gud-down")
|
(gud-down . "gud-down")
|
||||||
(gdb-goto-info . "help"))
|
(gud-goto-info . "info"))
|
||||||
map)
|
map)
|
||||||
(tool-bar-local-item-from-menu
|
(tool-bar-local-item-from-menu
|
||||||
(car x) (cdr x) map gud-minor-mode-map)))))
|
(car x) (cdr x) map gud-minor-mode-map)))))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2
|
;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2
|
||||||
|
|
||||||
;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
|
||||||
|
;; Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Ken Stevens <k.stevens@ieee.org>
|
;; Author: Ken Stevens <k.stevens@ieee.org>
|
||||||
;; Maintainer: Ken Stevens <k.stevens@ieee.org>
|
;; Maintainer: Ken Stevens <k.stevens@ieee.org>
|
||||||
|
|
@ -2419,7 +2420,7 @@ With prefix argument, set the default dictionary."
|
||||||
"Update the dictionary actually used by Ispell.
|
"Update the dictionary actually used by Ispell.
|
||||||
This may kill the Ispell process; if so,
|
This may kill the Ispell process; if so,
|
||||||
a new one will be started when needed."
|
a new one will be started when needed."
|
||||||
(let ((dict (or ispell-local-dictionary ispell-dictionary "default")))
|
(let ((dict (or ispell-local-dictionary ispell-dictionary)))
|
||||||
(unless (equal ispell-current-dictionary dict)
|
(unless (equal ispell-current-dictionary dict)
|
||||||
(setq ispell-current-dictionary dict)
|
(setq ispell-current-dictionary dict)
|
||||||
(ispell-kill-ispell t))))
|
(ispell-kill-ispell t))))
|
||||||
|
|
|
||||||
|
|
@ -1228,6 +1228,11 @@ This enforces rescanning the buffer on next use."
|
||||||
;; But, when RESCAN is -1, don't rescan even if docstruct is empty.
|
;; But, when RESCAN is -1, don't rescan even if docstruct is empty.
|
||||||
;; When FILE is non-nil, parse only from that file.
|
;; When FILE is non-nil, parse only from that file.
|
||||||
|
|
||||||
|
;; Error out in a buffer without a file.
|
||||||
|
(if (and reftex-mode
|
||||||
|
(not (buffer-file-name)))
|
||||||
|
(error "RefTeX works only in buffers visiting a file."))
|
||||||
|
|
||||||
;; Make sure we have the symbols tied
|
;; Make sure we have the symbols tied
|
||||||
(if (eq reftex-docstruct-symbol nil)
|
(if (eq reftex-docstruct-symbol nil)
|
||||||
;; Symbols are not yet tied: Tie them.
|
;; Symbols are not yet tied: Tie them.
|
||||||
|
|
|
||||||
|
|
@ -557,18 +557,20 @@ EVENT is the client message. FRAME is where the mouse is now.
|
||||||
WINDOW is the window within FRAME where the mouse is now.
|
WINDOW is the window within FRAME where the mouse is now.
|
||||||
FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent."
|
FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent."
|
||||||
(cond ((equal "XdndEnter" message)
|
(cond ((equal "XdndEnter" message)
|
||||||
(let ((version (ash (car (aref data 1)) -8))
|
(let* ((flags (aref data 1))
|
||||||
(more-than-3 (cdr (aref data 1)))
|
(version (and (consp flags) (ash (car flags) -8)))
|
||||||
(dnd-source (aref data 0)))
|
(more-than-3 (and (consp flags) (cdr flags)))
|
||||||
(x-dnd-save-state
|
(dnd-source (aref data 0)))
|
||||||
window nil nil
|
(if version ;; If flags is bad, version will be nil.
|
||||||
(if (> more-than-3 0)
|
(x-dnd-save-state
|
||||||
(x-window-property "XdndTypeList"
|
window nil nil
|
||||||
frame "AnyPropertyType"
|
(if (> more-than-3 0)
|
||||||
dnd-source nil t)
|
(x-window-property "XdndTypeList"
|
||||||
(vector (x-get-atom-name (aref data 2))
|
frame "AnyPropertyType"
|
||||||
(x-get-atom-name (aref data 3))
|
dnd-source nil t)
|
||||||
(x-get-atom-name (aref data 4)))))))
|
(vector (x-get-atom-name (aref data 2))
|
||||||
|
(x-get-atom-name (aref data 3))
|
||||||
|
(x-get-atom-name (aref data 4))))))))
|
||||||
|
|
||||||
((equal "XdndPosition" message)
|
((equal "XdndPosition" message)
|
||||||
(let* ((x (car (aref data 2)))
|
(let* ((x (car (aref data 2)))
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,62 @@
|
||||||
2005-01-31 Luc Teirlinck <teirllm@auburn.edu>
|
2005-02-05 Lute Kamstra <lute@gnu.org>
|
||||||
|
|
||||||
|
* text.texi (Maintaining Undo): Remove obsolete function.
|
||||||
|
|
||||||
|
2005-02-05 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* frames.texi (Color Names): Add pointer to the X docs about RGB
|
||||||
|
color specifications. Improve indexing
|
||||||
|
(Text Terminal Colors): Replace the description of RGB values by
|
||||||
|
an xref to "Color Names".
|
||||||
|
|
||||||
|
2005-02-03 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
|
* windows.texi (Basic Windows): Add cursor-in-non-selected-windows.
|
||||||
|
Clarify.
|
||||||
|
(Selecting Windows): Clarify save-selected-window.
|
||||||
|
(Cyclic Window Ordering): Clarify walk-windows.
|
||||||
|
(Window Point): Clarify.
|
||||||
|
(Window Start): Add comment to example.
|
||||||
|
(Resizing Windows): Add `interactive' specs in examples.
|
||||||
|
Document fit-window-to-buffer.
|
||||||
|
|
||||||
|
* text.texi (User-Level Deletion): just-one-space takes numeric arg.
|
||||||
|
(Undo, Maintaining Undo): Clarify last change.
|
||||||
|
(Sorting): In sort-numeric-fields, explain about octal and hex.
|
||||||
|
Mention sort-numeric-base.
|
||||||
|
(Format Properties): Add xref for hard newlines.
|
||||||
|
|
||||||
|
* frames.texi (Window Frame Parameters): Explain pixel=char on tty.
|
||||||
|
(Pop-Up Menus): Fix typo.
|
||||||
|
(Color Names): Explain all types of color names.
|
||||||
|
Explain color-values on B&W terminal.
|
||||||
|
(Text Terminal Colors): Explain "rgb values" are lists. Fix arg names.
|
||||||
|
|
||||||
|
* files.texi (File Locks): Not supported on MS systems.
|
||||||
|
(Testing Accessibility): Clarify.
|
||||||
|
|
||||||
|
* edebug.texi (Printing in Edebug): Fix edebug-print-circle.
|
||||||
|
(Coverage Testing): Fix typo.
|
||||||
|
|
||||||
|
* commands.texi (Misc Events): Remove stray space.
|
||||||
|
|
||||||
|
* buffers.texi (Buffer Names): Clarify generate-new-buffer-name.
|
||||||
|
(Modification Time): Clarify when visited-file-modtime returns 0.
|
||||||
|
(The Buffer List): Clarify bury-buffer.
|
||||||
|
(Killing Buffers): Clarify.
|
||||||
|
(Indirect Buffers): Add clone-indirect-buffer.
|
||||||
|
|
||||||
|
2005-02-02 Matt Hodges <MPHodges@member.fsf.org>
|
||||||
|
|
||||||
|
* edebug.texi (Printing in Edebug): Fix default value of
|
||||||
|
edebug-print-circle.
|
||||||
|
(Coverage Testing): Fix displayed frequency count data.
|
||||||
|
|
||||||
|
2005-02-02 Luc Teirlinck <teirllm@auburn.edu>
|
||||||
|
|
||||||
* text.texi (Maintaining Undo): Add `undo-outer-limit'.
|
* text.texi (Maintaining Undo): Add `undo-outer-limit'.
|
||||||
|
|
||||||
2005-02-01 Kim F. Storm <storm@cua.dk>
|
2005-02-02 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
* text.texi (Undo) <buffer-undo-list>: Describe `apply' elements.
|
* text.texi (Undo) <buffer-undo-list>: Describe `apply' elements.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -344,11 +344,11 @@ number inside of @samp{<@dots{}>}. It starts at 2 and keeps
|
||||||
incrementing the number until it is not the name of an existing buffer.
|
incrementing the number until it is not the name of an existing buffer.
|
||||||
|
|
||||||
If the optional second argument @var{ignore} is non-@code{nil}, it
|
If the optional second argument @var{ignore} is non-@code{nil}, it
|
||||||
should be a string; it makes a difference if it is a name in the
|
should be a string, a potential buffer name. It means to consider
|
||||||
sequence of names to be tried. That name will be considered acceptable,
|
that potential buffer acceptable, if it is tried, even it is the name
|
||||||
if it is tried, even if a buffer with that name exists. Thus, if
|
of an existing buffer (which would normally be rejected). Thus, if
|
||||||
buffers named @samp{foo}, @samp{foo<2>}, @samp{foo<3>} and @samp{foo<4>}
|
buffers named @samp{foo}, @samp{foo<2>}, @samp{foo<3>} and
|
||||||
exist,
|
@samp{foo<4>} exist,
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(generate-new-buffer-name "foo")
|
(generate-new-buffer-name "foo")
|
||||||
|
|
@ -629,16 +629,13 @@ modification time, as a list of the form @code{(@var{high} @var{low})}.
|
||||||
(This is the same format that @code{file-attributes} uses to return
|
(This is the same format that @code{file-attributes} uses to return
|
||||||
time values; see @ref{File Attributes}.)
|
time values; see @ref{File Attributes}.)
|
||||||
|
|
||||||
The function returns zero if the buffer has no recorded last
|
If the buffer has no recorded last modification time, this function
|
||||||
modification time, which can happen, for instance, if the record has
|
returns zero. This case occurs, for instance, if the buffer is not
|
||||||
been explicitly cleared by @code{clear-visited-file-modtime} or if the
|
visiting a file or if the time has been explicitly cleared by
|
||||||
buffer is not visiting a file. Note, however, that
|
@code{clear-visited-file-modtime}. Note, however, that
|
||||||
@code{visited-file-modtime} can return a non-zero value for some
|
@code{visited-file-modtime} returns a list for some non-file buffers
|
||||||
buffers that are not visiting files, but are nevertheless closely
|
too. For instance, in a Dired buffer listing a directory, it returns
|
||||||
associated with a file. This happens, for instance, with dired
|
the last modification time of that directory, as recorded by Dired.
|
||||||
buffers listing a directory. For such buffers,
|
|
||||||
@code{visited-file-modtime} returns the last modification time of that
|
|
||||||
directory, as recorded by dired.
|
|
||||||
|
|
||||||
For a new buffer visiting a not yet existing file, @var{high} is
|
For a new buffer visiting a not yet existing file, @var{high} is
|
||||||
@minus{}1 and @var{low} is 65535, that is,
|
@minus{}1 and @var{low} is 65535, that is,
|
||||||
|
|
@ -857,7 +854,8 @@ If no suitable buffer exists, the buffer @samp{*scratch*} is returned
|
||||||
This function puts @var{buffer-or-name} at the end of the buffer list,
|
This function puts @var{buffer-or-name} at the end of the buffer list,
|
||||||
without changing the order of any of the other buffers on the list.
|
without changing the order of any of the other buffers on the list.
|
||||||
This buffer therefore becomes the least desirable candidate for
|
This buffer therefore becomes the least desirable candidate for
|
||||||
@code{other-buffer} to return.
|
@code{other-buffer} to return. The argument can be either a buffer
|
||||||
|
itself or the name of one.
|
||||||
|
|
||||||
@code{bury-buffer} operates on each frame's @code{buffer-list} parameter
|
@code{bury-buffer} operates on each frame's @code{buffer-list} parameter
|
||||||
as well as the frame-independent Emacs buffer list; therefore, the
|
as well as the frame-independent Emacs buffer list; therefore, the
|
||||||
|
|
@ -949,8 +947,8 @@ Names}.
|
||||||
@cindex killing buffers
|
@cindex killing buffers
|
||||||
@cindex buffers, killing
|
@cindex buffers, killing
|
||||||
|
|
||||||
@dfn{Killing a buffer} makes its name unknown to Emacs and makes its
|
@dfn{Killing a buffer} makes its name unknown to Emacs and makes the
|
||||||
text space available for other use.
|
memory space it occupied available for other use.
|
||||||
|
|
||||||
The buffer object for the buffer that has been killed remains in
|
The buffer object for the buffer that has been killed remains in
|
||||||
existence as long as anything refers to it, but it is specially marked
|
existence as long as anything refers to it, but it is specially marked
|
||||||
|
|
@ -1101,6 +1099,18 @@ non-@code{nil}, the initial state is copied from the actual base
|
||||||
buffer, not from @var{base-buffer}.
|
buffer, not from @var{base-buffer}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@defun clone-indirect-buffer newname display-flag &optional norecord
|
||||||
|
This function creates and returns a new indirect buffer that shares
|
||||||
|
the current buffer's base buffer and copies the rest of the current
|
||||||
|
buffer's attributes. (If the current buffer is not indirect, it is
|
||||||
|
used as the base buffer.)
|
||||||
|
|
||||||
|
If @var{display-flag} is non-@code{nil}, that means to display the new
|
||||||
|
buffer by calling @code{pop-to-buffer}. If @var{norecord} is
|
||||||
|
non-@code{nil}, that means not to put the new buffer to the front of
|
||||||
|
the buffer list.
|
||||||
|
@end defun
|
||||||
|
|
||||||
@defun buffer-base-buffer &optional buffer
|
@defun buffer-base-buffer &optional buffer
|
||||||
This function returns the base buffer of @var{buffer}, which defaults
|
This function returns the base buffer of @var{buffer}, which defaults
|
||||||
to the current buffer. If @var{buffer} is not indirect, the value is
|
to the current buffer. If @var{buffer} is not indirect, the value is
|
||||||
|
|
|
||||||
|
|
@ -1554,7 +1554,7 @@ portion of buffer text which has a @code{help-echo} text property.
|
||||||
The generated event has this form:
|
The generated event has this form:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(help-echo @var{frame} @var{help} @var{window} @var{object} @var{pos})
|
(help-echo @var{frame} @var{help} @var{window} @var{object} @var{pos})
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
|
|
||||||
|
|
@ -801,7 +801,7 @@ vectors.
|
||||||
|
|
||||||
@defopt edebug-print-circle
|
@defopt edebug-print-circle
|
||||||
If non-@code{nil}, Edebug binds @code{print-circle} to this value while
|
If non-@code{nil}, Edebug binds @code{print-circle} to this value while
|
||||||
printing results. The default value is @code{nil}.
|
printing results. The default value is @code{t}.
|
||||||
@end defopt
|
@end defopt
|
||||||
|
|
||||||
Other programs can also use custom printing; see @file{cust-print.el}
|
Other programs can also use custom printing; see @file{cust-print.el}
|
||||||
|
|
@ -909,7 +909,7 @@ the breakpoint is reached, the frequency data looks like this:
|
||||||
@example
|
@example
|
||||||
(defun fac (n)
|
(defun fac (n)
|
||||||
(if (= n 0) (edebug))
|
(if (= n 0) (edebug))
|
||||||
;#6 1 0 =5
|
;#6 1 = =5
|
||||||
(if (< 0 n)
|
(if (< 0 n)
|
||||||
;#5 =
|
;#5 =
|
||||||
(* n (fac (1- n)))
|
(* n (fac (1- n)))
|
||||||
|
|
|
||||||
|
|
@ -646,9 +646,10 @@ with-temp-buffer,, The Current Buffer}.
|
||||||
@section File Locks
|
@section File Locks
|
||||||
@cindex file locks
|
@cindex file locks
|
||||||
|
|
||||||
When two users edit the same file at the same time, they are likely to
|
When two users edit the same file at the same time, they are likely
|
||||||
interfere with each other. Emacs tries to prevent this situation from
|
to interfere with each other. Emacs tries to prevent this situation
|
||||||
arising by recording a @dfn{file lock} when a file is being modified.
|
from arising by recording a @dfn{file lock} when a file is being
|
||||||
|
modified. (File locks are not implemented on Microsoft systems.)
|
||||||
Emacs can then detect the first attempt to modify a buffer visiting a
|
Emacs can then detect the first attempt to modify a buffer visiting a
|
||||||
file that is locked by another Emacs job, and ask the user what to do.
|
file that is locked by another Emacs job, and ask the user what to do.
|
||||||
The file lock is really a file, a symbolic link with a special name,
|
The file lock is really a file, a symbolic link with a special name,
|
||||||
|
|
@ -680,14 +681,15 @@ some other job.
|
||||||
This function locks the file @var{filename}, if the current buffer is
|
This function locks the file @var{filename}, if the current buffer is
|
||||||
modified. The argument @var{filename} defaults to the current buffer's
|
modified. The argument @var{filename} defaults to the current buffer's
|
||||||
visited file. Nothing is done if the current buffer is not visiting a
|
visited file. Nothing is done if the current buffer is not visiting a
|
||||||
file, or is not modified.
|
file, or is not modified, or if the system does not support locking.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun unlock-buffer
|
@defun unlock-buffer
|
||||||
This function unlocks the file being visited in the current buffer,
|
This function unlocks the file being visited in the current buffer,
|
||||||
if the buffer is modified. If the buffer is not modified, then
|
if the buffer is modified. If the buffer is not modified, then
|
||||||
the file should not be locked, so this function does nothing. It also
|
the file should not be locked, so this function does nothing. It also
|
||||||
does nothing if the current buffer is not visiting a file.
|
does nothing if the current buffer is not visiting a file, or if the
|
||||||
|
system does not support locking.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
File locking is not supported on some systems. On systems that do not
|
File locking is not supported on some systems. On systems that do not
|
||||||
|
|
@ -834,10 +836,11 @@ a directory.
|
||||||
@c Emacs 19 feature
|
@c Emacs 19 feature
|
||||||
@defun file-accessible-directory-p dirname
|
@defun file-accessible-directory-p dirname
|
||||||
This function returns @code{t} if you have permission to open existing
|
This function returns @code{t} if you have permission to open existing
|
||||||
files in the directory whose name as a file is @var{dirname}; otherwise
|
files in the directory whose name as a file is @var{dirname};
|
||||||
(or if there is no such directory), it returns @code{nil}. The value
|
otherwise (or if there is no such directory), it returns @code{nil}.
|
||||||
of @var{dirname} may be either a directory name or the file name of a
|
The value of @var{dirname} may be either a directory name (such as
|
||||||
file which is a directory.
|
@file{/foo/}) or the file name of a file which is a directory
|
||||||
|
(such as @file{/foo}, without the final slash).
|
||||||
|
|
||||||
Example: after the following,
|
Example: after the following,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -310,12 +310,14 @@ The GNU Emacs Manual}.
|
||||||
@node Window Frame Parameters
|
@node Window Frame Parameters
|
||||||
@subsection Window Frame Parameters
|
@subsection Window Frame Parameters
|
||||||
|
|
||||||
Just what parameters a frame has depends on what display mechanism it
|
Just what parameters a frame has depends on what display mechanism it
|
||||||
uses. Here is a table of the parameters that have special meanings in a
|
uses. Here is a table of the parameters that have special meanings in a
|
||||||
window frame; of these, @code{name}, @code{title}, @code{height},
|
window frame; of these, @code{name}, @code{title}, @code{height},
|
||||||
@code{width}, @code{buffer-list} and @code{buffer-predicate} provide
|
@code{width}, @code{buffer-list} and @code{buffer-predicate} provide
|
||||||
meaningful information in terminal frames, and @code{tty-color-mode}
|
meaningful information in terminal frames, and @code{tty-color-mode}
|
||||||
is meaningful @emph{only} in terminal frames.
|
is meaningful @emph{only} in terminal frames. Frame parameter whose
|
||||||
|
values measured in pixels, when used on text-only terminals, count
|
||||||
|
characters or lines instead.
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item display
|
@item display
|
||||||
|
|
@ -1407,7 +1409,7 @@ that it calls @code{x-popup-menu}. Therefore, if you try to implement a
|
||||||
submenu using @code{x-popup-menu}, it cannot work with the menu bar in
|
submenu using @code{x-popup-menu}, it cannot work with the menu bar in
|
||||||
an integrated fashion. This is why all menu bar submenus are
|
an integrated fashion. This is why all menu bar submenus are
|
||||||
implemented with menu keymaps within the parent menu, and never with
|
implemented with menu keymaps within the parent menu, and never with
|
||||||
@code{x-popup-menu}. @xref{Menu Bar},
|
@code{x-popup-menu}. @xref{Menu Bar}.
|
||||||
|
|
||||||
If you want a menu bar submenu to have contents that vary, you should
|
If you want a menu bar submenu to have contents that vary, you should
|
||||||
still use a menu keymap to implement it. To make the contents vary, add
|
still use a menu keymap to implement it. To make the contents vary, add
|
||||||
|
|
@ -1586,6 +1588,22 @@ but @code{t} on MS-Windows.
|
||||||
@node Color Names
|
@node Color Names
|
||||||
@section Color Names
|
@section Color Names
|
||||||
|
|
||||||
|
@cindex color names
|
||||||
|
@cindex specify color
|
||||||
|
@cindex numerical RGB color specification
|
||||||
|
A color name is text (usually in a string) that specifies a color.
|
||||||
|
Symbolic names such as @samp{black}, @samp{white}, @samp{red}, etc.,
|
||||||
|
are allowed; use @kbd{M-x list-colors-display} to see a list of
|
||||||
|
defined names. You can also specify colors numerically in forms such
|
||||||
|
as @samp{#@var{rgb}} and @samp{RGB:@var{r}/@var{g}/@var{b}}, where
|
||||||
|
@var{r} specifies the red level, @var{g} specifies the green level,
|
||||||
|
and @var{b} specifies the blue level. You can use either one, two,
|
||||||
|
three, or four hex digits for @var{r}; then you must use the same
|
||||||
|
number of hex digits for all @var{g} and @var{b} as well, making
|
||||||
|
either 3, 6, 9 or 12 hex digits in all. (See the documentation of the
|
||||||
|
X Window System for more details about numerical RGB specification of
|
||||||
|
colors.)
|
||||||
|
|
||||||
These functions provide a way to determine which color names are
|
These functions provide a way to determine which color names are
|
||||||
valid, and what they look like. In some cases, the value depends on the
|
valid, and what they look like. In some cases, the value depends on the
|
||||||
@dfn{selected frame}, as described below; see @ref{Input Focus}, for the
|
@dfn{selected frame}, as described below; see @ref{Input Focus}, for the
|
||||||
|
|
@ -1644,12 +1662,14 @@ color name, this function returns @code{nil}.
|
||||||
|
|
||||||
@defun color-values color &optional frame
|
@defun color-values color &optional frame
|
||||||
@tindex color-values
|
@tindex color-values
|
||||||
|
@cindex rgb value
|
||||||
This function returns a value that describes what @var{color} should
|
This function returns a value that describes what @var{color} should
|
||||||
ideally look like on @var{frame}. If @var{color} is defined, the
|
ideally look like on @var{frame}. If @var{color} is defined, the
|
||||||
value is a list of three integers, which give the amount of red, the
|
value is a list of three integers, which give the amount of red, the
|
||||||
amount of green, and the amount of blue. Each integer ranges in
|
amount of green, and the amount of blue. Each integer ranges in
|
||||||
principle from 0 to 65535, but some displays may not use the full
|
principle from 0 to 65535, but some displays may not use the full
|
||||||
range. This kind of three-element list is called an @dfn{rgb value}.
|
range. This three-element list is called the @dfn{rgb values} of the
|
||||||
|
color.
|
||||||
|
|
||||||
If @var{color} is not defined, the value is @code{nil}.
|
If @var{color} is not defined, the value is @code{nil}.
|
||||||
|
|
||||||
|
|
@ -1666,9 +1686,10 @@ If @var{color} is not defined, the value is @code{nil}.
|
||||||
@result{} nil
|
@result{} nil
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
The color values are returned for @var{frame}'s display. If @var{frame}
|
The color values are returned for @var{frame}'s display. If
|
||||||
is omitted or @code{nil}, the information is returned for the selected
|
@var{frame} is omitted or @code{nil}, the information is returned for
|
||||||
frame's display.
|
the selected frame's display. If the frame cannot display colors, the
|
||||||
|
value is @code{nil}.
|
||||||
|
|
||||||
@findex x-color-values
|
@findex x-color-values
|
||||||
This function used to be called @code{x-color-values},
|
This function used to be called @code{x-color-values},
|
||||||
|
|
@ -1690,37 +1711,34 @@ standard set of colors and will try to use them automatically.
|
||||||
The functions described in this section control how terminal colors
|
The functions described in this section control how terminal colors
|
||||||
are used by Emacs.
|
are used by Emacs.
|
||||||
|
|
||||||
@cindex rgb value
|
Several of these functions use or return @dfn{rgb values}, described
|
||||||
Several of these functions use or return @dfn{rgb values}. An rgb
|
in @ref{Color Names}.
|
||||||
value is a list of three integers, which give the amount of red, the
|
|
||||||
amount of green, and the amount of blue. Each integer ranges in
|
|
||||||
principle from 0 to 65535, but some displays may not use the full range. .
|
|
||||||
|
|
||||||
These functions accept a display (either a frame or the name of a
|
These functions accept a display (either a frame or the name of a
|
||||||
terminal) as an optional argument. We hope in the future to make Emacs
|
terminal) as an optional argument. We hope in the future to make Emacs
|
||||||
support more than one text-only terminal at one time; then this argument
|
support more than one text-only terminal at one time; then this argument
|
||||||
will specify which terminal to operate on (the default being the
|
will specify which terminal to operate on (the default being the
|
||||||
selected frame's terminal; @pxref{Input Focus}). At present, though,
|
selected frame's terminal; @pxref{Input Focus}). At present, though,
|
||||||
the @var{display} argument has no effect.
|
the @var{frame} argument has no effect.
|
||||||
|
|
||||||
@defun tty-color-define name number &optional rgb display
|
@defun tty-color-define name number &optional rgb frame
|
||||||
@tindex tty-color-define
|
@tindex tty-color-define
|
||||||
This function associates the color name @var{name} with
|
This function associates the color name @var{name} with
|
||||||
color number @var{number} on the terminal.
|
color number @var{number} on the terminal.
|
||||||
|
|
||||||
The optional argument @var{rgb}, if specified, is an rgb value; it says
|
The optional argument @var{rgb}, if specified, is an rgb value, a list
|
||||||
what the color actually looks like. If you do not specify @var{rgb},
|
of three numbers that specify what what the color actually looks like.
|
||||||
then this color cannot be used by @code{tty-color-approximate} to
|
If you do not specify @var{rgb}, then this color cannot be used by
|
||||||
approximate other colors, because Emacs does not know what it looks
|
@code{tty-color-approximate} to approximate other colors, because
|
||||||
like.
|
Emacs will not know what it looks like.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun tty-color-clear &optional display
|
@defun tty-color-clear &optional frame
|
||||||
@tindex tty-color-clear
|
@tindex tty-color-clear
|
||||||
This function clears the table of defined colors for a text-only terminal.
|
This function clears the table of defined colors for a text-only terminal.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun tty-color-alist &optional display
|
@defun tty-color-alist &optional frame
|
||||||
@tindex tty-color-alist
|
@tindex tty-color-alist
|
||||||
This function returns an alist recording the known colors supported by a
|
This function returns an alist recording the known colors supported by a
|
||||||
text-only terminal.
|
text-only terminal.
|
||||||
|
|
@ -1728,26 +1746,23 @@ text-only terminal.
|
||||||
Each element has the form @code{(@var{name} @var{number} . @var{rgb})}
|
Each element has the form @code{(@var{name} @var{number} . @var{rgb})}
|
||||||
or @code{(@var{name} @var{number})}. Here, @var{name} is the color
|
or @code{(@var{name} @var{number})}. Here, @var{name} is the color
|
||||||
name, @var{number} is the number used to specify it to the terminal.
|
name, @var{number} is the number used to specify it to the terminal.
|
||||||
If present, @var{rgb} is an rgb value that says what the color
|
If present, @var{rgb} is a list of three color values (for red, green,
|
||||||
actually looks like.
|
and blue) that says what the color actually looks like.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun tty-color-approximate rgb &optional display
|
@defun tty-color-approximate rgb &optional frame
|
||||||
@tindex tty-color-approximate
|
@tindex tty-color-approximate
|
||||||
This function finds the closest color, among the known colors supported
|
This function finds the closest color, among the known colors
|
||||||
for @var{display}, to that described by the rgb value @var{rgb}.
|
supported for @var{display}, to that described by the rgb value
|
||||||
The return value is an element of @code{tty-color-alist}.
|
@var{rgb} (a list of color values). The return value is an element of
|
||||||
|
@code{tty-color-alist}.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun tty-color-translate color &optional display
|
@defun tty-color-translate color &optional frame
|
||||||
@tindex tty-color-translate
|
@tindex tty-color-translate
|
||||||
This function finds the closest color to @var{color} among the known
|
This function finds the closest color to @var{color} among the known
|
||||||
colors supported for @var{display} and returns its index (an integer).
|
colors supported for @var{display} and returns its index (an integer).
|
||||||
If the name @var{color} is not defined, the value is @code{nil}.
|
If the name @var{color} is not defined, the value is @code{nil}.
|
||||||
|
|
||||||
@var{color} can be an X-style @code{"#@var{xxxyyyzzz}"} specification
|
|
||||||
instead of an actual name. The format
|
|
||||||
@code{"RGB:@var{xx}/@var{yy}/@var{zz}"} is also supported.
|
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@node Resources
|
@node Resources
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999,
|
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999,
|
||||||
@c 2000, 2001, 2004
|
@c 2000, 2001, 2004, 2005
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file elisp.texi for copying conditions.
|
@c See the file elisp.texi for copying conditions.
|
||||||
@setfilename ../info/text
|
@setfilename ../info/text
|
||||||
|
|
@ -720,10 +720,11 @@ This has too many spaces at the start of (this list)
|
||||||
@end smallexample
|
@end smallexample
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn Command just-one-space
|
@deffn Command just-one-space &optional n
|
||||||
@comment !!SourceFile simple.el
|
@comment !!SourceFile simple.el
|
||||||
This command replaces any spaces and tabs around point with a single
|
This command replaces any spaces and tabs around point with a single
|
||||||
space. It returns @code{nil}.
|
space, or @var{n} spaces if @var{n} is specified. It returns
|
||||||
|
@code{nil}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn Command delete-blank-lines
|
@deffn Command delete-blank-lines
|
||||||
|
|
@ -1218,7 +1219,8 @@ This kind of element records a change that can be undone by evaluating
|
||||||
and @var{end} is buffer positions of the range affected by this change
|
and @var{end} is buffer positions of the range affected by this change
|
||||||
and @var{delta} is an integer value which is the number of bytes added
|
and @var{delta} is an integer value which is the number of bytes added
|
||||||
or deleted in that range by this change. This kind of element
|
or deleted in that range by this change. This kind of element
|
||||||
supports undo in an active region
|
enables undo limited to a region to determine whether the element
|
||||||
|
pertains to that region.
|
||||||
|
|
||||||
@item (@var{marker} . @var{adjustment})
|
@item (@var{marker} . @var{adjustment})
|
||||||
This kind of element records the fact that the marker @var{marker} was
|
This kind of element records the fact that the marker @var{marker} was
|
||||||
|
|
@ -1303,7 +1305,6 @@ You cannot specify any other buffer.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn Command buffer-disable-undo &optional buffer-or-name
|
@deffn Command buffer-disable-undo &optional buffer-or-name
|
||||||
@deffnx Command buffer-flush-undo &optional buffer-or-name
|
|
||||||
@cindex disable undo
|
@cindex disable undo
|
||||||
This function discards the undo list of @var{buffer-or-name}, and disables
|
This function discards the undo list of @var{buffer-or-name}, and disables
|
||||||
further recording of undo information. As a result, it is no longer
|
further recording of undo information. As a result, it is no longer
|
||||||
|
|
@ -1312,9 +1313,6 @@ the undo list of @var{buffer-or-name} is already disabled, this function
|
||||||
has no effect.
|
has no effect.
|
||||||
|
|
||||||
This function returns @code{nil}.
|
This function returns @code{nil}.
|
||||||
|
|
||||||
The name @code{buffer-flush-undo} is not considered obsolete, but the
|
|
||||||
preferred name is @code{buffer-disable-undo}.
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
As editing continues, undo lists get longer and longer. To prevent
|
As editing continues, undo lists get longer and longer. To prevent
|
||||||
|
|
@ -1339,8 +1337,8 @@ change group is only discarded if it exceeds @code{undo-outer-limit}.
|
||||||
|
|
||||||
@defopt undo-outer-limit
|
@defopt undo-outer-limit
|
||||||
If at garbage collection time the undo info for the current command
|
If at garbage collection time the undo info for the current command
|
||||||
exceeds this limit, Emacs discards the info and prints a warning
|
exceeds this limit, Emacs discards the info and displays a warning.
|
||||||
message. This is a last ditch limit to prevent memory overflow.
|
This is a last ditch limit to prevent memory overflow.
|
||||||
@end defopt
|
@end defopt
|
||||||
|
|
||||||
@node Filling
|
@node Filling
|
||||||
|
|
@ -1915,19 +1913,27 @@ is useful for sorting tables.
|
||||||
|
|
||||||
@deffn Command sort-numeric-fields field start end
|
@deffn Command sort-numeric-fields field start end
|
||||||
This command sorts lines in the region between @var{start} and
|
This command sorts lines in the region between @var{start} and
|
||||||
@var{end}, comparing them numerically by the @var{field}th field of each
|
@var{end}, comparing them numerically by the @var{field}th field of
|
||||||
line. The specified field must contain a number in each line of the
|
each line. Fields are separated by whitespace and numbered starting
|
||||||
region. Fields are separated by whitespace and numbered starting from
|
from 1. The specified field must contain a number in each line of the
|
||||||
1. If @var{field} is negative, sorting is by the
|
region. Numbers starting with 0 are treated as octal, and numbers
|
||||||
@w{@minus{}@var{field}th} field from the end of the line. This command
|
starting with @samp{0x} are treated as hexadecimal.
|
||||||
is useful for sorting tables.
|
|
||||||
|
If @var{field} is negative, sorting is by the
|
||||||
|
@w{@minus{}@var{field}th} field from the end of the line. This
|
||||||
|
command is useful for sorting tables.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@defopt sort-numeric-base
|
||||||
|
This variable specifies the default radix for
|
||||||
|
@code{sort-numeric-fields} to parse numbers.
|
||||||
|
@end defopt
|
||||||
|
|
||||||
@deffn Command sort-columns reverse &optional beg end
|
@deffn Command sort-columns reverse &optional beg end
|
||||||
This command sorts the lines in the region between @var{beg} and
|
This command sorts the lines in the region between @var{beg} and
|
||||||
@var{end}, comparing them alphabetically by a certain range of columns.
|
@var{end}, comparing them alphabetically by a certain range of
|
||||||
The column positions of @var{beg} and @var{end} bound the range of
|
columns. The column positions of @var{beg} and @var{end} bound the
|
||||||
columns to sort on.
|
range of columns to sort on.
|
||||||
|
|
||||||
If @var{reverse} is non-@code{nil}, the sort is in reverse order.
|
If @var{reverse} is non-@code{nil}, the sort is in reverse order.
|
||||||
|
|
||||||
|
|
@ -3119,8 +3125,9 @@ are used for representing formatted text. @xref{Filling}, and
|
||||||
@item hard
|
@item hard
|
||||||
If a newline character has this property, it is a ``hard'' newline.
|
If a newline character has this property, it is a ``hard'' newline.
|
||||||
The fill commands do not alter hard newlines and do not move words
|
The fill commands do not alter hard newlines and do not move words
|
||||||
across them. However, this property takes effect only if the variable
|
across them. However, this property takes effect only if the
|
||||||
@code{use-hard-newlines} is non-@code{nil}.
|
@code{use-hard-newlines} minor mode is enabled. @xref{Hard and Soft
|
||||||
|
Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}.
|
||||||
|
|
||||||
@item right-margin
|
@item right-margin
|
||||||
This property specifies an extra right margin for filling this part of the
|
This property specifies an extra right margin for filling this part of the
|
||||||
|
|
|
||||||
|
|
@ -53,11 +53,17 @@ multiple nonoverlapping Emacs windows.
|
||||||
|
|
||||||
In each frame, at any time, one and only one window is designated as
|
In each frame, at any time, one and only one window is designated as
|
||||||
@dfn{selected within the frame}. The frame's cursor appears in that
|
@dfn{selected within the frame}. The frame's cursor appears in that
|
||||||
window. At any time, one frame is the selected frame; and the window
|
window, but the other windows have ``non-selected'' cursors, normally
|
||||||
selected within that frame is @dfn{the selected window}. The selected
|
less visible. At any time, one frame is the selected frame; and the
|
||||||
window's buffer is usually the current buffer (except when
|
window selected within that frame is @dfn{the selected window}. The
|
||||||
|
selected window's buffer is usually the current buffer (except when
|
||||||
@code{set-buffer} has been used). @xref{Current Buffer}.
|
@code{set-buffer} has been used). @xref{Current Buffer}.
|
||||||
|
|
||||||
|
@defvar cursor-in-non-selected-windows
|
||||||
|
If this variable is @code{nil}, Emacs displays only one cursor,
|
||||||
|
in the selected window. Other windows have no cursor at all.
|
||||||
|
@end defvar
|
||||||
|
|
||||||
For practical purposes, a window exists only while it is displayed in
|
For practical purposes, a window exists only while it is displayed in
|
||||||
a frame. Once removed from the frame, the window is effectively deleted
|
a frame. Once removed from the frame, the window is effectively deleted
|
||||||
and should not be used, @emph{even though there may still be references
|
and should not be used, @emph{even though there may still be references
|
||||||
|
|
@ -455,10 +461,10 @@ The return value is @var{window}.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defmac save-selected-window forms@dots{}
|
@defmac save-selected-window forms@dots{}
|
||||||
This macro records the selected window, as well as the selected window
|
This macro records the selected frame, as well as the selected window
|
||||||
of each frame, executes @var{forms} in sequence, then restores the
|
of each frame, executes @var{forms} in sequence, then restores the
|
||||||
earlier selected windows. It returns the value of the last form in
|
earlier selected frame and windows It returns the value of the last
|
||||||
@var{forms}.
|
form in @var{forms}.
|
||||||
|
|
||||||
This macro does not save or restore anything about the sizes,
|
This macro does not save or restore anything about the sizes,
|
||||||
arrangement or contents of windows; therefore, if the @var{forms}
|
arrangement or contents of windows; therefore, if the @var{forms}
|
||||||
|
|
@ -648,8 +654,9 @@ In an interactive call, @var{count} is the numeric prefix argument.
|
||||||
|
|
||||||
@c Emacs 19 feature
|
@c Emacs 19 feature
|
||||||
@defun walk-windows proc &optional minibuf all-frames
|
@defun walk-windows proc &optional minibuf all-frames
|
||||||
This function cycles through all windows, calling @code{proc}
|
This function cycles through all windows. It calls the function
|
||||||
once for each window with the window as its sole argument.
|
@code{proc} once for each window, with the window as its sole
|
||||||
|
argument.
|
||||||
|
|
||||||
The optional arguments @var{minibuf} and @var{all-frames} specify the
|
The optional arguments @var{minibuf} and @var{all-frames} specify the
|
||||||
set of windows to include in the scan. See @code{next-window}, above,
|
set of windows to include in the scan. See @code{next-window}, above,
|
||||||
|
|
@ -1175,11 +1182,11 @@ the other windows are stored in those windows.
|
||||||
@item
|
@item
|
||||||
As long as the selected window displays the current buffer, the window's
|
As long as the selected window displays the current buffer, the window's
|
||||||
point and the buffer's point always move together; they remain equal.
|
point and the buffer's point always move together; they remain equal.
|
||||||
|
|
||||||
@item
|
|
||||||
@xref{Positions}, for more details on buffer positions.
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
@xref{Positions}, for more details on buffer positions.
|
||||||
|
|
||||||
As far as the user is concerned, point is where the cursor is, and
|
As far as the user is concerned, point is where the cursor is, and
|
||||||
when the user switches to another buffer, the cursor jumps to the
|
when the user switches to another buffer, the cursor jumps to the
|
||||||
position of point in that buffer.
|
position of point in that buffer.
|
||||||
|
|
@ -1356,6 +1363,7 @@ Here is an example:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
|
;; @r{If point is off the screen now, recenter it now.}
|
||||||
(or (pos-visible-in-window-p
|
(or (pos-visible-in-window-p
|
||||||
(point) (selected-window))
|
(point) (selected-window))
|
||||||
(recenter 0))
|
(recenter 0))
|
||||||
|
|
@ -1984,6 +1992,7 @@ It could be defined as follows:
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
(defun enlarge-window-horizontally (columns)
|
(defun enlarge-window-horizontally (columns)
|
||||||
|
(interactive "p")
|
||||||
(enlarge-window columns t))
|
(enlarge-window columns t))
|
||||||
@end group
|
@end group
|
||||||
@end example
|
@end example
|
||||||
|
|
@ -2006,16 +2015,29 @@ It could be defined as follows:
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
(defun shrink-window-horizontally (columns)
|
(defun shrink-window-horizontally (columns)
|
||||||
|
(interactive "p")
|
||||||
(shrink-window columns t))
|
(shrink-window columns t))
|
||||||
@end group
|
@end group
|
||||||
@end example
|
@end example
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@defun fit-window-to-buffer &optional window max-height min-height
|
||||||
|
This function makes @var{window} the right height to display its
|
||||||
|
contents exactly. If @var{window} is omitted or @code{nil}, it uses
|
||||||
|
the selected window.
|
||||||
|
|
||||||
|
The argument @var{max-height} specifies the maximum height the window
|
||||||
|
is allowed to be; @code{nil} means use the frame height. The argument
|
||||||
|
@var{min-height} specifies the minimum height for the window;
|
||||||
|
@code{nil} means use @code{window-min-height}. All these height
|
||||||
|
values include the mode-line and/or header-line.
|
||||||
|
@end defun
|
||||||
|
|
||||||
@deffn Command shrink-window-if-larger-than-buffer &optional window
|
@deffn Command shrink-window-if-larger-than-buffer &optional window
|
||||||
This command shrinks @var{window} to be as small as possible while still
|
This command shrinks @var{window} vertically to be as small as
|
||||||
showing the full contents of its buffer---but not less than
|
possible while still showing the full contents of its buffer---but not
|
||||||
@code{window-min-height} lines. If @var{window} is not given,
|
less than @code{window-min-height} lines. If @var{window} is not
|
||||||
it defaults to the selected window.
|
given, it defaults to the selected window.
|
||||||
|
|
||||||
However, the command does nothing if the window is already too small to
|
However, the command does nothing if the window is already too small to
|
||||||
display the whole text of the buffer, or if part of the contents are
|
display the whole text of the buffer, or if part of the contents are
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Handcrafted Emacs site configuration file for Mac OS. -*- C -*- */
|
/* Handcrafted Emacs site configuration file for Mac OS 9. -*- C -*- */
|
||||||
|
|
||||||
/* GNU Emacs site configuration template file. -*- C -*-
|
/* GNU Emacs site configuration template file. -*- C -*-
|
||||||
Copyright (C) 1988, 1993, 1994, 1999, 2000 Free Software Foundation, Inc.
|
Copyright (C) 1988, 1993, 1994, 1999, 2000 Free Software Foundation, Inc.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Handcrafted s-mac.h file for building GNU Emacs on the Macintosh.
|
/* Handcrafted s-mac.h file for building GNU Emacs on Mac OS 9.
|
||||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,54 @@
|
||||||
2005-01-31 Luc Teirlinck <teirllm@auburn.edu>
|
2005-02-05 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* frames.texi (Frame Parameters): Add an xref to the description
|
||||||
|
of list-colors-display. Add a pointer to the X docs about colors.
|
||||||
|
|
||||||
|
* cmdargs.texi (Colors): Mention 16-, 88- and 256-color modes.
|
||||||
|
Impove docs of list-colors-display.
|
||||||
|
|
||||||
|
2005-02-03 Lute Kamstra <lute@gnu.org>
|
||||||
|
|
||||||
|
* frames.texi (Frames, Drag and Drop): Fix typos.
|
||||||
|
|
||||||
|
2005-02-03 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
|
* windows.texi (Basic Window): Mention color-change in mode line.
|
||||||
|
(Change Window): Explain dragging vertical boundaries.
|
||||||
|
|
||||||
|
* text.texi (Sentences): Clarify.
|
||||||
|
(Paragraphs): Explain M-a and blank lines.
|
||||||
|
(Outline Mode): Clarify text and menu.
|
||||||
|
(Hard and Soft Newlines): Mention use-hard-newlines.
|
||||||
|
|
||||||
|
* frames.texi (Frames): Delete unnecessary mention of Windows.
|
||||||
|
(Mouse Commands): Likewise. Mention xterm mouse support.
|
||||||
|
(Clipboard): Clarify.
|
||||||
|
(Mouse References): Mention use of Mouse-1 for following links.
|
||||||
|
(Menu Mouse Clicks): Clarify.
|
||||||
|
(Mode Line Mouse): Clarify.
|
||||||
|
(Drag and Drop): Rewrite.
|
||||||
|
|
||||||
|
* fixit.texi (Spelling): Fix typo.
|
||||||
|
|
||||||
|
* files.texi (File Names): Clarify.
|
||||||
|
(Visiting): Update conditions for use of file dialog. Clarify.
|
||||||
|
(Saving): Doc d as answer in save-some-buffers.
|
||||||
|
(Remote Files): Clean up the text.
|
||||||
|
|
||||||
|
* dired.texi (Misc Dired Commands): Delete dired-marked-files.
|
||||||
|
|
||||||
|
* buffers.texi (Select Buffer): Doc next-buffer and prev-buffer.
|
||||||
|
(List Buffers): Clarify.
|
||||||
|
(Several Buffers): Doc T command.
|
||||||
|
(Buffer Convenience): Clarify menu.
|
||||||
|
|
||||||
|
* basic.texi (Undo): Clarify last change.
|
||||||
|
|
||||||
|
2005-02-02 Matt Hodges <MPHodges@member.fsf.org>
|
||||||
|
|
||||||
|
* fixit.texi (Spelling): Fix typo.
|
||||||
|
|
||||||
|
2005-02-01 Luc Teirlinck <teirllm@auburn.edu>
|
||||||
|
|
||||||
* basic.texi (Undo): Update description of `undo-outer-limit'.
|
* basic.texi (Undo): Update description of `undo-outer-limit'.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -400,7 +400,7 @@ value of @code{undo-strong-limit} is 30000.
|
||||||
Regardless of the values of those variables, the most recent change
|
Regardless of the values of those variables, the most recent change
|
||||||
is never discarded unless it gets bigger than @code{undo-outer-limit}
|
is never discarded unless it gets bigger than @code{undo-outer-limit}
|
||||||
(normally 3,000,000). At that point, Emacs discards the undo data and
|
(normally 3,000,000). At that point, Emacs discards the undo data and
|
||||||
warns you about it. This is the only situation in which you can not
|
warns you about it. This is the only situation in which you cannot
|
||||||
undo the last command. If this happens, you can increase the value of
|
undo the last command. If this happens, you can increase the value of
|
||||||
@code{undo-outer-limit} to make it even less likely to happen in the
|
@code{undo-outer-limit} to make it even less likely to happen in the
|
||||||
future. But if you didn't expect the command to create such large
|
future. But if you didn't expect the command to create such large
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,10 @@ megabytes.
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item C-x b @var{buffer} @key{RET}
|
@item C-x b @var{buffer} @key{RET}
|
||||||
Select or create a buffer named @var{buffer} (@code{switch-to-buffer}).
|
Select or create a buffer named @var{buffer} (@code{switch-to-buffer}).
|
||||||
|
@item C-x @key{LEFT}
|
||||||
|
Select the previous buffer in the list of existing buffers.
|
||||||
|
@item C-x @key{RIGHT}
|
||||||
|
Select the next buffer in the list of existing buffers.
|
||||||
@item C-x 4 b @var{buffer} @key{RET}
|
@item C-x 4 b @var{buffer} @key{RET}
|
||||||
Similar, but select @var{buffer} in another window
|
Similar, but select @var{buffer} in another window
|
||||||
(@code{switch-to-buffer-other-window}).
|
(@code{switch-to-buffer-other-window}).
|
||||||
|
|
@ -84,6 +88,16 @@ name you want (@pxref{Completion}). An empty argument to @kbd{C-x b}
|
||||||
specifies the buffer that was current most recently among those not
|
specifies the buffer that was current most recently among those not
|
||||||
now displayed in any window.
|
now displayed in any window.
|
||||||
|
|
||||||
|
@kindex C-x @key{LEFT}
|
||||||
|
@kindex C-x @key{RIGHT}
|
||||||
|
@findex next-buffer
|
||||||
|
@findex prev-buffer
|
||||||
|
For conveniently switching between a few buffers, use the commands
|
||||||
|
@kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{RIGHT}}
|
||||||
|
(@code{prev-buffer}) selects the previous buffer (following the order
|
||||||
|
of most recent selection), while @kbd{C-x @key{LEFT}}
|
||||||
|
(@code{next-buffer}) moves through buffers in the reverse direction.
|
||||||
|
|
||||||
@kindex C-x 4 b
|
@kindex C-x 4 b
|
||||||
@findex switch-to-buffer-other-window
|
@findex switch-to-buffer-other-window
|
||||||
@vindex even-window-heights
|
@vindex even-window-heights
|
||||||
|
|
@ -141,9 +155,9 @@ List the existing buffers (@code{list-buffers}).
|
||||||
@cindex listing current buffers
|
@cindex listing current buffers
|
||||||
@kindex C-x C-b
|
@kindex C-x C-b
|
||||||
@findex list-buffers
|
@findex list-buffers
|
||||||
To display a list of all the buffers that exist, type @kbd{C-x C-b}.
|
To display a list of existing buffers, type @kbd{C-x C-b}. Each
|
||||||
Each line in the list shows one buffer's name, major mode and visited
|
line in the list shows one buffer's name, major mode and visited file.
|
||||||
file. The buffers are listed in the order that they were current; the
|
The buffers are listed in the order that they were current; the
|
||||||
buffers that were current most recently come first.
|
buffers that were current most recently come first.
|
||||||
|
|
||||||
@samp{*} in the first field of a line indicates the buffer is ``modified.''
|
@samp{*} in the first field of a line indicates the buffer is ``modified.''
|
||||||
|
|
@ -171,7 +185,7 @@ directory @file{~/cvs/emacs/src/}. You can list only buffers that are
|
||||||
visiting files by giving the command a prefix; for instance, by typing
|
visiting files by giving the command a prefix; for instance, by typing
|
||||||
@kbd{C-u C-x C-b}.
|
@kbd{C-u C-x C-b}.
|
||||||
|
|
||||||
@code{list-buffers} omits buffers whose name begins with a blank,
|
@code{list-buffers} omits buffers whose names begin with a space,
|
||||||
unless they visit files: such buffers are used internally by Emacs.
|
unless they visit files: such buffers are used internally by Emacs.
|
||||||
|
|
||||||
@need 2000
|
@need 2000
|
||||||
|
|
@ -332,8 +346,9 @@ Similar, but do it in another window.
|
||||||
buffers@footnote{Buffers which don't visit files and whose names begin
|
buffers@footnote{Buffers which don't visit files and whose names begin
|
||||||
with a space are omitted: these are used internally by Emacs.} into the
|
with a space are omitted: these are used internally by Emacs.} into the
|
||||||
buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu
|
buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu
|
||||||
mode. The list in the @samp{*Buffer List*} buffer looks exactly as
|
mode.
|
||||||
described in @ref{List Buffers}. The buffer is read-only, and can be
|
|
||||||
|
The buffer is read-only, and can be
|
||||||
changed only through the special commands described in this section.
|
changed only through the special commands described in this section.
|
||||||
The usual Emacs cursor motion commands can be used in the @samp{*Buffer
|
The usual Emacs cursor motion commands can be used in the @samp{*Buffer
|
||||||
List*} buffer. The following commands apply to the buffer described on
|
List*} buffer. The following commands apply to the buffer described on
|
||||||
|
|
@ -411,21 +426,32 @@ any buffers previously marked with the @kbd{m} command. If you have not
|
||||||
marked any buffers, this command is equivalent to @kbd{1}.
|
marked any buffers, this command is equivalent to @kbd{1}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
All that @code{buffer-menu} does directly is create and switch to a
|
There is also a command that affects the entire buffer list:
|
||||||
suitable buffer, and turn on Buffer Menu mode. Everything else
|
|
||||||
|
@table @kbd
|
||||||
|
@item T
|
||||||
|
Delete, or reinsert, lines for non-file buffers. This command toggles
|
||||||
|
the inclusion of such buffers in the buffer list.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
What @code{buffer-menu} actually does is create and switch to a
|
||||||
|
suitable buffer, and turn on Buffer Menu mode in it. Everything else
|
||||||
described above is implemented by the special commands provided in
|
described above is implemented by the special commands provided in
|
||||||
Buffer Menu mode. One consequence of this is that you can switch from
|
Buffer Menu mode. One consequence of this is that you can switch from
|
||||||
the @samp{*Buffer List*} buffer to another Emacs buffer, and edit there.
|
the @samp{*Buffer List*} buffer to another Emacs buffer, and edit
|
||||||
You can reselect the @samp{*Buffer List*} buffer later, to perform the
|
there. You can reselect the @samp{*Buffer List*} buffer later, to
|
||||||
operations already requested, or you can kill it, or pay no further
|
perform the operations already requested, or you can kill it, or pay
|
||||||
attention to it.
|
no further attention to it.
|
||||||
|
|
||||||
The only difference between @code{buffer-menu} and @code{list-buffers}
|
The list in the @samp{*Buffer List*} buffer looks exactly like the
|
||||||
is that @code{buffer-menu} switches to the @samp{*Buffer List*} buffer
|
buffer list described in @ref{List Buffers}, because they really are
|
||||||
in the selected window; @code{list-buffers} displays it in another
|
the same. The only difference between @code{buffer-menu} and
|
||||||
window. If you run @code{list-buffers} (that is, type @kbd{C-x C-b})
|
@code{list-buffers} is that @code{buffer-menu} switches to the
|
||||||
and select the buffer list manually, you can use all of the commands
|
@samp{*Buffer List*} buffer in the selected window;
|
||||||
described here.
|
@code{list-buffers} displays the same buffer in another window. If
|
||||||
|
you run @code{list-buffers} (that is, type @kbd{C-x C-b}) and select
|
||||||
|
the buffer list manually, you can use all of the commands described
|
||||||
|
here.
|
||||||
|
|
||||||
Normally, the buffer @samp{*Buffer List*} is not updated automatically when
|
Normally, the buffer @samp{*Buffer List*} is not updated automatically when
|
||||||
buffers are created and killed; its contents are just text. If you have
|
buffers are created and killed; its contents are just text. If you have
|
||||||
|
|
@ -506,7 +532,7 @@ minibuffer.
|
||||||
convenient to switch between buffers.
|
convenient to switch between buffers.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Uniquify:: Buffer names can contain directory parts.
|
* Uniquify:: Making buffer names unique with directory parts.
|
||||||
* Iswitchb:: Switching between buffers with substrings.
|
* Iswitchb:: Switching between buffers with substrings.
|
||||||
* Buffer Menus:: Configurable buffer menu.
|
* Buffer Menus:: Configurable buffer menu.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
|
||||||
|
|
@ -874,6 +874,9 @@ displays the entire font @samp{6x13}.
|
||||||
parts of the Emacs display. To find out what colors are available on
|
parts of the Emacs display. To find out what colors are available on
|
||||||
your system, type @kbd{M-x list-colors-display}, or press
|
your system, type @kbd{M-x list-colors-display}, or press
|
||||||
@kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu.
|
@kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu.
|
||||||
|
(A particular window system might support many more colors, but the
|
||||||
|
list displayed by @code{list-colors-display} shows their portable
|
||||||
|
subset that can be safely used on any display supported by Emacs.)
|
||||||
If you do not specify colors, on windowed displays the default for the
|
If you do not specify colors, on windowed displays the default for the
|
||||||
background is white and the default for all other colors is black. On a
|
background is white and the default for all other colors is black. On a
|
||||||
monochrome display, the foreground is black, the background is white,
|
monochrome display, the foreground is black, the background is white,
|
||||||
|
|
@ -947,7 +950,9 @@ specified by the ANSI escape sequences for the 8 standard colors.
|
||||||
Use color mode for @var{num} colors. If @var{num} is -1, turn off
|
Use color mode for @var{num} colors. If @var{num} is -1, turn off
|
||||||
color support (equivalent to @samp{never}); if it is 0, use the
|
color support (equivalent to @samp{never}); if it is 0, use the
|
||||||
default color support for this terminal (equivalent to @samp{auto});
|
default color support for this terminal (equivalent to @samp{auto});
|
||||||
otherwise use an appropriate standard mode for @var{num} colors. If
|
otherwise use an appropriate standard mode for @var{num} colors.
|
||||||
|
Depending on your terminal's capabilities, Emacs might be able to turn
|
||||||
|
on a color mode for 8, 16, 88, or 256 as the value of @var{num}. If
|
||||||
there is no mode that supports @var{num} colors, Emacs acts as if
|
there is no mode that supports @var{num} colors, Emacs acts as if
|
||||||
@var{num} were 0, i.e.@: it uses the terminal's default color support
|
@var{num} were 0, i.e.@: it uses the terminal's default color support
|
||||||
mode.
|
mode.
|
||||||
|
|
|
||||||
|
|
@ -1116,13 +1116,10 @@ marked file. As a special case, if no prefix argument is given and
|
||||||
point is on a directory headerline, @kbd{w} gives you the name of that
|
point is on a directory headerline, @kbd{w} gives you the name of that
|
||||||
directory without looking for marked files.
|
directory without looking for marked files.
|
||||||
|
|
||||||
@vindex dired-marked-files
|
|
||||||
The main purpose of the @kbd{w} command is so that you can yank the
|
The main purpose of the @kbd{w} command is so that you can yank the
|
||||||
file names into arguments for other Emacs commands. It also displays
|
file names into arguments for other Emacs commands. It also displays
|
||||||
what was pushed onto the kill ring, so you can use it to display the
|
what was pushed onto the kill ring, so you can use it to display the
|
||||||
list of currently marked files in the echo area. It also stores the
|
list of currently marked files in the echo area.
|
||||||
list of names in the variable @code{dired-marked-files}, for use in
|
|
||||||
Lisp expressions.
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@ignore
|
@ignore
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ is not defined).
|
||||||
only when done before Emacs is started.
|
only when done before Emacs is started.
|
||||||
|
|
||||||
@cindex home directory shorthand
|
@cindex home directory shorthand
|
||||||
You can use the @file{~/} in a file name to mean your home directory,
|
You can use @file{~/} in a file name to mean your home directory,
|
||||||
or @file{~@var{user-id}/} to mean the home directory of a user whose
|
or @file{~@var{user-id}/} to mean the home directory of a user whose
|
||||||
login name is @code{user-id}. (On DOS and Windows systems, where a user
|
login name is @code{user-id}. (On DOS and Windows systems, where a user
|
||||||
doesn't have a home directory, Emacs substitutes @file{~/} with the
|
doesn't have a home directory, Emacs substitutes @file{~/} with the
|
||||||
|
|
@ -208,11 +208,13 @@ While in the minibuffer, you can abort @kbd{C-x C-f} by typing
|
||||||
about this, see @ref{Completion Options}.
|
about this, see @ref{Completion Options}.
|
||||||
|
|
||||||
@cindex file selection dialog
|
@cindex file selection dialog
|
||||||
When Emacs is built with a suitable GUI toolkit, it pops up the
|
When Emacs is built with a suitable GUI toolkit, commands invoked
|
||||||
standard File Selection dialog of that toolkit instead of prompting for
|
with the mouse or the menu bar use the toolkit's standard File
|
||||||
the file name in the minibuffer. On Unix and GNU/Linux platforms, Emacs
|
Selection dialog instead of prompting for the file name in the
|
||||||
does that when built with LessTif and Motif toolkits; on MS-Windows, the
|
minibuffer. On Unix and GNU/Linux platforms, Emacs does that when
|
||||||
GUI version does that by default.
|
built with GTK, LessTif, and Motif toolkits; on MS-Windows, the GUI
|
||||||
|
version does that by default. @xref{Dialog Boxes}, for info
|
||||||
|
on customization of this.
|
||||||
|
|
||||||
Your confirmation that @kbd{C-x C-f} has completed successfully is the
|
Your confirmation that @kbd{C-x C-f} has completed successfully is the
|
||||||
appearance of new text on the screen and a new buffer name in the mode
|
appearance of new text on the screen and a new buffer name in the mode
|
||||||
|
|
@ -253,10 +255,10 @@ carriage-return linefeed or just carriage-return if appropriate.
|
||||||
@vindex find-file-run-dired
|
@vindex find-file-run-dired
|
||||||
If the file you specify is actually a directory, @kbd{C-x C-f} invokes
|
If the file you specify is actually a directory, @kbd{C-x C-f} invokes
|
||||||
Dired, the Emacs directory browser, so that you can ``edit'' the contents
|
Dired, the Emacs directory browser, so that you can ``edit'' the contents
|
||||||
of the directory (@pxref{Dired}). Dired is a convenient way to delete,
|
of the directory (@pxref{Dired}). Dired is a convenient way to view, delete,
|
||||||
look at, or operate on the files in the directory. However, if the
|
or operate on the files in the directory. However, if the variable
|
||||||
variable @code{find-file-run-dired} is @code{nil}, then it is an error
|
@code{find-file-run-dired} is @code{nil}, then it is an error to try
|
||||||
to try to visit a directory.
|
to visit a directory.
|
||||||
|
|
||||||
Files which are actually collections of other files, or @dfn{file
|
Files which are actually collections of other files, or @dfn{file
|
||||||
archives}, are visited in special modes which invoke a Dired-like
|
archives}, are visited in special modes which invoke a Dired-like
|
||||||
|
|
@ -407,6 +409,9 @@ about other buffers.
|
||||||
View the buffer that you are currently being asked about. When you exit
|
View the buffer that you are currently being asked about. When you exit
|
||||||
View mode, you get back to @code{save-some-buffers}, which asks the
|
View mode, you get back to @code{save-some-buffers}, which asks the
|
||||||
question again.
|
question again.
|
||||||
|
@item d
|
||||||
|
Diff the buffer against its corresponding file, so you can see
|
||||||
|
what changes you would be saving.
|
||||||
@item C-h
|
@item C-h
|
||||||
Display a help message about these options.
|
Display a help message about these options.
|
||||||
@end table
|
@end table
|
||||||
|
|
@ -3085,26 +3090,24 @@ syntax:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
When you do this, Emacs may use the FTP program to access files on the
|
To carry out this request, Emacs uses either the FTP program or a
|
||||||
remote host, or Emacs may use a remote-login program (such as
|
remote-login program such as @command{ssh}, @command{rlogin}, or
|
||||||
@command{ssh}, @command{rlogin}, or @command{telnet}) to do this.
|
@command{telnet}. You can always specify in the file name which
|
||||||
|
method to use---for example,
|
||||||
You can always specify in the file name which method should be used to
|
|
||||||
access the remote files, for example
|
|
||||||
@file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, whereas
|
@file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, whereas
|
||||||
@file{/ssh:@var{user}@@@var{host}:@var{filename}} uses @command{ssh}.
|
@file{/ssh:@var{user}@@@var{host}:@var{filename}} uses @command{ssh}.
|
||||||
When you don't specify a method in the file name, Emacs determines a
|
When you don't specify a method in the file name, Emacs chooses
|
||||||
default method according to the following rules:
|
the method as follows:
|
||||||
|
|
||||||
@enumerate
|
@enumerate
|
||||||
@item
|
@item
|
||||||
If the host name starts with @samp{ftp.} (with dot), then Emacs assumes
|
If the host name starts with @samp{ftp.} (with dot), then Emacs uses
|
||||||
the @command{ftp} method.
|
FTP.
|
||||||
@item
|
@item
|
||||||
If the user name is @samp{ftp} or @samp{anonymous}, then Emacs assumes
|
If the user name is @samp{ftp} or @samp{anonymous}, then Emacs uses
|
||||||
the @command{ftp} method.
|
FTP.
|
||||||
@item
|
@item
|
||||||
Otherwise, Emacs assumes the @command{ssh} method.
|
Otherwise, Emacs uses @command{ssh}.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ checker program Ispell, which is not part of Emacs.
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item M-x flyspell-mode
|
@item M-x flyspell-mode
|
||||||
Enable Flyspell mode, which highlights all misspelled words.
|
Enable Flyspell mode, which highlights all misspelled words.
|
||||||
@item M-x flyspell-progmode
|
@item M-x flyspell-prog-mode
|
||||||
Enable Flyspell mode for comments and strings only.
|
Enable Flyspell mode for comments and strings only.
|
||||||
@item M-$
|
@item M-$
|
||||||
Check and correct spelling of the word at point (@code{ispell-word}).
|
Check and correct spelling of the word at point (@code{ispell-word}).
|
||||||
|
|
|
||||||
164
man/frames.texi
164
man/frames.texi
|
|
@ -29,10 +29,6 @@ frame.
|
||||||
so that you can use many of the features described in this chapter.
|
so that you can use many of the features described in this chapter.
|
||||||
@xref{MS-DOS Input}, for more information.
|
@xref{MS-DOS Input}, for more information.
|
||||||
|
|
||||||
@cindex MS Windows
|
|
||||||
Emacs compiled for MS Windows mostly supports the same features as
|
|
||||||
under X.
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Mouse Commands:: Moving, cutting, and pasting, with the mouse.
|
* Mouse Commands:: Moving, cutting, and pasting, with the mouse.
|
||||||
* Secondary Selection:: Cutting without altering point and mark.
|
* Secondary Selection:: Cutting without altering point and mark.
|
||||||
|
|
@ -48,7 +44,7 @@ under X.
|
||||||
* Frame Parameters:: Changing the colors and other modes of frames.
|
* Frame Parameters:: Changing the colors and other modes of frames.
|
||||||
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
|
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
|
||||||
* Wheeled Mice:: Using mouse wheels for scrolling.
|
* Wheeled Mice:: Using mouse wheels for scrolling.
|
||||||
* Drag and drop:: Using drag and drop to open files and insert text.
|
* Drag and Drop:: Using drag and drop to open files and insert text.
|
||||||
* Menu Bars:: Enabling and disabling the menu bar.
|
* Menu Bars:: Enabling and disabling the menu bar.
|
||||||
* Tool Bars:: Enabling and disabling the tool bar.
|
* Tool Bars:: Enabling and disabling the tool bar.
|
||||||
* Dialog Boxes:: Controlling use of dialog boxes.
|
* Dialog Boxes:: Controlling use of dialog boxes.
|
||||||
|
|
@ -64,7 +60,9 @@ under X.
|
||||||
|
|
||||||
The mouse commands for selecting and copying a region are mostly
|
The mouse commands for selecting and copying a region are mostly
|
||||||
compatible with the @code{xterm} program. You can use the same mouse
|
compatible with the @code{xterm} program. You can use the same mouse
|
||||||
commands for copying between Emacs and other X client programs.
|
commands for copying between Emacs and other window-based programs.
|
||||||
|
Most of these commands also work in Emacs when you run it under an
|
||||||
|
@code{xterm} terminal.
|
||||||
|
|
||||||
@kindex DELETE @r{(and mouse selection)}
|
@kindex DELETE @r{(and mouse selection)}
|
||||||
If you select a region with any of these mouse commands, and then
|
If you select a region with any of these mouse commands, and then
|
||||||
|
|
@ -188,8 +186,6 @@ you want. Then yank it in Emacs with @kbd{C-y} or @kbd{Mouse-2}.
|
||||||
system for X selections, use @kbd{C-x @key{RET} x} or @kbd{C-x
|
system for X selections, use @kbd{C-x @key{RET} x} or @kbd{C-x
|
||||||
@key{RET} X}. @xref{Specify Coding}.
|
@key{RET} X}. @xref{Specify Coding}.
|
||||||
|
|
||||||
These cutting and pasting commands also work on MS-Windows.
|
|
||||||
|
|
||||||
@cindex primary selection
|
@cindex primary selection
|
||||||
@cindex cut buffer
|
@cindex cut buffer
|
||||||
@cindex selection, primary
|
@cindex selection, primary
|
||||||
|
|
@ -270,7 +266,7 @@ that matters is which window you click on. @xref{Mouse Commands}.
|
||||||
@cindex OpenWindows
|
@cindex OpenWindows
|
||||||
@cindex Gnome
|
@cindex Gnome
|
||||||
|
|
||||||
As well as the primary and secondary selection types, X supports a
|
Apart from the primary and secondary selection types, X supports a
|
||||||
@dfn{clipboard} selection type which is used by some applications,
|
@dfn{clipboard} selection type which is used by some applications,
|
||||||
particularly under OpenWindows and Gnome.
|
particularly under OpenWindows and Gnome.
|
||||||
|
|
||||||
|
|
@ -287,28 +283,42 @@ unlike most systems.
|
||||||
|
|
||||||
@node Mouse References
|
@node Mouse References
|
||||||
@section Following References with the Mouse
|
@section Following References with the Mouse
|
||||||
|
@kindex Mouse-1 @r{(selection)}
|
||||||
@kindex Mouse-2 @r{(selection)}
|
@kindex Mouse-2 @r{(selection)}
|
||||||
|
|
||||||
Some Emacs buffers display lists of various sorts. These include
|
Some read-only Emacs buffers include references you can follow, or
|
||||||
lists of files, of buffers, of possible completions, of matches for
|
commands you can activate. These include names of files, of buffers,
|
||||||
a pattern, and so on.
|
of possible completions, of matches for a pattern, as well as the
|
||||||
|
buttons in Help buffers and customization buffers. You can follow the
|
||||||
|
reference or activate the command by moving point to it and typing
|
||||||
|
@key{RET}. You can also do this with the mouse, using either
|
||||||
|
@kbd{Mouse-1} or @kbd{Mouse-2}.
|
||||||
|
|
||||||
Since yanking text into these buffers is not very useful, most of them
|
Since yanking text into a read-only buffer is not allowed, these
|
||||||
define @kbd{Mouse-2} specially, as a command to use or view the item you
|
buffers generally define @kbd{Mouse-2} to follow a reference or
|
||||||
click on.
|
activate a command. For example, if you click @kbd{Mouse-2} on a file
|
||||||
|
name in a Dired buffer, you visit that file. If you click
|
||||||
|
@kbd{Mouse-2} on an error message in the @samp{*Compilation*} buffer,
|
||||||
|
you go to the source code for that error message. If you click
|
||||||
|
@kbd{Mouse-2} on a completion in the @samp{*Completions*} buffer, you
|
||||||
|
choose that completion.
|
||||||
|
|
||||||
For example, if you click @kbd{Mouse-2} on a file name in a Dired
|
@vindex mouse-1-click-follows-link
|
||||||
buffer, you visit that file. If you click @kbd{Mouse-2} on an error
|
However, most applications use @kbd{Mouse-1} to do this sort of
|
||||||
message in the @samp{*Compilation*} buffer, you go to the source code
|
thing, so Emacs implements this too. If you click @kbd{Mouse-1}
|
||||||
for that error message. If you click @kbd{Mouse-2} on a completion in
|
quickly on a reference or button, it follows or activates. If you
|
||||||
the @samp{*Completions*} buffer, you choose that completion.
|
click slowly, it moves point as usual. Dragging, meaning moving the
|
||||||
|
mouse while it is held down, also has its usual behavior of setting
|
||||||
|
the region. The variable @code{mouse-1-click-follows-link} controls
|
||||||
|
whether @kbd{Mouse-1} has this behavior.
|
||||||
|
|
||||||
@vindex mouse-highlight
|
@vindex mouse-highlight
|
||||||
You can usually tell when @kbd{Mouse-2} has this special sort of
|
You can usually tell when @kbd{Mouse-1} and @kbd{Mouse-2} have this
|
||||||
meaning because the sensitive text highlights when you move the mouse
|
special sort of meaning because the sensitive text highlights when you
|
||||||
over it. The variable @code{mouse-highlight} controls whether to do
|
move the mouse over it. The variable @code{mouse-highlight} controls
|
||||||
this highlighting always (even when such text appears where the mouse
|
whether to do this highlighting always (even when such text appears
|
||||||
already is), never, or only immediately after you move the mouse.
|
where the mouse already is), never, or only immediately after you move
|
||||||
|
the mouse.
|
||||||
|
|
||||||
@node Menu Mouse Clicks
|
@node Menu Mouse Clicks
|
||||||
@section Mouse Clicks for Menus
|
@section Mouse Clicks for Menus
|
||||||
|
|
@ -331,16 +341,17 @@ for editing formatted text. @xref{Formatted Text}.
|
||||||
|
|
||||||
@item C-Mouse-3
|
@item C-Mouse-3
|
||||||
@kindex C-Mouse-3
|
@kindex C-Mouse-3
|
||||||
This menu is mode-specific. For most modes if Menu-bar mode is on, this
|
This menu is mode-specific. For most modes if Menu-bar mode is on,
|
||||||
menu has the same items as all the mode-specific menu-bar menus put
|
this menu has the same items as all the mode-specific menu-bar menus
|
||||||
together. Some modes may specify a different menu for this
|
put together. Some modes may specify a different menu for this
|
||||||
button.@footnote{Some systems use @kbd{Mouse-3} for a mode-specific
|
button.@footnote{Some systems use @kbd{Mouse-3} for a mode-specific
|
||||||
menu. We took a survey of users, and found they preferred to keep
|
menu. We took a survey of users, and found they preferred to keep
|
||||||
@kbd{Mouse-3} for selecting and killing regions. Hence the decision to
|
@kbd{Mouse-3} for selecting and killing regions. Hence the decision
|
||||||
use @kbd{C-Mouse-3} for this menu.} If Menu-bar mode is off, this menu
|
to use @kbd{C-Mouse-3} for this menu. To use @kbd{Mouse-3} instead,
|
||||||
contains all the items which would be present in the menu bar---not just
|
do @code{(global-set-key [mouse-3] 'mouse-popup-menubar-stuff)}.} If
|
||||||
the mode-specific ones---so that you can access them without having to
|
Menu-bar mode is off, this menu contains all the items which would be
|
||||||
display the menu bar.
|
present in the menu bar---not just the mode-specific ones---so that
|
||||||
|
you can access them without having to display the menu bar.
|
||||||
|
|
||||||
@item S-Mouse-1
|
@item S-Mouse-1
|
||||||
This menu is for specifying the frame's principal font.
|
This menu is for specifying the frame's principal font.
|
||||||
|
|
@ -357,9 +368,9 @@ windows.
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item Mouse-1
|
@item Mouse-1
|
||||||
@kindex Mouse-1 @r{(mode line)}
|
@kindex Mouse-1 @r{(mode line)}
|
||||||
@kbd{Mouse-1} on a mode line selects the window above. By dragging
|
@kbd{Mouse-1} on a mode line selects the window it belongs to. By
|
||||||
@kbd{Mouse-1} on the mode line, you can move it, thus changing the
|
dragging @kbd{Mouse-1} on the mode line, you can move it, thus
|
||||||
height of the windows above and below.
|
changing the height of the windows above and below.
|
||||||
|
|
||||||
@item Mouse-2
|
@item Mouse-2
|
||||||
@kindex Mouse-2 @r{(mode line)}
|
@kindex Mouse-2 @r{(mode line)}
|
||||||
|
|
@ -367,9 +378,9 @@ height of the windows above and below.
|
||||||
|
|
||||||
@item Mouse-3
|
@item Mouse-3
|
||||||
@kindex Mouse-3 @r{(mode line)}
|
@kindex Mouse-3 @r{(mode line)}
|
||||||
@kbd{Mouse-3} on a mode line deletes the window above. If the frame has
|
@kbd{Mouse-3} on a mode line deletes the window it belongs to. If the
|
||||||
only one window, it buries the current buffer instead and switches to
|
frame has only one window, it buries the current buffer instead, and
|
||||||
another buffer.
|
switches to another buffer.
|
||||||
|
|
||||||
@item C-Mouse-2
|
@item C-Mouse-2
|
||||||
@kindex C-mouse-2 @r{(mode line)}
|
@kindex C-mouse-2 @r{(mode line)}
|
||||||
|
|
@ -639,7 +650,6 @@ whether that feature is also in use for the same buffer name.
|
||||||
|
|
||||||
@node Frame Parameters
|
@node Frame Parameters
|
||||||
@section Setting Frame Parameters
|
@section Setting Frame Parameters
|
||||||
@cindex colors
|
|
||||||
@cindex Auto-Raise mode
|
@cindex Auto-Raise mode
|
||||||
@cindex Auto-Lower mode
|
@cindex Auto-Lower mode
|
||||||
|
|
||||||
|
|
@ -653,10 +663,16 @@ window management behavior of the selected frame.
|
||||||
@findex set-border-color
|
@findex set-border-color
|
||||||
@findex auto-raise-mode
|
@findex auto-raise-mode
|
||||||
@findex auto-lower-mode
|
@findex auto-lower-mode
|
||||||
|
@cindex colors
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item M-x set-foreground-color @key{RET} @var{color} @key{RET}
|
@item M-x set-foreground-color @key{RET} @var{color} @key{RET}
|
||||||
Specify color @var{color} for the foreground of the selected frame.
|
Specify color @var{color} for the foreground of the selected frame.
|
||||||
(This also changes the foreground color of the default face.)
|
(This also changes the foreground color of the default face.) You can
|
||||||
|
specify @var{color} either by its symbolic name or by its RGB
|
||||||
|
numerical specification@footnote{
|
||||||
|
See the X Window System documentation for more details. On a typical
|
||||||
|
GNU or Unix system, the command @kbd{man 7 X} or @kbd{man -s 7 X} will
|
||||||
|
display the X manual page that explains how to specify colors.}.
|
||||||
|
|
||||||
@item M-x set-background-color @key{RET} @var{color} @key{RET}
|
@item M-x set-background-color @key{RET} @var{color} @key{RET}
|
||||||
Specify color @var{color} for the background of the selected frame.
|
Specify color @var{color} for the background of the selected frame.
|
||||||
|
|
@ -674,7 +690,8 @@ Specify color @var{color} for the border of the selected frame.
|
||||||
|
|
||||||
@item M-x list-colors-display
|
@item M-x list-colors-display
|
||||||
Display the defined color names and show what the colors look like.
|
Display the defined color names and show what the colors look like.
|
||||||
This command is somewhat slow.
|
This command is somewhat slow. @xref{Colors, list-colors-display,
|
||||||
|
Display available colors}.
|
||||||
|
|
||||||
@item M-x auto-raise-mode
|
@item M-x auto-raise-mode
|
||||||
Toggle whether or not the selected frame should auto-raise. Auto-raise
|
Toggle whether or not the selected frame should auto-raise. Auto-raise
|
||||||
|
|
@ -798,19 +815,24 @@ generating appropriate events for Emacs.
|
||||||
@code{mouse-wheel-scroll-amount} determine where and by how much
|
@code{mouse-wheel-scroll-amount} determine where and by how much
|
||||||
buffers are scrolled.
|
buffers are scrolled.
|
||||||
|
|
||||||
@node Drag and drop
|
@node Drag and Drop
|
||||||
@section Drag and drop in Emacs.
|
@section Drag and Drop
|
||||||
|
|
||||||
@cindex drag and drop
|
@cindex drag and drop
|
||||||
Emacs supports drag and drop so that dropping of files and text is handled.
|
|
||||||
Currently supported drag and drop protocols are XDND, Motif and the old
|
|
||||||
KDE 1.x protocol. There is no drag support yet.
|
|
||||||
When text is dropped on Emacs, Emacs inserts the text where it is dropped.
|
|
||||||
When a file is dragged from a file manager to Emacs, Emacs opens that file.
|
|
||||||
As a special case, if a file is dropped on a dired buffer the file is
|
|
||||||
copied or moved (depends on exactly how it is dragged and the application
|
|
||||||
it was dragged from) to the directory the dired buffer is displaying.
|
|
||||||
|
|
||||||
|
Emacs supports @dfn{drag and drop} using the mouse. For instance,
|
||||||
|
dropping text onto an Emacs frame inserts the text where it is dropped.
|
||||||
|
Dropping a file onto an Emacs frame visits that file. As a special
|
||||||
|
case, dropping the file on a Dired buffer moves or copies the file
|
||||||
|
(according to the conventions of the application it came from) into the
|
||||||
|
directory displayed in that buffer.
|
||||||
|
|
||||||
|
@vindex x-dnd-open-file-other-window
|
||||||
|
Dropping a file normally visits it in the window you drop it on. If
|
||||||
|
you prefer to visit the file in a new window in such cases, customize
|
||||||
|
the variable @code{x-dnd-open-file-other-window}.
|
||||||
|
|
||||||
|
@ignore
|
||||||
|
@c ??? To Lisp manual
|
||||||
@vindex x-dnd-test-function
|
@vindex x-dnd-test-function
|
||||||
@vindex x-dnd-known-types
|
@vindex x-dnd-known-types
|
||||||
When a user drags something from another application over Emacs, that other
|
When a user drags something from another application over Emacs, that other
|
||||||
|
|
@ -822,26 +844,24 @@ which accepts drops if the type of the data to be dropped is present in
|
||||||
@code{x-dnd-known-types} if you want Emacs to accept or reject drops based
|
@code{x-dnd-known-types} if you want Emacs to accept or reject drops based
|
||||||
on some other criteria.
|
on some other criteria.
|
||||||
|
|
||||||
@vindex x-dnd-open-file-other-window
|
|
||||||
A file is normally opened in the window it is dropped on, but if you
|
|
||||||
prefer the file to be opened in a new window you can customize the variable
|
|
||||||
@code{x-dnd-open-file-other-window}.
|
|
||||||
|
|
||||||
@vindex x-dnd-types-alist
|
@vindex x-dnd-types-alist
|
||||||
If you want to change the way Emacs handles drop of different types
|
If you want to change the way Emacs handles drop of different types
|
||||||
or add a new type, you shall customize @code{x-dnd-types-alist}. This
|
or add a new type, customize @code{x-dnd-types-alist}. This requires
|
||||||
requires detailed knowledge of what types other applications use
|
detailed knowledge of what types other applications use for drag and
|
||||||
for drag and drop.
|
drop.
|
||||||
|
|
||||||
@vindex x-dnd-protocol-alist
|
@vindex x-dnd-protocol-alist
|
||||||
When an URL is dropped on Emacs it may be a file, but it may also be
|
When an URL is dropped on Emacs it may be a file, but it may also be
|
||||||
another URL type (ftp, http, etc.). Emacs first checks
|
another URL type (ftp, http, etc.). Emacs first checks
|
||||||
@code{x-dnd-protocol-alist} to determine what to do with the URL. If there
|
@code{x-dnd-protocol-alist} to determine what to do with the URL. If
|
||||||
is no match there and if @code{browse-url-browser-function} is an alist,
|
there is no match there and if @code{browse-url-browser-function} is
|
||||||
Emacs looks for a match there. If no match is found the text for the URL
|
an alist, Emacs looks for a match there. If no match is found the
|
||||||
is inserted. If you want to alter Emacs behaviour you can customize these
|
text for the URL is inserted. If you want to alter Emacs behavior,
|
||||||
variables.
|
you can customize these variables.
|
||||||
|
@end ignore
|
||||||
|
|
||||||
|
The drag and drop protocols XDND, Motif and the
|
||||||
|
old KDE 1.x protocol are currently supported.
|
||||||
|
|
||||||
@node Menu Bars
|
@node Menu Bars
|
||||||
@section Menu Bars
|
@section Menu Bars
|
||||||
|
|
@ -873,20 +893,20 @@ menus.
|
||||||
@cindex mode, Tool Bar
|
@cindex mode, Tool Bar
|
||||||
@cindex icons, toolbar
|
@cindex icons, toolbar
|
||||||
|
|
||||||
The @dfn{tool bar} is a line (or multiple lines) of icons at the top
|
The @dfn{tool bar} is a line (or lines) of icons at the top of the
|
||||||
of the Emacs window. You can click on these icons with the mouse
|
Emacs window, just below the menu bar. You can click on these icons
|
||||||
to do various jobs.
|
with the mouse to do various jobs.
|
||||||
|
|
||||||
The global tool bar contains general commands. Some major modes
|
The global tool bar contains general commands. Some major modes
|
||||||
define their own tool bars to replace it. A few ``special'' modes
|
define their own tool bars to replace it. A few ``special'' modes
|
||||||
that are not designed for ordinary editing remove some items from the
|
that are not designed for ordinary editing remove some items from the
|
||||||
global tool bar.
|
global tool bar.
|
||||||
|
|
||||||
Tool bars work only on a graphical display. The tool bar uses colored
|
Tool bars work only on a graphical display. The tool bar uses colored
|
||||||
XPM icons if Emacs was built with XPM support. Otherwise, the tool
|
XPM icons if Emacs was built with XPM support. Otherwise, the tool
|
||||||
bar uses monochrome icons (PBM or XBM format).
|
bar uses monochrome icons (PBM or XBM format).
|
||||||
|
|
||||||
You can turn display of tool bars on or off with @kbd{M-x
|
You can turn display of tool bars on or off with @kbd{M-x
|
||||||
tool-bar-mode}.
|
tool-bar-mode}.
|
||||||
|
|
||||||
@node Dialog Boxes
|
@node Dialog Boxes
|
||||||
|
|
|
||||||
|
|
@ -185,9 +185,9 @@ Kill back to the beginning of the sentence (@code{backward-kill-sentence}).
|
||||||
The commands @kbd{M-a} and @kbd{M-e} (@code{backward-sentence} and
|
The commands @kbd{M-a} and @kbd{M-e} (@code{backward-sentence} and
|
||||||
@code{forward-sentence}) move to the beginning and end of the current
|
@code{forward-sentence}) move to the beginning and end of the current
|
||||||
sentence, respectively. They were chosen to resemble @kbd{C-a} and
|
sentence, respectively. They were chosen to resemble @kbd{C-a} and
|
||||||
@kbd{C-e}, which move to the beginning and end of a line. Unlike them,
|
@kbd{C-e}, which move to the beginning and end of a line. Unlike
|
||||||
@kbd{M-a} and @kbd{M-e} if repeated or given numeric arguments move over
|
them, @kbd{M-a} and @kbd{M-e} move over successive sentences if
|
||||||
successive sentences.
|
repeated.
|
||||||
|
|
||||||
Moving backward over a sentence places point just before the first
|
Moving backward over a sentence places point just before the first
|
||||||
character of the sentence; moving forward places point right after the
|
character of the sentence; moving forward places point right after the
|
||||||
|
|
@ -238,11 +238,10 @@ set @code{sentence-end} to this value:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
You should also set the variable @code{sentence-end-double-space} to
|
This is what setting the variable @code{sentence-end-double-space} to
|
||||||
@code{nil} so that the fill commands expect and leave just one space at
|
@code{nil} automatically does. But note that this makes it impossible
|
||||||
the end of a sentence. Note that this makes it impossible to
|
to distinguish between periods that end sentences and those that
|
||||||
distinguish between periods that end sentences and those that indicate
|
indicate abbreviations.
|
||||||
abbreviations.
|
|
||||||
|
|
||||||
@node Paragraphs
|
@node Paragraphs
|
||||||
@section Paragraphs
|
@section Paragraphs
|
||||||
|
|
@ -269,8 +268,8 @@ paragraph, while @kbd{M-@}} moves to the end of the current or next
|
||||||
paragraph. Blank lines and text-formatter command lines separate
|
paragraph. Blank lines and text-formatter command lines separate
|
||||||
paragraphs and are not considered part of any paragraph. In Indented
|
paragraphs and are not considered part of any paragraph. In Indented
|
||||||
Text mode, but not in Text mode, an indented line also starts a new
|
Text mode, but not in Text mode, an indented line also starts a new
|
||||||
paragraph. (If a paragraph is preceded by a blank line, these
|
paragraph. If there is a blank line before the paragraph, @kbd{M-@{}
|
||||||
commands treat that blank line as the beginning of the paragraph.)
|
moves to the blank line, because that is convenient in practice.
|
||||||
|
|
||||||
In major modes for programs, paragraphs begin and end only at blank
|
In major modes for programs, paragraphs begin and end only at blank
|
||||||
lines. This makes the paragraph commands continue to be useful even
|
lines. This makes the paragraph commands continue to be useful even
|
||||||
|
|
@ -894,11 +893,11 @@ invisible so that you can see the outline structure. Type @kbd{M-x
|
||||||
outline-mode} to switch to Outline mode as the major mode of the current
|
outline-mode} to switch to Outline mode as the major mode of the current
|
||||||
buffer.
|
buffer.
|
||||||
|
|
||||||
When Outline mode makes a line invisible, the line does not appear on
|
When Outline mode makes a line invisible, the line does not appear
|
||||||
the screen. The screen appears exactly as if the invisible line were
|
on the screen. The screen appears exactly as if the invisible line
|
||||||
deleted, except that an ellipsis (three periods in a row) appears at the
|
were deleted, except that an ellipsis (three periods in a row) appears
|
||||||
end of the previous visible line (only one ellipsis no matter how many
|
at the end of the previous visible line. (Multiple consecutive
|
||||||
invisible lines follow).
|
invisible lines produce just one ellipsis.)
|
||||||
|
|
||||||
Editing commands that operate on lines, such as @kbd{C-n} and
|
Editing commands that operate on lines, such as @kbd{C-n} and
|
||||||
@kbd{C-p}, treat the text of the invisible line as part of the previous
|
@kbd{C-p}, treat the text of the invisible line as part of the previous
|
||||||
|
|
@ -929,7 +928,7 @@ the hook @code{outline-mode-hook} (@pxref{Hooks}).
|
||||||
outlines.
|
outlines.
|
||||||
* Visibility: Outline Visibility. Commands to control what is visible.
|
* Visibility: Outline Visibility. Commands to control what is visible.
|
||||||
* Views: Outline Views. Outlines and multiple views.
|
* Views: Outline Views. Outlines and multiple views.
|
||||||
* Foldout:: Folding editing.
|
* Foldout:: Folding means zooming in on outlines.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Outline Format
|
@node Outline Format
|
||||||
|
|
@ -1900,8 +1899,11 @@ for more information about text properties.
|
||||||
@cindex soft newline
|
@cindex soft newline
|
||||||
@cindex newlines, hard and soft
|
@cindex newlines, hard and soft
|
||||||
|
|
||||||
|
@cindex use-hard-newlines
|
||||||
In formatted text, Emacs distinguishes between two different kinds of
|
In formatted text, Emacs distinguishes between two different kinds of
|
||||||
newlines, @dfn{hard} newlines and @dfn{soft} newlines.
|
newlines, @dfn{hard} newlines and @dfn{soft} newlines. (You can enable
|
||||||
|
or disable this feature separately in any buffer with the command
|
||||||
|
@code{use-hard-newlines}.)
|
||||||
|
|
||||||
Hard newlines are used to separate paragraphs, or items in a list, or
|
Hard newlines are used to separate paragraphs, or items in a list, or
|
||||||
anywhere that there should always be a line break regardless of the
|
anywhere that there should always be a line break regardless of the
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,8 @@ only one mark position.
|
||||||
|
|
||||||
Each window has its own mode line, which displays the buffer name,
|
Each window has its own mode line, which displays the buffer name,
|
||||||
modification status and major and minor modes of the buffer that is
|
modification status and major and minor modes of the buffer that is
|
||||||
displayed in the window. @xref{Mode Line}, for full details on the mode
|
displayed in the window. The selected window's mode line appears in a
|
||||||
line.
|
different color. @xref{Mode Line}, for full details on the mode line.
|
||||||
|
|
||||||
@iftex
|
@iftex
|
||||||
@break
|
@break
|
||||||
|
|
@ -322,9 +322,14 @@ except for the echo area.
|
||||||
@kbd{Mouse-3}, and delete all the windows in a frame except one window
|
@kbd{Mouse-3}, and delete all the windows in a frame except one window
|
||||||
by clicking on that window's mode line with @kbd{Mouse-2}.
|
by clicking on that window's mode line with @kbd{Mouse-2}.
|
||||||
|
|
||||||
The easiest way to adjust window heights is with a mouse. If you
|
You can also adjust window heights and widths with the mouse. If
|
||||||
press @kbd{Mouse-1} on a mode line, you can drag that mode line up or
|
you press @kbd{Mouse-1} on a mode line, you can drag that mode line up
|
||||||
down, changing the heights of the windows above and below it.
|
or down, changing the heights of the windows above and below it. If
|
||||||
|
you press it on the divider between two consecutive mode lines, you
|
||||||
|
can drag that divider right or left, changing the widths of the
|
||||||
|
windows to either side. Note that changing heights and widths with
|
||||||
|
the mouse never deletes windows, it just refuses to make any window
|
||||||
|
smaller than it can be.
|
||||||
|
|
||||||
@kindex C-x ^
|
@kindex C-x ^
|
||||||
@findex enlarge-window
|
@findex enlarge-window
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,82 @@
|
||||||
|
2005-02-05 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
* sysdep.c (sys_subshell): Properly terminate execlp argument
|
||||||
|
list.
|
||||||
|
|
||||||
|
2005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||||
|
|
||||||
|
* xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
|
||||||
|
the longs in a XClientMessageEvent correctly when long is 64 bits.
|
||||||
|
|
||||||
|
2005-02-05 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
|
||||||
|
instead of HAVE_X_WINDOWS, for non-X windowed sessions.
|
||||||
|
|
||||||
|
2005-02-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||||
|
|
||||||
|
* xmenu.c (menubar_selection_callback): Force out GTK buffered
|
||||||
|
events so the menu event comes after them. This is to prevent sit-for
|
||||||
|
from exiting on buffered events directly after a menu selection,
|
||||||
|
lisp code for Help => About Emacs uses sit-for.
|
||||||
|
|
||||||
|
* gtkutil.c (create_menus): Connect selection-done event instead of
|
||||||
|
the deactivate event to deactivate_cb. This will make the last
|
||||||
|
leave event come before the call to deactivate_cb, so the leave
|
||||||
|
event does not make sit-for exit after a menu selection.
|
||||||
|
|
||||||
|
2005-02-03 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
|
* dispnew.c (build_frame_matrix_from_leaf_window)
|
||||||
|
[!GLYPH_DEBUG]: Fix xassert.
|
||||||
|
|
||||||
|
* xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
|
||||||
|
|
||||||
|
* xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
|
||||||
|
|
||||||
|
2005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||||
|
|
||||||
|
* mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
|
||||||
|
the compiling OS version.
|
||||||
|
|
||||||
|
* macfns.c (x_create_tip_frame): Likewise.
|
||||||
|
|
||||||
|
* macterm.c (mac_draw_string_common, x_make_frame_visible):
|
||||||
|
Likewise.
|
||||||
|
|
||||||
|
2005-02-03 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
|
* xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
|
||||||
|
|
||||||
|
* xdisp.c (echo_area_display): Clear echo_message_buffer.
|
||||||
|
|
||||||
|
* buffer.c (Fbury_buffer): Doc fix.
|
||||||
|
|
||||||
|
2005-02-02 Steven Tamm <steventamm@mac.com>
|
||||||
|
|
||||||
|
* macfns.c (unwind_create_frame): Fixing compile error due to
|
||||||
|
xassert being uncondition, but predicate is.
|
||||||
|
* dispnew.c (update_window): Fixing compile error due to
|
||||||
|
xassert being uncondition, but predicate is.
|
||||||
|
|
||||||
|
2005-02-02 Miles Bader <miles@gnu.org>
|
||||||
|
|
||||||
|
* dispextern.h (xassert): Enable unconditionally.
|
||||||
|
|
||||||
|
2005-02-02 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
|
* undo.c (Fprimitive_undo): Fix dummy apply undo entry.
|
||||||
|
|
||||||
|
2005-02-02 Kenichi Handa <handa@m17n.org>
|
||||||
|
|
||||||
|
* casefiddle.c (casify_object): Enable changing characters of
|
||||||
|
different byte length.
|
||||||
|
(casify_region): Fix loop condition, args to replace_range_2, and
|
||||||
|
update opoint_byte.
|
||||||
|
|
||||||
|
* insdel.c (replace_range_2): Fix bugs in adjusting markers and
|
||||||
|
point.
|
||||||
|
|
||||||
2005-02-01 Kim F. Storm <storm@cua.dk>
|
2005-02-01 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
* xdisp.c (back_to_previous_visible_line_start): Reset iterator
|
* xdisp.c (back_to_previous_visible_line_start): Reset iterator
|
||||||
|
|
|
||||||
|
|
@ -1953,6 +1953,7 @@ DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "",
|
||||||
doc: /* Put BUFFER at the end of the list of all buffers.
|
doc: /* Put BUFFER at the end of the list of all buffers.
|
||||||
There it is the least likely candidate for `other-buffer' to return;
|
There it is the least likely candidate for `other-buffer' to return;
|
||||||
thus, the least likely buffer for \\[switch-to-buffer] to select by default.
|
thus, the least likely buffer for \\[switch-to-buffer] to select by default.
|
||||||
|
You can specify a buffer name as BUFFER, or an actual buffer object.
|
||||||
If BUFFER is nil or omitted, bury the current buffer.
|
If BUFFER is nil or omitted, bury the current buffer.
|
||||||
Also, if BUFFER is nil or omitted, remove the current buffer from the
|
Also, if BUFFER is nil or omitted, remove the current buffer from the
|
||||||
selected window if it is displayed there. */)
|
selected window if it is displayed there. */)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* GNU Emacs case conversion functions.
|
/* GNU Emacs case conversion functions.
|
||||||
Copyright (C) 1985,94,97,98,99, 2001, 2002, 2004
|
Copyright (C) 1985,94,97,98,99, 2001, 2002, 2004, 2005
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Interface definitions for display code.
|
/* Interface definitions for display code.
|
||||||
Copyright (C) 1985,93,94,97,98,99, 2000,01,02,03, 2004
|
Copyright (C) 1985,93,94,97,98,99, 2000,01,02,03, 2004, 2005
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
@ -123,12 +123,13 @@ enum window_part
|
||||||
|
|
||||||
#if GLYPH_DEBUG
|
#if GLYPH_DEBUG
|
||||||
#define IF_DEBUG(X) X
|
#define IF_DEBUG(X) X
|
||||||
#define xassert(X) do {if (!(X)) abort ();} while (0)
|
|
||||||
#else
|
#else
|
||||||
#define IF_DEBUG(X) (void) 0
|
#define IF_DEBUG(X) (void) 0
|
||||||
#define xassert(X) (void) 0
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Maybe move this inside the above `#ifdef GLYPH_DEBUG' for release. */
|
||||||
|
#define xassert(X) do {if (!(X)) abort ();} while (0)
|
||||||
|
|
||||||
/* Macro for displaying traces of redisplay. If Emacs was compiled
|
/* Macro for displaying traces of redisplay. If Emacs was compiled
|
||||||
with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to
|
with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to
|
||||||
a non-zero value in debugging sessions to activate traces. */
|
a non-zero value in debugging sessions to activate traces. */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Updating of data structures for redisplay.
|
/* Updating of data structures for redisplay.
|
||||||
Copyright (C) 1985,86,87,88,93,94,95,97,98,1999,2000,01,02,03,04
|
Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1997, 1998, 1999,
|
||||||
Free Software Foundation, Inc.
|
2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
@ -2763,6 +2763,7 @@ build_frame_matrix_from_leaf_window (frame_matrix, w)
|
||||||
SET_CHAR_GLYPH_FROM_GLYPH (*border, right_border_glyph);
|
SET_CHAR_GLYPH_FROM_GLYPH (*border, right_border_glyph);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if GLYPH_DEBUG
|
||||||
/* Window row window_y must be a slice of frame row
|
/* Window row window_y must be a slice of frame row
|
||||||
frame_y. */
|
frame_y. */
|
||||||
xassert (glyph_row_slice_p (window_row, frame_row));
|
xassert (glyph_row_slice_p (window_row, frame_row));
|
||||||
|
|
@ -2770,7 +2771,6 @@ build_frame_matrix_from_leaf_window (frame_matrix, w)
|
||||||
/* If rows are in sync, we don't have to copy glyphs because
|
/* If rows are in sync, we don't have to copy glyphs because
|
||||||
frame and window share glyphs. */
|
frame and window share glyphs. */
|
||||||
|
|
||||||
#if GLYPH_DEBUG
|
|
||||||
strcpy (w->current_matrix->method, w->desired_matrix->method);
|
strcpy (w->current_matrix->method, w->desired_matrix->method);
|
||||||
add_window_display_history (w, w->current_matrix->method, 0);
|
add_window_display_history (w, w->current_matrix->method, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -4051,11 +4051,11 @@ update_window (w, force_p)
|
||||||
extern Lisp_Object do_mouse_tracking;
|
extern Lisp_Object do_mouse_tracking;
|
||||||
#if GLYPH_DEBUG
|
#if GLYPH_DEBUG
|
||||||
struct frame *f = XFRAME (WINDOW_FRAME (w));
|
struct frame *f = XFRAME (WINDOW_FRAME (w));
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Check that W's frame doesn't have glyph matrices. */
|
/* Check that W's frame doesn't have glyph matrices. */
|
||||||
xassert (FRAME_WINDOW_P (f));
|
xassert (FRAME_WINDOW_P (f));
|
||||||
xassert (updating_frame != NULL);
|
xassert (updating_frame != NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Check pending input the first time so that we can quickly return. */
|
/* Check pending input the first time so that we can quickly return. */
|
||||||
if (redisplay_dont_pause)
|
if (redisplay_dont_pause)
|
||||||
|
|
|
||||||
|
|
@ -1905,7 +1905,7 @@ create_menus (data, f, select_cb, deactivate_cb, highlight_cb,
|
||||||
|
|
||||||
if (deactivate_cb)
|
if (deactivate_cb)
|
||||||
g_signal_connect (G_OBJECT (wmenu),
|
g_signal_connect (G_OBJECT (wmenu),
|
||||||
"deactivate", deactivate_cb, 0);
|
"selection-done", deactivate_cb, 0);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (wmenu),
|
g_signal_connect (G_OBJECT (wmenu),
|
||||||
"grab-notify", G_CALLBACK (menu_grab_callback), 0);
|
"grab-notify", G_CALLBACK (menu_grab_callback), 0);
|
||||||
|
|
|
||||||
16
src/insdel.c
16
src/insdel.c
|
|
@ -1,5 +1,5 @@
|
||||||
/* Buffer insertion/deletion and gap motion for GNU Emacs.
|
/* Buffer insertion/deletion and gap motion for GNU Emacs.
|
||||||
Copyright (C) 1985, 86,93,94,95,97,98, 1999, 2000, 01, 2003
|
Copyright (C) 1985, 86,93,94,95,97,98, 1999, 2000, 01, 2003, 2005
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
@ -1778,17 +1778,21 @@ replace_range_2 (from, from_byte, to, to_byte, ins, inschars, insbytes, markers)
|
||||||
|
|
||||||
/* Adjust markers for the deletion and the insertion. */
|
/* Adjust markers for the deletion and the insertion. */
|
||||||
if (markers
|
if (markers
|
||||||
&& ! (nchars_del == 1 && inschars == 1))
|
&& ! (nchars_del == 1 && inschars == 1 && nbytes_del == insbytes))
|
||||||
adjust_markers_for_replace (from, from_byte, nchars_del, nbytes_del,
|
adjust_markers_for_replace (from, from_byte, nchars_del, nbytes_del,
|
||||||
inschars, insbytes);
|
inschars, insbytes);
|
||||||
|
|
||||||
offset_intervals (current_buffer, from, inschars - nchars_del);
|
offset_intervals (current_buffer, from, inschars - nchars_del);
|
||||||
|
|
||||||
/* Relocate point as if it were a marker. */
|
/* Relocate point as if it were a marker. */
|
||||||
if (from < PT && nchars_del != inschars)
|
if (from < PT && (nchars_del != inschars || nbytes_del != insbytes))
|
||||||
adjust_point ((from + inschars - (PT < to ? PT : to)),
|
{
|
||||||
(from_byte + insbytes
|
if (PT < to)
|
||||||
- (PT_BYTE < to_byte ? PT_BYTE : to_byte)));
|
/* PT was within the deleted text. Move it to FROM. */
|
||||||
|
adjust_point (from - PT, from_byte - PT_BYTE);
|
||||||
|
else
|
||||||
|
adjust_point (inschars - nchars_del, insbytes - nbytes_del);
|
||||||
|
}
|
||||||
|
|
||||||
if (insbytes == 0)
|
if (insbytes == 0)
|
||||||
evaporate_overlays (from);
|
evaporate_overlays (from);
|
||||||
|
|
|
||||||
|
|
@ -2858,7 +2858,7 @@ select_and_poll_event (n, rfds, wfds, efds, timeout)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef MAC_OS_X_VERSION_10_2
|
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1020
|
||||||
#undef SELECT_INVALIDATE_CFSOCKET
|
#undef SELECT_INVALIDATE_CFSOCKET
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2527,9 +2527,11 @@ unwind_create_frame (frame)
|
||||||
|
|
||||||
x_free_frame_resources (f);
|
x_free_frame_resources (f);
|
||||||
|
|
||||||
|
#if GLYPH_DEBUG
|
||||||
/* Check that reference counts are indeed correct. */
|
/* Check that reference counts are indeed correct. */
|
||||||
xassert (dpyinfo->reference_count == dpyinfo_refcount);
|
xassert (dpyinfo->reference_count == dpyinfo_refcount);
|
||||||
xassert (dpyinfo->image_cache->refcount == image_cache_refcount);
|
xassert (dpyinfo->image_cache->refcount == image_cache_refcount);
|
||||||
|
#endif
|
||||||
return Qt;
|
return Qt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3880,7 +3882,7 @@ x_create_tip_frame (dpyinfo, parms, text)
|
||||||
SetRect (&r, 0, 0, 1, 1);
|
SetRect (&r, 0, 0, 1, 1);
|
||||||
#if TARGET_API_MAC_CARBON
|
#if TARGET_API_MAC_CARBON
|
||||||
if (CreateNewWindow (kHelpWindowClass,
|
if (CreateNewWindow (kHelpWindowClass,
|
||||||
#ifdef MAC_OS_X_VERSION_10_2
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
|
||||||
kWindowIgnoreClicksAttribute |
|
kWindowIgnoreClicksAttribute |
|
||||||
#endif
|
#endif
|
||||||
kWindowNoUpdatesAttribute |
|
kWindowNoUpdatesAttribute |
|
||||||
|
|
|
||||||
|
|
@ -731,7 +731,7 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode,
|
||||||
int nchars, mode, bytes_per_char;
|
int nchars, mode, bytes_per_char;
|
||||||
{
|
{
|
||||||
SetPortWindowPort (w);
|
SetPortWindowPort (w);
|
||||||
#ifdef MAC_OS_X_VERSION_10_2
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
|
||||||
UInt32 textFlags, savedFlags;
|
UInt32 textFlags, savedFlags;
|
||||||
if (!NILP(Vmac_use_core_graphics)) {
|
if (!NILP(Vmac_use_core_graphics)) {
|
||||||
textFlags = kQDUseCGTextRendering;
|
textFlags = kQDUseCGTextRendering;
|
||||||
|
|
@ -748,7 +748,7 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode,
|
||||||
|
|
||||||
MoveTo (x, y);
|
MoveTo (x, y);
|
||||||
DrawText (buf, 0, nchars * bytes_per_char);
|
DrawText (buf, 0, nchars * bytes_per_char);
|
||||||
#ifdef MAC_OS_X_VERSION_10_2
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
|
||||||
if (!NILP(Vmac_use_core_graphics))
|
if (!NILP(Vmac_use_core_graphics))
|
||||||
SwapQDTextFlags(savedFlags);
|
SwapQDTextFlags(savedFlags);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -5468,7 +5468,7 @@ x_make_frame_visible (f)
|
||||||
else
|
else
|
||||||
RepositionWindow (FRAME_MAC_WINDOW (f),
|
RepositionWindow (FRAME_MAC_WINDOW (f),
|
||||||
FRAME_MAC_WINDOW (sf),
|
FRAME_MAC_WINDOW (sf),
|
||||||
#ifdef MAC_OS_X_VERSION_10_2
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
|
||||||
kWindowCascadeStartAtParentWindowScreen
|
kWindowCascadeStartAtParentWindowScreen
|
||||||
#else
|
#else
|
||||||
kWindowCascadeOnParentWindowScreen
|
kWindowCascadeOnParentWindowScreen
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Interfaces to system-dependent kernel and library entries.
|
/* Interfaces to system-dependent kernel and library entries.
|
||||||
Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001,
|
Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001,
|
||||||
2003, 2004 Free Software Foundation, Inc.
|
2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
@ -869,7 +869,7 @@ sys_subshell ()
|
||||||
if (pid == -1)
|
if (pid == -1)
|
||||||
write (1, "Can't execute subshell", 22);
|
write (1, "Can't execute subshell", 22);
|
||||||
#else /* not WINDOWSNT */
|
#else /* not WINDOWSNT */
|
||||||
execlp (sh, sh, 0);
|
execlp (sh, sh, (char *) 0);
|
||||||
write (1, "Can't execute subshell", 22);
|
write (1, "Can't execute subshell", 22);
|
||||||
_exit (1);
|
_exit (1);
|
||||||
#endif /* not WINDOWSNT */
|
#endif /* not WINDOWSNT */
|
||||||
|
|
|
||||||
|
|
@ -560,12 +560,13 @@ Return what remains of the list. */)
|
||||||
}
|
}
|
||||||
cdr = Fcdr (cdr);
|
cdr = Fcdr (cdr);
|
||||||
apply1 (car, cdr);
|
apply1 (car, cdr);
|
||||||
|
|
||||||
/* Make sure this produces at least one undo entry,
|
/* Make sure this produces at least one undo entry,
|
||||||
so the test in `undo' for continuing an undo series
|
so the test in `undo' for continuing an undo series
|
||||||
will work right. */
|
will work right. */
|
||||||
if (EQ (oldlist, current_buffer->undo_list))
|
if (EQ (oldlist, current_buffer->undo_list))
|
||||||
current_buffer->undo_list
|
current_buffer->undo_list
|
||||||
= Fcons (list2 (Qcdr, Qnil), current_buffer->undo_list);
|
= Fcons (list3 (Qapply, Qcdr, Qnil), current_buffer->undo_list);
|
||||||
}
|
}
|
||||||
else if (STRINGP (car) && INTEGERP (cdr))
|
else if (STRINGP (car) && INTEGERP (cdr))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8200,6 +8200,8 @@ echo_area_display (update_frame_p)
|
||||||
|
|
||||||
/* Last displayed message is now the current message. */
|
/* Last displayed message is now the current message. */
|
||||||
echo_area_buffer[1] = echo_area_buffer[0];
|
echo_area_buffer[1] = echo_area_buffer[0];
|
||||||
|
/* Inform read_char that we're not echoing. */
|
||||||
|
echo_message_buffer = Qnil;
|
||||||
|
|
||||||
/* Prevent redisplay optimization in redisplay_internal by resetting
|
/* Prevent redisplay optimization in redisplay_internal by resetting
|
||||||
this_line_start_pos. This is done because the mini-buffer now
|
this_line_start_pos. This is done because the mini-buffer now
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* xfaces.c -- "Face" primitives.
|
/* xfaces.c -- "Face" primitives.
|
||||||
Copyright (C) 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
Copyright (C) 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||||
Free Software Foundation.
|
Free Software Foundation.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
@ -738,7 +738,7 @@ x_free_gc (f, gc)
|
||||||
GC gc;
|
GC gc;
|
||||||
{
|
{
|
||||||
BLOCK_INPUT;
|
BLOCK_INPUT;
|
||||||
xassert (--ngcs >= 0);
|
IF_DEBUG (xassert (--ngcs >= 0));
|
||||||
XFreeGC (FRAME_X_DISPLAY (f), gc);
|
XFreeGC (FRAME_X_DISPLAY (f), gc);
|
||||||
UNBLOCK_INPUT;
|
UNBLOCK_INPUT;
|
||||||
}
|
}
|
||||||
|
|
@ -771,7 +771,7 @@ x_free_gc (f, gc)
|
||||||
GC gc;
|
GC gc;
|
||||||
{
|
{
|
||||||
BLOCK_INPUT;
|
BLOCK_INPUT;
|
||||||
xassert (--ngcs >= 0);
|
IF_DEBUG (xassert (--ngcs >= 0));
|
||||||
xfree (gc);
|
xfree (gc);
|
||||||
UNBLOCK_INPUT;
|
UNBLOCK_INPUT;
|
||||||
}
|
}
|
||||||
|
|
@ -1511,7 +1511,7 @@ face_color_supported_p (f, color_name, background_p)
|
||||||
|
|
||||||
XSETFRAME (frame, f);
|
XSETFRAME (frame, f);
|
||||||
return
|
return
|
||||||
#ifdef HAVE_X_WINDOWS
|
#ifdef HAVE_WINDOW_SYSTEM
|
||||||
FRAME_WINDOW_P (f)
|
FRAME_WINDOW_P (f)
|
||||||
? (!NILP (Fxw_display_color_p (frame))
|
? (!NILP (Fxw_display_color_p (frame))
|
||||||
|| xstricmp (color_name, "black") == 0
|
|| xstricmp (color_name, "black") == 0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Functions for the X window system.
|
/* Functions for the X window system.
|
||||||
Copyright (C) 1989, 92, 93, 94, 95, 96, 97, 98, 99, 2000,01,02,03,04
|
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||||
Free Software Foundation.
|
2001, 2002, 2003, 2004, 2005 Free Software Foundation.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
@ -2843,9 +2843,11 @@ unwind_create_frame (frame)
|
||||||
|
|
||||||
x_free_frame_resources (f);
|
x_free_frame_resources (f);
|
||||||
|
|
||||||
|
#if GLYPH_DEBUG
|
||||||
/* Check that reference counts are indeed correct. */
|
/* Check that reference counts are indeed correct. */
|
||||||
xassert (dpyinfo->reference_count == dpyinfo_refcount);
|
xassert (dpyinfo->reference_count == dpyinfo_refcount);
|
||||||
xassert (dpyinfo->image_cache->refcount == image_cache_refcount);
|
xassert (dpyinfo->image_cache->refcount == image_cache_refcount);
|
||||||
|
#endif
|
||||||
return Qt;
|
return Qt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
17
src/xmenu.c
17
src/xmenu.c
|
|
@ -1445,9 +1445,9 @@ menu_highlight_callback (widget, id, call_data)
|
||||||
/* Find the menu selection and store it in the keyboard buffer.
|
/* Find the menu selection and store it in the keyboard buffer.
|
||||||
F is the frame the menu is on.
|
F is the frame the menu is on.
|
||||||
MENU_BAR_ITEMS_USED is the length of VECTOR.
|
MENU_BAR_ITEMS_USED is the length of VECTOR.
|
||||||
VECTOR is an array of menu events for the whole menu.
|
VECTOR is an array of menu events for the whole menu. */
|
||||||
*/
|
|
||||||
void
|
static void
|
||||||
find_and_call_menu_selection (f, menu_bar_items_used, vector, client_data)
|
find_and_call_menu_selection (f, menu_bar_items_used, vector, client_data)
|
||||||
FRAME_PTR f;
|
FRAME_PTR f;
|
||||||
EMACS_INT menu_bar_items_used;
|
EMACS_INT menu_bar_items_used;
|
||||||
|
|
@ -1554,6 +1554,17 @@ menubar_selection_callback (widget, client_data)
|
||||||
if (! cb_data || ! cb_data->cl_data || ! cb_data->cl_data->f)
|
if (! cb_data || ! cb_data->cl_data || ! cb_data->cl_data->f)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* When a menu is popped down, X generates a focus event (i.e. focus
|
||||||
|
goes back to the frame below the menu). Since GTK buffers events,
|
||||||
|
we force it out here before the menu selection event. Otherwise
|
||||||
|
sit-for will exit at once if the focus event follows the menu selection
|
||||||
|
event. */
|
||||||
|
|
||||||
|
BLOCK_INPUT;
|
||||||
|
while (gtk_events_pending ())
|
||||||
|
gtk_main_iteration ();
|
||||||
|
UNBLOCK_INPUT;
|
||||||
|
|
||||||
find_and_call_menu_selection (cb_data->cl_data->f,
|
find_and_call_menu_selection (cb_data->cl_data->f,
|
||||||
cb_data->cl_data->menu_bar_items_used,
|
cb_data->cl_data->menu_bar_items_used,
|
||||||
cb_data->cl_data->menu_bar_vector,
|
cb_data->cl_data->menu_bar_vector,
|
||||||
|
|
|
||||||
|
|
@ -2536,7 +2536,7 @@ x_property_data_to_lisp (f, data, type, format, size)
|
||||||
data, size*format/8, type, format);
|
data, size*format/8, type, format);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the mouse position frame relative coordinates. */
|
/* Get the mouse position in frame relative coordinates. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mouse_position_for_drop (f, x, y)
|
mouse_position_for_drop (f, x, y)
|
||||||
|
|
@ -2635,16 +2635,31 @@ x_handle_dnd_message (f, event, dpyinfo, bufp)
|
||||||
Lisp_Object frame;
|
Lisp_Object frame;
|
||||||
unsigned long size = (8*sizeof (event->data))/event->format;
|
unsigned long size = (8*sizeof (event->data))/event->format;
|
||||||
int x, y;
|
int x, y;
|
||||||
|
unsigned char *data = (unsigned char *) event->data.b;
|
||||||
|
int idata[5];
|
||||||
|
|
||||||
XSETFRAME (frame, f);
|
XSETFRAME (frame, f);
|
||||||
|
|
||||||
|
/* On a 64 bit machine, the event->data.l array members are 64 bits (long),
|
||||||
|
but the x_property_data_to_lisp (or rather selection_data_to_lisp_data)
|
||||||
|
function expects them to be of size int (i.e. 32). So to be able to
|
||||||
|
use that function, put the data in the form it expects if format is 32. */
|
||||||
|
|
||||||
|
if (event->format == 32 && event->format < BITS_PER_LONG)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 5; ++i) /* There are only 5 longs in a ClientMessage. */
|
||||||
|
idata[i] = (int) event->data.l[i];
|
||||||
|
data = (unsigned char *) idata;
|
||||||
|
}
|
||||||
|
|
||||||
vec = Fmake_vector (make_number (4), Qnil);
|
vec = Fmake_vector (make_number (4), Qnil);
|
||||||
AREF (vec, 0) = SYMBOL_NAME (x_atom_to_symbol (FRAME_X_DISPLAY (f),
|
AREF (vec, 0) = SYMBOL_NAME (x_atom_to_symbol (FRAME_X_DISPLAY (f),
|
||||||
event->message_type));
|
event->message_type));
|
||||||
AREF (vec, 1) = frame;
|
AREF (vec, 1) = frame;
|
||||||
AREF (vec, 2) = make_number (event->format);
|
AREF (vec, 2) = make_number (event->format);
|
||||||
AREF (vec, 3) = x_property_data_to_lisp (f,
|
AREF (vec, 3) = x_property_data_to_lisp (f,
|
||||||
event->data.b,
|
data,
|
||||||
event->message_type,
|
event->message_type,
|
||||||
event->format,
|
event->format,
|
||||||
size);
|
size);
|
||||||
|
|
@ -2697,6 +2712,8 @@ are ignored. */)
|
||||||
struct frame *f = check_x_frame (from);
|
struct frame *f = check_x_frame (from);
|
||||||
int count;
|
int count;
|
||||||
int to_root;
|
int to_root;
|
||||||
|
int idata[5];
|
||||||
|
void *data;
|
||||||
|
|
||||||
CHECK_STRING (message_type);
|
CHECK_STRING (message_type);
|
||||||
CHECK_NUMBER (format);
|
CHECK_NUMBER (format);
|
||||||
|
|
@ -2756,9 +2773,30 @@ are ignored. */)
|
||||||
when sending to the root window. */
|
when sending to the root window. */
|
||||||
event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest;
|
event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest;
|
||||||
|
|
||||||
memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b));
|
|
||||||
x_fill_property_data (dpyinfo->display, values, event.xclient.data.b,
|
if (event.xclient.format == 32 && event.xclient.format < BITS_PER_LONG)
|
||||||
event.xclient.format);
|
{
|
||||||
|
/* x_fill_property_data expects data to hold 32 bit values when
|
||||||
|
format == 32, but on a 64 bit machine long is 64 bits.
|
||||||
|
event.xclient.l is an array of long, so we must compensate. */
|
||||||
|
|
||||||
|
memset (idata, 0, sizeof (idata));
|
||||||
|
data = idata;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b));
|
||||||
|
data = event.xclient.data.b;
|
||||||
|
}
|
||||||
|
|
||||||
|
x_fill_property_data (dpyinfo->display, values, data, event.xclient.format);
|
||||||
|
|
||||||
|
if (data == idata)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 5; ++i) /* There are only 5 longs in a ClientMessage. */
|
||||||
|
event.xclient.data.l[i] = (long) idata[i];
|
||||||
|
}
|
||||||
|
|
||||||
/* If event mask is 0 the event is sent to the client that created
|
/* If event mask is 0 the event is sent to the client that created
|
||||||
the destination window. But if we are sending to the root window,
|
the destination window. But if we are sending to the root window,
|
||||||
|
|
|
||||||
14
src/xterm.c
14
src/xterm.c
|
|
@ -7777,10 +7777,18 @@ x_error_handler (display, error)
|
||||||
It kills all frames on the display that we got the error for.
|
It kills all frames on the display that we got the error for.
|
||||||
If that was the only one, it prints an error message and kills Emacs. */
|
If that was the only one, it prints an error message and kills Emacs. */
|
||||||
|
|
||||||
/* It is after x_error_handler so that it won't get inlined in
|
/* .gdbinit puts a breakpoint here, so make sure it is not inlined. */
|
||||||
x_error_handler. */
|
|
||||||
|
|
||||||
static void
|
#if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */
|
||||||
|
#define NO_INLINE __attribute__((noinline))
|
||||||
|
#else
|
||||||
|
#define NO_INLINE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* On older GCC versions, just putting x_error_quitter
|
||||||
|
after x_error_handler prevents inlining into the former. */
|
||||||
|
|
||||||
|
static void NO_INLINE
|
||||||
x_error_quitter (display, error)
|
x_error_quitter (display, error)
|
||||||
Display *display;
|
Display *display;
|
||||||
XErrorEvent *error;
|
XErrorEvent *error;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue