mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
Merge from emacs-24; up to 117634
This commit is contained in:
commit
52b410c60a
24 changed files with 197 additions and 64 deletions
|
|
@ -1,3 +1,20 @@
|
||||||
|
2014-10-30 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* frames.texi (Scroll Bars): Improve indexing of faces.
|
||||||
|
|
||||||
|
* killing.texi (Secondary Selection): Improve indexing of faces.
|
||||||
|
|
||||||
|
* search.texi (Basic Isearch, Query Replace): Improve indexing of faces.
|
||||||
|
|
||||||
|
* display.texi (Standard Faces, Text Display)
|
||||||
|
(Useless Whitespace): Improve indexing of faces.
|
||||||
|
|
||||||
|
* frames.texi (Frame Commands): Document and index
|
||||||
|
'frame-resize-pixelwise'.
|
||||||
|
|
||||||
|
* windows.texi (Split Window): Document and index
|
||||||
|
'window-resize-pixelwise'.
|
||||||
|
|
||||||
2014-10-22 Tassilo Horn <tsdh@gnu.org>
|
2014-10-22 Tassilo Horn <tsdh@gnu.org>
|
||||||
|
|
||||||
* misc.texi (Document View): Adapt to latest doc-view changes wrt
|
* misc.texi (Document View): Adapt to latest doc-view changes wrt
|
||||||
|
|
|
||||||
|
|
@ -578,6 +578,7 @@ Parameters}.
|
||||||
|
|
||||||
@node Standard Faces
|
@node Standard Faces
|
||||||
@section Standard Faces
|
@section Standard Faces
|
||||||
|
@cindex standard faces
|
||||||
|
|
||||||
Here are the standard faces for specifying text appearance. You can
|
Here are the standard faces for specifying text appearance. You can
|
||||||
apply them to specific text when you want the effects they produce.
|
apply them to specific text when you want the effects they produce.
|
||||||
|
|
@ -598,8 +599,10 @@ This face underlines text.
|
||||||
This face forces use of a fixed-width font. It's reasonable to
|
This face forces use of a fixed-width font. It's reasonable to
|
||||||
customize this face to use a different fixed-width font, if you like,
|
customize this face to use a different fixed-width font, if you like,
|
||||||
but you should not make it a variable-width font.
|
but you should not make it a variable-width font.
|
||||||
|
@cindex variable-pitch face
|
||||||
@item variable-pitch
|
@item variable-pitch
|
||||||
This face forces use of a variable-width font.
|
This face forces use of a variable-width font.
|
||||||
|
@cindex shadow face
|
||||||
@item shadow
|
@item shadow
|
||||||
This face is used for making the text less noticeable than the surrounding
|
This face is used for making the text less noticeable than the surrounding
|
||||||
ordinary text. Usually this can be achieved by using shades of gray in
|
ordinary text. Usually this can be achieved by using shades of gray in
|
||||||
|
|
@ -647,25 +650,34 @@ frame:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item mode-line
|
@item mode-line
|
||||||
|
@cindex mode-line face
|
||||||
|
@cindex faces for mode lines
|
||||||
This face is used for the mode line of the currently selected window,
|
This face is used for the mode line of the currently selected window,
|
||||||
and for menu bars when toolkit menus are not used. By default, it's
|
and for menu bars when toolkit menus are not used. By default, it's
|
||||||
drawn with shadows for a ``raised'' effect on graphical displays, and
|
drawn with shadows for a ``raised'' effect on graphical displays, and
|
||||||
drawn as the inverse of the default face on non-windowed terminals.
|
drawn as the inverse of the default face on non-windowed terminals.
|
||||||
@item mode-line-inactive
|
@item mode-line-inactive
|
||||||
|
@cindex mode-line-inactive face
|
||||||
Like @code{mode-line}, but used for mode lines of the windows other
|
Like @code{mode-line}, but used for mode lines of the windows other
|
||||||
than the selected one (if @code{mode-line-in-non-selected-windows} is
|
than the selected one (if @code{mode-line-in-non-selected-windows} is
|
||||||
non-@code{nil}). This face inherits from @code{mode-line}, so changes
|
non-@code{nil}). This face inherits from @code{mode-line}, so changes
|
||||||
in that face affect mode lines in all windows.
|
in that face affect mode lines in all windows.
|
||||||
@item mode-line-highlight
|
@item mode-line-highlight
|
||||||
Like @code{highlight}, but used for portions of text on mode lines.
|
@cindex mode-line-highlight face
|
||||||
|
Like @code{highlight}, but used for mouse-sensitive portions of text
|
||||||
|
on mode lines. Such portions of text typically pop up tooltips
|
||||||
|
(@pxref{Tooltips}) when the mouse pointer hovers above them.
|
||||||
@item mode-line-buffer-id
|
@item mode-line-buffer-id
|
||||||
|
@cindex mode-line-buffer-id face
|
||||||
This face is used for buffer identification parts in the mode line.
|
This face is used for buffer identification parts in the mode line.
|
||||||
@item header-line
|
@item header-line
|
||||||
|
@cindex header-line face
|
||||||
Similar to @code{mode-line} for a window's header line, which appears
|
Similar to @code{mode-line} for a window's header line, which appears
|
||||||
at the top of a window just as the mode line appears at the bottom.
|
at the top of a window just as the mode line appears at the bottom.
|
||||||
Most windows do not have a header line---only some special modes, such
|
Most windows do not have a header line---only some special modes, such
|
||||||
Info mode, create one.
|
Info mode, create one.
|
||||||
@item vertical-border
|
@item vertical-border
|
||||||
|
@cindex vertical-border face
|
||||||
This face is used for the vertical divider between windows on text
|
This face is used for the vertical divider between windows on text
|
||||||
terminals.
|
terminals.
|
||||||
@item minibuffer-prompt
|
@item minibuffer-prompt
|
||||||
|
|
@ -1110,6 +1122,7 @@ empty lines at the end of a buffer, without realizing it. In most
|
||||||
cases, this @dfn{trailing whitespace} has no effect, but sometimes it
|
cases, this @dfn{trailing whitespace} has no effect, but sometimes it
|
||||||
can be a nuisance.
|
can be a nuisance.
|
||||||
|
|
||||||
|
@cindex trailing-whitespace face
|
||||||
You can make trailing whitespace at the end of a line visible by
|
You can make trailing whitespace at the end of a line visible by
|
||||||
setting the buffer-local variable @code{show-trailing-whitespace} to
|
setting the buffer-local variable @code{show-trailing-whitespace} to
|
||||||
@code{t}. Then Emacs displays trailing whitespace, using the face
|
@code{t}. Then Emacs displays trailing whitespace, using the face
|
||||||
|
|
@ -1418,6 +1431,8 @@ as octal escape sequences instead of caret escape sequences.
|
||||||
@cindex non-breaking space
|
@cindex non-breaking space
|
||||||
@cindex non-breaking hyphen
|
@cindex non-breaking hyphen
|
||||||
@cindex soft hyphen
|
@cindex soft hyphen
|
||||||
|
@cindex escape-glyph face
|
||||||
|
@cindex nobreak-space face
|
||||||
Some non-@acronym{ASCII} characters have the same appearance as an
|
Some non-@acronym{ASCII} characters have the same appearance as an
|
||||||
@acronym{ASCII} space or hyphen (minus) character. Such characters
|
@acronym{ASCII} space or hyphen (minus) character. Such characters
|
||||||
can cause problems if they are entered into a buffer without your
|
can cause problems if they are entered into a buffer without your
|
||||||
|
|
|
||||||
|
|
@ -376,6 +376,9 @@ position (@pxref{Split Window}).
|
||||||
between two side-by-side mode lines, you can move the vertical
|
between two side-by-side mode lines, you can move the vertical
|
||||||
boundary to the left or right.
|
boundary to the left or right.
|
||||||
|
|
||||||
|
Note that resizing windows is affected by the value of
|
||||||
|
@code{window-resize-pixelwise}, see @ref{Split Window}.
|
||||||
|
|
||||||
@node Creating Frames
|
@node Creating Frames
|
||||||
@section Creating Frames
|
@section Creating Frames
|
||||||
@cindex creating frames
|
@cindex creating frames
|
||||||
|
|
@ -469,9 +472,13 @@ hides window manager decorations, giving slightly more screen space to
|
||||||
Emacs itself.)
|
Emacs itself.)
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
@vindex frame-resize-pixelwise
|
||||||
Note that with some window managers you may have to customize the
|
Note that with some window managers you may have to customize the
|
||||||
variable @code{frame-resize-pixelwise} to a non-@code{nil} value in
|
variable @code{frame-resize-pixelwise} to a non-@code{nil} value in
|
||||||
order to make a frame truly ``maximized'' or ``fullscreen''.
|
order to make a frame truly ``maximized'' or ``fullscreen''. This
|
||||||
|
variable, when set to a non-@code{nil} value, in general allows
|
||||||
|
resizing frames at pixel resolution, rather than in integral multiples
|
||||||
|
of lines and columns.
|
||||||
|
|
||||||
The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected
|
The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected
|
||||||
frame. However, it will refuse to delete the last frame in an Emacs
|
frame. However, it will refuse to delete the last frame in an Emacs
|
||||||
|
|
@ -955,6 +962,10 @@ end of the buffer is shown; if @code{nil}, the thumb will be at the
|
||||||
bottom when the end of the buffer is shown. You can not over-scroll
|
bottom when the end of the buffer is shown. You can not over-scroll
|
||||||
when the entire buffer is visible.
|
when the entire buffer is visible.
|
||||||
|
|
||||||
|
@cindex scroll-bar face
|
||||||
|
The visual appearance of the scroll bars is controlled by the
|
||||||
|
@code{scroll-bar} face.
|
||||||
|
|
||||||
@cindex Horizontal Scroll Bar
|
@cindex Horizontal Scroll Bar
|
||||||
@cindex Horizontal Scroll Bar mode
|
@cindex Horizontal Scroll Bar mode
|
||||||
On graphical displays with toolkit support, Emacs may also supply a
|
On graphical displays with toolkit support, Emacs may also supply a
|
||||||
|
|
@ -987,7 +998,6 @@ or disable horizontal scroll bars (@pxref{Resources}). To control the
|
||||||
scroll bar height, change the @code{scroll-bar-height} frame parameter
|
scroll bar height, change the @code{scroll-bar-height} frame parameter
|
||||||
(@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}).
|
(@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}).
|
||||||
|
|
||||||
|
|
||||||
@node Drag and Drop
|
@node Drag and Drop
|
||||||
@section Drag and Drop
|
@section Drag and Drop
|
||||||
@cindex drag and drop
|
@cindex drag and drop
|
||||||
|
|
|
||||||
|
|
@ -588,6 +588,7 @@ you can access it using the following Emacs commands:
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@findex mouse-set-secondary
|
@findex mouse-set-secondary
|
||||||
@kindex M-Drag-Mouse-1
|
@kindex M-Drag-Mouse-1
|
||||||
|
@cindex secondary-selection face
|
||||||
@item M-Drag-Mouse-1
|
@item M-Drag-Mouse-1
|
||||||
Set the secondary selection, with one end at the place where you press
|
Set the secondary selection, with one end at the place where you press
|
||||||
down the button, and the other end at the place where you release it
|
down the button, and the other end at the place where you release it
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,7 @@ not be the first @samp{F} previously found. After another @kbd{O},
|
||||||
the cursor moves to just after the first @samp{FOO}.
|
the cursor moves to just after the first @samp{FOO}.
|
||||||
|
|
||||||
@cindex faces for highlighting search matches
|
@cindex faces for highlighting search matches
|
||||||
|
@cindex isearch face
|
||||||
At each step, Emacs highlights the @dfn{current match}---the buffer
|
At each step, Emacs highlights the @dfn{current match}---the buffer
|
||||||
text that matches the search string---using the @code{isearch} face
|
text that matches the search string---using the @code{isearch} face
|
||||||
(@pxref{Faces}). The current search string is also displayed in the
|
(@pxref{Faces}). The current search string is also displayed in the
|
||||||
|
|
@ -1280,6 +1281,8 @@ It works like @code{replace-regexp} except that it queries
|
||||||
like @code{query-replace}.
|
like @code{query-replace}.
|
||||||
|
|
||||||
@cindex faces for highlighting query replace
|
@cindex faces for highlighting query replace
|
||||||
|
@cindex query-replace face
|
||||||
|
@cindex lazy-highlight face
|
||||||
These commands highlight the current match using the face
|
These commands highlight the current match using the face
|
||||||
@code{query-replace}. They highlight other matches using
|
@code{query-replace}. They highlight other matches using
|
||||||
@code{lazy-highlight} just like incremental search (@pxref{Incremental
|
@code{lazy-highlight} just like incremental search (@pxref{Incremental
|
||||||
|
|
|
||||||
|
|
@ -134,6 +134,18 @@ clicking @kbd{C-Mouse-2} in the scroll bar, which puts a horizontal
|
||||||
divider where you click (this feature does not work when Emacs uses
|
divider where you click (this feature does not work when Emacs uses
|
||||||
GTK+ scroll bars).
|
GTK+ scroll bars).
|
||||||
|
|
||||||
|
@vindex window-resize-pixelwise
|
||||||
|
By default, when you split a window, Emacs gives each of the
|
||||||
|
resulting windows dimensions that are an integral multiple of the
|
||||||
|
default font size of the frame. That might subdivide the screen
|
||||||
|
estate unevenly between the resulting windows. If you set the
|
||||||
|
variable @code{window-resize-pixelwise} to a non-@code{nil} value,
|
||||||
|
Emacs will give each window the same number of pixels (give or take
|
||||||
|
one pixel if the initial dimension was an odd number of pixels). Note
|
||||||
|
that when a frame's pixel size is not a multiple of the frame's
|
||||||
|
character size, at least one window may get resized pixelwise even if
|
||||||
|
this option is @code{nil}.
|
||||||
|
|
||||||
@node Other Window
|
@node Other Window
|
||||||
@section Using Other Windows
|
@section Using Other Windows
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,12 @@
|
||||||
|
2014-10-30 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
* efaq.texi (Gnus does not work with NNTP): Remove; ancient.
|
||||||
|
|
||||||
|
2014-10-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* eieio.texi (Accessing Slots, CLOS compatibility): Adjust wording
|
||||||
|
since `setf' is in core rather than in CL nowadays.
|
||||||
|
|
||||||
2014-10-29 Paul Eggert <eggert@cs.ucla.edu>
|
2014-10-29 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
Simplify use of current-time and friends.
|
Simplify use of current-time and friends.
|
||||||
|
|
|
||||||
|
|
@ -4190,7 +4190,6 @@ fontset, or you can select it by setting the default font in your
|
||||||
* Replying to the sender of a message::
|
* Replying to the sender of a message::
|
||||||
* Automatically starting a mail or news reader::
|
* Automatically starting a mail or news reader::
|
||||||
* Reading news with Emacs::
|
* Reading news with Emacs::
|
||||||
* Gnus does not work with NNTP::
|
|
||||||
* Making Gnus faster::
|
* Making Gnus faster::
|
||||||
* Catching up in all newsgroups::
|
* Catching up in all newsgroups::
|
||||||
@end menu
|
@end menu
|
||||||
|
|
@ -4384,27 +4383,6 @@ Manual, gnus, The Gnus Manual}, which includes @ref{Frequently Asked
|
||||||
Questions,, the Gnus FAQ, gnus, The Gnus Manual}.
|
Questions,, the Gnus FAQ, gnus, The Gnus Manual}.
|
||||||
|
|
||||||
|
|
||||||
@node Gnus does not work with NNTP
|
|
||||||
@section Why doesn't Gnus work via NNTP?
|
|
||||||
@cindex Gnus and NNTP
|
|
||||||
@cindex NNTP, Gnus fails to work with
|
|
||||||
|
|
||||||
There is a bug in NNTP version 1.5.10, such that when multiple requests
|
|
||||||
are sent to the NNTP server, the server only handles the first one
|
|
||||||
before blocking waiting for more input which never comes. NNTP version
|
|
||||||
1.5.11 claims to fix this.
|
|
||||||
|
|
||||||
You can work around the bug inside Emacs like this:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(setq nntp-maximum-request 1)
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
You can find out what version of NNTP your news server is running by
|
|
||||||
telnetting to the NNTP port (usually 119) on the news server machine
|
|
||||||
(i.e., @kbd{telnet server-machine 119}). The server should give its
|
|
||||||
version number in the welcome message. Type @kbd{quit} to get out.
|
|
||||||
|
|
||||||
@node Making Gnus faster
|
@node Making Gnus faster
|
||||||
@section How do I make Gnus faster?
|
@section How do I make Gnus faster?
|
||||||
@cindex Faster, starting Gnus
|
@cindex Faster, starting Gnus
|
||||||
|
|
|
||||||
|
|
@ -755,8 +755,8 @@ Unlike @code{oref}, the symbol for @var{slot} must be quoted.
|
||||||
|
|
||||||
@defun set-slot-value object slot value
|
@defun set-slot-value object slot value
|
||||||
@anchor{set-slot-value}
|
@anchor{set-slot-value}
|
||||||
This is not a CLOS function, but is meant to mirror @code{slot-value} if
|
This is not a CLOS function, but is the setter for @code{slot-value}
|
||||||
you don't want to use the cl package's @code{setf} function. This
|
used by the @code{setf} macro. This
|
||||||
function sets the value of @var{slot} from @var{object}. Unlike
|
function sets the value of @var{slot} from @var{object}. Unlike
|
||||||
@code{oset}, the symbol for @var{slot} must be quoted.
|
@code{oset}, the symbol for @var{slot} must be quoted.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
@ -790,7 +790,7 @@ This establishes a lexical environment for referring to the slots in
|
||||||
the instance named by the given slot-names as though they were
|
the instance named by the given slot-names as though they were
|
||||||
variables. Within such a context the value of the slot can be
|
variables. Within such a context the value of the slot can be
|
||||||
specified by using its slot name, as if it were a lexically bound
|
specified by using its slot name, as if it were a lexically bound
|
||||||
variable. Both setf and setq can be used to set the value of the
|
variable. Both @code{setf} and @code{setq} can be used to set the value of the
|
||||||
slot.
|
slot.
|
||||||
|
|
||||||
@var{spec-list} is of a form similar to @dfn{let}. For example:
|
@var{spec-list} is of a form similar to @dfn{let}. For example:
|
||||||
|
|
@ -1850,10 +1850,6 @@ for the given object. This is different than that found in CLOS because
|
||||||
in @eieio{} this function accepts replacement arguments. This permits
|
in @eieio{} this function accepts replacement arguments. This permits
|
||||||
subclasses to modify arguments as they are passed up the tree. If no
|
subclasses to modify arguments as they are passed up the tree. If no
|
||||||
arguments are given, the expected CLOS behavior is used.
|
arguments are given, the expected CLOS behavior is used.
|
||||||
@item setf
|
|
||||||
If the common-lisp subsystem is loaded, the setf parameters are also
|
|
||||||
loaded so the form @code{(setf (slot-value object slot) t)} should
|
|
||||||
work.
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
CLOS supports the @code{describe} command, but @eieio{} provides
|
CLOS supports the @code{describe} command, but @eieio{} provides
|
||||||
|
|
|
||||||
19
etc/DEBUG
19
etc/DEBUG
|
|
@ -398,9 +398,13 @@ to start debugging.
|
||||||
Don't assume Emacs is `hung'--it may instead be in an infinite loop.
|
Don't assume Emacs is `hung'--it may instead be in an infinite loop.
|
||||||
To find out which, make the problem happen under GDB and stop Emacs
|
To find out which, make the problem happen under GDB and stop Emacs
|
||||||
once it is not responding. (If Emacs is using X Windows directly, you
|
once it is not responding. (If Emacs is using X Windows directly, you
|
||||||
can stop Emacs by typing C-z at the GDB job.) Then try stepping with
|
can stop Emacs by typing C-z at the GDB job. On MS-Windows, run Emacs
|
||||||
`step'. If Emacs is hung, the `step' command won't return. If it is
|
as usual, and then attach GDB to it -- that will usually interrupt
|
||||||
looping, `step' will return.
|
whatever Emacs is doing and let you perform the steps described
|
||||||
|
below.)
|
||||||
|
|
||||||
|
Then try stepping with `step'. If Emacs is hung, the `step' command
|
||||||
|
won't return. If it is looping, `step' will return.
|
||||||
|
|
||||||
If this shows Emacs is hung in a system call, stop it again and
|
If this shows Emacs is hung in a system call, stop it again and
|
||||||
examine the arguments of the call. If you report the bug, it is very
|
examine the arguments of the call. If you report the bug, it is very
|
||||||
|
|
@ -420,10 +424,11 @@ stepping, you will see where the loop starts and ends. Also, examine
|
||||||
the data being used in the loop and try to determine why the loop does
|
the data being used in the loop and try to determine why the loop does
|
||||||
not exit when it should.
|
not exit when it should.
|
||||||
|
|
||||||
You can also trying sending Emacs SIGUSR2, which, if `debug-on-event'
|
On GNU and Unix systems, you can also trying sending Emacs SIGUSR2,
|
||||||
has its default value, will cause Emacs to attempt to break it out of
|
which, if `debug-on-event' has its default value, will cause Emacs to
|
||||||
its current loop and into the Lisp debugger. This feature is useful
|
attempt to break it out of its current loop and into the Lisp
|
||||||
when a C-level debugger is not conveniently available.
|
debugger. This feature is useful when a C-level debugger is not
|
||||||
|
conveniently available.
|
||||||
|
|
||||||
** If certain operations in Emacs are slower than they used to be, here
|
** If certain operations in Emacs are slower than they used to be, here
|
||||||
is some advice for how to find out why.
|
is some advice for how to find out why.
|
||||||
|
|
|
||||||
31
etc/NEWS.24
31
etc/NEWS.24
|
|
@ -14,6 +14,37 @@ and NEWS.1-17 for changes in older Emacs versions.
|
||||||
You can narrow news to a specific version by calling `view-emacs-news'
|
You can narrow news to a specific version by calling `view-emacs-news'
|
||||||
with a prefix argument or by typing C-u C-h C-n.
|
with a prefix argument or by typing C-u C-h C-n.
|
||||||
|
|
||||||
|
Temporary note:
|
||||||
|
+++ indicates that all necessary documentation updates are complete.
|
||||||
|
(This means all relevant manuals in doc/ AND lisp doc-strings.)
|
||||||
|
--- means no change in the manuals is needed.
|
||||||
|
When you add a new item, use the appropriate mark if you are sure it applies,
|
||||||
|
otherwise leave it unmarked.
|
||||||
|
|
||||||
|
|
||||||
|
* Changes in Emacs 24.5
|
||||||
|
|
||||||
|
---
|
||||||
|
** The default value of `history-length' has increased to 100.
|
||||||
|
|
||||||
|
|
||||||
|
* Changes in Specialized Modes and Packages in Emacs 24.5
|
||||||
|
|
||||||
|
** `call-process-shell-command' and `process-file-shell-command'
|
||||||
|
don't take "&rest args" any more.
|
||||||
|
|
||||||
|
** Obsolete packages
|
||||||
|
|
||||||
|
*** cc-compat.el
|
||||||
|
|
||||||
|
---
|
||||||
|
*** crisp.el, tpu-edt.el, ws-mode.el
|
||||||
|
These emulations of old editors are believed to be no longer relevant
|
||||||
|
- contact emacs-devel@gnu.org if you disagree.
|
||||||
|
|
||||||
|
---
|
||||||
|
*** vi.el, vip.el (try M-x viper instead)
|
||||||
|
|
||||||
|
|
||||||
* Installation Changes in Emacs 24.4
|
* Installation Changes in Emacs 24.4
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,27 @@
|
||||||
|
2014-10-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845).
|
||||||
|
(c-lang-defconst):
|
||||||
|
* progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it.
|
||||||
|
|
||||||
|
2014-10-30 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* progmodes/compile.el (compilation-start):
|
||||||
|
If compilation-scroll-output is non-nil, don't force window-start of
|
||||||
|
the compilation buffer to be at beginning of buffer. (Bug#18874)
|
||||||
|
|
||||||
|
* startup.el (fancy-about-text): Read the entire tutorial, not
|
||||||
|
just its first 256 bytes. (Bug#18760)
|
||||||
|
|
||||||
|
2014-10-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* emacs-lisp/bytecomp.el: Require cl-extra (bug#18804).
|
||||||
|
* emacs-lisp/cl-extra.el: Add missing provide.
|
||||||
|
|
||||||
|
* emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where
|
||||||
|
all args are copyable (bug#18767).
|
||||||
|
(=, <, >, <=, >=): Re-enable the optimization.
|
||||||
|
|
||||||
2014-10-29 Glenn Morris <rgm@gnu.org>
|
2014-10-29 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
* net/rcirc.el (rcirc-fill-column): Unbump :version. Mark :risky.
|
* net/rcirc.el (rcirc-fill-column): Unbump :version. Mark :risky.
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,11 @@
|
||||||
(require 'backquote)
|
(require 'backquote)
|
||||||
(require 'macroexp)
|
(require 'macroexp)
|
||||||
(require 'cconv)
|
(require 'cconv)
|
||||||
(eval-when-compile (require 'cl-lib))
|
|
||||||
|
;; During bootstrap, cl-loaddefs.el is not created yet, so loading cl-lib
|
||||||
|
;; doesn't setup autoloads for things like cl-every, which is why we have to
|
||||||
|
;; require cl-extra instead (bug#18804).
|
||||||
|
(require 'cl-extra)
|
||||||
|
|
||||||
(or (fboundp 'defsubst)
|
(or (fboundp 'defsubst)
|
||||||
;; This really ought to be loaded already!
|
;; This really ought to be loaded already!
|
||||||
|
|
@ -3283,11 +3287,11 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\""
|
||||||
(byte-defop-compiler cons 2)
|
(byte-defop-compiler cons 2)
|
||||||
(byte-defop-compiler aref 2)
|
(byte-defop-compiler aref 2)
|
||||||
(byte-defop-compiler set 2)
|
(byte-defop-compiler set 2)
|
||||||
(byte-defop-compiler (= byte-eqlsign) 2) ;; -and bug#18767
|
(byte-defop-compiler (= byte-eqlsign) 2-and)
|
||||||
(byte-defop-compiler (< byte-lss) 2) ;; -and bug#18767
|
(byte-defop-compiler (< byte-lss) 2-and)
|
||||||
(byte-defop-compiler (> byte-gtr) 2) ;; -and bug#18767
|
(byte-defop-compiler (> byte-gtr) 2-and)
|
||||||
(byte-defop-compiler (<= byte-leq) 2) ;; -and bug#18767
|
(byte-defop-compiler (<= byte-leq) 2-and)
|
||||||
(byte-defop-compiler (>= byte-geq) 2) ;; -and bug#18767
|
(byte-defop-compiler (>= byte-geq) 2-and)
|
||||||
(byte-defop-compiler get 2)
|
(byte-defop-compiler get 2)
|
||||||
(byte-defop-compiler nth 2)
|
(byte-defop-compiler nth 2)
|
||||||
(byte-defop-compiler substring 2-3)
|
(byte-defop-compiler substring 2-3)
|
||||||
|
|
@ -3354,13 +3358,14 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\""
|
||||||
(defun byte-compile-and-folded (form)
|
(defun byte-compile-and-folded (form)
|
||||||
"Compile calls to functions like `<='.
|
"Compile calls to functions like `<='.
|
||||||
These implicitly `and' together a bunch of two-arg bytecodes."
|
These implicitly `and' together a bunch of two-arg bytecodes."
|
||||||
;; FIXME: bug#18767 means we can't do it this way!
|
|
||||||
(let ((l (length form)))
|
(let ((l (length form)))
|
||||||
(cond
|
(cond
|
||||||
((< l 3) (byte-compile-form `(progn ,(nth 1 form) t)))
|
((< l 3) (byte-compile-form `(progn ,(nth 1 form) t)))
|
||||||
((= l 3) (byte-compile-two-args form))
|
((= l 3) (byte-compile-two-args form))
|
||||||
(t (byte-compile-form `(and (,(car form) ,(nth 1 form) ,(nth 2 form))
|
((cl-every #'macroexp-copyable-p (nthcdr 2 form))
|
||||||
(,(car form) ,@(nthcdr 2 form))))))))
|
(byte-compile-form `(and (,(car form) ,(nth 1 form) ,(nth 2 form))
|
||||||
|
(,(car form) ,@(nthcdr 2 form)))))
|
||||||
|
(t (byte-compile-normal-call form)))))
|
||||||
|
|
||||||
(defun byte-compile-three-args (form)
|
(defun byte-compile-three-args (form)
|
||||||
(if (not (= (length form) 4))
|
(if (not (= (length form) 4))
|
||||||
|
|
|
||||||
|
|
@ -720,4 +720,5 @@ including `cl-block' and `cl-eval-when'."
|
||||||
;; generated-autoload-file: "cl-loaddefs.el"
|
;; generated-autoload-file: "cl-loaddefs.el"
|
||||||
;; End:
|
;; End:
|
||||||
|
|
||||||
|
(provide 'cl-extra)
|
||||||
;;; cl-extra.el ends here
|
;;; cl-extra.el ends here
|
||||||
|
|
|
||||||
|
|
@ -984,7 +984,7 @@ Otherwise return the normal value."
|
||||||
;; macros, since it enables certain macros to be shared between X and TTY modes
|
;; macros, since it enables certain macros to be shared between X and TTY modes
|
||||||
;; by correctly mapping key sequences for Left/Right/... (on an ascii
|
;; by correctly mapping key sequences for Left/Right/... (on an ascii
|
||||||
;; terminal) into logical keys left, right, etc.
|
;; terminal) into logical keys left, right, etc.
|
||||||
(defun viper-read-key ()
|
(defun viper-read-key () ;; FIXME: Use `read-key'?
|
||||||
(let ((overriding-local-map viper-overriding-map)
|
(let ((overriding-local-map viper-overriding-map)
|
||||||
(inhibit-quit t)
|
(inhibit-quit t)
|
||||||
help-char key)
|
help-char key)
|
||||||
|
|
|
||||||
|
|
@ -531,6 +531,7 @@ If Viper is enabled, turn it off. Otherwise, turn it on."
|
||||||
(if viper-mode
|
(if viper-mode
|
||||||
()
|
()
|
||||||
(setq viper-mode t)
|
(setq viper-mode t)
|
||||||
|
;; FIXME: Don't reload!
|
||||||
(load-library "viper"))
|
(load-library "viper"))
|
||||||
|
|
||||||
(if viper-first-time ; Important check. Prevents mix-up of startup
|
(if viper-first-time ; Important check. Prevents mix-up of startup
|
||||||
|
|
@ -887,6 +888,7 @@ Two differences:
|
||||||
;; When viper-mode is executed in such a case, it will set the major mode
|
;; When viper-mode is executed in such a case, it will set the major mode
|
||||||
;; back to fundamental-mode.
|
;; back to fundamental-mode.
|
||||||
(if (eq (default-value 'major-mode) 'fundamental-mode)
|
(if (eq (default-value 'major-mode) 'fundamental-mode)
|
||||||
|
;; FIXME: We should use after-change-major-mode-hook instead!
|
||||||
(setq-default major-mode 'viper-mode))
|
(setq-default major-mode 'viper-mode))
|
||||||
|
|
||||||
(viper-setup-ESC-to-escape t)
|
(viper-setup-ESC-to-escape t)
|
||||||
|
|
@ -936,6 +938,7 @@ Two differences:
|
||||||
|
|
||||||
(defadvice self-insert-command (around viper-self-insert-ad activate)
|
(defadvice self-insert-command (around viper-self-insert-ad activate)
|
||||||
"Ignore all self-inserting keys in the vi-state."
|
"Ignore all self-inserting keys in the vi-state."
|
||||||
|
;; FIXME: Use remapping?
|
||||||
(if (and (eq viper-current-state 'vi-state)
|
(if (and (eq viper-current-state 'vi-state)
|
||||||
;; Do not use called-interactively-p here. XEmacs does not have it
|
;; Do not use called-interactively-p here. XEmacs does not have it
|
||||||
;; and interactive-p is just fine.
|
;; and interactive-p is just fine.
|
||||||
|
|
|
||||||
|
|
@ -265,9 +265,7 @@ nil - don't add to mode line."
|
||||||
(erc-track-add-to-mode-line val))))
|
(erc-track-add-to-mode-line val))))
|
||||||
|
|
||||||
(defun erc-modified-channels-object (strings)
|
(defun erc-modified-channels-object (strings)
|
||||||
"Generate a new `erc-modified-channels-object' based on STRINGS.
|
"Generate a new `erc-modified-channels-object' based on STRINGS."
|
||||||
If STRINGS is nil, we initialize `erc-modified-channels-object' to
|
|
||||||
an appropriate initial value for this flavor of Emacs."
|
|
||||||
(if strings
|
(if strings
|
||||||
(if (featurep 'xemacs)
|
(if (featurep 'xemacs)
|
||||||
(let ((e-m-c-s '("[")))
|
(let ((e-m-c-s '("[")))
|
||||||
|
|
@ -743,7 +741,7 @@ only consider active buffers visible.")
|
||||||
(defvar erc-modified-channels-update-inside nil
|
(defvar erc-modified-channels-update-inside nil
|
||||||
"Variable to prevent running `erc-modified-channels-update' multiple
|
"Variable to prevent running `erc-modified-channels-update' multiple
|
||||||
times. Without it, you cannot debug `erc-modified-channels-display',
|
times. Without it, you cannot debug `erc-modified-channels-display',
|
||||||
because the debugger also cases changes to the window-configuration.")
|
because the debugger also causes changes to the window-configuration.")
|
||||||
|
|
||||||
(defun erc-modified-channels-update (&rest _args)
|
(defun erc-modified-channels-update (&rest _args)
|
||||||
"This function updates the information in `erc-modified-channels-alist'
|
"This function updates the information in `erc-modified-channels-alist'
|
||||||
|
|
|
||||||
|
|
@ -174,6 +174,10 @@ This variant works around bugs in `eval-when-compile' in various
|
||||||
|
|
||||||
(put 'cc-eval-when-compile 'lisp-indent-hook 0))
|
(put 'cc-eval-when-compile 'lisp-indent-hook 0))
|
||||||
|
|
||||||
|
(eval-and-compile
|
||||||
|
(defalias 'c--macroexpand-all
|
||||||
|
(if (fboundp 'macroexpand-all)
|
||||||
|
'macroexpand-all 'cl-macroexpand-all)))
|
||||||
|
|
||||||
;;; Macros.
|
;;; Macros.
|
||||||
|
|
||||||
|
|
@ -1841,7 +1845,7 @@ system."
|
||||||
immediately, i.e. at the same time as the `c-lang-defconst' form
|
immediately, i.e. at the same time as the `c-lang-defconst' form
|
||||||
itself is evaluated."
|
itself is evaluated."
|
||||||
;; Evaluate at macro expansion time, i.e. in the
|
;; Evaluate at macro expansion time, i.e. in the
|
||||||
;; `macroexpand-all' inside `c-lang-defconst'.
|
;; `c--macroexpand-all' inside `c-lang-defconst'.
|
||||||
(eval form))
|
(eval form))
|
||||||
|
|
||||||
(defmacro c-lang-defconst (name &rest args)
|
(defmacro c-lang-defconst (name &rest args)
|
||||||
|
|
@ -1885,7 +1889,7 @@ constant. A file is identified by its base name."
|
||||||
|
|
||||||
(let* ((sym (intern (symbol-name name) c-lang-constants))
|
(let* ((sym (intern (symbol-name name) c-lang-constants))
|
||||||
;; Make `c-lang-const' expand to a straightforward call to
|
;; Make `c-lang-const' expand to a straightforward call to
|
||||||
;; `c-get-lang-constant' in `macroexpand-all' below.
|
;; `c-get-lang-constant' in `c--macroexpand-all' below.
|
||||||
;;
|
;;
|
||||||
;; (The default behavior, i.e. to expand to a call inside
|
;; (The default behavior, i.e. to expand to a call inside
|
||||||
;; `eval-when-compile' should be equivalent, since that macro
|
;; `eval-when-compile' should be equivalent, since that macro
|
||||||
|
|
@ -1948,7 +1952,7 @@ constant. A file is identified by its base name."
|
||||||
;; reason, but we also use this expansion handle
|
;; reason, but we also use this expansion handle
|
||||||
;; `c-lang-defconst-eval-immediately' and to register
|
;; `c-lang-defconst-eval-immediately' and to register
|
||||||
;; dependencies on the `c-lang-const's in VAL.)
|
;; dependencies on the `c-lang-const's in VAL.)
|
||||||
(setq val (macroexpand-all val))
|
(setq val (c--macroexpand-all val))
|
||||||
|
|
||||||
(setq bindings `(cons (cons ',assigned-mode (lambda () ,val)) ,bindings)
|
(setq bindings `(cons (cons ',assigned-mode (lambda () ,val)) ,bindings)
|
||||||
args (cdr args))))
|
args (cdr args))))
|
||||||
|
|
|
||||||
|
|
@ -3238,7 +3238,7 @@ accomplish that conveniently."
|
||||||
`(lambda ()
|
`(lambda ()
|
||||||
|
|
||||||
;; This let sets up the context for `c-mode-var' and similar
|
;; This let sets up the context for `c-mode-var' and similar
|
||||||
;; that could be in the result from `macroexpand-all'.
|
;; that could be in the result from `c--macroexpand-all'.
|
||||||
(let ((c-buffer-is-cc-mode ',mode)
|
(let ((c-buffer-is-cc-mode ',mode)
|
||||||
current-var source-eval)
|
current-var source-eval)
|
||||||
(c-make-emacs-variables-local)
|
(c-make-emacs-variables-local)
|
||||||
|
|
@ -3248,12 +3248,12 @@ accomplish that conveniently."
|
||||||
(setq ,@(let ((c-buffer-is-cc-mode mode)
|
(setq ,@(let ((c-buffer-is-cc-mode mode)
|
||||||
(c-lang-const-expansion 'immediate))
|
(c-lang-const-expansion 'immediate))
|
||||||
;; `c-lang-const' will expand to the evaluated
|
;; `c-lang-const' will expand to the evaluated
|
||||||
;; constant immediately in `macroexpand-all'
|
;; constant immediately in `c--macroexpand-all'
|
||||||
;; below.
|
;; below.
|
||||||
(mapcan
|
(mapcan
|
||||||
(lambda (init)
|
(lambda (init)
|
||||||
`(current-var ',(car init)
|
`(current-var ',(car init)
|
||||||
,(car init) ,(macroexpand-all
|
,(car init) ,(c--macroexpand-all
|
||||||
(elt init 1))))
|
(elt init 1))))
|
||||||
;; Note: The following `append' copies the
|
;; Note: The following `append' copies the
|
||||||
;; first argument. That list is small, so
|
;; first argument. That list is small, so
|
||||||
|
|
|
||||||
|
|
@ -1676,7 +1676,16 @@ Returns the compilation buffer created."
|
||||||
(list command mode name-function highlight-regexp))
|
(list command mode name-function highlight-regexp))
|
||||||
(set (make-local-variable 'revert-buffer-function)
|
(set (make-local-variable 'revert-buffer-function)
|
||||||
'compilation-revert-buffer)
|
'compilation-revert-buffer)
|
||||||
(and outwin (set-window-start outwin (point-min)))
|
(and outwin
|
||||||
|
;; Forcing the window-start overrides the usual redisplay
|
||||||
|
;; feature of bringing point into view, so setting the
|
||||||
|
;; window-start to top of the buffer risks losing the
|
||||||
|
;; effect of moving point to EOB below, per
|
||||||
|
;; compilation-scroll-output, if the command is long
|
||||||
|
;; enough to push point outside of the window. This
|
||||||
|
;; could happen, e.g., in `rgrep'.
|
||||||
|
(not compilation-scroll-output)
|
||||||
|
(set-window-start outwin (point-min)))
|
||||||
|
|
||||||
;; Position point as the user will see it.
|
;; Position point as the user will see it.
|
||||||
(let ((desired-visible-point
|
(let ((desired-visible-point
|
||||||
|
|
|
||||||
|
|
@ -1496,7 +1496,10 @@ Each element in the list should be a list of strings or pairs
|
||||||
(title (with-temp-buffer
|
(title (with-temp-buffer
|
||||||
(insert-file-contents
|
(insert-file-contents
|
||||||
(expand-file-name tut tutorial-directory)
|
(expand-file-name tut tutorial-directory)
|
||||||
nil 0 256)
|
;; Reat the entire file, to make sure any
|
||||||
|
;; coding cookies and other local variables
|
||||||
|
;; get acted upon.
|
||||||
|
nil)
|
||||||
(search-forward ".")
|
(search-forward ".")
|
||||||
(buffer-substring (point-min) (1- (point))))))
|
(buffer-substring (point-min) (1- (point))))))
|
||||||
;; If there is a specific tutorial for the current language
|
;; If there is a specific tutorial for the current language
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,12 @@
|
||||||
|
2014-10-30 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* fileio.c (Fexpand_file_name): Use make_unibyte_string, not
|
||||||
|
build_string, when importing a home directory. (Bug#18873)
|
||||||
|
|
||||||
|
* dispnew.c (buffer_posn_from_coords): Use
|
||||||
|
WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
|
||||||
|
account for the header-line height. (Bug#18839)
|
||||||
|
|
||||||
2014-10-28 Ulf Jasper <ulf.jasper@web.de>
|
2014-10-28 Ulf Jasper <ulf.jasper@web.de>
|
||||||
|
|
||||||
* xml.c (parse_region): Do not forget the first document child.
|
* xml.c (parse_region): Do not forget the first document child.
|
||||||
|
|
|
||||||
|
|
@ -5205,7 +5205,7 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
|
||||||
start position, i.e. it excludes the header-line row, but
|
start position, i.e. it excludes the header-line row, but
|
||||||
MATRIX_ROW includes the header-line row. Adjust for a possible
|
MATRIX_ROW includes the header-line row. Adjust for a possible
|
||||||
header-line row. */
|
header-line row. */
|
||||||
it_vpos = it.vpos + WINDOW_WANTS_MODELINE_P (w);
|
it_vpos = it.vpos + WINDOW_WANTS_HEADER_LINE_P (w);
|
||||||
if (it_vpos < w->current_matrix->nrows
|
if (it_vpos < w->current_matrix->nrows
|
||||||
&& (row = MATRIX_ROW (w->current_matrix, it_vpos),
|
&& (row = MATRIX_ROW (w->current_matrix, it_vpos),
|
||||||
row->enabled_p))
|
row->enabled_p))
|
||||||
|
|
|
||||||
|
|
@ -1163,7 +1163,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
|
||||||
char newdir_utf8[MAX_UTF8_PATH];
|
char newdir_utf8[MAX_UTF8_PATH];
|
||||||
|
|
||||||
filename_from_ansi (newdir, newdir_utf8);
|
filename_from_ansi (newdir, newdir_utf8);
|
||||||
tem = build_string (newdir_utf8);
|
tem = make_unibyte_string (newdir_utf8, strlen (newdir_utf8));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -1199,7 +1199,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
|
||||||
/* `getpwnam' may return a unibyte string, which will
|
/* `getpwnam' may return a unibyte string, which will
|
||||||
bite us since we expect the directory to be
|
bite us since we expect the directory to be
|
||||||
multibyte. */
|
multibyte. */
|
||||||
tem = build_string (newdir);
|
tem = make_unibyte_string (newdir, strlen (newdir));
|
||||||
newdirlim = newdir + SBYTES (tem);
|
newdirlim = newdir + SBYTES (tem);
|
||||||
if (multibyte && !STRING_MULTIBYTE (tem))
|
if (multibyte && !STRING_MULTIBYTE (tem))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue