+ 2012-04-27 Glenn Morris <rgm@gnu.org>
+
+ * emacs.texi: Some fixes for detailed menu.
+
+ 2012-04-26 Glenn Morris <rgm@gnu.org>
+
+ * emacs.texi: Add "et al." to authors.
+
+ * ack.texi, basic.texi, buffers.texi, building.texi:
+ * calendar.texi, cmdargs.texi, commands.texi, custom.texi:
+ * dired.texi, display.texi, emerge-xtra.texi, files.texi:
+ * fortran-xtra.texi, help.texi, kmacro.texi, mini.texi, misc.texi:
+ * msdog-xtra.texi, picture-xtra.texi, programs.texi, rmail.texi:
+ * search.texi, trouble.texi, windows.texi:
+ Use Texinfo recommended convention for quotes+punctuation.
+
+ 2012-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ * mule.texi (Bidirectional Editing): Improve indexing. Minor
+ wording tweaks.
+
2012-04-15 Chong Yidong <cyd@gnu.org>
* misc.texi (emacsclient Options): More clarifications.
-2012-04-14 Glenn Morris <rgm@gnu.org>
+2012-04-15 Glenn Morris <rgm@gnu.org>
* msdog.texi (Windows Printing): It doesn't set printer-name.
(Defining Fontsets, Modifying Fontsets, Undisplayable Characters)
(Unibyte Mode, Charsets, Bidirectional Editing): Copyedits.
-2012-04-14 Chong Yidong <cyd@gnu.org>
+2012-04-15 Chong Yidong <cyd@gnu.org>
* glossary.texi (Glossary): Standardize on "text terminal"
terminology. All callers changed.
* misc.texi (emacsclient Options): Document "client frame" concept
and its effect on C-x C-c more carefully.
-2012-04-14 Glenn Morris <rgm@gnu.org>
+2012-04-15 Glenn Morris <rgm@gnu.org>
* frames.texi (Scroll Bars):
* glossary.texi (Glossary): Use consistent case for "X Window System".
(Text Coding, Communication Coding, File Name Coding, Terminal Coding):
Copyedits.
-2012-04-13 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* mule.texi (Select Input Method, Coding Systems, Recognize Coding):
Copyedits.
auto-coding-functions does not override coding: tags.
Remove rmail-decode-mime-charset; it no longer has any effect.
-2012-04-12 Chong Yidong <cyd@gnu.org>
+2012-04-14 Chong Yidong <cyd@gnu.org>
* custom.texi (Creating Custom Themes): Add reference to Custom
Themes node in Lisp manual.
-2012-04-12 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* mule.texi (International): Copyedits.
(International Chars): Update C-x = example output.
Update for "Disabling Multibyte" node name change.
* emacs.texi: Update for "Disabling Multibyte" node name change.
-2012-04-10 Glenn Morris <rgm@gnu.org>
-
* abbrevs.texi, arevert-xtra.texi, buffers.texi, building.texi:
* cmdargs.texi, custom.texi, entering.texi, files.texi, frames.texi:
* glossary.texi, help.texi, macos.texi, maintaining.texi, mini.texi:
* entering.texi (Entering Emacs):
Do not mention initial-buffer-choice = t.
-2012-04-08 Glenn Morris <rgm@gnu.org>
-
* misc.texi (Gnus Startup): Use @env for environment variables.
+ * Makefile.in: Replace non-portable use of $< in ordinary rules.
+
+2012-04-12 Glenn Morris <rgm@gnu.org>
+
+ * ack.texi (Acknowledgments): Don't mention obsolete mailpost.el.
+
2012-04-07 Glenn Morris <rgm@gnu.org>
- * Makefile.in: Replace non-portable use of $< in ordinary rules.
+ * emacsver.texi (EMACSVER): Bump version to 24.1.50.
2012-04-05 Glenn Morris <rgm@gnu.org>
@item
Mathias Dahl wrote @file{image-dired.el}, a package for viewing image
- files as ``thumbnails.''
+ files as ``thumbnails''.
@item
Julien Danjou wrote an implementation of ``Desktop Notifications''
Vivek Dasmohapatra wrote @file{htmlfontify.el}, to convert a buffer or
source tree to HTML.
-@item
-Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
-@file{/usr/uci/post} mailer.
-
@item
Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
text replace the current selection.
@item
Danny Roozendaal implemented @file{handwrite.el}, which converts text
- into ``handwriting.''
+ into ``handwriting''.
@item
Markus Rost wrote @file{cus-test.el}, a testing framework for customize.
@item
Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing
- image files as ``thumbnails.''
+ image files as ``thumbnails''.
@item
Spencer Thomas wrote the original @file{dabbrev.el}, providing a command
-2012-04-26 Glenn Morris <rgm@gnu.org>
++2012-04-27 Glenn Morris <rgm@gnu.org>
+
+ * elisp.texi, vol1.texi, vol2.texi: Some fixes for detailed menu.
+ * modes.texi (Major Modes, Auto-Indentation):
+ * buffers.texi (Buffers): Some fixes for menu descriptions.
+
-2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
-
++2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
+ * functions.texi (Simple Lambda, Argument List):
+ * eval.texi (Function Indirection): Avoid deprecated form.
+
-2012-04-26 Glenn Morris <rgm@gnu.org>
++2012-04-27 Glenn Morris <rgm@gnu.org>
+
+ * book-spine.texi, elisp.texi, vol1.texi, vol2.texi:
+ Add "et al." to authors.
+
+ * buffers.texi, commands.texi, compile.texi, control.texi:
+ * customize.texi, display.texi, eval.texi, files.texi, frames.texi:
+ * hash.texi, help.texi, intro.texi, keymaps.texi, lists.texi:
+ * modes.texi, numbers.texi, objects.texi, streams.texi:
+ * symbols.texi, syntax.texi, text.texi, tips.texi, variables.texi:
+ Use Texinfo recommended convention for quotes+punctuation.
+
-2012-04-23 Chong Yidong <cyd@gnu.org>
++2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * keymaps.texi (Scanning Keymaps): Fix description of NO-REMAP arg
+ to where-is-internal (Bug#10872).
+
-2012-04-21 Glenn Morris <rgm@gnu.org>
++2012-04-27 Glenn Morris <rgm@gnu.org>
+
+ * macros.texi (Indenting Macros): Fix typo.
+
+ * windows.texi (Basic Windows, Windows and Frames, Window Sizes)
+ (Resizing Windows, Deleting Windows, Selecting Windows)
+ (Choosing Window Options, Horizontal Scrolling)
+ (Cyclic Window Ordering, Window History, Dedicated Windows)
+ (Quitting Windows, Window Configurations, Textual Scrolling):
+ (Coordinates and Windows, Window Configurations)
+ (Window Parameters, Window Hooks): Copyedits.
+ (Splitting Windows, Deleting Windows):
+ Fix ignore-window-parameters logic.
+ (Selecting Windows, Choosing Window Options): Markup fixes.
+ (Window Start and End): Remove pointless example.
+ Remove cross-reference to deleted count-lines content.
+ (Textual Scrolling): Mention recenter-redisplay, recenter-top-bottom,
+ and recenter-positions. Remove recenter example.
+
+ * elisp.texi, vol1.texi, vol2.texi: Bump VERSION and DATE.
+
+ * minibuf.texi (Intro to Minibuffers):
+ Tweak discussion of resizing minibuffer window.
+
+2012-04-26 Glenn Morris <rgm@gnu.org>
+
+ * elisp-covers.texi, front-cover-1.texi: Remove files.
+
+ * tindex.pl: Remove file.
+
+ * makefile.w32-in (srcs):
+ * Makefile.in (srcs): Remove back.texi (which is unused).
+
+2012-04-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * os.texi (Notifications): Extend possible notification hints.
+ Add notifications-get-capabilities.
+
2012-04-20 Chong Yidong <cyd@gnu.org>
* processes.texi (Asynchronous Processes): Mention nil argument to
* elisp.texi, vol1.texi, vol2.texi, minibuf.texi (Completion):
Update "High-Level Completion" description.
-2012-04-19 Glenn Morris <rgm@gnu.org>
-
* minibuf.texi (Minibuffers):
* elisp.texi, vol1.texi, vol2.texi: Fix minibuffer subsection order.
(Minibuffer Misc): Mention minibuffer-message-timeout, and
minibuffer-inactive-mode.
-2012-04-18 Glenn Morris <rgm@gnu.org>
-
* processes.texi (Serial Ports, Byte Packing, Bindat Spec)
(Bindat Functions): Copyedits.
-2012-04-18 Christopher Schmidt <christopher@ch.ristopher.com>
+2012-04-20 Christopher Schmidt <christopher@ch.ristopher.com>
* files.texi (Saving Buffers): Document `visit and `visit-save'
values of require-final-newline.
-2012-04-18 Glenn Morris <rgm@gnu.org>
+2012-04-20 Glenn Morris <rgm@gnu.org>
* processes.texi (Output from Processes, Filter Functions):
Mention waiting-for-user-input-p.
(Network): Add encrypted network overview paragraph.
Cross-reference the Emacs-GnuTLS manual. Use @acronym.
-2012-04-17 Chong Yidong <cyd@gnu.org>
+2012-04-20 Chong Yidong <cyd@gnu.org>
* help.texi (Keys in Documentation): Mention :advertised-binding.
* keymaps.texi (Menu Bar): Move most of the :advertised-binding
description to help.texi.
-2012-04-16 Glenn Morris <rgm@gnu.org>
+2012-04-20 Glenn Morris <rgm@gnu.org>
* processes.texi (Process Information, Input to Processes)
(Signals to Processes, Output from Processes, Process Buffers)
(Process Information): Fix typo.
(Bindat Spec): Use Texinfo-recommended form of quote+punctuation.
-2012-04-14 Glenn Morris <rgm@gnu.org>
+2012-04-15 Glenn Morris <rgm@gnu.org>
* anti.texi (Antinews): Copyedits. Don't @dfn anything here.
open-network-stream does exist in Emacs 23, but is simpler.
-2012-04-13 Chong Yidong <cyd@gnu.org>
+2012-04-15 Chong Yidong <cyd@gnu.org>
* customize.texi (Custom Themes): Also document load-theme etc.
-2012-04-12 Chong Yidong <cyd@gnu.org>
+2012-04-14 Chong Yidong <cyd@gnu.org>
* customize.texi (Applying Customizations):
(Custom Themes): New nodes.
* modes.texi (Defining Minor Modes, Defining Minor Modes):
* os.texi (Startup Summary): Copyedits.
-2012-04-12 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* loading.texi (Loading Non-ASCII): "unibyte:" can also be at the end.
-2012-04-10 Glenn Morris <rgm@gnu.org>
-
* strings.texi (Case Tables):
* objects.texi (General Escape Syntax):
* keymaps.texi (Key Sequences): Use @acronym with "ASCII".
* compile.texi (Compiler Errors): Add missing space in buffer name.
-2012-04-08 Chong Yidong <cyd@gnu.org>
+2012-04-14 Chong Yidong <cyd@gnu.org>
* processes.texi (Query Before Exit): Remove obsolete function
process-kill-without-query (Bug#11190).
-2012-04-08 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* files.texi, frames.texi, loading.texi, os.texi, processes.texi:
Use @env for environment variables.
-2012-04-07 Glenn Morris <rgm@gnu.org>
-
* Makefile.in: Replace non-portable use of $< in ordinary rules.
+2012-04-12 Jari Aalto <jari.aalto@cante.net>
+
+ * processes.texi (Synchronous Processes): Mention
+ `default-directory' (bug#7515).
+
+2012-04-09 Chong Yidong <cyd@gnu.org>
+
+ * customize.texi (Variable Definitions): Remove user-variable-p.
+
+ * commands.texi (Interactive Codes):
+ * help.texi (Accessing Documentation):
+ * minibuf.texi (High-Level Completion): Callers changed.
+
2012-04-06 Chong Yidong <cyd@gnu.org>
* minibuf.texi (Programmed Completion): Document metadata method.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/buffers
@node Buffers, Windows, Backups and Auto-Saving, Top
@chapter Buffers
@cindex buffer
* Buffer File Name:: The buffer file name indicates which file is visited.
* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
* Modification Time:: Determining whether the visited file was changed
- ``behind Emacs's back''.
+ "behind Emacs's back".
* Read Only Buffers:: Modifying text is not allowed in a read-only buffer.
* The Buffer List:: How to look at all the existing buffers.
* Creating Buffers:: Functions that create buffers.
use.
If @var{filename} is @code{nil} or the empty string, that stands for
- ``no visited file.'' In this case, @code{set-visited-file-name} marks
+ ``no visited file''. In this case, @code{set-visited-file-name} marks
the buffer as having no visited file, without changing the buffer's
modified flag.
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/commands
@node Command Loop, Keymaps, Minibuffers, Top
@chapter Command Loop
@cindex editor command loop
@item v
A variable declared to be a user option (i.e., satisfying the
-predicate @code{user-variable-p}). This reads the variable using
+predicate @code{custom-variable-p}). This reads the variable using
@code{read-variable}. @xref{Definition of read-variable}. Existing,
Completion, Prompt.
message when called from a keyboard macro.
The above method with the additional argument is usually best,
- because it allows callers to say ``treat this call as interactive.''
+ because it allows callers to say ``treat this call as interactive''.
But you can also do the job by testing @code{called-interactively-p}.
@defun called-interactively-p kind
button and modifier keys. The information about the window part is kept
elsewhere in the event---in the coordinates. But
@code{read-key-sequence} translates this information into imaginary
- ``prefix keys,'' all of which are symbols: @code{header-line},
+ ``prefix keys'', all of which are symbols: @code{header-line},
@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
@code{vertical-line}, and @code{vertical-scroll-bar}. You can define
meanings for mouse clicks in special window parts by defining key
@defvar unread-command-char
This variable holds a character to be read as command input.
- A value of -1 means ``empty.''
+ A value of -1 means ``empty''.
This variable is mostly obsolete now that you can use
@code{unread-command-events} instead; it exists only to support programs
change the major mode of the current buffer temporarily to a special
major mode, which should have a command to go back to the previous mode.
(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to
- give the user different text to edit ``recursively,'' create and select
+ give the user different text to edit ``recursively'', create and select
a new buffer in a special mode. In this mode, define a command to
complete the processing and go back to the previous buffer. (The
@kbd{m} command in Rmail does this.)
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/compile
@node Byte Compilation, Advising Functions, Loading, Top
@chapter Byte Compilation
@cindex byte compilation
use a special Lisp reader construct, @samp{#@@@var{count}}. This
construct skips the next @var{count} characters. It also uses the
@samp{#$} construct, which stands for ``the name of this file, as a
- string.'' It is usually best not to use these constructs in Lisp source
+ string''. It is usually best not to use these constructs in Lisp source
files, since they are not designed to be clear to humans reading the
file.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/control
@node Control Structures, Variables, Evaluation, Top
@chapter Control Structures
@cindex special forms for control structures
@var{body-forms}, and the value of the last of @var{body-forms} becomes
the value of the @code{cond}. The remaining clauses are ignored.
- If the value of @var{condition} is @code{nil}, the clause ``fails,'' so
+ If the value of @var{condition} is @code{nil}, the clause ``fails'', so
the @code{cond} moves on to the following clause, trying its
@var{condition}.
@subsection Examples of @code{catch} and @code{throw}
One way to use @code{catch} and @code{throw} is to exit from a doubly
- nested loop. (In most languages, this would be done with a ``goto.'')
+ nested loop. (In most languages, this would be done with a ``goto''.)
Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j}
varying from 0 to 9:
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/customize
@node Customization, Loading, Macros, Top
@chapter Customization Settings
another customizable variable.
@end defun
-@defun user-variable-p arg
-This function is like @code{custom-variable-p}, except it also returns
-@code{t} if the first character of the variable's documentation string
-is the character @samp{*}. That is an obsolete way of indicating a
-user option, so for most purposes you may consider
-@code{user-variable-p} as equivalent to @code{custom-variable-p}.
-@end defun
-
@node Customization Types
@section Customization Types
@noindent
describes a variable for which @code{t} means yes, @code{nil} means no,
- and @code{foo} means ``ask.''
+ and @code{foo} means ``ask''.
@item (other @var{value})
This alternative can match any Lisp value, but if the user chooses this
@noindent
describes a variable for which @code{t} means yes, @code{nil} means no,
- and anything else means ``ask.'' If the user chooses @samp{Ask} from
+ and anything else means ``ask''. If the user chooses @samp{Ask} from
the menu of alternatives, that specifies the value @code{foo}; but any
other value (not @code{t}, @code{nil} or @code{foo}) displays as
@samp{Ask}, just like @code{foo}.
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/display
@node Display, System Interface, Processes, Top
@chapter Emacs Display
indicate truncated and continued lines (@pxref{Fringes}). On a text
terminal, a @samp{$} in the rightmost column of the window indicates
truncation; a @samp{\} on the rightmost column indicates a line that
- ``wraps.'' (The display table can specify alternate characters to use
+ ``wraps''. (The display table can specify alternate characters to use
for this; @pxref{Display Tables}).
@defopt truncate-lines
echo area.
You should always call this function and not hope for
- @code{progress-reporter-update} to print ``100%.'' Firstly, it may
+ @code{progress-reporter-update} to print ``100%''. Firstly, it may
never print it, there are many good reasons for this not to happen.
Secondly, ``done'' is more explicit.
@end defun
This is the only valid way to change the endpoints of an overlay. Do
not try modifying the markers in the overlay by hand, as that fails to
update other vital data structures and can cause some overlays to be
- ``lost.''
+ ``lost''.
@end defun
@defun remove-overlays &optional start end name value
@end example
Emacs stores the overlays of each buffer in two lists, divided
- around an arbitrary ``center position.'' One list extends backwards
+ around an arbitrary ``center position''. One list extends backwards
through the buffer from that center position, and the other extends
forwards from that center position. The center position can be anywhere
in the buffer.
@end ifnottex
@item disabled
- Specifies transforming the image so that it looks ``disabled.''
+ Specifies transforming the image so that it looks ``disabled''.
@end table
@item :mask @var{mask}
@subsection Abstract Display Example
Here is a simple example using functions of the ewoc package to
- implement a ``color components display,'' an area in a buffer that
+ implement a ``color components display'', an area in a buffer that
represents a vector of three integers (itself representing a 24-bit RGB
value) in various ways.
@strong{Warning:} if you use the display table to change the display
of newline characters, the whole buffer will be displayed as one long
- ``line.''
+ ``line''.
The display table also has six ``extra slots'' which serve special
purposes. Here is a table of their meanings; @code{nil} in any slot
@defvar ring-bell-function
If this is non-@code{nil}, it specifies how Emacs should ``ring the
- bell.'' Its value should be a function of no arguments. If this is
+ bell''. Its value should be a function of no arguments. If this is
non-@code{nil}, it takes precedence over the @code{visible-bell}
variable.
@end defvar
@section Window Systems
Emacs works with several window systems, most notably the X Window
- System. Both Emacs and X use the term ``window,'' but use it
+ System. Both Emacs and X use the term ``window'', but use it
differently. An Emacs frame is a single window as far as X is
concerned; the individual Emacs windows are not known to X at all.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/eval
@node Evaluation, Control Structures, Symbols, Top
@chapter Evaluation
@cindex evaluation
@dfn{form} (or an @dfn{expression}). How Emacs evaluates a form
depends on its data type. Emacs has three different kinds of form
that are evaluated differently: symbols, lists, and ``all other
- types.'' This section describes all three kinds, one by one, starting
+ types''. This section describes all three kinds, one by one, starting
with the ``all other types'' which are self-evaluating forms.
@menu
Executing the function itself evaluates its body; this does involve
symbol function indirection when calling @code{erste}.
+ This form is rarely used and is now deprecated. Instead, you should write it
+ as:
+
+ @smallexample
+ @group
+ (funcall (lambda (arg) (erste arg))
+ '(1 2 3))
+ @end group
+ @end smallexample
+ or just
+ @smallexample
+ @group
+ (let ((arg '(1 2 3))) (erste arg))
+ @end group
+ @end smallexample
+
The built-in function @code{indirect-function} provides an easy way to
perform symbol function indirection explicitly.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/files
@node Files, Backups and Auto-Saving, Documentation, Top
@comment node-name, next, previous, up
@chapter Files
In spite of the distinction between files and buffers, people often
refer to a file when they mean a buffer and vice-versa. Indeed, we say,
- ``I am editing a file,'' rather than, ``I am editing a buffer that I
- will soon save as a file of the same name.'' Humans do not usually need
+ ``I am editing a file'', rather than, ``I am editing a buffer that I
+ will soon save as a file of the same name''. Humans do not usually need
to make the distinction explicit. When dealing with a computer program,
however, it is good to keep the distinction in mind.
stored in the same directory as the file you are editing.
When you access files using NFS, there may be a small probability that
- you and another user will both lock the same file ``simultaneously.''
+ you and another user will both lock the same file ``simultaneously''.
If this happens, it is possible for the two users to make changes
simultaneously, but Emacs will still warn the user who saves second.
Also, the detection of modification of a buffer visiting a file changed
@end defun
@defun file-name-extension filename &optional period
- This function returns @var{filename}'s final ``extension,'' if any,
+ This function returns @var{filename}'s final ``extension'', if any,
after applying @code{file-name-sans-versions} to remove any
version/backup part. The extension, in a file name, is the part that
follows the last @samp{.} in the last name component (minus any
possibly others to be added in the future. It need not implement all
these operations itself---when it has nothing special to do for a
certain operation, it can reinvoke the primitive, to handle the
- operation ``in the usual way.'' It should always reinvoke the primitive
+ operation ``in the usual way''. It should always reinvoke the primitive
for an operation it does not recognize. Here's one way to do this:
@smallexample
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/frames
@node Frames, Positions, Windows, Top
@chapter Frames
@cindex frame
form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor
type equals @var{on-state} (comparing using @code{equal}), the
corresponding @var{off-state} specifies what the cursor looks like
- when it blinks ``off.'' Both @var{on-state} and @var{off-state}
+ when it blinks ``off''. Both @var{on-state} and @var{off-state}
should be suitable values for the @code{cursor-type} frame parameter.
There are various defaults for how to blink each type of cursor, if
These values include the internal borders, and windows' scroll bars
and fringes (which belong to individual windows, not to the frame
itself). The exact value of the heights depends on the window-system
- and toolkit in use. With Gtk+, the height does not include any tool
+ and toolkit in use. With GTK+, the height does not include any tool
bar or menu bar. With the Motif or Lucid toolkits, it includes the
tool bar but not the menu bar. In a graphical version with no
toolkit, it includes both the tool bar and menu bar. For a text
Most window systems use a desktop metaphor. Part of this metaphor is
the idea that windows are stacked in a notional third dimension
perpendicular to the screen surface, and thus ordered from ``highest''
- to ``lowest.'' Where two windows overlap, the one higher up covers
+ to ``lowest''. Where two windows overlap, the one higher up covers
the one underneath. Even a window at the bottom of the stack can be
seen if no other window overlaps it.
@cindex lowering a frame
A window's place in this ordering is not fixed; in fact, users tend
to change the order frequently. @dfn{Raising} a window means moving
- it ``up,'' to the top of the stack. @dfn{Lowering} a window means
+ it ``up'', to the top of the stack. @dfn{Lowering} a window means
moving it to the bottom of the stack. This motion is in the notional
third dimension only, and does not change the position of the window
on the screen.
A dialog box is a variant of a pop-up menu---it looks a little
different, it always appears in the center of a frame, and it has just
one level and one or more buttons. The main use of dialog boxes is
- for asking questions that the user can answer with ``yes,'' ``no,''
+ for asking questions that the user can answer with ``yes'', ``no'',
and a few other alternatives. With a single button, they can also
force the user to acknowledge important information. The functions
@code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the
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
@dfn{selected frame}, as described below; see @ref{Input Focus}, for the
- meaning of the term ``selected frame.''
+ meaning of the term ``selected frame''.
To read user input of color names with completion, use
@code{read-color} (@pxref{High-Level Completion, read-color}).
server.
When the developers of X labeled software distributors as
- ``vendors,'' they showed their false assumption that no system could
+ ``vendors'', they showed their false assumption that no system could
ever be developed and distributed noncommercially.
@end defun
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/functions
@node Functions, Macros, Variables, Top
@chapter Functions
@end example
@noindent
- We can call this function by writing it as the @sc{car} of an
- expression, like this:
+ We can call this function by passing it to @code{funcall}, like this:
@example
@group
- ((lambda (a b c) (+ a b c))
- 1 2 3)
+ (funcall (lambda (a b c) (+ a b c))
+ 1 2 3)
@end group
@end example
@example
@group
- ((lambda (a b c) (+ a b c))
- 1 (* 2 3) (- 5 4))
+ (funcall (lambda (a b c) (+ a b c))
+ 1 (* 2 3) (- 5 4))
@end group
@end example
Here are some examples of argument lists and proper calls:
@smallexample
- ((lambda (n) (1+ n)) ; @r{One required:}
- 1) ; @r{requires exactly one argument.}
+ (funcall (lambda (n) (1+ n)) ; @r{One required:}
+ 1) ; @r{requires exactly one argument.}
@result{} 2
- ((lambda (n &optional n1) ; @r{One required and one optional:}
- (if n1 (+ n n1) (1+ n))) ; @r{1 or 2 arguments.}
- 1 2)
+ (funcall (lambda (n &optional n1) ; @r{One required and one optional:}
+ (if n1 (+ n n1) (1+ n))) ; @r{1 or 2 arguments.}
+ 1 2)
@result{} 3
- ((lambda (n &rest ns) ; @r{One required and one rest:}
- (+ n (apply '+ ns))) ; @r{1 or more arguments.}
- 1 2 3 4 5)
+ (funcall (lambda (n &rest ns) ; @r{One required and one rest:}
+ (+ n (apply '+ ns))) ; @r{1 or more arguments.}
+ 1 2 3 4 5)
@result{} 15
@end smallexample
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/hash
@node Hash Tables, Symbols, Sequences Arrays Vectors, Top
@chapter Hash Tables
@cindex hash tables
Keys which are numbers are ``the same'' if they are @code{equal}, that
is, if they are equal in value and either both are integers or both
are floating point numbers; otherwise, two distinct objects are never
- ``the same.''
+ ``the same''.
@item eq
Any two distinct Lisp objects are ``different'' as keys.
@item equal
- Two Lisp objects are ``the same,'' as keys, if they are equal
+ Two Lisp objects are ``the same'', as keys, if they are equal
according to @code{equal}.
@end table
The default size is 65.
@item :rehash-size @var{rehash-size}
- When you add an association to a hash table and the table is ``full,''
+ When you add an association to a hash table and the table is ``full'',
it grows automatically. This value specifies how to make the hash table
larger, at that time.
a ``hash code'' from a key value.
The function @var{test-fn} should accept two arguments, two keys, and
- return non-@code{nil} if they are considered ``the same.''
+ return non-@code{nil} if they are considered ``the same''.
The function @var{hash-fn} should accept one argument, a key, and return
an integer that is the ``hash code'' of that key. For good results, the
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/help
@node Documentation, Files, Modes, Top
@chapter Documentation
@cindex documentation strings
@group
(princ
(format "%s\t%s\n%s\n\n" s
- (if (user-variable-p s)
+ (if (custom-variable-p s)
"Option " "Variable")
@end group
@group
@defopt help-event-list
The value of this variable is a list of event types that serve as
- alternative ``help characters.'' These events are handled just like the
+ alternative ``help characters''. These events are handled just like the
event specified by @code{help-char}.
@end defopt
@c -*-coding: iso-latin-1-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/intro
@node Introduction, Lisp Data Types, Top, Top
@comment node-name, next, previous, up
representations of Lisp objects into actual Lisp objects, and vice
versa. @xref{Printed Representation}, for more details. You, the
person reading this manual, are thought of as ``the programmer'' and are
- addressed as ``you.'' ``The user'' is the person who uses Lisp
+ addressed as ``you''. ``The user'' is the person who uses Lisp
programs, including those you write.
@cindex typographic conventions
@end example
@noindent
- You can read this as ``@code{(car '(1 2))} evaluates to 1.''
+ You can read this as ``@code{(car '(1 2))} evaluates to 1''.
When a form is a macro call, it expands into a new form for Lisp to
evaluate. We show the result of the expansion with
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/keymaps
@node Keymaps, Modes, Command Loop, Top
@chapter Keymaps
@cindex keymap
This feature permits you to define one key as an alias for another key.
For example, an entry whose @sc{car} is the keymap called @code{esc-map}
and whose @sc{cdr} is 32 (the code for @key{SPC}) means, ``Use the global
- binding of @kbd{Meta-@key{SPC}}, whatever that may be.''
+ binding of @kbd{Meta-@key{SPC}}, whatever that may be''.
@end itemize
@item @var{symbol}
is a list of keymaps, only those keymaps are searched.
Usually it's best to use @code{overriding-local-map} as the expression
- for @var{keymap}. Then @code{where-is-internal} searches precisely the
- keymaps that are active. To search only the global map, pass
- @code{(keymap)} (an empty keymap) as @var{keymap}.
+ for @var{keymap}. Then @code{where-is-internal} searches precisely
+ the keymaps that are active. To search only the global map, pass the
+ value @code{(keymap)} (an empty keymap) as @var{keymap}.
If @var{firstonly} is @code{non-ascii}, then the value is a single
vector representing the first key sequence found, rather than a list of
follow indirect keymap bindings. This makes it possible to search for
an indirect definition itself.
- When command remapping is in effect (@pxref{Remapping Commands}),
- @code{where-is-internal} figures out when a command will be run due to
- remapping and reports keys accordingly. It also returns @code{nil} if
- @var{command} won't really be run because it has been remapped to some
- other command. However, if @var{no-remap} is non-@code{nil}.
- @code{where-is-internal} ignores remappings.
+ The fifth argument, @var{no-remap}, determines how this function
+ treats command remappings (@pxref{Remapping Commands}). There are two
+ cases of interest:
- @smallexample
- @group
- (where-is-internal 'describe-function)
- @result{} ([8 102] [f1 102] [help 102]
- [menu-bar help-menu describe describe-function])
- @end group
- @end smallexample
+ @table @asis
+ @item If a command @var{other-command} is remapped to @var{command}:
+ If @var{no-remap} is @code{nil}, find the bindings for
+ @var{other-command} and treat them as though they are also bindings
+ for @var{command}. If @var{no-remap} is non-@code{nil}, include the
+ vector @code{[remap @var{other-command}]} in the list of possible key
+ sequences, instead of finding those bindings.
+
+ @item If @var{command} is remapped to @var{other-command}:
+ If @var{no-remap} is @code{nil}, return the bindings for
+ @var{other-command} rather than @var{command}. If @var{no-remap} is
+ non-@code{nil}, return the bindings for @var{command}, ignoring the
+ fact that it is remapped.
+ @end table
@end defun
@deffn Command describe-bindings &optional prefix buffer-or-name
which toggles the variable @code{debug-on-error}.
@dfn{Radio buttons} are a group of menu items, in which at any time one
- and only one is ``selected.'' There should be a variable whose value
+ and only one is ``selected''. There should be a variable whose value
says which one is selected at any time. The @var{selected} form for
each radio button in the group should check whether the variable has the
right value for selecting that button. Clicking on the button should
Note the symbols which the bindings are ``made for''; these appear
inside square brackets, in the key sequence being defined. In some
cases, this symbol is the same as the command name; sometimes it is
- different. These symbols are treated as ``function keys,'' but they are
+ different. These symbols are treated as ``function keys'', but they are
not real function keys on the keyboard. They do not affect the
functioning of the menu itself, but they are ``echoed'' in the echo area
when the user selects from the menu, and they appear in the output of
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/lists
@node Lists, Sequences Arrays Vectors, Strings and Characters, Top
@chapter Lists
@cindex lists
and each slot @dfn{holds}, or @dfn{refers to}, some Lisp object. One
slot is known as the @sc{car}, and the other is known as the @sc{cdr}.
(These names are traditional; see @ref{Cons Cell Type}.) @sc{cdr} is
- pronounced ``could-er.''
+ pronounced ``could-er''.
We say that ``the @sc{car} of this cons cell is'' whatever object
its @sc{car} slot currently holds, and likewise for the @sc{cdr}.
- A list is a series of cons cells ``chained together,'' so that each
+ A list is a series of cons cells ``chained together'', so that each
cell refers to the next one. There is one cons cell for each element
of the list. By convention, the @sc{car}s of the cons cells hold the
elements of the list, and the @sc{cdr}s are used to chain the list
@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of
each @var{alist} association instead of the @sc{car}. You can think of
- this as ``reverse @code{assoc},'' finding the key for a given value.
+ this as ``reverse @code{assoc}'', finding the key for a given value.
@end defun
@defun assq key alist
@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of
each @var{alist} association instead of the @sc{car}. You can think of
- this as ``reverse @code{assq},'' finding the key for a given value.
+ this as ``reverse @code{assq}'', finding the key for a given value.
For example:
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/macros
@node Macros, Customization, Functions, Top
@chapter Macros
@cindex macros
@section Indenting Macros
Within a macro definition, you can use the @code{declare} form
- (@pxref{Defining Macros}) to specify how to @key{TAB} should indent
+ (@pxref{Defining Macros}) to specify how @key{TAB} should indent
calls to the macro. An indentation specification is written like this:
@example
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/minibuf
@node Minibuffers, Command Loop, Read and Print, Top
@chapter Minibuffers
@cindex arguments, reading
@code{forward-sentence}, and @code{forward-paragraph}, stop at the
boundary between the prompt and the actual text.
+ @c See http://debbugs.gnu.org/11276
The minibuffer's window is normally a single line; it grows
- automatically if the contents require more space. You can explicitly
- @c FIXME? Works in 23.4, not 24.0.95. (Bug#11276)
- resize it temporarily with the window sizing commands; it reverts to
- its normal size when the minibuffer is exited. You can resize it
- @c FIXME? Doesn't work in any version of Emacs?
+ automatically if the contents require more space. Whilst it is
+ active, you can explicitly resize it temporarily with the window
+ sizing commands; it reverts to its normal size when the minibuffer is
+ exited. When the minibuffer is not active, you can resize it
permanently by using the window sizing commands in the frame's other
- window, when the minibuffer is not active. If the frame contains just
- a minibuffer, you can change the minibuffer's size by changing the
- frame's size.
+ window, or dragging the mode line with the mouse. (Due to details of
+ the current implementation, for this to work @code{resize-mini-windows}
+ must be @code{nil}.) If the frame contains just a minibuffer, you can
+ change the minibuffer's size by changing the frame's size.
Use of the minibuffer reads input events, and that alters the values
of variables such as @code{this-command} and @code{last-command}
@defun read-variable prompt &optional default
@anchor{Definition of read-variable}
-This function reads the name of a user variable and returns it as a
-symbol. Its arguments have the same form as those of @code{read-command}.
-In general, this function is similar to @code{read-command}, but uses
-the predicate @code{user-variable-p} instead of @code{commandp}.
+This function reads the name of a customizable variable and returns it
+as a symbol. Its arguments have the same form as those of
+@code{read-command}. It behaves just like @code{read-command}, except
+that it uses the predicate @code{custom-variable-p} instead of
+@code{commandp}.
@end defun
@deffn Command read-color &optional prompt convert allow-empty display
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/modes
@node Modes, Documentation, Keymaps, Top
@chapter Major and Minor Modes
@cindex mode
* Derived Modes:: Defining a new major mode based on another major
mode.
* Basic Major Modes:: Modes that other modes are often derived from.
- * Mode Hooks:: Hooks run at the end of major mode commands.
+ * Mode Hooks:: Hooks run at the end of major mode functions.
* Tabulated List Mode:: Parent mode for buffers containing tabulated data.
* Generic Modes:: Defining a simple major mode that supports
comment syntax and Font Lock mode.
A major mode can also rebind the keys @kbd{M-n}, @kbd{M-p} and
@kbd{M-s}. The bindings for @kbd{M-n} and @kbd{M-p} should normally
- be some kind of ``moving forward and backward,'' but this does not
+ be some kind of ``moving forward and backward'', but this does not
necessarily mean cursor motion.
It is legitimate for a major mode to rebind a standard key sequence if
When you defined a major mode using @code{define-derived-mode}, it
automatically makes sure these conventions are followed. If you
- define a major mode ``by hand,'' not using @code{define-derived-mode},
+ define a major mode ``by hand'', not using @code{define-derived-mode},
use the following functions to handle these conventions automatically.
@defun run-mode-hooks &rest hookvars
The argument @var{comment-list} is a list in which each element is
either a character, a string of one or two characters, or a cons cell.
A character or a string is set up in the mode's syntax table as a
- ``comment starter.'' If the entry is a cons cell, the @sc{car} is set
- up as a ``comment starter'' and the @sc{cdr} as a ``comment ender.''
+ ``comment starter''. If the entry is a cons cell, the @sc{car} is set
+ up as a ``comment starter'' and the @sc{cdr} as a ``comment ender''.
(Use @code{nil} for the latter if you want comments to end at the end
of the line.) Note that the syntax table mechanism has limitations
about what comment starters and enders are actually possible.
@end smallexample
@noindent
- This defines a minor mode named ``Hungry mode,'' a command named
+ This defines a minor mode named ``Hungry mode'', a command named
@code{hungry-mode} to toggle it, a variable named @code{hungry-mode}
which indicates whether the mode is enabled, and a variable named
@code{hungry-mode-map} which holds the keymap that is active when the
of Lisp sexps and adapts it to non-Lisp languages.
@menu
- * SMIE:: A simple minded indentation engine
+ * SMIE:: A simple minded indentation engine.
@end menu
@node SMIE
resorting to some special tricks (@pxref{SMIE Tricks}).
@menu
- * SMIE setup:: SMIE setup and features
- * Operator Precedence Grammars:: A very simple parsing technique
- * SMIE Grammar:: Defining the grammar of a language
- * SMIE Lexer:: Defining tokens
- * SMIE Tricks:: Working around the parser's limitations
- * SMIE Indentation:: Specifying indentation rules
- * SMIE Indentation Helpers:: Helper functions for indentation rules
- * SMIE Indentation Example:: Sample indentation rules
+ * SMIE setup:: SMIE setup and features.
+ * Operator Precedence Grammars:: A very simple parsing technique.
+ * SMIE Grammar:: Defining the grammar of a language.
+ * SMIE Lexer:: Defining tokens.
+ * SMIE Tricks:: Working around the parser's limitations.
+ * SMIE Indentation:: Specifying indentation rules.
+ * SMIE Indentation Helpers:: Helper functions for indentation rules.
+ * SMIE Indentation Example:: Sample indentation rules.
@end menu
@node SMIE setup
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/numbers
@node Numbers, Strings and Characters, Lisp Data Types, Top
@chapter Numbers
@cindex integers
sequence of @dfn{bits} (digits which are either zero or one). A bitwise
operation acts on the individual bits of such a sequence. For example,
@dfn{shifting} moves the whole sequence left or right one or more places,
- reproducing the same pattern ``moved over.''
+ reproducing the same pattern ``moved over''.
The bitwise operations in Emacs Lisp apply only to integers.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/objects
@node Lisp Data Types, Numbers, Introduction, Top
@chapter Lisp Data Types
@cindex object
@cindex atoms
Because cons cells are so central to Lisp, we also have a word for
- ``an object which is not a cons cell.'' These objects are called
+ ``an object which is not a cons cell''. These objects are called
@dfn{atoms}.
@cindex parenthesis
A @dfn{primitive function} is a function callable from Lisp but
written in the C programming language. Primitive functions are also
called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is
- derived from ``subroutine.'') Most primitive functions evaluate all
+ derived from ``subroutine''.) Most primitive functions evaluate all
their arguments when they are called. A primitive function that does
not evaluate all its arguments is called a @dfn{special form}
(@pxref{Special Forms}).@refill
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/streams
@node Read and Print, Minibuffers, Debugging, Top
@comment node-name, next, previous, up
@chapter Reading and Printing Lisp Objects
should save the argument and arrange to return it on the next call.
This is called @dfn{unreading} the character; it happens when the Lisp
reader reads one character too many and wants to ``put it back where it
- came from.'' In this case, it makes no difference what value
+ came from''. In this case, it makes no difference what value
@var{function} returns.
@end itemize
@defun terpri &optional stream
@cindex newline in print
This function outputs a newline to @var{stream}. The name stands
- for ``terminate print.''
+ for ``terminate print''.
@end defun
@defun write-char character &optional stream
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/symbols
@node Symbols, Evaluation, Hash Tables, Top
@chapter Symbols
@cindex symbol
@code{defun} defines a symbol as a function, creating a lambda
expression and storing it in the function cell of the symbol. This
lambda expression thus becomes the function definition of the symbol.
- (The term ``function definition,'' meaning the contents of the function
+ (The term ``function definition'', meaning the contents of the function
cell, is derived from the idea that @code{defun} gives the symbol its
definition as a function.) @code{defsubst} and @code{defalias} are two
other ways of defining a function. @xref{Functions}.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/syntax
@node Syntax Tables, Abbrevs, Searching and Matching, Top
@chapter Syntax Tables
@cindex parsing buffer text
A syntax table can inherit the data for some characters from the
standard syntax table, while specifying other characters itself. The
``inherit'' syntax class means ``inherit this character's syntax from
- the standard syntax table.'' Just changing the standard syntax for a
+ the standard syntax table''. Just changing the standard syntax for a
character affects all syntax tables that inherit from it.
@defun syntax-table-p object
A character's syntax controls how it changes the state of the
parser, rather than describing the state itself. For example, a
string delimiter character toggles the parser state between
- ``in-string'' and ``in-code,'' but the syntax of characters does not
+ ``in-string'' and ``in-code'', but the syntax of characters does not
directly say whether they are inside a string. For example (note that
15 is the syntax code for generic string delimiters),
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/text
@node Text, Non-ASCII Characters, Markers, Top
@chapter Text
@cindex text
asking for any confirmation. It returns @code{nil}.
Normally, deleting a large amount of text from a buffer inhibits further
- auto-saving of that buffer ``because it has shrunk.'' However,
+ auto-saving of that buffer ``because it has shrunk''. However,
@code{erase-buffer} does not do this, the idea being that the future
text is not really related to the former text, and its size should not
be compared with that of the former text.
Some people think this use of the word ``kill'' is unfortunate, since
it refers to operations that specifically @emph{do not} destroy the
- entities ``killed.'' This is in sharp contrast to ordinary life, in
+ entities ``killed''. This is in sharp contrast to ordinary life, in
which death is permanent and ``killed'' entities do not come back to
life. Therefore, other metaphors have been proposed. For example, the
term ``cut ring'' makes sense to people who, in pre-computer days, used
For yanking, one entry in the kill ring is designated the ``front'' of
the ring. Some yank commands ``rotate'' the ring by designating a
- different element as the ``front.'' But this virtual rotation doesn't
+ different element as the ``front''. But this virtual rotation doesn't
change the list itself---the most recent entry always comes first in the
list.
@code{nil} or a function of no arguments.
If the value is a function, @code{current-kill} calls it to get the
- ``most recent kill.'' If the function returns a non-@code{nil} value,
- then that value is used as the ``most recent kill.'' If it returns
+ ``most recent kill''. If the function returns a non-@code{nil} value,
+ then that value is used as the ``most recent kill''. If it returns
@code{nil}, then the front of the kill ring is used.
To facilitate support for window systems that support multiple
If this variable's value is non-@code{nil}, it is a symbol which is used
as a text property name. A non-@code{nil} value for that text property
means, ``the other text properties for this character have already been
- computed.''
+ computed''.
If all the characters in the range specified for @code{buffer-substring}
have a non-@code{nil} value for this property, @code{buffer-substring}
@var{new-pos} can be anywhere in the two adjacent fields.
Additionally, if two fields are separated by another field with the
special value @code{boundary}, then any point within this special
- field is also considered to be ``on the boundary.''
+ field is also considered to be ``on the boundary''.
Commands like @kbd{C-a} with no argument, that normally move backward
to a specific kind of location and stay there once there, probably
@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/tips
@node Tips, GNU Emacs Internals, GPL, Top
@appendix Tips and Conventions
@cindex tips for writing Lisp
@item
Never change the case of a Lisp symbol when you mention it in a doc
- string. If the symbol's name is @code{foo}, write ``foo,'' not
+ string. If the symbol's name is @code{foo}, write ``foo'', not
``Foo'' (which is a different symbol).
This might appear to contradict the policy of writing function
@item
The documentation string for a function that is a yes-or-no predicate
- should start with words such as ``Return t if,'' to indicate
- explicitly what constitutes ``truth.'' The word ``return'' avoids
- starting the sentence with lower-case ``t,'' which could be somewhat
+ should start with words such as ``Return t if'', to indicate
+ explicitly what constitutes ``truth''. The word ``return'' avoids
+ starting the sentence with lower-case ``t'', which could be somewhat
distracting.
@item
@item
Avoid using the word ``cause'' (or its equivalents) unnecessarily.
- Instead of, ``Cause Emacs to display text in boldface,'' write just
- ``Display text in boldface.''
+ Instead of, ``Cause Emacs to display text in boldface'', write just
+ ``Display text in boldface''.
@item
Avoid using ``iff'' (a mathematics term meaning ``if and only if''),
@item
The documentation string for a variable that is a yes-or-no flag should
- start with words such as ``Non-nil means,'' to make it clear that
+ start with words such as ``Non-nil means'', to make it clear that
all non-@code{nil} values are equivalent and indicate explicitly what
@code{nil} and non-@code{nil} mean.
@end itemize
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/variables
@node Variables, Functions, Control Structures, Top
@chapter Variables
@cindex variable
@code{setq} does not evaluate @var{symbol}; it sets the symbol that you
write. We say that this argument is @dfn{automatically quoted}. The
- @samp{q} in @code{setq} stands for ``quoted.''
+ @samp{q} in @code{setq} stands for ``quoted''.
The value of the @code{setq} form is the value of the last @var{form}.
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
-@setfilename ../../info/windows
@node Windows, Frames, Buffers, Top
@chapter Windows
@section Basic Concepts of Emacs Windows
@cindex window
- A @dfn{window} is a area of the screen which is used to display a
+ A @dfn{window} is a area of the screen that is used to display a
buffer (@pxref{Buffers}). In Emacs Lisp, windows are represented by a
special Lisp object type.
The functions @code{window-next-sibling} and
@code{window-prev-sibling} should not be confused with the functions
- @code{next-window} and @code{previous-window} which respectively
- return the next and previous window in the cyclic ordering of windows
+ @code{next-window} and @code{previous-window}, which return the next
+ and previous window, respectively, in the cyclic ordering of windows
(@pxref{Cyclic Window Ordering}).
You can use the following functions to find the first live window on
Emacs provides several functions for finding the height and width of
a window. Except where noted, Emacs reports window heights and widths
- as integer numbers of lines and columns respectively. On a graphical
+ as integer numbers of lines and columns, respectively. On a graphical
display, each ``line'' and ``column'' actually corresponds to the
height and width of a ``default'' character specified by the frame's
default font. Thus, if a window is displaying text with a different
The optional argument @var{max-height}, if non-@code{nil}, specifies
the maximum total height that this function can give @var{window}.
- The optional argument @var{min-height}, if no-@code{nil}, specifies
+ The optional argument @var{min-height}, if non-@code{nil}, specifies
the minimum total height that it can give, which overrides the
variable @code{window-min-height}.
The behavior of this function may be altered by the window parameters
of @var{window}, so long as the variable
- @code{ignore-window-parameters} is non-@code{nil}. If the value of
+ @code{ignore-window-parameters} is @code{nil}. If the value of
the @code{split-window} window parameter is @code{t}, this function
ignores all other window parameters. Otherwise, if the value of the
@code{split-window} window parameter is a function, that function is
The behavior of this function may be altered by the window parameters
of @var{window}, so long as the variable
- @code{ignore-window-parameters} is non-@code{nil}. If the value of
+ @code{ignore-window-parameters} is @code{nil}. If the value of
the @code{delete-window} window parameter is @code{t}, this function
ignores all other window parameters. Otherwise, if the value of the
@code{delete-window} window parameter is a function, that function is
The behavior of this function may be altered by the window parameters
of @var{window}, so long as the variable
- @code{ignore-window-parameters} is non-@code{nil}. If the value of
+ @code{ignore-window-parameters} is @code{nil}. If the value of
the @code{delete-other-windows} window parameter is @code{t}, this
function ignores all other window parameters. Otherwise, if the value
of the @code{delete-other-windows} window parameter is a function,
Note that this argument does not have the same meaning as in other
functions which scan all live windows (@pxref{Cyclic Window
- Ordering}). Specifically, the values @code{t} and @code{nil} have the
- opposite of their meanings in those other functions.
+ Ordering}). Specifically, the meanings of @code{t} and @code{nil} here
+ are the opposite of what they are in those other functions.
@end deffn
@node Selecting Windows
This macro selects @var{window}, executes @var{forms} in sequence, then
restores the previously selected window and current buffer. The ordering
of recently selected windows and the buffer list remain unchanged unless
- you deliberately change them within @var{forms}, for example, by calling
+ you deliberately change them within @var{forms}; for example, by calling
@code{select-window} with argument @var{norecord} @code{nil}.
- The order of recently selected windows and the buffer list are not
- changed by this macro.
+ This macro does not change the order of recently selected windows or
+ the buffer list.
@end defmac
@defun frame-selected-window &optional frame
@end defun
@defun set-frame-selected-window frame window &optional norecord
- This function makes @code{window} the window selected within the frame
+ This function makes @var{window} the window selected within the frame
@var{frame}. @var{frame} should be a live frame; if omitted or
@code{nil}, it defaults to the selected frame. @var{window} should be
a live window; if omitted or @code{nil}, it defaults to the selected
if omitted or @code{nil}, it defaults to the selected window.
The optional argument @var{minibuf} specifies whether minibuffer windows
- shall be included in the cyclic ordering. Normally, when @var{minibuf}
+ should be included in the cyclic ordering. Normally, when @var{minibuf}
is @code{nil}, a minibuffer window is included only if it is currently
``active''; this matches the behavior of @kbd{C-x o}. (Note that a
minibuffer window is active as long as its minibuffer is in use; see
@end defopt
@defun split-window-sensibly window
- This function tries to split @code{window}, and return the newly
- created window. If @code{window} cannot be split, it returns
+ This function tries to split @var{window}, and return the newly
+ created window. If @var{window} cannot be split, it returns
@code{nil}.
This function obeys the usual rules that determine when a window may
be split (@pxref{Splitting Windows}). It first tries to split by
placing the new window below, subject to the restriction imposed by
- @code{split-height-threshold} (see below) in addition to any other
+ @code{split-height-threshold} (see below), in addition to any other
restrictions. If that fails, it tries to split by placing the new
window to the right, subject to @code{split-width-threshold} (see
below). If that fails, and the window is the only window on its
If @var{args} is an alist, it specifies frame parameters for the new
frame. If @var{args} is a list whose @sc{car} is a symbol, then
- @code{(car @var{args})} is called as a function to actually create and
+ @code{(car @var{args})} is a function to actually create and
set up the frame; it is called with @var{buffer} as first argument, and
@code{(cdr @var{args})} as additional arguments.
@defopt same-window-buffer-names
A list of buffer names for buffers that should be displayed in the
- selected window. If the buffer's name is in this list,
+ selected window. If a buffer's name is in this list,
@code{display-buffer} handles the buffer by switching to it in the
selected window.
@end defopt
@section Window History
@cindex window history
- Each window remembers the buffers it has displayed earlier and the order
- in which these buffers have been removed from it. This history is used,
+ Each window remembers the buffers it has previously displayed, and the order
+ in which these buffers were removed from it. This history is used,
for example, by @code{replace-buffer-in-windows} (@pxref{Buffers and
Windows}). This list is automatically maintained by Emacs, but you can
use the following functions to explicitly inspect or alter it:
argument @var{window} should be a live window or @code{nil} (meaning
the selected window). If the optional argument @var{bury-or-kill} is
non-@code{nil}, this means that the buffer currently shown in
- @var{window} is about to be buried or killed and consequently shall
+ @var{window} is about to be buried or killed and consequently should
not be switched to in future invocations of this command.
The previous buffer is usually the buffer shown before the buffer
currently shown in @var{window}. However, a buffer that has been buried
- or killed or has been already shown by a recent invocation of
- @code{switch-to-prev-buffer} does not qualify as previous buffer.
+ or killed, or has been already shown by a recent invocation of
+ @code{switch-to-prev-buffer}, does not qualify as previous buffer.
If repeated invocations of this command have already shown all buffers
previously shown in @var{window}, further invocations will show buffers
from the buffer list of the frame @var{window} appears on (@pxref{The
- Buffer List}) trying to skip buffers that are already shown in another
+ Buffer List}), trying to skip buffers that are already shown in another
window on that frame.
@end deffn
@deffn Command switch-to-next-buffer &optional window
- This command switches to the next buffer in @var{window} thus undoing
+ This command switches to the next buffer in @var{window}, thus undoing
the effect of the last @code{switch-to-prev-buffer} command in
@var{window}. The argument @var{window} must be a live window and
defaults to the selected one.
- If there is no recent invocation of a @code{switch-to-prev-buffer} that
+ If there is no recent invocation of @code{switch-to-prev-buffer} that
can be undone, this function tries to show a buffer from the buffer list
of the frame @var{window} appears on (@pxref{The Buffer List}).
@end deffn
By default @code{switch-to-prev-buffer} and @code{switch-to-next-buffer}
can switch to a buffer that is already shown in another window on the
- same frame. The following option can be used to override that behavior.
+ same frame. The following option can be used to override this behavior.
@defopt switch-to-visible-buffer
If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and
@code{switch-to-next-buffer} may switch to a buffer that is already
- visible on the same frame, provided the buffer was shown in the argument
- window before. If it's @code{nil}, @code{switch-to-prev-buffer} and
+ visible on the same frame, provided the buffer was shown in the relevant
+ window before. If it is @code{nil}, @code{switch-to-prev-buffer} and
@code{switch-to-next-buffer} always try to avoid switching to a buffer
that is already visible in another window on the same frame.
@end defopt
This function returns non-@code{nil} if @var{window} is dedicated to its
buffer and @code{nil} otherwise. More precisely, the return value is
the value assigned by the last call of @code{set-window-dedicated-p} for
- @var{window} or @code{nil} if that function was never called with
+ @var{window}, or @code{nil} if that function was never called with
@var{window} as its argument. The default for @var{window} is the
selected window.
@end defun
@node Quitting Windows
@section Quitting Windows
- When you want to get rid of a window used for displaying a buffer you
+ When you want to get rid of a window used for displaying a buffer, you
can call @code{delete-window} or @code{delete-windows-on}
(@pxref{Deleting Windows}) to remove that window from its frame. If the
buffer is shown on a separate frame, you might want to call
@code{delete-frame} (@pxref{Deleting Frames}) instead. If, on the other
hand, a window has been reused for displaying the buffer, you might
- prefer showing the buffer previously shown in that window by calling the
+ prefer showing the buffer previously shown in that window, by calling the
function @code{switch-to-prev-buffer} (@pxref{Window History}).
Finally, you might want to either bury (@pxref{The Buffer List}) or kill
(@pxref{Killing Buffers}) the window's buffer.
The following function uses information on how the window for
- displaying the buffer was obtained in the first place thus attempting to
- automatize the above decisions for you.
+ displaying the buffer was obtained in the first place, thus attempting to
+ automate the above decisions for you.
@deffn Command quit-window &optional kill window
This command quits @var{window} and buries its buffer. The argument
The three cases described so far require that the buffer shown in
@var{window} is still the buffer displayed by the last buffer display
function for this window. If another buffer has been shown in the
- meantime or the buffer previously shown no longer exists, this command
+ meantime, or the buffer previously shown no longer exists, this command
calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show some
other buffer instead.
@end deffn
The function @code{quit-window} bases its decisions on information
stored in @var{window}'s @code{quit-restore} window parameter
- (@pxref{Window Parameters}) and resets that parameter to @code{nil}
+ (@pxref{Window Parameters}), and resets that parameter to @code{nil}
after it's done.
The following option specifies how to deal with a frame containing just
- one window that shall be either quit or whose buffer shall be buried.
+ one window that should be either quit, or whose buffer should be buried.
@defopt frame-auto-hide-function
The function specified by this option is called to automatically hide
- frames. This function is called with one argument - a frame.
+ frames. This function is called with one argument---a frame.
The function specified here is called by @code{bury-buffer} (@pxref{The
Buffer List}) when the selected window is dedicated and shows the buffer
- that shall be buried. It is also called by @code{quit-window} (see
- above) when the frame of the window that shall be quit has been
+ that should be buried. It is also called by @code{quit-window} (see
+ above) when the frame of the window that should be quit has been
specially created for displaying that window's buffer and the buffer
- shall be buried.
+ should be buried.
The default is to call @code{iconify-frame} (@pxref{Visibility of
- Frames}). Alternatively, you may either specify @code{delete-frame}
+ Frames}). Alternatively, you may specify either @code{delete-frame}
(@pxref{Deleting Frames}) to remove the frame from its display,
@code{ignore} to leave the frame unchanged, or any other function that
can take a frame as its sole argument.
Note that the function specified by this option is called if and only if
- there's at least one other frame on the terminal of the frame it's
- supposed to handle and that frame contains only one live window.
+ there is at least one other frame on the terminal of the frame it's
+ supposed to handle, and that frame contains only one live window.
@end defopt
@cindex window top line
This function returns the display-start position of window
@var{window}. If @var{window} is @code{nil}, the selected window is
- used. For example,
-
- @example
- @group
- (window-start)
- @result{} 7058
- @end group
- @end example
+ used.
When you create a window, or display a different buffer in it, the
display-start position is set to a display-start position recently used
on the screen. Nothing except redisplay automatically changes the
window-start position; if you move point, do not expect the window-start
position to change in response until after the next redisplay.
-
- For a realistic example of using @code{window-start}, see the
- description of @code{count-lines}. @xref{Definition of count-lines}.
@end defun
@cindex window end position
middle of a buffer and repeatedly call @code{scroll-down}, you will
eventually see the beginning of the buffer.
- Some people have urged that the opposite convention be used: they
+ Unfortunately, this sometimes causes confusion, because some people
+ tend to think in terms of the opposite convention: they
imagine the window moving over text that remains in place, so that
``down'' commands take you to the end of the buffer. This convention
is consistent with fact that such a command is bound to a key named
- @key{PageDown} on modern keyboards. We have not switched to this
- convention as that is likely to break existing Emacs Lisp code.
+ @key{PageDown} on modern keyboards.
+ @ignore
+ We have not switched to this convention as that is likely to break
+ existing Emacs Lisp code.
+ @end ignore
Textual scrolling functions (aside from @code{scroll-other-window})
have unpredictable results if the current buffer is not the one
This function scrolls backward by @var{count} lines in the selected
window.
- If @var{count} is negative, it scrolls forward instead. If
- @var{count} is omitted or @code{nil}, the distance scrolled is
- @code{next-screen-context-lines} lines less than the height of the
- window's text area.
-
- If the selected window cannot be scrolled any further, this function
- signals an error. Otherwise, it returns @code{nil}.
+ If @var{count} is negative, it scrolls forward instead. In other
+ respects, it behaves the same way as @code{scroll-up} does.
@end deffn
@deffn Command scroll-up-command &optional count
window.
When the selected window is the minibuffer, the next window is normally
- the one at the top left corner. You can specify a different window to
- scroll, when the minibuffer is selected, by setting the variable
+ the leftmost one immediately above it. You can specify a different
+ window to scroll, when the minibuffer is selected, by setting the variable
@code{minibuffer-scroll-window}. This variable has no effect when any
other window is selected. When it is non-@code{nil} and the
minibuffer is selected, it takes precedence over
@code{scroll-other-window} attempts to scroll the minibuffer. If the
minibuffer contains just one line, it has nowhere to scroll to, so the
line reappears after the echo area momentarily displays the message
- @samp{Beginning of buffer}.
+ @samp{End of buffer}.
@end deffn
@defvar other-window-scroll-buffer
point @var{count} lines down from the top of the window. If
@var{count} is a negative number, then it counts upward from the
bottom of the window, so that @minus{}1 stands for the last usable
- line in the window. If @var{count} is a non-@code{nil} list, then it
- stands for the line in the middle of the window.
+ line in the window.
- If @var{count} is @code{nil}, @code{recenter} puts the line containing
- point in the middle of the window, then clears and redisplays the entire
- selected frame.
+ If @var{count} is @code{nil} (or a non-@code{nil} list),
+ @code{recenter} puts the line containing point in the middle of the
+ window. If @var{count} is @code{nil}, this function may redraw the
+ frame, according to the value of @code{recenter-redisplay}.
When @code{recenter} is called interactively, @var{count} is the raw
prefix argument. Thus, typing @kbd{C-u} as the prefix sets the
top.
With an argument of zero, @code{recenter} positions the current line at
- the top of the window. This action is so handy that some people make a
- separate key binding to do this. For example,
+ the top of the window. The command @code{recenter-top-bottom} offers
+ a more convenient way to achieve this.
+ @end deffn
- @example
- @group
- (defun line-to-top-of-window ()
- "Scroll current line to top of window.
- Replaces three keystroke sequence C-u 0 C-l."
- (interactive)
- (recenter 0))
+ @defopt recenter-redisplay
+ If this variable is non-@code{nil}, calling @code{recenter} with a
+ @code{nil} argument redraws the frame. The default value is
+ @code{tty}, which means only redraw the frame if it is a tty frame.
+ @end defopt
- (global-set-key [kp-multiply] 'line-to-top-of-window)
- @end group
- @end example
+ @deffn Command recenter-top-bottom &optional count
+ This command, which is the default binding for @kbd{C-l}, acts like
+ @code{recenter}, except if called with no argument. In that case,
+ successive calls place point according to the cycling order defined
+ by the variable @code{recenter-positions}.
@end deffn
+ @defopt recenter-positions
+ This variable controls how @code{recenter-top-bottom} behaves when
+ called with no argument. The default value is @code{(middle top
+ bottom)}, which means that successive calls of
+ @code{recenter-top-bottom} with no argument cycle between placing
+ point at the middle, top, and bottom of the window.
+ @end defopt
+
+
@node Vertical Scrolling
@section Vertical Fractional Scrolling
@cindex vertical fractional scrolling
disappear off to the left depends on their width, and could vary from
line to line.
- Because we read from side to side in the ``inner loop,'' and from top
- to bottom in the ``outer loop,'' the effect of horizontal scrolling is
+ Because we read from side to side in the ``inner loop'', and from top
+ to bottom in the ``outer loop'', the effect of horizontal scrolling is
not like that of textual or vertical scrolling. Textual scrolling
involves selection of a portion of text to display, and vertical
scrolling moves the window contents contiguously; but horizontal
@defun coordinates-in-window-p coordinates window
This function checks whether a window @var{window} occupies the
- frame-relative coordinates @var{coordinates}, and if so which part of
+ frame-relative coordinates @var{coordinates}, and if so, which part of
the window that is. @var{window} should be a live window.
@var{coordinates} should be a cons cell of the form @code{(@var{x}
. @var{y})}, where @var{x} and @var{y} are frame-relative coordinates.
You can bring back an entire frame layout by restoring a previously
saved window configuration. If you want to record the layout of all
frames instead of just one, use a frame configuration instead of a
- window configuration; see @ref{Frame Configurations}.
+ window configuration. @xref{Frame Configurations}.
@defun current-window-configuration &optional frame
This function returns a new object representing @var{frame}'s current
window configuration. The default for @var{frame} is the selected
frame. The variable @code{window-persistent-parameters} specifies
- whether and which window parameters are saved by this function, see
- @ref{Window Parameters} for details.
+ which window parameters (if any) are saved by this function.
+ @xref{Window Parameters}.
@end defun
@defun set-window-configuration configuration
know how to tell whether the new configuration actually differs from the
old one.
- If the frame which @var{configuration} was saved from is dead, all this
+ If the frame from which @var{configuration} was saved is dead, all this
function does is restore the three variables @code{window-min-height},
- @code{window-min-width} and @code{minibuffer-scroll-window}. In this
+ @code{window-min-width} and @code{minibuffer-scroll-window}. In this
case, the function returns @code{nil}. Otherwise, it returns @code{t}.
Here is a way of using this function to get the same effect
The objects returned by @code{current-window-configuration} die
together with the Emacs process. In order to store a window
- configuration on disk and read it back in another Emacs session, the
- functions described next can be used. These functions are also useful
+ configuration on disk and read it back in another Emacs session, you
+ can use the functions described next. These functions are also useful
to clone the state of a frame into an arbitrary live window
(@code{set-window-configuration} effectively clones the windows of a
frame into the root window of that very frame only).
If the optional argument @var{writable} is non-@code{nil}, this means to
not use markers for sampling positions like @code{window-point} or
@code{window-start}. This argument should be non-@code{nil} when the
- state shall be written to disk and read back in another session.
+ state will be written to disk and read back in another session.
Together, the argument @var{writable} and the variable
@code{window-persistent-parameters} specify which window parameters are
- saved by this function, see @ref{Window Parameters} for details.
+ saved by this function. @xref{Window Parameters}.
@end defun
The value returned by @code{window-state-get} can be used in the same
session to make a clone of a window in another window. It can be also
written to disk and read back in another session. In either case, use
- the function described next to restore the state of the window.
+ the following function to restore the state of the window.
@defun window-state-put state &optional window ignore
This function puts the window state @var{state} into @var{window}. The
argument @var{window} must specify a live window and defaults to the
selected one.
- The optional argument @var{ignore} non-@code{nil} means to ignore
- minimum window sizes and fixed size restrictions. If @var{ignore}
- equals @code{safe}, this means windows can get as small as one line
+ If the optional argument @var{ignore} is non-@code{nil}, it means to ignore
+ minimum window sizes and fixed-size restrictions. If @var{ignore}
+ is @code{safe}, this means windows can get as small as one line
and/or two columns.
@end defun
@defun window-parameters &optional window
This function returns all parameters of @var{window} and their values.
- The default for @var{window} is the selected window. The return value,
- if non-@code{nil} is an association list whose elements have the form
+ The default for @var{window} is the selected window. The return value
+ is either @code{nil}, or an association list whose elements have the form
@code{(@var{parameter} . @var{value})}.
@end defun
is the selected window.
@end defun
- By default, functions saving and restoring window configurations or the
+ By default, the functions that save and restore window configurations or the
states of windows (@pxref{Window Configurations}) do not care about
- window parameters. This means, that when you change the value of a
+ window parameters. This means that when you change the value of a
parameter within the body of a @code{save-window-excursion}, the
- previous value is not restored upon exit of that macro. It also means
+ previous value is not restored when that macro exits. It also means
that when you restore via @code{window-state-put} a window state saved
earlier by @code{window-state-get}, all cloned windows have their
- parameters reset to @code{nil}. The following variable allows to
- override the standard behavior.
+ parameters reset to @code{nil}. The following variable allows you to
+ override the standard behavior:
@defvar window-persistent-parameters
This variable is an alist specifying which parameters get saved by
- @code{current-window-configuration} and @code{window-state-get} and
+ @code{current-window-configuration} and @code{window-state-get}, and
subsequently restored by @code{set-window-configuration} and
- @code{window-state-put}, see @ref{Window Configurations}.
+ @code{window-state-put}. @xref{Window Configurations}.
- The @sc{car} of each entry of this alist is the symbol specifying the
+ The @sc{car} of each entry of this alist is a symbol specifying the
parameter. The @sc{cdr} should be one of the following:
@table @asis
@item @code{nil}
- This value means the parameter is neither saved by
+ This value means the parameter is saved neither by
@code{window-state-get} nor by @code{current-window-configuration}.
@item @code{t}
This value specifies that the parameter is saved by
- @code{current-window-configuration} and, provided its @var{writable}
- argument is @code{nil}, by @code{window-state-get}.
+ @code{current-window-configuration} and (provided its @var{writable}
+ argument is @code{nil}) by @code{window-state-get}.
@item @code{writable}
This means that the parameter is saved unconditionally by both
@end table
@end defvar
- Some functions, notably @code{delete-window},
- @code{delete-other-windows} and @code{split-window} may behave specially
+ Some functions (notably @code{delete-window},
+ @code{delete-other-windows} and @code{split-window}), may behave specially
when their @var{window} argument has a parameter set. You can override
such special behavior by binding the following variable to a
non-@code{nil} value:
@defvar ignore-window-parameters
If this variable is non-@code{nil}, some standard functions do not
process window parameters. The functions currently affected by this are
- @code{split-window}, @code{delete-window}, @code{delete-other-windows}
+ @code{split-window}, @code{delete-window}, @code{delete-other-windows},
and @code{other-window}.
An application can bind this variable to a non-@code{nil} value around
(@pxref{Cyclic Window Ordering}).
@item @code{clone-of}
- This parameter specifies the window this one has been cloned from and is
- installed by @code{window-state-get}, see @ref{Window Configurations}.
+ This parameter specifies the window that this one has been cloned
+ from. It is installed by @code{window-state-get} (@pxref{Window
+ Configurations}).
@item @code{quit-restore}
- This parameter tells how to proceed with a window when the buffer it
- shows is no more needed. It is installed by the buffer display
- functions (@pxref{Choosing Window}) and consulted by the function
+ This parameter specifies what to do with a window when the buffer it
+ shows is not needed any more. It is installed by the buffer display
+ functions (@pxref{Choosing Window}), and consulted by the function
@code{quit-window} (@pxref{Quitting Windows}).
@end table
- In addition, the parameters @code{window-atom} and @code{window-side}
- are reserved and should not be used by applications.
+ There are additional parameters @code{window-atom} and @code{window-side};
+ these are reserved and should not be used by applications.
@node Window Hooks
This variable is not a normal hook, because each function is called with
two arguments: the window, and its new display-start position.
- These functions must be careful in using @code{window-end}
+ These functions must take care when using @code{window-end}
(@pxref{Window Start and End}); if you need an up-to-date value, you
must use the @var{update} argument to ensure you get it.
changing the sizes of windows, or displaying a different buffer in a
window.
- The buffer-local part of this hook is run once per each window on the
+ The buffer-local part of this hook is run once for each window on the
affected frame, with the relevant window selected and its buffer
current. The global part is run once for the modified frame, with that
frame selected.
-2012-04-26 Ippei Furuhashi <top.tuna+orgmode@gmail.com> (tiny change)
++2012-04-27 Ippei Furuhashi <top.tuna+orgmode@gmail.com> (tiny change)
+
+ * org.texi (Agenda commands): Fix two typos: give corresponding
+ function names, according to `org-agenda-view-mode-dispatch'.
+
-2012-04-21 Glenn Morris <rgm@gnu.org>
++2012-04-27 Glenn Morris <rgm@gnu.org>
+
+ * faq.texi (Major packages and programs): Remove section.
+ There is no point listing 6 packages (cf etc/MORE.STUFF).
+ (Finding Emacs and related packages): Move "Spell-checkers" here.
+2012-04-22 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbus.texi (Version): New node.
+ (Properties and Annotations): Mention the object manager
+ interface. Describe dbus-get-all-managed-objects.
+ (Type Conversion): Floating point numbers are allowed, if an
+ anteger does not fit Emacs's integer range.
+ (Synchronous Methods): Remove obsolete dbus-call-method-non-blocking.
+ (Asynchronous Methods): Fix description of
+ dbus-call-method-asynchronously.
+ (Receiving Method Calls): Fix some minor errors. Add
+ dbus-interface-emacs.
+ (Signals): Describe unicast signals and the new match rules.
+ (Alternative Buses): Add the PRIVATE optional argument to
+ dbus-init-bus. Describe its new return value. Add dbus-setenv.
2012-04-20 Glenn Morris <rgm@gnu.org>
* faq.texi (New in Emacs 24): New section.
(Packages that do not come with Emacs): Mention M-x list-packages.
-2012-04-13 Glenn Morris <rgm@gnu.org>
-
- * Makefile.in: Replace non-portable use of $< in emacs-gnutls rules.
-
-2012-04-12 Eli Zaretskii <eliz@gnu.org>
-
- * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add emacs-gnutls.
- ($(infodir)/emacs-gnutls, emacs-gnutls.dvi): New targets.
-
-2012-04-12 Teodor Zlatanov <tzz@lifelogs.com>
-
- * emacs-gnutls.texi: Add documentation for the GnuTLS integration.
- * Makefile.in: Add emacs-gnutls.texi to build.
-
-2012-04-11 Alan Mackenzie <acm@muc.de>
+2012-04-14 Alan Mackenzie <acm@muc.de>
* cc-mode.texi (c-offsets-alist): Correct a typo.
-2012-04-11 Jérémie Courrèges-Anglas <jca@wxcvbn.org> (tiny change)
+2012-04-14 Jérémie Courrèges-Anglas <jca@wxcvbn.org> (tiny change)
* org.texi (Deadlines and scheduling): Fix the example: the
DEADLINE item should come right after the headline. We enforce
this convention, so it is a bug not to illustrate it correctly in
the manual.
-2012-04-11 Ippei FURUHASHI <top.tuna+orgmode@gmail.com> (tiny change)
+2012-04-14 Ippei FURUHASHI <top.tuna+orgmode@gmail.com> (tiny change)
* org.texi (Agenda commands): Fix documentation bug by swapping
the equivalent keybindings to `org-agenda-next-line' with the ones
to `org-agenda-previous-line'.
-2012-04-07 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* Makefile.in: Replace non-portable use of $< in ordinary rules.
+2012-04-09 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add
+ emacs-gnutls.
+ ($(infodir)/emacs-gnutls, emacs-gnutls.dvi): New targets.
+
+2012-04-09 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * Makefile.in: Add emacs-gnutls.texi to build.
+
+ * emacs-gnutls.texi: Add documentation for the GnuTLS integration.
+
2012-04-05 Teodor Zlatanov <tzz@lifelogs.com>
* auth.texi (Secret Service API): Edit further and give examples.
+ 2012-04-26 Jambunathan K <kjambunathan@gmail.com>
+
+ * org/OrgOdtStyles.xml (OrgDescriptionList): Modify style. With
+ this change, in a description list, if the description paragraph
+ spawns multiple lines then it will correctly indented.
+
2012-04-20 Glenn Morris <rgm@gnu.org>
* CONTRIBUTE: Expand a bit on copyright assignments.
* MORE.STUFF: General update. Mention list-packages.
Remove many old/outdated URLs.
+2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * publicsuffix.txt: New file (bug#1401).
2012-04-02 Alan Mackenzie <acm@muc.de>
GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2010-2012 Free Software Foundation, Inc.
+Copyright (C) 2010-2012 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
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.
+Temporary note:
++++ indicates that the appropriate manual has already been updated.
+--- means no change in the manuals is called for.
+When you add a new item, please add it without either +++ or ---
+so we will look at it and add it to the manual.
+
+\f
+* Installation Changes in Emacs 24.2
+
+** New configure option '--enable-gcc-warnings', intended for developers.
+If building with GCC, this enables compile-time checks that warn about
+possibly-questionable C code. On a recent GNU system there should be
+no warnings; on older and on non-GNU systems the generated warnings
+may be useful.
+
+\f
+* Startup Changes in Emacs 24.2
+
+** Emacs no longer searches for `leim-list.el' files beneath the standard
+lisp/ directory. There should not be any there anyway. If you have
+been adding them there, put them somewhere else, eg site-lisp.
+
+\f
+* Changes in Emacs 24.2
+
+** New functions `system-users', `system-groups' return lists of the user
+name, group names known to the system (where possible).
+
+** If your Emacs was built from a bzr checkout, the new variable
+`emacs-bzr-version' contains information about which bzr revision was used.
+
+** ImageMagick support, if available, is automatically enabled.
+It is no longer necessary to call `imagemagick-register-types'
+explicitly to install ImageMagick image types; that function is called
+automatically when setting `imagemagick-types-inhibit'.
+
+*** Setting `imagemagick-types-inhibit' to t now disables the use of
+ImageMagick to view images, set
+
+** String values for `initial-buffer-choice' also apply to emacsclient
+frames, if emacsclient is only told to open a new frame without
+specifying any file to visit or expression to evaluate.
+
+\f
+* Editing Changes in Emacs 24.2
+
+** M-x move-to-column, if called interactively with no prefix arg, now
+prompts for a column number.
+
+** `mouse-avoidance-banish-position' can now be used to customize
+`mouse-avoidance-mode' further.
+
+** `C-M-f' and `C-M-b' will now move to the path name separator
+character when doing minibuffer filename prompts.
+
+** `goto-char' is now bound to `M-g c'.
+
+\f
+* Changes in Specialized Modes and Packages in Emacs 24.2
+
+** New `derived-mode' filter for Ibuffer, bound to `/ M'.
+`/ m' is now bound to filter by used-mode, which used to be bound to `/ M'.
+
+** Apropos
+
+*** The faces used by Apropos are now directly customizable.
+These faces are named `apropos-symbol', `apropos-keybinding', and so on;
+see the `apropos' Custom group for details.
+
+**** The old options whose values specified faces to use were removed
+(i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.).
+
+** Customize
+
+*** `custom-reset-button-menu' now defaults to t.
+
+*** Non-option variables are never matched in `customize-apropos' and
+`customize-apropos-options' (i.e. the prefix argument does nothing for
+these commands now).
+
+** erc will look up server/channel names via auth-source and use the
+channel keys found, if any.
+
+** The `server-auth-key' variable can be used to set a permanent
+shared key for Emacs Server.
+
+** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
+closing brackets to be aligned with the line of the opening bracket.
+
+** FIXME something happened to ses.el, 2012-04-17.
+
+** which-function-mode now applies to all applicable major modes by default.
+
+** D-Bus
+
++++
+*** New variables `dbus-compiled-version' and `dbus-runtime-version'.
+
++++
+*** The D-Bus object manager interface is implemented.
+
++++
+*** Variables of type :(u)int32 and :(u)int64 accept floating points,
+if their value does not fit into Emacs's integer range.
+
++++
+*** The function `dbus-call-method' works non-blocking now, it can be
+interrupted by C-g. `dbus-call-method-non-blocking' is obsolete.
+
++++
+*** Signals can be sent also as unicast message.
+
++++
+*** The argument list of `dbus-register-signal' has been extended,
+according to the new match rule types of D-Bus. See the manual for
+details.
+
++++
+*** `dbus-init-bus' supports private connections.
+
++++
+*** There is a new function `dbus-setenv'.
+
++++
+** notifications.el supports now version 1.2 of the Notifications API.
+The function `notifications-get-capabilities' returns the supported
+server properties.
+
+** Obsolete packages:
+
+*** assoc.el
+In most cases, assoc+member+push+delq work just as well.
+And in any case it's just a terrible package: ugly semantics, terrible
+inefficiency, and not namespace-clean.
+
+*** mailpost.el
+
+*** mouse-sel.el
+
+\f
+* New Modes and Packages in Emacs 24.2
+\f
+* Incompatible Lisp Changes in Emacs 24.2
+
++++
+** Docstrings starting with `*' no longer indicate user options.
+Only variables defined using `defcustom' are considered user options.
+The function `user-variable-p' is now an obsolete alias for
+`custom-variable-p'.
+
+** `face-spec-set' no longer sets frame-specific attributes when the
+third argument is a frame (that usage was obsolete since Emacs 22.2).
+
++++
+** The arguments of `dbus-register-signal' are no longer just strings,
+but keywords or keyword-string pairs. The old argument list will
+still be supported for Emacs 24.x.
+
+\f
+* Lisp changes in Emacs 24.2
+
+** Completion
+
+*** New function `completion-table-with-quoting' to handle completion
+in the presence of quoting, such as file completion in shell buffers.
+
+*** New function `completion-table-subvert' to use an existing completion
+table, but with a different prefix.
+\f
+* Changes in Emacs 24.2 on non-free operating systems
+
+** New configure.bat options on MS-Windows:
+
+*** --without-libxml2 omits support for libxml2, even if its presence
+is detected.
+
\f
* Installation Changes in Emacs 24.1
(Its name is misleading, since it has nothing to do with MIME
attachments.) The old name is now an obsolete alias to the new name.
- ** MH-E has been upgraded to MH-E version 8.3.1.
+ ** MH-E has been updated to MH-E version 8.3.1.
See MH-E-NEWS for details.
** Modula-2 mode provides auto-indentation.
or M-TAB. If `nxml-bind-meta-tab-to-complete-flag' is non-nil (the
default), this performs tag completion.
+ ** Org mode has been updated to version 7.8.09.
+ See ORG-NEWS for details.
+
** Prolog mode has been completely revamped, with lots of additional
functionality such as more intelligent indentation, electricity,
support for more variants, including Mercury, and a lot more.
*** New function `special-variable-p' to check whether a variable is
declared as dynamically bound.
+ *** The form ((lambda ...) ...) is deprecated.
+
** An Emacs Lisp testing tool is now included.
Emacs Lisp developers can use this tool to write automated tests for
their code. See the ERT info manual for details.
-2012-04-26 Andreas Schwab <schwab@linux-m68k.org>
+ 2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * subr.el (read-key): Avoid running filter function when setting
+ up temporary tool bar entries (Bug#9922).
+
-2012-04-24 Chong Yidong <cyd@gnu.org>
++2012-04-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * vc/vc-git.el (vc-git-state): Fix regexp matching diff output.
+ (Bug#11344)
+
-2012-04-22 Chong Yidong <cyd@gnu.org>
++2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * select.el (xselect--encode-string): New function, split from
+ xselect-convert-to-string.
+ (xselect-convert-to-string): Use it.
+ (xselect-convert-to-filename, xselect-convert-to-os)
+ (xselect-convert-to-host, xselect-convert-to-user): Ensure that
+ returned strings are properly encoded (Bug#11315).
+
-2012-04-21 Andreas Schwab <schwab@linux-m68k.org>
++2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (delete-active-region): Move to killing custom group.
+
-2012-04-20 Richard Stallman <rms@gnu.org>
-
- Fix logic for returning to and yanking from Rmail buffer.
-
- * mail/rmail.el (rmail-start-mail):
- Pass (rmail-mail-return...) for the return-action.
- Pass (rmail-yank-current-message...) for the yank-action.
- (rmail-yank-current-message): New function.
- (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer.
- (rmail-reply): Likewise.
- (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer.
-
- * mail/sendmail.el (mail-bury): Choose the first rmail-mode
- buffer, not the last. Reject temp buffers. Use the rmail-mode
- buffer, not newbuf.
-
-2012-04-20 Eli Zaretskii <eliz@gnu.org>
++2012-04-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * progmodes/which-func.el (which-func-current): Quote %
+ characters for mode-line processing.
+
+ 2012-04-21 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to
+ reaching eob (Bug#11286).
+
-2012-04-20 Martin Rudalics <rudalics@gmx.at>
++2012-04-27 Eli Zaretskii <eliz@gnu.org>
+
+ * progmodes/gdb-mi.el (gdb-control-level): New variable.
+ (gdb): Make it buffer-local and init to zero.
+ (gdb-control-commands-regexp): New variable.
+ (gdb-send): Don't wrap in "-interpreter-exec console" if
+ gdb-control-level is positive. Increment gdb-control-level
+ whenever the command matches gdb-control-commands-regexp, and
+ decrement it each time the command is "end". (Bug#11279)
+
- fix "missig prefix" warning. All callers changed.
++2012-04-27 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (adjust-window-trailing-edge, enlarge-window)
+ (shrink-window, window-resize):
+ * mouse.el (mouse-drag-line): Fix resizing of minibuffer
+ windows (Bug#11276).
+
+2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/pascal.el (pascal--extra-indent): Rename from ind, to
++ fix "missing prefix" warning. All callers changed.
+
+2012-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/assoc.el: Move to obsolete/.
+
+2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/assoc.el (aget): Fix dynamic-scoping issue (bug#11352).
+
+ * term/ns-win.el (ns-define-service):
+ * progmodes/pascal.el (pascal-goto-defun):
+ * progmodes/js.el (js--read-tab):
+ * progmodes/etags.el (tags-lazy-completion-table):
+ * emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
+ * emacs-lisp/ewoc.el (ewoc--wrap):
+ * emacs-lisp/assoc.el (aput, adelete, amake):
+ * doc-view.el (doc-view-convert-current-doc):
+ * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
+
+2012-04-26 Chong Yidong <cyd@gnu.org>
+
+ * image.el (image-type-from-buffer): Only return supported image
+ type (Bug#9045).
+
+ * vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful
+ value, for symmetry with diff-end-of-hunk.
+ (diff-split-hunk, diff-find-source-location)
+ (diff-ignore-whitespace-hunk, diff-refine-hunk): Use it.
+ (diff-bounds-of-hunk, diff-bounds-of-file): New functions.
+ (diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to
+ compute the relevant hunk or file properly (Bug#6005).
+ (diff-file-junk-re): Add bzr's "modified file" tag (Bug#6041).
+
+2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/vc-mtn.el:
+ * vc/vc-hg.el:
+ * vc/vc-git.el:
+ * vc/vc-dir.el:
+ * vc/vc-cvs.el:
+ * vc/vc-bzr.el:
+ * vc/vc-arch.el:
+ * vc/vc.el: Replace lexical-let by lexical-binding.
+ * minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...).
+ * emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding.
+ * emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...).
+
+2012-04-26 Chong Yidong <cyd@gnu.org>
+
+ * vc/diff-mode.el (diff-undo): New command (Bug#5302).
+ (diff-mode-shared-map): Bind it to / and [remap undo].
+
+ * vc/ediff-wind.el (ediff-setup-windows-default): New function.
+ (ediff-window-setup-function): Use it as the default, to set up
+ windows based on whether the current frame is graphical (Bug#2138).
+ (ediff-choose-window-setup-function-automatically): Make obsolete.
+
+ * vc/ediff-init.el: Always define ediff-pixel-width/height.
+
+2012-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * ffap.el: Remove old code for obsolete package.
+ (ffap-complete-as-file-p): Remove.
+
+ Use completion-table-with-quoting for comint and pcomplete.
+ * comint.el (comint--unquote&requote-argument)
+ (comint--unquote-argument, comint--requote-argument): New functions.
+ (comint--unquote&expand-filename, comint-unquote-filename): Obsolete.
+ (comint-quote-filename): Use regexp-opt-charset.
+ (comint--common-suffix, comint--common-quoted-suffix)
+ (comint--table-subvert): Remove.
+ (comint-unquote-function, comint-requote-function): New vars.
+ (comint--complete-file-name-data): Use them with
+ completion-table-with-quoting.
+ * pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert.
+ * pcomplete.el (pcomplete-arg-quote-list)
+ (pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete.
+ (pcomplete-unquote-argument-function): Default to non-nil.
+ (pcomplete-unquote-argument): Simplify.
+ (pcomplete--common-quoted-suffix): Remove.
+ (pcomplete-requote-argument-function): New var.
+ (pcomplete--common-suffix): New function.
+ (pcomplete-completions-at-point): Use completion-table-with-quoting
+ and completion-table-subvert.
+
+ * minibuffer.el: Use completion-table-with-quoting for read-file-name.
+ (minibuffer--double-dollars): Preserve properties.
+ (completion--sifn-requote): New function.
+ (completion--file-name-table): Rewrite using it and c-t-with-quoting.
+
+ * minibuffer.el: Add support for completion of quoted/escaped data.
+ (completion-table-with-quoting, completion-table-subvert): New funs.
+ (completion--twq-try, completion--twq-all): New functions.
+ (completion--nth-completion): New function.
+ (completion-try-completion, completion-all-completions): Use it.
+
+2012-04-25 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/python.el (python-pdbtrack-get-source-buffer):
+ Use compilation-message if available to find real filename.
+
+2012-04-25 Chong Yidong <cyd@gnu.org>
+
+ * vc/diff-mode.el (diff-setup-whitespace): New function.
+ (diff-mode): Use it.
+
+ * vc/diff.el (diff-sentinel):
+ * vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign
+ Whitespace mode variables based on diff style (Bug#8612).
+
+2012-04-25 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/python.el (python-send-region): Add suffix .py to the
+ temp file.
+
+ * files.el (auto-mode-alist): Use javascript-mode instead.
+
+2012-04-25 Alex Harsanyi <AlexHarsanyi@gmail.com>
+
+ Sync with soap-client repository. Support SOAP simpleType (Bug#10331).
+
+ * soap-client.el (soap-resolve-references-for-sequence-type)
+ (soap-resolve-references-for-array-type): Hack to prevent self
+ references, see Bug#9.
+ (soap-parse-envelope): Report the contents of the 'detail' node
+ when receiving a fault reply.
+ (soap-parse-envelope): Report the contents of the entire 'detail' node.
+
+ * soap-inspect.el (soap-sample-value-for-simple-type)
+ (soap-inspect-simple-type): New function.
+
+ * soap-client.el (soap-simple-type): New struct.
+ (soap-default-xsd-types, soap-default-soapenc-types)
+ (soap-decode-basic-type, soap-encode-basic-type):
+ support unsignedInt and double basic types.
+ (soap-resolve-references-for-simple-type)
+ (soap-parse-simple-type, soap-encode-simple-type): New function.
+ (soap-parse-schema): Parse xsd:simpleType declarations.
+
+ * soap-client.el (soap-default-xsd-types)
+ (soap-default-soapenc-types): Add integer, byte and anyURI types.
+ (soap-parse-complex-type-complex-content): Use `soap-wk2l' to find
+ the local name of "soapenc:Array".
+ (soap-decode-basic-type, soap-encode-basic-type): Support encoding
+ decoding integer, byte and anyURI xsd types.
+
+2012-04-25 Chong Yidong <cyd@gnu.org>
+
+ * cus-edit.el (custom-buffer-create-internal): Update header text.
+
+2012-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ * progmodes/gdb-mi.el (gdb-init-1): Condition Windows-specific
+ settings on 'system-type', not on 'window-system'. On MS-Windows,
+ set interactive-mode on in GDB.
+
+2012-04-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/ruby-mode.el: Simplify last change, and cleanup code.
+ (ruby-syntax-propertize-regexp): Remove.
+ (ruby-syntax-propertize-function): Split regexp into chunks.
+ Match following code directly.
+
+2012-04-24 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286).
+ (ruby-syntax-propertize-regexp): New function.
+ (ruby-syntax-propertize-function): Use it to handle regexp not preceded
+ by a special keyword.
+
+ * progmodes/ruby-mode.el: Handle general delimited literals (bug#6286).
+ (ruby-syntax-general-delimiters-goto-beg)
+ (ruby-syntax-propertize-general-delimiters): New functions.
+ (ruby-syntax-propertize-function): Use them to handle GDL.
+ (ruby-font-lock-keywords): Move old handling of GDL...
+ (ruby-font-lock-syntactic-keywords): .. to here.
+ (ruby-calculate-indent): Adjust indentation for GDL.
+
+2012-04-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * notifications.el (top): Remove unneeded declarations.
+ (notifications-specification-version): Change to "1.2".
+ (notifications-interface, notifications-notify-method)
+ (notifications-close-notification-method): Fix docstring.
+ (notifications-get-capabilities-method): New defconst.
+ (notifications-notify): Add :action-items, :resident and
+ :transient hints. Change "image_data" to "image-data" and
+ "image_path" to "image-path".
+ (notifications-get-capabilities): New defun.
+
+2012-04-24 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/python.el: Move hideshow setup to the end.
+
+2012-04-24 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (handle-select-window): Clear echo area since this is
+ no more done by read_char (Bug#11304).
+
+2012-04-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * ibuffer.el (ibuffer-mode-map): Bind `/ m' to filter-used-mode
+ and `/ M' to filter-derived-mode.
+ * ibuf-ext.el (ibuffer-list-buffer-modes): Simplify; avoid add-to-list.
+ (ibuffer-filter-by-mode, ibuffer-filter-by-used-mode)
+ (ibuffer-mark-by-mode): Use default rather than initial-input.
+ (ibuffer-filter-by-derived-mode): Autoload and require-match.
+
+2012-04-24 Ivan Andrus <darthandrus@gmail.com> (tiny change)
+
+ * ibuf-ext.el (ibuffer-list-buffer-modes): Add `include-parents' arg.
+ (ibuffer-filter-by-derived-mode): New filter.
+ * ibuffer.el (ibuffer-mode-map): Bind to `/ w'.
+
+2012-04-23 Andreas Politz <politza@fh-trier.de>
+
+ * subr.el (accept-change-group): Fix arg usage (Bug#6095).
+
+2012-04-23 Chong Yidong <cyd@gnu.org>
+
+ * cus-edit.el (customize-apropos, customize-apropos-options):
+ Disable matching of non-option variables (Bug#11176).
+ (customize-option, customize-option-other-window)
+ (customize-changed-options): Doc fix.
+ (customize-apropos-options, customize-apropos-faces)
+ (customize-apropos-groups): Use apropos-read-pattern (Bug#11124).
+
+ * apropos.el (apropos-read-pattern): Make prompt less cryptic.
+ Fix word list splitting (Bug#11132).
+ (apropos-symbol, apropos-keybinding, apropos-label)
+ (apropos-property, apropos-function-button)
+ (apropos-variable-button, apropos-misc-button): New faces.
+ (apropos-symbol-face, apropos-keybinding-face)
+ (apropos-label-face, apropos-property-face, apropos-match-face):
+ Variables removed (Bug#8396).
+ (apropos-library-button, apropos-format-plist, apropos-print)
+ (apropos-print-doc, apropos-describe-plist): Callers changed.
+
+2012-04-23 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/xesam.el (xesam-mode-map): Use let-bound map in
+ initialization. (Bug#11292)
+
+2012-04-23 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ Preserve ispell session localwords when switching back to
+ original buffer.
+
+ * ispell.el (ispell-buffer-session-localwords): New buffer-local
+ variable to hold buffer session localwords.
+ (ispell-kill-ispell): add option 'clear to delete session
+ localwords.
+ (ispell-command-loop, ispell-change-dictionary)
+ (ispell-buffer-local-words): Preserve session localwords when
+ needed.
+
+ * flyspell.el (flyspell-process-localwords, flyspell-do-correct):
+ Preserve session localwords when needed.
+
+2012-04-23 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * ispell.el (ispell-insert-word) Remove unneeded function using
+ obsolete `translation-table-for-input'.
+ (ispell-word, ispell-process-line, ispell-complete-word):
+ Use plain `insert' instead of removed `ispell-insert-word'.
+
+2012-04-22 Chong Yidong <cyd@gnu.org>
+
+ * cus-edit.el (custom-variable-menu)
+ (custom-variable-reset-saved, custom-face-menu)
+ (custom-face-reset-saved): If there is no saved value, make the
+ "reset-saved" operation bring back the default (Bug#9509).
+ (custom-face-state): Properly detect themed faces.
+
+ * faces.el (face-spec-set): Stop supporting deprecated form of
+ third arg.
+
+2012-04-22 Michael Albinus <michael.albinus@gmx.de>
+
+ Move functions from C to Lisp. Make non-blocking method calls
+ the default. Implement further D-Bus standard interfaces.
+
+ * net/dbus.el (dbus-message-internal): Declare function.
+ Remove unneeded function declarations.
+ (defvar dbus-message-type-invalid, dbus-message-type-method-call)
+ (dbus-message-type-method-return, dbus-message-type-error)
+ (dbus-message-type-signal): Declare variables. Remove local
+ definitions.
+ (dbus-interface-dbus, dbus-interface-peer)
+ (dbus-interface-introspectable, dbus-interface-properties)
+ (dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table):
+ Adapt docstring.
+ (dbus-interface-objectmanager): New defconst.
+ (dbus-call-method, dbus-call-method-asynchronously)
+ (dbus-send-signal, dbus-method-return-internal)
+ (dbus-method-error-internal, dbus-register-service)
+ (dbus-register-signal, dbus-register-method): New defuns, moved
+ from dbusbind.c
+ (dbus-call-method-handler, dbus-setenv)
+ (dbus-get-all-managed-objects, dbus-managed-objects-handler):
+ New defuns.
+ (dbus-call-method-non-blocking): Make it an obsolete function.
+ (dbus-unregister-object, dbus-unregister-service)
+ (dbus-handle-event, dbus-register-property)
+ (dbus-property-handler): Obey the new structure of
+ `bus-registered-objects'.
+ (dbus-introspect): Use `dbus-call-method'. Use a timeout.
+ (dbus-get-property, dbus-set-property, dbus-get-all-properties):
+ Use `dbus-call-method'.
+
+2012-04-22 Chong Yidong <cyd@gnu.org>
+
+ * cus-edit.el (custom-commands, custom-reset-menu)
+ (Custom-reset-standard): Tweak labels.
+ (custom-reset-button-menu): Change default to t.
+ (custom-buffer-create-internal): For the custom-reset-button-menu
+ case, put the revert button first.
+ (custom-group-subtitle): New face.
+ (custom-group-value-create): Align docstring to a specific column.
+
+ * wid-edit.el (widget-documentation-link-add): Don't handle
+ indentation in this function.
+ (widget-documentation-string-indent-to): New function.
+ (widget-documentation-string-value-create): Use it.
+
+ * autorevert.el (auto-revert):
+ * epg-config.el (epg):
+ * ibuffer.el (ibuffer):
+ * mpc.el (mpc):
+ * ses.el (ses):
+ * eshell/eshell.el (eshell):
+ * net/ange-ftp.el (ange-ftp):
+ * progmodes/ebnf2ps.el (postscript):
+ * progmodes/flymake.el (flymake):
+ * progmodes/prolog.el (prolog):
+ * progmodes/verilog-mode.el (verilog-mode):
+ * progmodes/which-func.el (which-func):
+ * term/xterm.el (xterm):
+ * textmodes/picture.el (picture):
+ * textmodes/tildify.el (tildify):
+ * vc/ediff.el (ediff): Tweak defgroups to improve presentation in
+ customization buffers.
+
+2012-04-22 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache):
+ Adding a ) can hide the resulting (..) from searches. Fix it.
+ Bound the backward search to the position of the existing (.
+
+2012-04-21 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/verilog-mode.el (verilog-mode): Check whether
+ which-func-modes is t before adding verilog-mode.
+ Reported by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2012-04-21 Leo Liu <sdl.web@gmail.com>
+
+ * net/rcirc.el (rcirc): Avoid error when process-contact returns t.
+
+2012-04-21 Michael Vehrs <Michael.Burschik@gmx.de>
+
+ * woman.el: Add support for "T{ T}" tbl syntax, and fix the
+ filling of the last column of a table (Bug#5635).
+ (woman-find-next-control-line): New arg, specifying an additional
+ regexp component for the control line.
+ (woman2-roff-buffer): Use it.
+ (woman-break-table): New function.
+ (woman2-TS): Use it.
+
+2012-04-21 Chong Yidong <cyd@gnu.org>
+
+ * woman.el (woman-set-buffer-display-table, woman-decode-region)
+ (woman-horizontal-escapes, woman-negative-vertical-space)
+ (woman-tab-to-tab-stop, woman2-fc, woman2-TS)
+ (WoMan-warn-ignored): Use ?\s instead of ?\ .
+
+2012-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-file-name-table): Complete user names.
+
+2012-04-20 Leo Liu <sdl.web@gmail.com>
+
+ * font-lock.el (lisp-font-lock-keywords-2): Add pcase, pcase-let
+ and pcase-let*.
+
+2012-04-20 Chong Yidong <cyd@gnu.org>
+
+ * server.el (server-execute): Respect initial-buffer-choice if it
+ is a string and there are no files to open (Bug#2825).
+ (server-create-window-system-frame, server-create-tty-frame):
+ Don't switch buffers here.
+ (server-process-filter): Only try to open a window system frame if
+ compiled with graphical support (Bug#8314).
+
2012-04-20 Dan Nicolaescu <dann@gnu.org>
* battery.el (battery-echo-area-format): Display remaining time
2012-04-20 Chong Yidong <cyd@gnu.org>
- * progmodes/gdb-mi.el (gdb): Revert 2012-04-19 change.
+ * progmodes/gdb-mi.el (gdb): Revert previous change.
(gdb-inferior-io--init-proc): New function.
(gdb-init-1): Use it.
(gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty,
(window--resize-this-window, adjust-window-trailing-edge)
(enlarge-window, shrink-window): Doc fixes.
-2012-04-19 Chong Yidong <cyd@gnu.org>
+2012-04-20 Chong Yidong <cyd@gnu.org>
- * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): New
- function to call delete-process on the gdb-inferior buffer's pty.
+ * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty):
+ New function to call delete-process on the gdb-inferior buffer's pty.
(gdb-reset): Use it, instead of relying on kill-buffer to kill the
pty process (Bug#11273).
(gdb-update): New arg to suppress talking to the gdb process.
* comint.el (make-comint-in-buffer, comint-exec): Doc fix.
-2012-04-18 Chong Yidong <cyd@gnu.org>
-
* progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268).
-2012-04-18 Glenn Morris <rgm@gnu.org>
+2012-04-20 Glenn Morris <rgm@gnu.org>
* net/network-stream.el (open-network-stream): Doc fix.
-2012-04-17 Chong Yidong <cyd@gnu.org>
+2012-04-20 Chong Yidong <cyd@gnu.org>
* emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos.
-2012-04-16 Alan Mackenzie <acm@muc.de>
+2012-04-20 Alan Mackenzie <acm@muc.de>
Ensure searching for keywords is case sensitive.
(c-electric-paren, c-beginning-of-defun, c-end-of-defun)
(c-defun-name, c-mark-function, c-cpp-define-name)
(c-comment-indent, c-scan-conditionals, c-indent-defun)
- (c-context-line-break): bind case-fold-search to nil.
+ (c-context-line-break): Bind case-fold-search to nil.
- * progmodes/cc-mode.el (c-font-lock-fontify-region): bind
- case-fold-search to nil.
+ * progmodes/cc-mode.el (c-font-lock-fontify-region):
+ Bind case-fold-search to nil.
-2012-04-16 Chong Yidong <cyd@gnu.org>
+2012-04-20 Chong Yidong <cyd@gnu.org>
* mail/sendmail.el (mail-bury): Call return action with the right
Rmail buffer (Bug#11242).
-2012-04-15 Chong Yidong <cyd@gnu.org>
-
* server.el (server-process-filter): Handle corner case where both
tty and nowait options are present (Bug#11102).
+2012-04-20 Eli Zaretskii <eliz@gnu.org>
+
+ * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes.
+ (top level): Put into the executable the ident-style '$Id:' tag on
+ windows-nt as well.
+
+2012-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * electric.el (electric-indent-post-self-insert-function): Check that
+ electric-indent-mode is enabled in current buffer.
+
+2012-04-19 Juanma Barranquero <lekktu@gmail.com>
+
+ * imenu.el (imenu-progress-message): Restore; it is "used" in
+ erc/erc-imenu.el and net/snmp-mode.el.
+
+2012-04-19 Juanma Barranquero <lekktu@gmail.com>
+
+ * avoid.el (mouse-avoidance-mode): Mark unused arg.
+ (mouse-avoidance-nudge-mouse): Remove unused binding.
+
+ * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively.
+
+ * descr-text.el (describe-char):
+ * progmodes/python.el (python-describe-symbol):
+ Don't call `toggle-read-only', set `buffer-read-only'.
+
+ * imenu.el (imenu-default-goto-function): Mark unused args.
+ (imenu-progress-message): Remove obsolete macro; all callers changed.
+
+ * subr.el (keymap-canonicalize): Remove unused binding.
+ (read-passwd): Mark unused arg.
+
+ * tutorial.el (tutorial--display-changes): Remove unused binding.
+ (tutorial--save-tutorial-to): Remove unused variable.
+
+ * emacs-lisp/package.el (define-package, package-menu-mark-delete)
+ (package-menu-mark-install, package-menu-mark-unmark): Mark unused args.
+ (package-generate-autoloads, package-menu--generate)
+ (package-menu--find-upgrades): Remove unused bindings.
+
+ * emulation/cua-rect.el (cua-restrict-regexp-rectangle)
+ (cua-restrict-prefix-rectangle): Doc fixes. Remove unused bindings.
+ (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle)
+ (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle)
+ (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle)
+ (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as)
+ (cua--rectangle-aux-replace, cua--left-fill-rectangle)
+ (cua-scroll-rectangle-up, cua-scroll-rectangle-down)
+ (cua-delete-char-rectangle): Mark unused args.
+ (cua-align-rectangle): Remove unused binding.
+
+ * mail/rmail.el (compilation--message->loc)
+ (epa--find-coding-system-for-mime-charset): Declare.
+
+ * net/dbus.el (dbus-register-service): Declare.
+ (dbus-name-owner-changed-handler): Remove unused binding.
+
+ * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p)
+ (nxml-compute-indent-from-matching-start-tag): Remove unused variables.
+ (nxml-scan-backward-within): Mark unused arg.
+ (nxml-dynamic-markup-word): Remove unused binding.
+
+ * mouse.el (mouse-menu-major-mode-map):
+ * emacs-lisp/authors.el (authors-scan-change-log)
+ (authors-add-to-author-list):
+ * emacs-lisp/avl-tree.el (avl-tree--enter-balance):
+ * emacs-lisp/smie.el (smie-auto-fill):
+ * mail/sendmail.el (mail-bury):
+ * mail/unrmail.el (unrmail):
+ * net/tls.el (open-tls-stream):
+ * textmodes/picture.el (picture-mouse-set-point):
+ Remove unused bindings.
+
+2012-04-19 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-action-password): Let-bind
+ `enable-recursive-minibuffers' to t.
+
+2012-04-18 Sam Steingold <sds@gnu.org>
+
+ * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence
+ instead of 'string to accommodate values like [f11].
+ Always use `vconcat' instead of `concat' on it, like in `gud-def'.
+ * progmodes/gdb-mi.el: Likewise.
+
+2012-04-18 Leo Liu <sdl.web@gmail.com>
+
+ * abbrev.el (edit-abbrevs): Move point to the abbrev table of
+ current buffer.
+ (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if
+ LOCAL is nil.
+
+2012-04-18 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (line-move): Use forward-line if in batch mode
+ (Bug#11053).
+
+2012-04-18 Christopher Schmidt <christopher@ch.ristopher.com>
+
+ * files.el (after-find-file): Do not try to add a final newline if
+ the buffer is read-only (Bug#11156).
+
+2012-04-17 Richard Stallman <rms@gnu.org>
+
+ * mail/rmail.el (rmail-start-mail):
+ Pass (rmail-mail-return...) for the return-action.
+ Pass (rmail-yank-current-message...) for the yank-action.
+ (rmail-yank-current-message): New function.
+ (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer.
+ (rmail-reply): Likewise.
+ (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer.
+
+ * mail/sendmail.el (mail-bury): Choose the first rmail-mode
+ buffer, not the last. Reject temp buffers. Use the rmail-mode
+ buffer, not newbuf.
+
+2012-04-17 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-ensure-safe-dir): Simplify.
+
+2012-04-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el: Provide smarter auto-filling.
+ (smie-auto-fill): New function.
+ (smie-setup): Use it.
+
+ * newcomment.el (comment-choose-indent): Obey comment-inline-offset.
+
+2012-04-17 Philipp Haselwarter <philipp.haselwarter@gmx.de> (tiny change)
+
+ * newcomment.el (comment-inline-offset): New custom var (bug#11090).
+ (comment-indent): Use it.
+
+2012-04-17 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * ses.el: The overall change is to add cell renaming, that is
+ setting fancy names for cell symbols other than name matching
+ "\\`[A-Z]+[0-9]+\\'" regexp .
+ (ses-localvars): Add ses--renamed-cell-symb-list.
+ (ses-create-cell-variable): New defun.
+ (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols.
+ (ses-relocate-formula): Relocate formulas only for cells the
+ symbols of which are not renamed, i.e. symbols whose names do not
+ match regexp "\\`[A-Z]+[0-9]+\\'".
+ (ses-relocate-all): Relocate values only for cells the symbols of
+ which are not renamed.
+ (ses-load): Create cells variables as the (ses-cell ...) are read,
+ in order to check row col consistency with cell symbol name only
+ for cells that are not renamed.
+ (ses-replace-name-in-formula): New defun.
+ (ses-rename-cell): New defun.
+
+2012-04-17 Peter Oliver <bzr@mavit.org.uk> (tiny change)
+
+ * progmodes/perl-mode.el (perl-indent-parens-as-block):
+ New option (bug#11118).
+ (perl-calculate-indent): Respect it.
+
+2012-04-17 Glenn Morris <rgm@gnu.org>
+
+ * dired-aux.el (dired-mark-read-string): Doc fix.
+
+2012-04-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * dired-aux.el (dired-mark-read-string): Offer optional completion.
+ (dired-do-chxxx): Complete chown, chgrp over users, groups. (Bug#7900)
+
+2012-04-17 Glenn Morris <rgm@gnu.org>
+
+ * mouse.el (mouse-drag-track):
+ * speedbar.el (speedbar-frame-mode):
+ Use auto-hscroll-mode rather than the alias automatic-hscrolling.
+
+2012-04-16 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/python.el: Trivial cleanup.
+
+2012-04-16 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc.el (vc-string-prefix-p):
+ * vc/pcvs-util.el (cvs-string-prefix-p):
+ * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p):
+ * mpc.el (mpc-string-prefix-p):
+ Make all of these into obsolete aliases for string-prefix-p.
+ Update callers.
+ * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers.
+
+ * textmodes/two-column.el: Move custom options to the start.
+ (frame-width): Remove compat definition.
+ (2C-associate-buffer, 2C-dissociate):
+ Use with-current-buffer rather than save-excursion.
+ (2C-dissociate): Force a mode-line update.
+ (2C-autoscroll): Use ignore-errors.
+
+ * emacs-lisp/eieio-opt.el (describe-class, describe-generic):
+ Autoload trivia.
+
+ * emacs-lisp/cl-extra.el (*random-state*):
+ Remove unnecessary declaration.
+
+ * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification.
+
+ * play/cookie1.el (cookie-snarf):
+ Give an explicit error if input file cannot be read.
+
+ * play/yow.el (yow-file): Use expand-file-name rather than concat.
+
+ * progmodes/perl-mode.el (c-macro-expand):
+ Remove unnecessary autoload (it is in loaddefs.el).
+
+ * textmodes/picture.el (picture-desired-column)
+ (picture-update-desired-column): Convert comments to doc-strings.
+ (picture-substitute): Remove function.
+ (picture-mode-map): Initialize in the defvar.
+
+ * woman.el: Remove eval-after-load for tar-mode.
+ * tar-mode.el (tar-mode-map): Add woman binding and menu entry.
+ (woman-tar-extract-file): Autoload it.
+
+ * frame.el (automatic-hscrolling): Make this alias obsolete.
+
+2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * ispell.el (ispell-set-spellchecker-params): Post-process
+ `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible.
+ (ispell-dictionary-base-alist): Revert to original XEmacs
+ friendly version for default. [:alpha:] will be added in
+ `ispell-set-spellchecker-params' if needed
+
+2012-04-16 Chong Yidong <cyd@gnu.org>
+
+ * image.el (imagemagick--extension-regexp): New variable.
+ (imagemagick-register-types): Use it.
+ (imagemagick-types-inhibit): Add :set function. Allow new value
+ of t to inhibit all types.
+
+ * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros,
+ so we can preload it.
+
+ * loadup.el (fboundp): Preload regexp-opt, needed by
+ imagemagick-register-types.
+
+2012-04-15 Chong Yidong <cyd@gnu.org>
+
+ * frame.el (scrolling): Remove nearly unused customization group.
+
+ * scroll-all.el (scroll-all-mode): Move to windows group.
+
+2012-04-15 Chong Yidong <cyd@gnu.org>
+
+ * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240).
+
+2012-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Avoid the use of ((lambda ...) ...) in lexical-binding code.
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241).
+
2012-04-15 Glenn Morris <rgm@gnu.org>
* simple.el (process-file-side-effects): Doc fix.
-2012-04-14 Glenn Morris <rgm@gnu.org>
+2012-04-15 Glenn Morris <rgm@gnu.org>
* international/mule-cmds.el (set-language-environment): Doc fix.
+2012-04-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-auth-key, server-generate-key): Doc fixes.
+ (server-get-auth-key): Doc fix. Use `string-match-p'.
+ (server-start): Reflow docstring.
+
+2012-04-14 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * server.el (server-generate-key): `called-interactively-p'
+ requires a parameter.
+
+2012-04-14 Michal Nazarewicz <mina86@mina86.com>
+
+ * server.el (server-auth-key): New variable.
+ (server-generate-key, server-get-auth-key): New function.
+ (server-start): Use the new variable and functions to allow
+ setting a permanent server key (bug#9423).
+
+2012-04-14 Leo Liu <sdl.web@gmail.com>
+
+ * vc/diff-mode.el (diff-file-prev/next): Fix typo.
+
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Spelling fixes.
+ * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since
+ Emacs uses American spelling.
+
+2012-04-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook.
+ (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix.
+ (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions)
+ (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017)
+
2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
- Avoid the use of ((lambda ...) ...) in lexical-binding code.
- * emacs-lisp/easy-mmode.el (define-minor-mode):Use funcall (bug#11241).
+ * progmodes/which-func.el (which-func-modes): Change default.
-2012-04-13 Kim F. Storm <storm@cua.dk>
+2012-04-14 Kim F. Storm <storm@cua.dk>
* emulation/cua-base.el (cua-exchange-point-and-mark): Just call
exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
-2012-04-12 Chong Yidong <cyd@gnu.org>
+2012-04-14 Chong Yidong <cyd@gnu.org>
* custom.el (custom-theme-set-variables): Doc fix.
-2012-04-12 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* international/mule.el (set-auto-coding-for-load): Doc fix.
-2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
- Reported by Noah Friedman. Backport from trunk.
-
-2012-04-11 Alan Mackenzie <acm@muc.de>
+2012-04-14 Alan Mackenzie <acm@muc.de>
- * progmodes/cc-menus.el (cc-imenu-objc-generic-expression):
- Make imenu work again for Objective C Mode. Correct the *-index
- values, these having been disturbed by a previous change in 2011-08.
+ * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make
+ imenu work again for Objective C Mode. Correct the *-index values,
+ these having been disturbed by a previous change in 2011-08.
* progmodes/cc-engine.el (c-before-change-check-<>-operators):
Correct two search limits.
-2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
+2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
* startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
-2012-04-10 Andreas Schwab <schwab@linux-m68k.org>
+2012-04-14 Andreas Schwab <schwab@linux-m68k.org>
* international/characters.el: Fix sorting.
-2012-04-10 Eli Zaretskii <eliz@gnu.org>
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
* international/characters.el: Add more missing Latin case pairs.
-2012-04-10 Andreas Schwab <schwab@linux-m68k.org>
-
- * international/characters.el: Recover lost case pairs.
-
-2012-04-10 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* files.el (dir-locals-set-class-variables): Doc fix.
-2012-04-09 Eli Zaretskii <eliz@gnu.org>
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
* international/characters.el: Add set-case-syntax-pair call for
LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case
* simple.el (shell-command-on-region): Doc fix. (Bug#11208)
-2012-04-09 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* calendar/holidays.el (calendar-check-holidays): Doc fix.
-2012-04-08 Eli Zaretskii <eliz@gnu.org>
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
- * textmodes/ispell.el (ispell-dictionary-base-alist): Add data for
- Hebrew.
+ * textmodes/ispell.el (ispell-dictionary-base-alist):
+ Add data for Hebrew.
-2012-04-08 Chong Yidong <cyd@gnu.org>
+2012-04-14 Chong Yidong <cyd@gnu.org>
- * net/rcirc.el (rcirc-cmd-quit): Revert 2012-03-18 change
- (Bug#11192).
+ * net/rcirc.el (rcirc-cmd-quit):
+ Revert 2012-03-18 change (Bug#11192).
-2012-04-07 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
* pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
-2012-04-07 Eli Zaretskii <eliz@gnu.org>
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
* minibuffer.el (completion-in-region-mode-map):
Bind completion-help-at-point to M-? rather than ?. (Bug#11182)
+2012-04-13 Vivek Dasmohapatra <vivek@etla.org>
+
+ * hexl.el (hexl-insert-char): Make display sizes other than 16 work.
+
+2012-04-13 Masatake YAMATO <yamato@redhat.com>
+
+ * minibuffer.el (minibuffer-local-filename-syntax): New variable
+ to allow `C-M-f' and `C-M-b' to move to the nearest path
+ separator (bug#9511).
+
+2012-04-13 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * avoid.el: Require cl when compiling. And also move the
+ `provide' to the end.
+
+2012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
+
+ * avoid.el (mouse-avoidance-banish-position): New variable.
+ (mouse-avoidance-banish-destination): Use it (bug#10165).
+
+2012-04-13 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/which-func.el (which-func-modes): Add objc-mode.
+
+2012-04-13 Ken Brown <kbrown@cornell.edu>
+
+ * net/browse-url.el (browse-url-file-url): Remove Cygwin hack;
+ this is no longer needed now that cygstart understands file:// URLs.
+ (browse-url-filename-alist): For the same reason, don't modify
+ file:// URLs on Cygwin.
+
+2012-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate
+ the region on shift if the binding is already shifted (bug#11221).
+
+2012-04-12 Glenn Morris <rgm@gnu.org>
+
+ * mail/mailpost.el: Move to obsolete/.
+
+2012-04-12 Drew Adams <drew.adams@oracle.com>
+
+ * imenu.el (imenu--generic-function): Ignore invisible definitions
+ (bug#10123).
+
+2012-04-12 Vivek Dasmohapatra <vivek@etla.org>
+
+ * hexl.el (hexl-bits): New variable.
+ (hexl-options): Mention the variable in the doc string.
+ (hexl-rulerise, hexl-line-displen): New functions.
+ (hexl-mode): Mention the new variable.
+ (hexl-mode, hexl-current-address, hexl-current-address):
+ Use the displen.
+ (hexl-ascii-start-column): New function.
+ (hexl-address-to-marker, hexl-beginning-of-line, hexl-options)
+ (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941).
+
+2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * textmodes/flyspell.el (flyspell-large-region): For hunspell, use
+ '("-i" ENCODING), in 2 separate command-line arguments, to specify
+ the encoding, as expected by hunspell.
+
+2012-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * battery.el (battery--linux-sysfs-regexp): New const.
+ (battery-status-function): Use it. Remove yeeloong special case.
+ (battery-yeeloong-sysfs): Remove.
+ (battery-echo-area-format): Remove yeeloong special case.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
+ Reported by Noah Friedman.
+
+ * subr.el (read-passwd): Use read-string.
+
+2012-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * vcursor.el (vcursor-move): Increase the priority of the overlay
+ (bug#9663).
+
+2012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * net/rcirc.el (rcirc-kill-channel-buffers): New variable.
+ (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128).
+
+2012-04-11 William Stevenson <yhvh2000@gmail.com>
+
+ * textmodes/artist.el (artist-mode): Convert artist-mode to use
+ define-minor-mode (bug#10760).
+
+2012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
+
+ * progmodes/grep.el (rgrep): Tweak the find command line so
+ that directories matching `grep-find-ignored-files' won't be
+ pruned (bug#10351).
+
+2012-04-11 Chong Yidong <cyd@gnu.org>
+
+ * startup.el (command-line): Remove support for long-obsolete
+ variable font-lock-face-attributes.
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.el (window--state-get-1): Obey window-point-insertion-type.
+
+2012-04-11 Lennart Borgman <lennart.borgman@gmail.com>
+
+ * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes
+ to previous function when point is on the first character of a
+ function. Take care of that in `narrow-to-defun' (bug#6157).
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-status): Handle all errors,
+ not just file-errors.
+
+ * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove.
+ (vc-bzr-sha1): Use internal sha1.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
+
+2012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change)
+
+ * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments
+ that start in the middle of the line (bug#10496).
+
+2012-04-10 Dan Nicolaescu <dann@gnu.org>
+
+ * battery.el (battery-linux-proc-acpi): Only one battery is
+ discharged at a time, but that seems to confuse battery.el when
+ computing `rate-type' for the battery not being discharged
+ (bug#10332).
+
+2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/autoload.el (autoload-make-program): Remove, unused.
+
+ * international/quail.el: Use dolist and simplify.
+ (quail-define-package, quail-update-keyboard-layout)
+ (quail-define-rules): Use dolist.
+ (quail-insert-kbd-layout, quail-get-translation): CSE.
+
+ * tmm.el: Use dolist, remove left over hook.
+ (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind):
+ Use dolist.
+ (calendar-load-hook): Don't mess with it.
+
+ * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
+ Use derived-mode-p. Run the diff asynchronously.
+
+2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * obsolete/mouse-sel.el: Add an Obsolete-since header.
+
+2012-04-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * misc.el: Display absolute path of loaded DLLs (bug#10424).
+ (list-dynamic-libraries--loaded): New function.
+ (list-dynamic-libraries--refresh): Use it.
+
+2012-04-10 Nathan Weizenbaum <nweiz@google.com>
+
+ * progmodes/python.el (python-fill-paragraph):
+ Make python-fill-region in a multiline string work when font-lock is
+ disabled (bug#7018).
+
+2012-04-10 Laimonas VÄ—bra <laimonas.vebra@gmail.com> (tiny change)
+
+ * language/european.el (cp775): Add oem/legacy (en)coding on
+ DOS/MS Windows for the Baltic languages. There are still plenty
+ of texts written in this encoding/codepage (bug#6519).
+
+2012-04-10 Glenn Morris <rgm@gnu.org>
+
+ * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac):
+ Add :standard values, reducing "rogue" customs in emacs -Q a bit more.
+
+2012-04-10 Florian Adamsky <florian@adamsky.it> (tiny change)
+
+ * recentf.el (recentf-dialog-mode-map): Add two keybindings for
+ next-line "n" and previous-line "p" in order to make recentf more
+ consistent with ibuffer, dired or org-mode (bug#9387).
+
+2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * image.el (put-image): Return the overlay created instead of the
+ optional input string (bug#7834). Note that this may break code
+ that is (for some reason or other) depending on `put-image'
+ returning the string.
+
+ * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174).
+
+ * simple.el (zap-to-char): Allow zapping using input methods
+ (bug#1580).
+
+ * textmodes/fill.el (fill-region): Leave point and mark where they
+ were before filling (bug#5399).
+
+2012-04-09 Glenn Morris <rgm@gnu.org>
+
+ * version.el (emacs-bzr-get-version):
+ Handle lightweight checkouts of local branches.
+
+2012-04-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * international/characters.el: Recover lost case pairs. (Bug#11209)
+
+2012-04-09 Chong Yidong <cyd@gnu.org>
+
+ * custom.el (custom-variable-p): Return nil for non-symbol
+ arguments instead of signaling an error.
+ (user-variable-p): Obsolete alias for custom-variable-p.
+
+ * apropos.el (apropos-variable):
+ * files-x.el (read-file-local-variable):
+ * simple.el (set-variable):
+ * woman.el (woman-mini-help):
+ * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed.
+
+2012-04-09 Glenn Morris <rgm@gnu.org>
+
+ * startup.el (normal-top-level): Don't look for leim-list.el
+ in places where it will not be found. (Bug#910)
+
+ * international/mule-cmds.el (set-default-coding-systems):
+ * files.el (normal-mode):
+ Remove guarded calls to ucs-set-table-for-input. (Bug#9821)
+ This function was removed with ucs-tables.el in 2008.
+
+2012-04-08 Eli Zaretskii <eliz@gnu.org>
+
+ * textmodes/ispell.el (ispell-check-version): For hunspell, set
+ ispell-encoding8-command to "-i", without a trailing space.
+ (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2
+ separate command-line arguments, to specify the encoding, since
+ that's how hunspell expects it.
+
+2012-04-08 Glenn Morris <rgm@gnu.org>
+
+ * loadup.el: Load bindings before cus-start.
+ This reduces somewhat the number of "rogue" settings in emacs -Q.
+
+2012-04-07 Glenn Morris <rgm@gnu.org>
+
+ * version.el (emacs-bzr-get-version): New function.
+ (emacs-bzr-version): New variable.
+ * loadup.el (emacs-bzr-version): Set it. (Bug#8054)
+ * mail/emacsbug.el (report-emacs-bug): Include bzr version.
+
+2012-04-07 Eli Zaretskii <eliz@gnu.org>
+
+ * international/uni-bidi.el, international/uni-category.el:
+ * international/uni-combining.el, international/uni-decimal.el:
+ * international/uni-decomposition.el, international/uni-digit.el:
+ * international/uni-lowercase.el, international/uni-mirrored.el:
+ * international/uni-name.el, international/uni-numeric.el:
+ * international/uni-titlecase.el, international/uni-uppercase.el:
+ Update for Unicode 6.1.
+
+2012-04-07 Eli Zaretskii <eliz@gnu.org>
+
+ * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs.
+
2012-04-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
* window.el (shrink-window): Mention the `window-min-height'
2012-03-30 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
- * ispell.el (ispell-get-extended-character-mode): Disable
- extended-char-mode for hunspell. hunspell does not support it and
- treats ~word as ordinary words in pipe mode.
+ * ispell.el (ispell-get-extended-character-mode):
+ Disable extended-char-mode for hunspell. hunspell does not support it
+ and treats ~word as ordinary words in pipe mode.
2012-03-30 Glenn Morris <rgm@gnu.org>
(hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'.
(hfy-face-to-css): Re-defined to be a variable.
(hfy-compile-stylesheet): Modify. Allow stylesheet to be built
- over multiple runs. This is made possible by having the caller let
+ over multiple runs. This is made possible by having the caller let
bind a special variable `hfy-user-sheet-assoc'.
(htmlfontify-string): New defun.
(hfy-compile-face-map): Make sure that the last char in the
2012-03-09 Michael Albinus <michael.albinus@gmx.de>
- * net/dbus.el: (dbus-property-handler): Return empty array if
+ * net/dbus.el (dbus-property-handler): Return empty array if
there are no properties.
2012-03-09 Leo Liu <sdl.web@gmail.com>
* term/x-win.el (x-initialize-window-system): Reduce default for
x-selection-timeout to 5 seconds (Bug#8869).
-2012-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com>
-
- * files.el (file-subdir-of-p): Fix typo.
-
2012-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com>
* files.el (files-equal-p, file-subdir-of-p): New functions.
2012-02-12 Alan Mackenzie <acm@muc.de>
Fix infinite loop with long macros.
- * cc-engine.el (c-state-safe-place): Handle macros properly.
+ * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly.
2012-02-12 Chong Yidong <cyd@gnu.org>
2012-02-06 Lars Ingebrigtsen <larsi@gnus.org>
- * progmodes/cc-mode.el
- (c-standard-font-lock-fontify-region-function): Set the default at
- load time, too, so that `font-lock-fontify-buffer' can be called
- without setting up the entire mode first. This fixes a bug in
- `mm-inline-text' with C MIME parts.
+ * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function):
+ Set the default at load time, too, so that `font-lock-fontify-buffer'
+ can be called without setting up the entire mode first. This fixes
+ a bug in `mm-inline-text' with C MIME parts.
2012-02-06 Chong Yidong <cyd@gnu.org>
-2012-04-21 Andreas Schwab <schwab@linux-m68k.org>
++2012-04-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gnus.el (debbugs-gnu): Don't override existing autoload definition.
+
-2012-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+2012-04-26 Daiki Ueno <ueno@unixuser.org>
+
+ * plstore.el (plstore-called-interactively-p): New compat macro copied
+ from message.el.
+ (plstore-mode): Use it.
+
+2012-04-26 Daiki Ueno <ueno@unixuser.org>
+
+ * plstore.el: Revive the editing feature.
+ (plstore-mode): New mode to edit plstore file.
+ (plstore-mode-toggle-display, plstore-mode-original)
+ (plstore-mode-decoded): New command.
+ (plstore--encode, plstore--decode, plstore--write-contents-functions)
+ (plstore--insert-buffer, plstore--make): New function.
+ (plstore-open, plstore-save): Simplify by using them.
+
+2012-04-16 Glenn Morris <rgm@gnu.org>
+
+ * nndraft.el (nndraft-request-list): Fix declaration.
+
+2012-04-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-msg.el (gnus-inews-insert-gcc): Don't do the alist stuff when we
don't have a current group.
-2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
-
* gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't
have a group name.
;;; mouse.el --- window system-independent mouse support
-;; Copyright (C) 1993-1995, 1999-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1999-2012 Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: hardware, mouse
(newmap (if ancestor
(make-sparse-keymap (concat (format-mode-line mode-name)
" Mode"))
- menu-bar-edit-menu))
- uniq)
+ menu-bar-edit-menu)))
(if ancestor
(set-keymap-parent newmap ancestor))
newmap))
(or mouse-1-click-in-non-selected-windows
(eq window (selected-window)))
(mouse-on-link-p start)))
- (enlarge-minibuffer
+ (resize-minibuffer
+ ;; Resize the minibuffer window if it's on the same frame as
+ ;; and immediately below the position window and it's either
+ ;; active or `resize-mini-windows' is nil.
(and (eq line 'mode)
- (not resize-mini-windows)
(eq (window-frame minibuffer-window) frame)
- (not (one-window-p t frame))
(= (nth 1 (window-edges minibuffer-window))
- (nth 3 (window-edges window)))))
+ (nth 3 (window-edges window)))
+ (or (not resize-mini-windows)
+ (eq minibuffer-window (active-minibuffer-window)))))
(which-side
(and (eq line 'vertical)
(or (cdr (assq 'vertical-scroll-bars (frame-parameters frame)))
((eq line 'mode)
;; Check whether mode-line can be dragged at all.
(when (and (window-at-side-p window 'bottom)
- (not enlarge-minibuffer))
+ (not resize-minibuffer))
(setq done t)))
((eq line 'vertical)
;; Get the window to adjust for the vertical case.
;; Remember that we dragged.
(setq dragged t))
- (cond
- (enlarge-minibuffer
- (adjust-window-trailing-edge window growth))
- ((eq line 'mode)
- (adjust-window-trailing-edge window growth))
- (t
- (adjust-window-trailing-edge window (- growth)))))))
+ (if (eq line 'mode)
+ (adjust-window-trailing-edge window growth)
+ (adjust-window-trailing-edge window (- growth))))))
;; Presumably, if this was just a click, the last event should be
;; `mouse-1', whereas if this did move the mouse, it should be a
(= click-count 1)))
;; Suppress automatic hscrolling, because that is a nuisance
;; when setting point near the right fringe (but see below).
- (automatic-hscrolling-saved automatic-hscrolling)
- (automatic-hscrolling nil)
+ (auto-hscroll-mode-saved auto-hscroll-mode)
+ (auto-hscroll-mode nil)
event end end-point)
(setq mouse-selection-click-count click-count)
;; Automatic hscrolling did not occur during the call to
;; `read-event'; but if the user subsequently drags the
;; mouse, go ahead and hscroll.
- (let ((automatic-hscrolling automatic-hscrolling-saved))
+ (let ((auto-hscroll-mode auto-hscroll-mode-saved))
(redisplay))
(setq end (event-end event)
end-point (posn-point end))
-2012-04-26 Nicolas Goaziou <n.goaziou@gmail.com>
++2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com>
+
+ * org-table.el (org-table-number-fraction): Fix typo.
+
-2012-04-26 Eric Schulte <eric.schulte@gmx.com>
++2012-04-27 Eric Schulte <eric.schulte@gmx.com>
+
+ * ob-python.el (org-babel-execute:python): Ensure newline precedes
+ automatically-added returns.
+
-2012-04-26 Nicolas Goaziou <n.goaziou@gmail.com>
++2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com>
+
+ * org-mouse.el (org-mode-hook): Do not move point when clicking on
+ a footnote reference.
+
-2012-04-26 Bastien Guerry <bzg@gnu.org>
++2012-04-27 Bastien Guerry <bzg@gnu.org>
+
+ * org-faces.el (org-date-selected): Fix docstring.
+
-2012-04-26 Nicolas Goaziou <n.goaziou@gmail.com>
++2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com>
+
+ * org-list.el (org-list-struct-indent): Follow
+ `org-list-demote-modify-bullet' specifications for ordered
+ bullets.
+ (org-list-indent-item-generic, org-indent-item-tree)
+ (org-outdent-item-tree): Fix bug when operating on a region.
+ (org-outdent-item, org-indent-item): Allow to operate on a region.
+
+ * org.el (org-shiftmetaleft, org-shiftmetaright): Allow to operate
+ on a region.
+
-2012-04-26 Nicolas Goaziou <n.goaziou@gmail.com>
++2012-04-27 Nicolas Goaziou <n.goaziou@gmail.com>
+
+ * org-footnote.el (org-footnote-normalize): Fix positioning in
+ HTML export without a footnote section.
+
-2012-04-26 Madan Ramakrishnan <madanr79@gmail.com> (tiny change)
++2012-04-27 Madan Ramakrishnan <madanr79@gmail.com> (tiny change)
+
+ * org-agenda.el (org-agenda-bulk-mark): Truly make arg optional as
+ advertised by the function.
+
-2012-04-26 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
++2012-04-27 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
+
+ * org.el (org-read-date-display): Fix bug when displaying the
+ overlay.
+
-2012-04-26 Bastien Guerry <bzg@gnu.org>
++2012-04-27 Bastien Guerry <bzg@gnu.org>
+
+ * org.el (org-mode): Don't use `buffer-face-mode' by default.
+
-2012-04-26 Bastien Guerry <bzg@gnu.org>
++2012-04-27 Bastien Guerry <bzg@gnu.org>
+
+ * org-faces.el (org-date-selected): New face.
+
-2012-04-26 Jambunathan K <kjambunathan@gmail.com>
++2012-04-27 Jambunathan K <kjambunathan@gmail.com>
+
+ * org-odt.el (org-odt-format-org-link): Pay no heed to whether the
+ internal links destined for headlines provide a description or
+ not. In fact, the `org-store-link' and `org-insert-link' create
+ internal links which do have a description.
+
-2012-04-26 Bastien Guerry <bzg@gnu.org>
++2012-04-27 Bastien Guerry <bzg@gnu.org>
+
+ * org-clock.el (org-program-exists): Fix docstring.
+
-2012-04-11 Bastien Guerry <bzg@gnu.org>
+2012-04-14 Bastien Guerry <bzg@gnu.org>
* org.el (org-point-at-end-of-empty-headline): Only try to match
- ̀org-todo-line-regexp' when the value is non-nil, e.g. in non-org
+ `org-todo-line-regexp' when the value is non-nil, e.g. in non-org
modes.
(org-fontify-meta-lines-and-blocks-1): Prevent errors when trying
to fontify beyond (point-max).
(org-table-get-range): Fix bug: make sure references to $0 are
correctly handled.
- * org-pcomplete.el (pcomplete/org-mode/file-option): Fix bug in
- `pcomplete/org-mode/file-option'.
+ * org-pcomplete.el (pcomplete/org-mode/file-option):
+ Fix bug in `pcomplete/org-mode/file-option'.
(org-thing-at-point): Also match line options like LATEX_CLASS
when pcompleting from LATEX_.
* org-agenda.el (org-agenda-filter-make-matcher)
(org-agenda-filter-apply): Allow filtering entries out by
category. Using `C-u <' from the agenda view will redisplay
- the agenda without entries from categories of the current
- line.
+ the agenda without entries from categories of the current line.
-2012-04-11 Eric Schulte <eric.schulte@gmx.com>
+2012-04-14 Eric Schulte <eric.schulte@gmx.com>
- * ob-C.el (org-babel-C-ensure-main-wrap): Add an explicit return
- to automatically generated main methods.
+ * ob-C.el (org-babel-C-ensure-main-wrap):
+ Add an explicit return to automatically generated main methods.
-2012-04-11 Matt Lundin <mdl@imapmail.org>
+2012-04-14 Matt Lundin <mdl@imapmail.org>
- * org.el (org-after-todo-state-change-hook): Fix docstring to
- reflect name change of state to `org-state'.
+ * org.el (org-after-todo-state-change-hook):
+ Fix docstring to reflect name change of state to `org-state'.
-2012-04-11 Mike Sperber <sperber@deinprogramm.de> (tiny change)
+2012-04-14 Mike Sperber <sperber@deinprogramm.de> (tiny change)
- * org-footnote.el (org-footnote-normalize): Correctly pass keyword
- arguments to `org-export-preprocess-string'.
+ * org-footnote.el (org-footnote-normalize):
+ Correctly pass keyword arguments to `org-export-preprocess-string'.
2012-04-03 Bastien Guerry <bzg@gnu.org>
* org-attach.el (org-attach-store-link-p): Remove spurious quote
in customization form choice.
- 2012-04-01 Tassilo Horn <tassilo@member.fsf.org>
-
- * org-contacts.el (org-contacts-check-mail-address): Add missing
- word to `y-or-n-p' question.
-
2012-04-01 Eric Schulte <eric.schulte@gmx.com>
* ob-sh.el (org-babel-execute:sh): Pass all params to subroutine.
* org-footnote.el (org-footnote-normalize): Make sure that
footnotes are moved to a single place during export.
- 2012-04-01 Bastien Guerry <bzg@gnu.org>
-
- * org.el (org-cycle-internal-global): Prevent the display of
- messages when cycling from with a Gnus article buffer.
-
2012-04-01 Nicolas Goaziou <n.goaziou@gmail.com>
* org-footnote.el (org-footnote-normalize): Ensure footnote
define the way a timestamp in #+DATE will be exported.
(org-infile-export-plist): Use the new option.
- 2012-01-03 Bastien Guerry <bzg@gnu.org>
-
- * org-drill.el (org-drill-leech-method, org-drill-scope)
- (org-drill-spaced-repetition-algorithm): Fix wrong :type spec.
-
2012-01-03 Bastien Guerry <bzg@gnu.org>
* org.el (org-property-re): Also match cumulating properties
* ob-exp.el (org-babel-exp-in-export-file): Bind
`org-link-search-inhibit-query' to t to inhibit prompts.
- 2011-07-28 Julien Danjou <julien@danjou.info>
-
- * org-contacts.el: Merge org-contacts-wl.el.
-
2011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-add-options-to-plist): Use the right
* org-agenda.el (org-agenda-open-link): Pass entire text of agenda
line to `org-offer-links-in-entry'.
- 2011-07-28 Michael Markert <markert.michael@googlemail.com>
-
- * org-contacts-wl.el: New file.
-
2011-07-28 Matt Lundin <mdl@imapmail.org>
* org-bibtex.el (org-bibtex-search): New function.
(org-agenda-open-link): Stop using prefix-length.
(org-agenda-change-all-lines): Stop using prefix-length.
- * org-colview-xemacs.el (org-columns-display-here): Stop using
- prefix-length. Always return claned items.
-
* org-colview.el (org-columns-display-here): Stop using
prefix-length. Always return claned items.
* org-capture.el (org-capture-templates): Fix customize type.
- 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com>
-
- * org-colview-xemacs.el (org-columns-compile-map):
- (org-columns-number-to-string):
- (org-columns-string-to-number): Handle estimate ranges.
- (org-estimate-mean-and-var): New function.
- (org-estimate-combine): New function.
- (org-estimate-print): New function.
- (org-string-to-estimate): New function.
-
2010-09-25 Juanma Barranquero <lekktu@gmail.com>
* org.el (org-refile-targets):
* org-src.el (org-edit-src-find-region-and-lang): Test for
table.el as late as possible.
- * org-colview-xemacs.el: Make sure this file is never loaded into
- Emacs. Remove all tests for XEmacs.
-
* org-colview.el: Make sure this file is never loaded into XEmacs.
* org-agenda.el (org-highlight, org-unhighlight): Use direct
* org-exp.el (org-export): Use "1" as a sign to export only the
subtree.
- * org-colview-xemacs.el (org-columns-edit-value):
- Use org-unrestricted property.
-
* org-colview.el (org-columns-edit-value):
Use org-unrestricted property.
(org-agenda-colview-summarize): Handle extended summary types
properly.
- * org-colview-xemacs.el (org-columns-display-here): Don't try to
- calculate values if the underlying property is not set.
- (org-columns-string-to-number): Convert age strings back into
- fractional days.
- (org-agenda-colview-summarize): Handle extended summary types
- properly.
-
2009-11-13 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-format-drawer-function): New variable.
org-return-follows-link' is set and there is nothing else to do in
this line.
- 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc>
-
- * org-colview-xemacs.el: Add in changes from org-colview.el.
-
2009-11-13 Dan Davison <davison@stats.ox.ac.uk>
* org-exp-blocks.el: Modify split separator regexp to avoid empty
* org-colview.el (org-columns, org-columns-redo)
(org-agenda-columns): Don't use `goto-line'.
- * org-colview-xemacs.el (org-columns, org-agenda-columns):
- Don't use `goto-line'.
-
* org-agenda.el (org-agenda-mode): Force visual line motion off.
(org-agenda-add-entry-text-maxlines): Improve docstring.
(org-agenda-start-with-entry-text-mode): New option.
* org-colview.el (org-columns-edit-value, org-columns-new)
(org-insert-columns-dblock): Use org-icompleting-read.
- * org-colview-xemacs.el (org-columns-edit-value)
- (org-columns-new, org-insert-columns-dblock):
- Use org-icompleting-read.
-
* org-attach.el (org-attach-delete-one, org-attach-open):
Use org-icompleting-read.
in column values.
(org-columns-capture-view): Exclude comment and archived trees.
- * org-colview-xemacs.el (org-columns-capture-view):
- Protect vertical bars in column values.
- (org-columns-capture-view): Exclude comment and archived trees.
-
* org.el (org-quote-vert): New function.
* org-latex.el (org-export-latex-verbatim-wrap): New option.
* org-colview.el (org-dblock-write:columnview): Allow indented
#+TBLFM line.
- * org-colview-xemacs.el (org-dblock-write:columnview):
- Allow indented #+TBLFM line.
-
* org-clock.el (org-dblock-write:clocktable): Allow indented
#+TBLFM line.
* org.el (org-enable-priority-commands): New option.
- * org-colview-xemacs.el (org-columns-compute)
- (org-columns-number-to-string): Fix problems with empty fields.
-
* org-colview.el (org-columns-compute)
(org-columns-number-to-string): Fix problems with empty fields.
(org-export-region-as-latex): Use the property list.
(org-export-as-latex): ????
- * org-colview-xemacs.el (org-columns-remove-overlays)
- (org-columns): Fix call to `local-variable-p'.
-
2009-08-06 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-after-blockquotes-hook): New hook.
(org-columns-remove-overlays): Restore the value of `truncate-lines'.
(org-columns): Remember the value of `truncate-lines'.
- * org-colview-xemacs.el (org-colview-initial-truncate-line-value):
- New variable.
- (org-columns-remove-overlays): Restore the value of
- `truncate-lines'.
- (org-columns): Remember the value of `truncate-lines'.
-
* org.el (org-columns-skip-arrchived-trees): New option.
* org-agenda.el (org-agenda-export-html-style): Define color for
Better error catching when a date/time property does not have allowed
values defined.
- * org-colview-xemacs.el (org-colview-construct-allowed-dates):
- Better error catching when a date/time property does not have
- allowed values defined.
-
2009-01-25 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-map-entries): Restore point and restriction after
* org-colview.el (org-columns-edit-value, org-columns-new)
(org-insert-columns-dblock): Use `org-ido-completing-read'.
- * org-colview-xemacs.el (org-columns-edit-value)
- (org-columns-new, org-insert-columns-dblock):
- Use `org-ido-completing-read'.
-
* org-attach.el (org-attach-delete-one, org-attach-open):
Use `org-ido-completing-read'.
* org-colview.el (org-columns-get-format-and-top-level):
Remove resetting the marker.
- * org-colview-xemacs.el (org-columns-get-format-and-top-level):
- Remove resetting the marker.
-
* org.el (org-entry-property-inherited-from): Improve docstring.
(org-entry-get-with-inheritance): Reset marker before starting the
search.
(org-columns-next-allowed-value):
Use `org-colview-construct-allowed-dates'.
- * org-colview-xemacs.el (org-colview-construct-allowed-dates):
- New function.
- (org-columns-next-allowed-value):
- Use `org-colview-construct-allowed-dates'.
-
* org.el (org-protect-slash): New function.
(org-get-refile-targets): Use `org-protect-slash'.
* org-colview.el (org-columns-display-here):
Use `org-columns-modify-value-for-display-function'.
- * org-colview-xemacs.el (org-columns-display-here):
- Use `org-columns-modify-value-for-display-function'.
-
* org.el (org-columns-modify-value-for-display-function): New option.
* org-publish.el (org-publish-file): Make sure the directory match
* org-colview.el (org-columns-next-allowed-value): Bug fix.
- * org-colview-xemacs.el (org-columns-next-allowed-value): Bug fix.
-
* org-agenda.el (org-agenda-get-closed): Get the end time into the
agenda prefix as well.
* org-colview.el (org-columns-next-allowed-value): Handle next
argument NTH to directly select a value.
- * org-colview-xemacs.el (org-columns-next-allowed-value): Handle next
- argument NTH to directly select a value.
-
2008-06-17 Carsten Dominik <dominik@science.uva.nl>
* org-agenda.el (org-agenda-scheduled-leaders): Fix docstring.
* org-clock.el (org-clock-display, org-clock-out)
(org-update-mode-line): Use `org-time-clocksum-format'.
- * org-colview-xemacs.el (org-columns-number-to-string):
- Use `org-time-clocksum-format'.
-
* org-colview.el (org-columns-number-to-string):
Use `org-time-clocksum-format'.
(set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter))
(funcall filter proc string))))
+ (defvar gdb-control-level 0)
+
;;;###autoload
(defun gdb (command-line)
"Run gdb on program FILE in buffer *gud-FILE*.
(set-process-filter proc #'gdb--check-interpreter))
(set (make-local-variable 'gud-minor-mode) 'gdbmi)
+ (set (make-local-variable 'gdb-control-level) 0)
(setq comint-input-sender 'gdb-send)
(when (ring-empty-p comint-input-ring) ; cf shell-mode
(let ((hfile (expand-file-name (or (getenv "GDBHISTFILE")
(gdb-clear-inferior-io)
(gdb-inferior-io--init-proc (get-process "gdb-inferior"))
- (if (eq window-system 'w32)
- (gdb-input "-gdb-set new-console off" 'ignore))
+ (when (eq system-type 'windows-nt)
+ ;; Don't create a separate console window for the debuggee.
+ (gdb-input "-gdb-set new-console off" 'ignore)
+ ;; Force GDB to behave as if its input and output stream were
+ ;; connected to a TTY device (since on Windows we use pipes for
+ ;; communicating with GDB).
+ (gdb-input "-gdb-set interactive-mode on" 'ignore))
(gdb-input "-gdb-set height 0" 'ignore)
(when gdb-non-stop
(if gdb-speedbar-auto-raise "en" "dis"))))
(define-key gud-minor-mode-map "\C-c\C-w" 'gud-watch)
-(define-key global-map (concat gud-key-prefix "\C-w") 'gud-watch)
+(define-key global-map (vconcat gud-key-prefix "\C-w") 'gud-watch)
(declare-function tooltip-identifier-from-point "tooltip" (point))
:group 'gdb)
\f
+ (defvar gdb-control-commands-regexp
+ (concat
+ "^\\("
+ "commands\\|if\\|while\\|define\\|document\\|python\\|"
+ "while-stepping\\|stepping\\|ws\\|actions"
+ "\\)\\([[:blank:]]+.*\\)?$")
+ "Regexp matching GDB commands that enter a recursive reading loop.
+ As long as GDB is in the recursive reading loop, it does not expect
+ commands to be prefixed by \"-interpreter-exec console\".")
+
(defun gdb-send (proc string)
"A comint send filter for gdb."
(with-current-buffer gud-comint-buffer
(if (not (string= "" string))
(setq gdb-last-command string)
(if gdb-last-command (setq string gdb-last-command)))
- (if (string-match "^-" string)
- ;; MI command
+ (if (or (string-match "^-" string)
+ (> gdb-control-level 0))
+ ;; Either MI command or we are feeding GDB's recursive reading loop.
(progn
(setq gdb-first-done-or-error t)
- (process-send-string proc (concat string "\n")))
+ (process-send-string proc (concat string "\n"))
+ (if (and (string-match "^end$" string)
+ (> gdb-control-level 0))
+ (setq gdb-control-level (1- gdb-control-level))))
;; CLI command
(if (string-match "\\\\$" string)
(setq gdb-continuation (concat gdb-continuation string "\n"))
(if gdb-enable-debug
(push (cons 'mi-send to-send) gdb-debug-log))
(process-send-string proc to-send))
- (setq gdb-continuation nil))))
+ (if (and (string-match "^end$" string)
+ (> gdb-control-level 0))
+ (setq gdb-control-level (1- gdb-control-level)))
+ (setq gdb-continuation nil)))
+ (if (string-match gdb-control-commands-regexp string)
+ (setq gdb-control-level (1+ gdb-control-level))))
(defun gdb-mi-quote (string)
"Return STRING quoted properly as an MI argument.
;;; which-func.el --- print current function in mode line
-;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
;; Author: Alex Rezinsky <alexr@msil.sps.mot.com>
;; (doesn't seem to be responsive any more)
"String to display in the mode line when current function is unknown.")
(defgroup which-func nil
- "Mode to display the current function name in the modeline."
+ "Display the current function name in the modeline."
:group 'tools
:version "20.3")
-(defcustom which-func-modes
- '(emacs-lisp-mode c-mode c++-mode perl-mode cperl-mode python-mode
- makefile-mode sh-mode fortran-mode f90-mode ada-mode
- diff-mode)
+(defcustom which-func-modes t
+ ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode
+ ;; makefile-mode sh-mode fortran-mode f90-mode ada-mode
+ ;; diff-mode)
"List of major modes for which Which Function mode should be used.
For other modes it is disabled. If this is equal to t,
then Which Function mode is enabled in any major mode that supports it."
:group 'which-func
+ :version "24.2" ; explicit list -> t
:type '(choice (const :tag "All modes" t)
(repeat (symbol :tag "Major mode"))))
(defvar which-func-table (make-hash-table :test 'eq :weakness 'key))
(defconst which-func-current
- '(:eval (gethash (selected-window) which-func-table which-func-unknown)))
+ '(:eval (replace-regexp-in-string
+ "%" "%%"
+ (gethash (selected-window) which-func-table which-func-unknown))))
;;;###autoload (put 'which-func-current 'risky-local-variable t)
(defvar which-func-mode nil
:type '(choice (const :tag "Delete active region" t)
(const :tag "Kill active region" kill)
(const :tag "Do ordinary deletion" nil))
- :group 'editing
+ :group 'killing
:version "24.1")
(defun delete-backward-char (n &optional killflag)
"Switch used to have the shell execute its command line argument.")
(defvar shell-command-default-error-buffer nil
- "*Buffer name for `shell-command' and `shell-command-on-region' error output.
+ "Buffer name for `shell-command' and `shell-command-on-region' error output.
This buffer is used when `shell-command' or `shell-command-on-region'
is run interactively. A value of nil means that output to stderr and
stdout will be intermixed in the output stream.")
"Kill up to and including ARGth occurrence of CHAR.
Case is ignored if `case-fold-search' is non-nil in the current buffer.
Goes backward if ARG is negative; error if CHAR not found."
- (interactive "p\ncZap to char: ")
+ (interactive (list (prefix-numeric-value current-prefix-arg)
+ (read-char "Zap to char: " t)))
;; Avoid "obsolete" warnings for translation-table-for-input.
(with-no-warnings
(if (char-table-p translation-table-for-input)
(setq char (or (aref translation-table-for-input char) char))))
(kill-region (point) (progn
(search-forward (char-to-string char) nil nil arg)
-; (goto-char (if (> arg 0) (1- (point)) (1+ (point))))
(point))))
;; kill-line and its subroutines.
;; a cleaner solution to the problem of making C-n do something
;; useful given a tall image.
(defun line-move (arg &optional noerror to-end try-vscroll)
- (unless (and auto-window-vscroll try-vscroll
- ;; Only vscroll for single line moves
- (= (abs arg) 1)
- ;; But don't vscroll in a keyboard macro.
- (not defining-kbd-macro)
- (not executing-kbd-macro)
- (line-move-partial arg noerror to-end))
- (set-window-vscroll nil 0 t)
- (if (and line-move-visual
- ;; Display-based column are incompatible with goal-column.
- (not goal-column)
- ;; When the text in the window is scrolled to the left,
- ;; display-based motion doesn't make sense (because each
- ;; logical line occupies exactly one screen line).
- (not (> (window-hscroll) 0)))
- (line-move-visual arg noerror)
- (line-move-1 arg noerror to-end))))
+ (if noninteractive
+ (forward-line arg)
+ (unless (and auto-window-vscroll try-vscroll
+ ;; Only vscroll for single line moves
+ (= (abs arg) 1)
+ ;; But don't vscroll in a keyboard macro.
+ (not defining-kbd-macro)
+ (not executing-kbd-macro)
+ (line-move-partial arg noerror to-end))
+ (set-window-vscroll nil 0 t)
+ (if (and line-move-visual
+ ;; Display-based column are incompatible with goal-column.
+ (not goal-column)
+ ;; When the text in the window is scrolled to the left,
+ ;; display-based motion doesn't make sense (because each
+ ;; logical line occupies exactly one screen line).
+ (not (> (window-hscroll) 0)))
+ (line-move-visual arg noerror)
+ (line-move-1 arg noerror to-end)))))
;; Display-based alternative to line-move-1.
;; Arg says how many lines to move. The value is t if we can move the
t)))
(defvar comment-line-break-function 'comment-indent-new-line
- "*Mode-specific function which line breaks and continues a comment.
+ "Mode-specific function which line breaks and continues a comment.
This function is called during auto-filling when a comment syntax
is defined.
The function should take a single optional argument, which is a flag
With a prefix argument, set VARIABLE to VALUE buffer-locally."
(interactive
(let* ((default-var (variable-at-point))
- (var (if (user-variable-p default-var)
+ (var (if (custom-variable-p default-var)
(read-variable (format "Set variable (default %s): " default-var)
default-var)
(read-variable "Set variable: ")))
(defcustom initial-buffer-choice nil
"Buffer to show after starting Emacs.
If the value is nil and `inhibit-startup-screen' is nil, show the
- startup screen. If the value is string, visit the specified file
+ startup screen. If the value is a string, visit the specified file
or directory using `find-file'. If t, open the `*scratch*'
buffer."
:type '(choice
;; of that dir into load-path,
;; Look for a leim-list.el file too. Loading it will register
;; available input methods.
- (let ((tail load-path) dir)
+ (let ((tail load-path)
+ (lispdir (expand-file-name "../lisp" data-directory))
+ ;; For out-of-tree builds, leim-list is generated in the build dir.
+;;; (leimdir (expand-file-name "../leim" doc-directory))
+ dir)
(while tail
(setq dir (car tail))
(let ((default-directory dir))
(load (expand-file-name "subdirs.el") t t t))
- (let ((default-directory dir))
- (load (expand-file-name "leim-list.el") t t t))
+ ;; Do not scan standard directories that won't contain a leim-list.el.
+ ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html
+ (or (string-match (concat "\\`" lispdir) dir)
+ (let ((default-directory dir))
+ (load (expand-file-name "leim-list.el") t t t)))
;; We don't use a dolist loop and we put this "setq-cdr" command at
;; the end, because the subdirs.el files may add elements to the end
;; of load-path and we want to take it into account.
(or mail-host-address
(system-name))))))
- ;; Originally face attributes were specified via
- ;; `font-lock-face-attributes'. Users then changed the default
- ;; face attributes by setting that variable. However, we try and
- ;; be back-compatible and respect its value if set except for
- ;; faces where M-x customize has been used to save changes for the
- ;; face.
- (when (boundp 'font-lock-face-attributes)
- (let ((face-attributes font-lock-face-attributes))
- (while face-attributes
- (let* ((face-attribute (pop face-attributes))
- (face (car face-attribute)))
- ;; Rustle up a `defface' SPEC from a
- ;; `font-lock-face-attributes' entry.
- (unless (get face 'saved-face)
- (let ((foreground (nth 1 face-attribute))
- (background (nth 2 face-attribute))
- (bold-p (nth 3 face-attribute))
- (italic-p (nth 4 face-attribute))
- (underline-p (nth 5 face-attribute))
- face-spec)
- (when foreground
- (setq face-spec (cons ':foreground (cons foreground face-spec))))
- (when background
- (setq face-spec (cons ':background (cons background face-spec))))
- (when bold-p
- (setq face-spec (append '(:weight bold) face-spec)))
- (when italic-p
- (setq face-spec (append '(:slant italic) face-spec)))
- (when underline-p
- (setq face-spec (append '(:underline t) face-spec)))
- (face-spec-set face (list (list t face-spec)) nil)))))))
-
;; If parameter have been changed in the init file which influence
;; face realization, clear the face cache so that new faces will
;; be realized.
;; Process the bindings starting from the end.
(dolist (binding (prog1 bindings (setq bindings ())))
(let* ((key (car binding))
- (item (cdr binding))
(oldbind (assq key bindings)))
(push (if (not oldbind)
;; The normal case: no duplicate bindings.
(defsubst eventp (obj)
"True if the argument is an event object."
(or (and (integerp obj)
+ ;; FIXME: Why bother?
;; Filter out integers too large to be events.
;; M is the biggest modifier.
(zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1)))))
;;;; Input and display facilities.
(defvar read-quoted-char-radix 8
- "*Radix for \\[quoted-insert] and other uses of `read-quoted-char'.
+ "Radix for \\[quoted-insert] and other uses of `read-quoted-char'.
Legitimate radix values are 8, 10 and 16.")
(custom-declare-variable-early
So escape sequences and keyboard encoding are taken into account.
When there's an ambiguity because the key looks like the prefix of
some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
+ ;; This overriding-terminal-local-map binding also happens to
+ ;; disable quail's input methods, so although read-key-sequence
+ ;; always inherits the input method, in practice read-key does not
+ ;; inherit the input method (at least not if it's based on quail).
(let ((overriding-terminal-local-map read-key-empty-map)
(overriding-local-map nil)
(echo-keystrokes 0)
(let ((map (make-sparse-keymap)))
;; Don't hide the menu-bar and tool-bar entries.
(define-key map [menu-bar] (lookup-key global-map [menu-bar]))
- (define-key map [tool-bar] (lookup-key global-map [tool-bar]))
+ (define-key map [tool-bar]
+ ;; This hack avoids evaluating the :filter (Bug#9922).
+ (or (cdr (assq 'tool-bar global-map))
+ (lookup-key global-map [tool-bar])))
map))
(aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0))
(cancel-timer timer)
This function echoes `.' for each character that the user types.
-The user ends with RET, LFD, or ESC. DEL or C-h rubs out.
-C-y yanks the current kill. C-u kills line.
-C-g quits; if `inhibit-quit' was non-nil around this function,
-then it returns nil if the user types C-g, but `quit-flag' remains set.
-
Once the caller uses the password, it can erase the password
by doing (clear-string STRING)."
- (with-local-quit
- (if confirm
- (let (success)
- (while (not success)
- (let ((first (read-passwd prompt nil default))
- (second (read-passwd "Confirm password: " nil default)))
- (if (equal first second)
- (progn
- (and (arrayp second) (clear-string second))
- (setq success first))
- (and (arrayp first) (clear-string first))
- (and (arrayp second) (clear-string second))
- (message "Password not repeated accurately; please start over")
- (sit-for 1))))
- success)
- (let ((pass nil)
- ;; Copy it so that add-text-properties won't modify
- ;; the object that was passed in by the caller.
- (prompt (copy-sequence prompt))
- (c 0)
- (echo-keystrokes 0)
- (cursor-in-echo-area t)
- (message-log-max nil)
- (stop-keys (list 'return ?\r ?\n ?\e))
- (rubout-keys (list 'backspace ?\b ?\177)))
- (add-text-properties 0 (length prompt)
- minibuffer-prompt-properties prompt)
- (while (progn (message "%s%s"
- prompt
- (make-string (length pass) ?.))
- (setq c (read-key))
- (not (memq c stop-keys)))
- (clear-this-command-keys)
- (cond ((memq c rubout-keys) ; rubout
- (when (> (length pass) 0)
- (let ((new-pass (substring pass 0 -1)))
- (and (arrayp pass) (clear-string pass))
- (setq pass new-pass))))
- ((eq c ?\C-g) (keyboard-quit))
- ((not (numberp c)))
- ((= c ?\C-u) ; kill line
- (and (arrayp pass) (clear-string pass))
- (setq pass ""))
- ((= c ?\C-y) ; yank
- (let* ((str (condition-case nil
- (current-kill 0)
- (error nil)))
- new-pass)
- (when str
- (setq new-pass
- (concat pass
- (substring-no-properties str)))
- (and (arrayp pass) (clear-string pass))
- (setq c ?\0)
- (setq pass new-pass))))
- ((characterp c) ; insert char
- (let* ((new-char (char-to-string c))
- (new-pass (concat pass new-char)))
- (and (arrayp pass) (clear-string pass))
- (clear-string new-char)
- (setq c ?\0)
- (setq pass new-pass)))))
- (message nil)
- (or pass default "")))))
+ (if confirm
+ (let (success)
+ (while (not success)
+ (let ((first (read-passwd prompt nil default))
+ (second (read-passwd "Confirm password: " nil default)))
+ (if (equal first second)
+ (progn
+ (and (arrayp second) (clear-string second))
+ (setq success first))
+ (and (arrayp first) (clear-string first))
+ (and (arrayp second) (clear-string second))
+ (message "Password not repeated accurately; please start over")
+ (sit-for 1))))
+ success)
+ (let (minibuf)
+ (minibuffer-with-setup-hook
+ (lambda ()
+ (setq minibuf (current-buffer))
+ ;; Turn off electricity.
+ (set (make-local-variable 'post-self-insert-hook) nil)
+ (add-hook 'after-change-functions
+ (lambda (beg end _len)
+ (clear-this-command-keys)
+ (setq beg (min end (max (minibuffer-prompt-end)
+ beg)))
+ (dotimes (i (- end beg))
+ (put-text-property (+ i beg) (+ 1 i beg)
+ 'display (string ?.))))
+ nil t))
+ (unwind-protect
+ (read-string prompt nil
+ (let ((sym (make-symbol "forget-history")))
+ (set sym nil)
+ sym)
+ default)
+ (when (buffer-live-p minibuf)
+ (with-current-buffer minibuf (erase-buffer))))))))
;; This should be used by `call-interactively' for `n' specs.
(defun read-number (prompt &optional default)
This finishes the change group by accepting its changes as final."
(dolist (elt handle)
(with-current-buffer (car elt)
- (if (eq elt t)
+ (if (eq (cdr elt) t)
(setq buffer-undo-list t)))))
(defun cancel-change-group (handle)
To replace only the first match (if any), make REGEXP match up to \\'
and replace a sub-expression, e.g.
(replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1)
- => \" bar foo\"
-"
+ => \" bar foo\""
;; To avoid excessive consing from multiple matches in long strings,
;; don't just call `replace-match' continually. Walk down the
-;;; vc-git.el --- VC backend for the git version control system
+;;; vc-git.el --- VC backend for the git version control system -*- lexical-binding: t -*-
;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
;;; BACKEND PROPERTIES
(defun vc-git-revision-granularity () 'repository)
-(defun vc-git-checkout-model (files) 'implicit)
+(defun vc-git-checkout-model (_files) 'implicit)
;;; STATE-QUERYING FUNCTIONS
(let ((diff (vc-git--run-command-string
file "diff-index" "-p" "--raw" "-z" "HEAD" "--")))
(if (and diff
- (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.\\)?"
+ (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.*\n.\\)?"
diff))
(let ((diff-letter (match-string 1 diff)))
(if (not (match-beginning 2))
(vc-git--state-code diff-letter)))
(if (vc-git--empty-db-p) 'added 'up-to-date)))))
-(defun vc-git-working-revision (file)
+(defun vc-git-working-revision (_file)
"Git-specific version of `vc-working-revision'."
(let* (process-file-side-effects
(str (with-output-to-string
(vc-exec-after
`(vc-git-after-dir-status-stage ',stage ',files ',update-function)))
-(defun vc-git-dir-status (dir update-function)
+(defun vc-git-dir-status (_dir update-function)
"Return a list of (FILE STATE EXTRA) entries for DIR."
;; Further things that would have to be fixed later:
;; - how to handle unregistered directories
;; - how to support vc-dir on a subdir of the project tree
(vc-git-dir-status-goto-stage 'update-index nil update-function))
-(defun vc-git-dir-status-files (dir files default-state update-function)
+(defun vc-git-dir-status-files (_dir files _default-state update-function)
"Return a list of (FILE STATE EXTRA) entries for FILES in DIR."
(vc-git-dir-status-goto-stage 'update-index files update-function))
:help "Show the contents of the current stash"))
map))
-(defun vc-git-dir-extra-headers (dir)
+(defun vc-git-dir-extra-headers (_dir)
(let ((str (with-output-to-string
(with-current-buffer standard-output
(vc-git--out-ok "symbolic-ref" "HEAD"))))
"Create a new Git repository."
(vc-git-command nil 0 nil "init"))
-(defun vc-git-register (files &optional rev comment)
+(defun vc-git-register (files &optional _rev _comment)
"Register FILES into the git version-control system."
(let (flist dlist)
(dolist (crt files)
(declare-function log-edit-extract-headers "log-edit" (headers string))
-(defun vc-git-checkin (files rev comment)
+(defun vc-git-checkin (files _rev comment)
(let ((coding-system-for-write vc-git-commits-coding-system))
(apply 'vc-git-command nil 0 files
(nconc (list "commit" "-m")
nil
"cat-file" "blob" (concat (if rev rev "HEAD") ":" fullname))))
-(defun vc-git-checkout (file &optional editable rev)
+(defun vc-git-checkout (file &optional _editable rev)
(vc-git-command nil 0 file "checkout" (or rev "HEAD")))
(defun vc-git-revert (file &optional contents-done)
(append (vc-switches 'git 'diff)
(list "-p" (or rev1 "HEAD") rev2 "--")))))
-(defun vc-git-revision-table (files)
+(defun vc-git-revision-table (_files)
;; What about `files'?!? --Stef
(let (process-file-side-effects
(table (list "HEAD")))
table))
(defun vc-git-revision-completion-table (files)
- (lexical-let ((files files)
- table)
- (setq table (lazy-completion-table
- table (lambda () (vc-git-revision-table files))))
+ (letrec ((table (lazy-completion-table
+ table (lambda () (vc-git-revision-table files)))))
table))
(defun vc-git-annotate-command (file buf &optional rev)
(vc-git-command nil 0 nil "checkout" "-b" name)
(vc-git-command nil 0 nil "tag" name)))))
-(defun vc-git-retrieve-tag (dir name update)
+(defun vc-git-retrieve-tag (dir name _update)
(let ((default-directory dir))
(vc-git-command nil 0 nil "checkout" name)
;; FIXME: update buffers if `update' is true
instead."
(setq window (window-normalize-window window))
(let* ((frame (window-frame window))
+ (minibuffer-window (minibuffer-window frame))
sibling)
(cond
((eq window (frame-root-window frame))
(error "Cannot resize the root window of a frame"))
- ((window-minibuffer-p window)
+ ((window-minibuffer-p window)
- (window--resize-mini-window window delta))
+ (if horizontal
+ (error "Cannot resize minibuffer window horizontally")
+ (window--resize-mini-window window delta)))
+ ((and (not horizontal)
+ (window-full-height-p window)
+ (eq (window-frame minibuffer-window) frame)
+ (or (not resize-mini-windows)
+ (eq minibuffer-window (active-minibuffer-window))))
+ ;; If WINDOW is full height and either `resize-mini-windows' is
+ ;; nil or the minibuffer window is active, resize the minibuffer
+ ;; window.
+ (window--resize-mini-window minibuffer-window (- delta)))
((window--resizable-p window delta horizontal ignore)
(window--resize-reset frame horizontal)
(window--resize-this-window window delta horizontal ignore t)
the left. If the edge can't be moved by DELTA lines or columns,
move it as far as possible in the desired direction."
(setq window (window-normalize-window window))
- (let ((frame (window-frame window))
- (right window)
- left this-delta min-delta max-delta)
+ (let* ((frame (window-frame window))
+ (minibuffer-window (minibuffer-window frame))
+ (right window)
+ left this-delta min-delta max-delta)
;; Find the edge we want to move.
(while (and (or (not (window-combined-p right horizontal))
(not (window-right right)))
(setq right (window-parent right))))
(cond
- ((and (not right) (not horizontal) (not resize-mini-windows)
- (eq (window-frame (minibuffer-window frame)) frame))
- (window--resize-mini-window (minibuffer-window frame) (- delta)))
+ ((and (not right) (not horizontal)
+ ;; Resize the minibuffer window if it's on the same frame as
+ ;; and immediately below WINDOW and it's either active or
+ ;; `resize-mini-windows' is nil.
+ (eq (window-frame minibuffer-window) frame)
+ (= (nth 1 (window-edges minibuffer-window))
+ (nth 3 (window-edges window)))
+ (or (not resize-mini-windows)
+ (eq minibuffer-window (active-minibuffer-window))))
+ (window--resize-mini-window minibuffer-window (- delta)))
((or (not (setq left right)) (not (setq right (window-right right))))
(if horizontal
(error "No window on the right of this one")
negative, shrink selected window by -DELTA lines or columns.
Return nil."
(interactive "p")
- (cond
- ((zerop delta))
- ((window-size-fixed-p nil horizontal)
- (error "Selected window has fixed size"))
- ((window--resizable-p nil delta horizontal)
- (window-resize nil delta horizontal))
- (t
- (window-resize
- nil (if (> delta 0)
- (window-max-delta nil horizontal)
- (- (window-min-delta nil horizontal)))
- horizontal))))
+ (let ((minibuffer-window (minibuffer-window)))
+ (cond
+ ((zerop delta))
+ ((window-size-fixed-p nil horizontal)
+ (error "Selected window has fixed size"))
+ ((window-minibuffer-p)
+ (if horizontal
+ (error "Cannot resize minibuffer window horizontally")
+ (window--resize-mini-window (selected-window) delta)))
+ ((and (not horizontal)
+ (window-full-height-p)
+ (eq (window-frame minibuffer-window) (selected-frame))
+ (not resize-mini-windows))
+ ;; If the selected window is full height and `resize-mini-windows'
+ ;; is nil, resize the minibuffer window.
+ (window--resize-mini-window minibuffer-window (- delta)))
+ ((window--resizable-p nil delta horizontal)
+ (window-resize nil delta horizontal))
+ (t
+ (window-resize
+ nil (if (> delta 0)
+ (window-max-delta nil horizontal)
+ (- (window-min-delta nil horizontal)))
+ horizontal)))))
(defun shrink-window (delta &optional horizontal)
"Make the selected window DELTA lines smaller.
Also see the `window-min-height' variable.
Return nil."
(interactive "p")
- (cond
- ((zerop delta))
- ((window-size-fixed-p nil horizontal)
- (error "Selected window has fixed size"))
- ((window--resizable-p nil (- delta) horizontal)
- (window-resize nil (- delta) horizontal))
- (t
- (window-resize
- nil (if (> delta 0)
- (- (window-min-delta nil horizontal))
- (window-max-delta nil horizontal))
- horizontal))))
+ (let ((minibuffer-window (minibuffer-window)))
+ (cond
+ ((zerop delta))
+ ((window-size-fixed-p nil horizontal)
+ (error "Selected window has fixed size"))
+ ((window-minibuffer-p)
+ (if horizontal
+ (error "Cannot resize minibuffer window horizontally")
+ (window--resize-mini-window (selected-window) (- delta))))
+ ((and (not horizontal)
+ (window-full-height-p)
+ (eq (window-frame minibuffer-window) (selected-frame))
+ (not resize-mini-windows))
+ ;; If the selected window is full height and `resize-mini-windows'
+ ;; is nil, resize the minibuffer window.
+ (window--resize-mini-window minibuffer-window delta))
+ ((window--resizable-p nil (- delta) horizontal)
+ (window-resize nil (- delta) horizontal))
+ (t
+ (window-resize
+ nil (if (> delta 0)
+ (- (window-min-delta nil horizontal))
+ (window-max-delta nil horizontal))
+ horizontal)))))
(defun maximize-window (&optional window)
"Maximize WINDOW.
(scroll-bars . ,(window-scroll-bars window))
(vscroll . ,(window-vscroll window))
(dedicated . ,(window-dedicated-p window))
- (point . ,(if writable point (copy-marker point)))
+ (point . ,(if writable point
+ (copy-marker point
+ (buffer-local-value
+ 'window-point-insertion-type
+ buffer))))
(start . ,(if writable start (copy-marker start)))))))))
(tail
(when (memq type '(vc hc))
\(depending on scrolling direction) when no more scrolling possible.
When point is already on that position, then signal an error."
:type 'boolean
- :group 'scrolling
+ :group 'windows
:version "24.1")
(defun scroll-up-command (&optional arg)
(setq mouse-autoselect-window-state nil)
;; Run `mouse-leave-buffer-hook' when autoselecting window.
(run-hooks 'mouse-leave-buffer-hook))
+ ;; Clear echo area.
+ (message nil)
(select-window window))))
(defun truncated-partial-width-window-p (&optional window)
-2012-04-24 Chong Yidong <cyd@gnu.org>
++2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * xselect.c (x_convert_selection): Initialize a pointer (Bug#11315).
+
-2012-04-23 Eli Zaretskii <eliz@gnu.org>
++2012-04-27 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (pos_visible_p): If the window start position is beyond
+ ZV, start the display from buffer beginning. Prevents assertion
+ violation in init_iterator when the minibuffer window is scrolled
+ via the scroll bar.
+
+ * window.c (window_scroll_pixel_based): Likewise.
+
-2012-04-23 Chong Yidong <cyd@gnu.org>
++2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * keymap.c (where_is_internal): Doc fix (Bug#10872).
+
-2012-04-20 Glenn Morris <rgm@gnu.org>
++2012-04-27 Glenn Morris <rgm@gnu.org>
+
+ * fileio.c (Fcopy_file, Fset_file_selinux_context):
+ Ignore ENOTSUP failures from setfilecon functions. (Bug#11245)
+
-2012-04-20 Eli Zaretskii <eliz@gnu.org>
++2012-04-27 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (swap_glyph_pointers, copy_row_except_pointers): Don't
+ overrun array limits of glyph row's used[] array. (Bug#11288)
+
+2012-04-26 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded
+ display element, check also the underlying string or buffer
+ character. (Bug#11341)
+
+ * w32menu.c: Include w32heap.h.
+ (add_menu_item): If the call to AppendMenuW (via
+ unicode_append_menu) fails, disable Unicode menus only if we are
+ running on Windows 9X/Me.
+
+2012-04-24 Andreas Schwab <schwab@linux-m68k.org>
+
+ * .gdbinit (xpr): Handle USE_2_TAGS_FOR_INTS.
+ (xgetint): Add missing shift for LSB tags.
+
+2012-04-24 Martin Rudalics <rudalics@gmx.at>
+
+ * keyboard.c (read_char): Don't wipe echo area for select window
+ events: These might get delayed via `mouse-autoselect-window'
+ (Bug#11304).
+
+2012-04-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnutls.c (init_gnutls_functions): Protect against (unlikely)
+ manipulation of :loaded-from data.
+
+2012-04-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnutls.c (init_gnutls_functions): The value of :loaded-from is
+ now a cons (bug#11311).
+
+2012-04-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not create empty overlays with the evaporate property (Bug#9642).
+ * buffer.c (Fmove_overlay): Delete an evaporating overlay
+ if it becomes empty after its bounds are adjusted to fit within
+ its buffer. Without this fix, in a nonempty buffer (let ((o
+ (make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1))
+ yields an empty overlay that has the evaporate property, which is
+ not supposed to happen.
+
+ Fix minor GTK3 problems found by static checking.
+ * emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
+ (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
+ (struct _EmacsFixedClass, emacs_fixed_get_type):
+ Move decls here from emacsgtkfixed.h, since they needn't be public.
+ (emacs_fixed_get_type): Now static.
+ (emacs_fixed_class_init): Omit unused local.
+ (emacs_fixed_child_type): Remove; unused.
+ * emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
+ (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
+ (struct _EmacsFixedClass): Move to emacsgtkfixed.c.
+ (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS)
+ (EMACS_FIXED_GET_CLASS): Remove; unused.
+ * gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local.
+
+ * keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO.
+ Problem reported by Juanma Barranquero for Windows -Wunused-function.
+
+2012-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Modernize and clean up gmalloc.c to assume C89 (Bug#9119).
+ * gmalloc.c: (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t)
+ (__malloc_size_t, __malloc_ptrdiff_t):
+ Remove. All uses removed, replaced by the definiens if needed,
+ since we can assume C89 or better now.
+ Include <stdint.h>, for PTRDIFF_MAX, uintptr_t.
+ (protect_malloc_state, align, get_contiguous_space)
+ (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
+ (malloc_atfork_handler_child, malloc_enable_thread)
+ (malloc_initialize_1, __malloc_initialize, morecore_nolock)
+ (_malloc_internal_nolock, _malloc_internal, malloc, _malloc)
+ (_free, _realloc, _free_internal_nolock, _free_internal, free, cfree)
+ (special_realloc, _realloc_internal_nolock, _realloc_internal)
+ (realloc, calloc, __default_morecore, memalign, valloc, checkhdr)
+ (freehook, mallochook, reallochook, mabort, mcheck, mprobe):
+ Define using prototypes, not old style.
+ (align, _malloc_internal_nolock, _free_internal_nolock, memalign):
+ Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long.
+ (align): Don't assume that signed integer overflow wraps around.
+ Omit unused local var.
+ (malloc_initialize_1, morecore_nolock, _malloc_internal_nolock)
+ (_free_internal_nolock, memalign, mallochook, reallochook):
+ Omit no-longer-needed casts.
+ (valloc): Use getpagesize, not __getpagesize.
+ (MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit.
+ (struct hdr): The 'magic' member is now size_t, not unsigned long.
+
+ * dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed.
+
+2012-04-22 Michael Albinus <michael.albinus@gmx.de>
+
+ Move functions from C to Lisp. Make non-blocking method calls
+ the default. Implement further D-Bus standard interfaces.
+
+ * dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare.
+ (QCdbus_request_name_allow_replacement)
+ (QCdbus_request_name_replace_existing)
+ (QCdbus_request_name_do_not_queue)
+ (QCdbus_request_name_reply_primary_owner)
+ (QCdbus_request_name_reply_in_queue)
+ (QCdbus_request_name_reply_exists)
+ (QCdbus_request_name_reply_already_owner): Move to dbus.el.
+ (QCdbus_registered_serial, QCdbus_registered_method)
+ (QCdbus_registered_signal): New Lisp objects.
+ (XD_DEBUG_MESSAGE): Use sizeof.
+ (XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING)
+ (XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT)
+ (XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH)
+ (XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros.
+ (XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL.
+ (xd_signature, xd_append_arg): Allow float for integer types.
+ (xd_get_connection_references): New function.
+ (xd_get_connection_address): Rename from xd_initialize. Return
+ cached address.
+ (xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS.
+ (xd_close_bus): Rename from Fdbus_close_bus. Not needed on Lisp
+ level.
+ (Fdbus_init_bus): New optional arg PRIVATE. Cache address.
+ Return number of recounts.
+ (Fdbus_get_unique_name): Make stronger parameter check.
+ (Fdbus_message_internal): New defun.
+ (Fdbus_call_method, Fdbus_call_method_asynchronously)
+ (Fdbus_method_return_internal, Fdbus_method_error_internal)
+ (Fdbus_send_signal, Fdbus_register_service)
+ (Fdbus_register_signal, Fdbus_register_method): Move to dbus.el.
+ (xd_read_message_1): Obey new structure of Vdbus_registered_objects.
+ (xd_read_queued_messages): Obey new structure of Vdbus_registered_buses.
+ (Vdbus_compiled_version, Vdbus_runtime_version)
+ (Vdbus_message_type_invalid, Vdbus_message_type_method_call)
+ (Vdbus_message_type_method_return, Vdbus_message_type_error)
+ (Vdbus_message_type_signal): New defvars.
+ (Vdbus_registered_buses, Vdbus_registered_objects_table): Adapt
+ docstring.
+
+2012-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix GC_MALLOC_CHECK debugging output on 64-bit hosts.
+ * alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]:
+ Do not assume ptrdiff_t is the same width as 'int'.
+
+ * alloc.c: Handle unusual debugging option combinations.
+ (GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
+ since the two debugging options are incompatible.
+ (GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
+ is defined.
+ (mem_init, mem_insert, mem_insert_fixup):
+ Define if GC_MARK_STACK || GC_MALLOC_CHECK.
+ (NEED_MEM_INSERT): Remove; no longer needed.
+
+2012-04-22 Leo Liu <sdl.web@gmail.com>
+
+ * sysdep.c (list_system_processes): Support Darwin (Bug#5725).
+
+2012-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * sysdep.c [__FreeBSD__]: Minor cleanups.
+ (list_system_processes, system_process_attributes) [__FreeBSD__]:
+ Use Emacs indenting style more consistently. Avoid some casts.
+ Use 'double' consistently rather than mixing 'float' and 'double'.
+
+2012-04-21 Eduard Wiebe <usenet@pusto.de>
+
+ * sysdep.c (list_system_processes, system_process_attributes): Add
+ implementation for FreeBSD (Bug#5243).
+
+2012-04-21 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lisp.mk (lisp): Update.
+
+2012-04-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.c (process_pending_signals): Define only if SYNC_INPUT.
+ It is never used otherwise.
+
+2012-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * print.c (print_preprocess): Only check print_depth if print-circle
+ is nil.
+ (print_object): Check for cycles even when print-circle is nil and
+ print-gensym is t, but only check print_depth if print-circle is nil.
+
2012-04-20 Chong Yidong <cyd@gnu.org>
* process.c (wait_reading_process_output): If EIO occurs on a pty,
set the status to "failed" and ensure that sentinel is run.
-2012-04-18 Glenn Morris <rgm@gnu.org>
+2012-04-20 Glenn Morris <rgm@gnu.org>
* process.c (Fset_process_inherit_coding_system_flag)
(Fset_process_query_on_exit_flag): Doc fix (mention return value).
(Fmake_network_process, Fmake_serial_process): Doc fix.
-2012-04-17 Eli Zaretskii <eliz@gnu.org>
+2012-04-20 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (string_buffer_position_lim): Limit starting position to
BEGV.
(set_cursor_from_row): If called for a mode-line or header-line
row, return zero immediately.
(try_cursor_movement): If inside continuation line, don't back up
- farther than the first row after the header line, if any. Don't
- consider the header-line row as "partially visible", even if
+ farther than the first row after the header line, if any.
+ Don't consider the header-line row as "partially visible", even if
MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero. (Bug#11261)
-2012-04-13 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
+2012-04-20 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
+
+ * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n"
+ (bug#11238).
- * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n" (bug#11238).
+2012-04-20 Teodor Zlatanov <tzz@lifelogs.com>
+2012-04-18 Paul Eggert <eggert@cs.ucla.edu>
-2012-04-10 Teodor Zlatanov <tzz@lifelogs.com>
+ configure: new option --enable-gcc-warnings (Bug#11207)
+ * Makefile.in (C_WARNINGS_SWITCH): Remove.
+ (WARN_CFLAGS, WERROR_CFLAGS): New macros.
+ (ALL_CFLAGS): Use new macros rather than old.
+ * process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
+ * regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore
+ -Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
+ -Wunused-result, -Wunused-variable. This should go away once
+ the Emacs and Gnulib regex code is merged.
+ (xmalloc, xrealloc): Now static.
+
+2012-04-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * dired.c (Fsystem_groups): Remove unused local.
+
+2012-04-17 Glenn Morris <rgm@gnu.org>
+
+ * dired.c (Fsystem_users): Doc fix.
+
+2012-04-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * dired.c (Fsystem_users, Fsystem_groups): New functions. (Bug#7900)
+ (syms_of_dired): Add them.
+
+2012-04-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor alloc.c problems found by static checking.
+ * alloc.c (_malloc_internal, _free_internal) [!DOUG_LEA_MALLOC]:
+ New extern decls, to avoid calling undeclared functions.
+ (dont_register_blocks): Define if ((!SYSTEM_MALLOC && !SYNC_INPUT)
+ && GC_MALLOC_CHECK), not if ((GC_MARK_STACK || defined
+ GC_MALLOC_CHECK) && GC_MALLOC_CHECK), to match when it's used.
+ (NEED_MEM_INSERT): New macro.
+ (mem_insert, mem_insert_fixup) [!NEED_MEM_INSERT]: Remove; unused.
+ Remove one incorrect comment and fix another.
+
+ Fix minor ralloc.c problems found by static checking.
+ See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
+ * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE)
+ (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused.
+ (r_alloc_sbrk): Now static.
+
+ Improve ralloc.c interface checking.
+ See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
+ * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc)
+ (r_alloc_free) [REL_ALLOC]: Move decls from here ...
+ * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable)
+ [REL_ALLOC]: ... to here, to check interface.
+ * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]:
+ Remove decls. This fixes an "It stinks!".
+
+ * alloc.c (which_symbols): Fix alignment issue / type clash.
+
+2012-04-15 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lisp.h (struct Lisp_Symbol): Remove explicit padding.
+ (struct Lisp_Misc_Any): Likewise.
+ (struct Lisp_Free): Likewise.
+ * alloc.c (union aligned_Lisp_Symbol): Define.
+ (SYMBOL_BLOCK_SIZE, struct symbol_block): Use union
+ aligned_Lisp_Symbol instead of struct Lisp_Symbol.
+ (union aligned_Lisp_Misc): Define.
+ (MARKER_BLOCK_SIZE, struct marker_block): Use union
+ aligned_Lisp_Misc instead of union Lisp_Misc.
+ (Fmake_symbol, allocate_misc, gc_sweep): Adjust.
+
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926).
+ * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS.
+ * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h:
+ * s/netbsd.h, s/sol2-6.h:
+ Remove definition of GC_MARK_STACK, since the default now works.
+ * s/aix4-2.h, s/hpux10-20.h, s/unixware.h:
+ Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's
+ no longer the default.
+ * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default.
+
+2012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
+
+ * lread.c (lisp_file_lexically_bound_p):
+ Fix hang at ";-*-\n" (bug#11238).
+
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
+ "unchanged" if its end.pos is beyond ZV. (Bug#11199)
+
+2012-04-14 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (constrainFrameRect): Always constrain when there is only
+ one screen (Bug#10962).
+
+2012-04-13 Ken Brown <kbrown@cornell.edu>
+
+ * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
+
+2012-04-13 Reuben Thomas <rrt@sc3d.org>
+
+ * indent.c (Fmove_to_column): Change interactive spec (Bug#739).
+
+2012-04-11 Daniel Colascione <dancol@dancol.org>
+
+ * s/cygwin.h: The vfork the #define in cygwin.h was protecting
+ against is gone. It's better to use vfork now so that when Cygwin
+ gains a new, working vfork, we use it automatically (bug#10398).
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (save_window_save): Obey window-point-insertion-type.
+
+2012-04-11 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
+
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (lisp_align_malloc): Remove unneeded prototype.
+
+2012-04-10 Jason S. Cornez <jcornez@ravenpack.com> (tiny change)
+
+ * keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
+ (force_quit_count): New var.
+ (handle_interrupt): Use it.
+
+2012-04-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * w32.c (w32_delayed_load): Record the full path of the library
+ being loaded (bug#10424).
+
+2012-04-09 Glenn Morris <rgm@gnu.org>
+
+ * doc.c (Fsnarf_documentation): Check variables, functions are bound,
+ not just in the obarray, before snarfing them. (Bug#11036)
+
+ * Makefile.in ($(leimdir)/leim-list.el):
+ Pass EMACS rather than BUILT_EMACS.
+
+2012-04-09 Teodor Zlatanov <tzz@lifelogs.com>
* process.c (make_process):
* process.h: Add integer `gnutls_handshakes_tried' member to
`GNUTLS_EMACS_HANDSHAKES_LIMIT' to limit the number of handshake
attempts per process (connection).
+2012-04-09 Chong Yidong <cyd@gnu.org>
+
+ * eval.c (Fuser_variable_p, user_variable_p_eh)
+ (lisp_indirect_variable): Functions deleted.
+ (Fdefvar): Caller changed.
+
+ * callint.c (Finteractive, Fcall_interactively):
+ * minibuf.c (Fread_variable): Callers changed.
+
2012-04-09 Eli Zaretskii <eliz@gnu.org>
- * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
- "unchanged" if its end.pos is beyond ZV. (Bug#11199)
+ * xdisp.c (set_cursor_from_row): If the display string appears in
+ the buffer at position that is closer to point than the position
+ after the display string, display the cursor on the first glyph of
+ the display string. Fixes cursor display when a 'display' text
+ property immediately follows invisible text. (Bug#11094)
-2012-04-09 Jan Djärv <jan.h.d@swipnet.se>
+2012-04-09 Paul Eggert <eggert@cs.ucla.edu>
- * nsterm.m (constrainFrameRect): Always constrain when there is only
- one screen (Bug#10962).
+ composite.c: use 'double' consistently
+ * composite.c (get_composition_id): Use 'double' consistently
+ instead of converting 'float' to 'double' and vice versa; this is
+ easier to understand and avoids a GCC warning.
+
+2012-04-09 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in: Generate leim-list with bootstrap-emacs, in
+ preparation for dumping it with emacs. (Bug#4789)
+ (leimdir): New variable.
+ ($(leimdir)/leim-list.el): New rule.
+ (emacs$(EXEEXT)): Depend on leim-list.el.
+
+ * buffer.c (Qucs_set_table_for_input): Remove. (Bug#9821)
+ (Fget_buffer_create): Don't call Qucs_set_table_for_input.
+ (init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input.
+
+2012-04-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lisp.h (struct Lisp_Symbol): Add explicit padding to ensure
+ proper alignment.
+
+2012-04-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * xml.c (init_libxml2_functions) [WINDOWSNT]:
+ Remove unused local variable.
+
+2012-04-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid unnecessary pointer scanning in garbage collection (Bug#10780).
+ * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro.
+ (mark_memory): Mark Lisp_Objects only if pointers might hide in
+ objects, as mark_maybe_pointer will catch them otherwise.
+ (GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed.
+ * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise.
+
+2012-04-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix typo that broke non-Windows builds.
+ * xml.c (libxml2_loaded_p) [!!WINDOWSNT]: 'inine' -> 'inline'.
+
+2012-04-07 Eli Zaretskii <eliz@gnu.org>
+
+ Support building on MS-Windows with libxml2.
+
+ * makefile.w32-in (OBJ2): Add xml.$(O).
+ (GLOBAL_SOURCES): Add xml.c.
+ ($(BLD)/xml.$(O)): New dependency list.
+
+ * xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
+ (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
+ (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
+ [!WINDOWSNT]: New macros.
+ (init_libxml2_functions, libxml2_loaded_p): New functions.
+ (parse_region): Call fn_xmlCheckVersion instead of using the macro
+ LIBXML_TEST_VERSION. Call libxml2 functions via the fn_* macros.
+ (xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
+ Calls xmlCleanupParser only if libxml2 was loaded (or statically
+ linked in).
+ (Flibxml_parse_html_region, Flibxml_parse_xml_region):
+ Call init_libxml2_functions before calling libxml2 functions.
+ (syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
+
+ * emacs.c: Don't include libxml/parser.h.
+ (shut_down_emacs): Call xml_cleanup_parser, instead of calling
+ xmlCleanupParser directly.
+
+ * lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.
+
+2012-04-07 Eli Zaretskii <eliz@gnu.org>
+
+ * indent.c (Fvertical_motion): If there is a display string at
+ point, use it.vpos to compute how many lines to backtrack after
+ move_it_to point. (Bug#11133)
2012-04-06 Eli Zaretskii <eliz@gnu.org>
* xfns.c (unwind_create_frame): Fix comment.
(Fx_create_frame, x_create_tip_frame):
Move terminal->reference_count++ just before making the frame
- official. Move initialization of image_cache_refcount and
+ official. Move initialization of image_cache_refcount and
dpyinfo_refcount before calling init_frame_faces (Bug#9943).
2011-11-05 Eli Zaretskii <eliz@gnu.org>
* xfaces.c <Qunspecified>: Make extern again.
* syntax.c: Include sys/types.h before including regex.h, as
- required by Posix.
+ required by POSIX.
* doc.c (get_doc_string): Improve the format passed to `error'.
;; coding: utf-8
;; End:
- Copyright (C) 2011-2012 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* File IO for GNU Emacs.
- Copyright (C) 1985-1988, 1993-2012 Free Software Foundation, Inc.
+ Copyright (C) 1985-1988, 1993-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#if HAVE_LIBSELINUX
if (conlength > 0)
{
- /* Set the modified context back to the file. */
+ /* Set the modified context back to the file. */
fail = fsetfilecon (ofd, con);
- if (fail)
+ /* See http://debbugs.gnu.org/11245 for ENOTSUP. */
+ if (fail && errno != ENOTSUP)
report_file_error ("Doing fsetfilecon", Fcons (newname, Qnil));
freecon (con);
error ("Doing context_range_set");
}
- /* Set the modified context back to the file. */
+ /* Set the modified context back to the file. */
fail = lsetfilecon (SSDATA (encoded_absname),
context_str (parsed_con));
- if (fail)
+ /* See http://debbugs.gnu.org/11245 for ENOTSUP. */
+ if (fail && errno != ENOTSUP)
report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil));
context_free (parsed_con);
DEFSYM (Qexcl, "excl");
DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system,
- doc: /* *Coding system for encoding file names.
+ doc: /* Coding system for encoding file names.
If it is nil, `default-file-name-coding-system' (which see) is used. */);
Vfile_name_coding_system = Qnil;
#ifdef HAVE_FSYNC
DEFVAR_BOOL ("write-region-inhibit-fsync", write_region_inhibit_fsync,
- doc: /* *Non-nil means don't call fsync in `write-region'.
+ doc: /* Non-nil means don't call fsync in `write-region'.
This variable affects calls to `write-region' as well as save commands.
A non-nil value may result in data loss! */);
write_region_inhibit_fsync = 0;
void *itdata = NULL;
SET_TEXT_POS_FROM_MARKER (start, w->start);
+ /* Scrolling a minibuffer window via scroll bar when the echo area
+ shows long text sometimes resets the minibuffer contents behind
+ our backs. */
+ if (CHARPOS (start) > ZV)
+ SET_TEXT_POS (start, BEGV, BEGV_BYTE);
/* If PT is not visible in WINDOW, move back one half of
the screen. Allow PT to be partially visible, otherwise
}
else
p->pointm = Fcopy_marker (w->pointm, Qnil);
+ XMARKER (p->pointm)->insertion_type
+ = !NILP (Vwindow_point_insertion_type);
p->start = Fcopy_marker (w->start, Qnil);
p->start_at_line_beg = w->start_at_line_beg;
#define IT_OVERFLOW_NEWLINE_INTO_FRINGE(it) 0
#endif /* HAVE_WINDOW_SYSTEM */
-/* Test if the display element loaded in IT is a space or tab
- character. This is used to determine word wrapping. */
-
-#define IT_DISPLAYING_WHITESPACE(it) \
- (it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t'))
+/* Test if the display element loaded in IT, or the underlying buffer
+ or string character, is a space or a TAB character. This is used
+ to determine where word wrapping can occur. */
+
+#define IT_DISPLAYING_WHITESPACE(it) \
+ ((it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t')) \
+ || ((STRINGP (it->string) \
+ && (SREF (it->string, IT_STRING_BYTEPOS (*it)) == ' ' \
+ || SREF (it->string, IT_STRING_BYTEPOS (*it)) == '\t')) \
+ || (it->s \
+ && (it->s[IT_BYTEPOS (*it)] == ' ' \
+ || it->s[IT_BYTEPOS (*it)] == '\t')) \
+ || (IT_BYTEPOS (*it) < ZV_BYTE \
+ && (*BYTE_POS_ADDR (IT_BYTEPOS (*it)) == ' ' \
+ || *BYTE_POS_ADDR (IT_BYTEPOS (*it)) == '\t')))) \
/* Name of the face used to highlight trailing whitespace. */
}
SET_TEXT_POS_FROM_MARKER (top, w->start);
+ /* Scrolling a minibuffer window via scroll bar when the echo area
+ shows long text sometimes resets the minibuffer contents behind
+ our backs. */
+ if (CHARPOS (top) > ZV)
+ SET_TEXT_POS (top, BEGV, BEGV_BYTE);
/* Compute exact mode line heights. */
if (WINDOW_WANTS_MODELINE_P (w))
|| pos <= tem)
{
/* If the string from which this glyph came is
- found in the buffer at point, then we've
- found the glyph we've been looking for. If
- it comes from an overlay (tem == 0), and it
- has the `cursor' property on one of its
+ found in the buffer at point, or at position
+ that is closer to point than pos_after, then
+ we've found the glyph we've been looking for.
+ If it comes from an overlay (tem == 0), and
+ it has the `cursor' property on one of its
glyphs, record that glyph as a candidate for
displaying the cursor. (As in the
unidirectional version, we will display the
cursor on the last candidate we find.) */
- if (tem == 0 || tem == pt_old)
+ if (tem == 0
+ || tem == pt_old
+ || (tem - pt_old > 0 && tem < pos_after))
{
/* The glyphs from this string could have
been reordered. Find the one with the
}
}
- if (tem == pt_old)
+ if (tem == pt_old
+ || (tem - pt_old > 0 && tem < pos_after))
goto compute_x;
}
if (tem)
#ifdef HAVE_WINDOW_SYSTEM
DEFVAR_BOOL ("x-stretch-cursor", x_stretch_cursor_p,
- doc: /* *Non-nil means draw block cursor as wide as the glyph under it.
+ doc: /* Non-nil means draw block cursor as wide as the glyph under it.
For example, if a block cursor is over a tab, it will be drawn as
wide as that tab on the display. */);
x_stretch_cursor_p = 0;
#endif
DEFVAR_LISP ("show-trailing-whitespace", Vshow_trailing_whitespace,
- doc: /* *Non-nil means highlight trailing whitespace.
+ doc: /* Non-nil means highlight trailing whitespace.
The face used for trailing whitespace is `trailing-whitespace'. */);
Vshow_trailing_whitespace = Qnil;
Vnobreak_char_display = Qt;
DEFVAR_LISP ("void-text-area-pointer", Vvoid_text_area_pointer,
- doc: /* *The pointer shape to show in void text areas.
+ doc: /* The pointer shape to show in void text areas.
A value of nil means to show the text pointer. Other options are `arrow',
`text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'. */);
Vvoid_text_area_pointer = Qarrow;
= Fcons (intern_c_string ("overlay-arrow-position"), Qnil);
DEFVAR_INT ("scroll-step", emacs_scroll_step,
- doc: /* *The number of lines to try scrolling a window by when point moves out.
+ doc: /* The number of lines to try scrolling a window by when point moves out.
If that fails to bring point back on frame, point is centered instead.
If this is zero, point is always centered after it moves off frame.
If you want scrolling to always be a line at a time, you should set
`scroll-conservatively' to a large value rather than set this to 1. */);
DEFVAR_INT ("scroll-conservatively", scroll_conservatively,
- doc: /* *Scroll up to this many lines, to bring point back on screen.
+ doc: /* Scroll up to this many lines, to bring point back on screen.
If point moves off-screen, redisplay will scroll by up to
`scroll-conservatively' lines in order to bring point just barely
onto the screen again. If that cannot be done, then redisplay
scroll_conservatively = 0;
DEFVAR_INT ("scroll-margin", scroll_margin,
- doc: /* *Number of lines of margin at the top and bottom of a window.
+ doc: /* Number of lines of margin at the top and bottom of a window.
Recenter the window whenever point gets within this many lines
of the top or bottom of the window. */);
scroll_margin = 0;
mode_line_inverse_video = 1;
DEFVAR_LISP ("line-number-display-limit", Vline_number_display_limit,
- doc: /* *Maximum buffer size for which line number should be displayed.
+ doc: /* Maximum buffer size for which line number should be displayed.
If the buffer is bigger than this, the line number does not appear
in the mode line. A value of nil means no limit. */);
Vline_number_display_limit = Qnil;
DEFVAR_INT ("line-number-display-limit-width",
line_number_display_limit_width,
- doc: /* *Maximum line width (in characters) for line number display.
+ doc: /* Maximum line width (in characters) for line number display.
If the average length of the lines near point is bigger than this, then the
line number may be omitted from the mode line. */);
line_number_display_limit_width = 200;
DEFVAR_BOOL ("highlight-nonselected-windows", highlight_nonselected_windows,
- doc: /* *Non-nil means highlight region even in nonselected windows. */);
+ doc: /* Non-nil means highlight region even in nonselected windows. */);
highlight_nonselected_windows = 0;
DEFVAR_BOOL ("multiple-frames", multiple_frames,
Vredisplay_end_trigger_functions = Qnil;
DEFVAR_LISP ("mouse-autoselect-window", Vmouse_autoselect_window,
- doc: /* *Non-nil means autoselect window with mouse pointer.
+ doc: /* Non-nil means autoselect window with mouse pointer.
If nil, do not autoselect windows.
A positive number means delay autoselection by that many seconds: a
window is autoselected only after the mouse has remained in that
Vmouse_autoselect_window = Qnil;
DEFVAR_LISP ("auto-resize-tool-bars", Vauto_resize_tool_bars,
- doc: /* *Non-nil means automatically resize tool-bars.
+ doc: /* Non-nil means automatically resize tool-bars.
This dynamically changes the tool-bar's height to the minimum height
that is needed to make all tool-bar items visible.
If value is `grow-only', the tool-bar's height is only increased
Vauto_resize_tool_bars = Qt;
DEFVAR_BOOL ("auto-raise-tool-bar-buttons", auto_raise_tool_bar_buttons_p,
- doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them. */);
+ doc: /* Non-nil means raise tool-bar buttons when the mouse moves over them. */);
auto_raise_tool_bar_buttons_p = 1;
DEFVAR_BOOL ("make-cursor-line-fully-visible", make_cursor_line_fully_visible_p,
- doc: /* *Non-nil means to scroll (recenter) cursor line if it is not fully visible. */);
+ doc: /* Non-nil means to scroll (recenter) cursor line if it is not fully visible. */);
make_cursor_line_fully_visible_p = 1;
DEFVAR_LISP ("tool-bar-border", Vtool_bar_border,
- doc: /* *Border below tool-bar in pixels.
+ doc: /* Border below tool-bar in pixels.
If an integer, use it as the height of the border.
If it is one of `internal-border-width' or `border-width', use the
value of the corresponding frame parameter.
Vtool_bar_border = Qinternal_border_width;
DEFVAR_LISP ("tool-bar-button-margin", Vtool_bar_button_margin,
- doc: /* *Margin around tool-bar buttons in pixels.
+ doc: /* Margin around tool-bar buttons in pixels.
If an integer, use that for both horizontal and vertical margins.
Otherwise, value should be a pair of integers `(HORZ . VERT)' with
HORZ specifying the horizontal margin, and VERT specifying the
Vtool_bar_button_margin = make_number (DEFAULT_TOOL_BAR_BUTTON_MARGIN);
DEFVAR_INT ("tool-bar-button-relief", tool_bar_button_relief,
- doc: /* *Relief thickness of tool-bar buttons. */);
+ doc: /* Relief thickness of tool-bar buttons. */);
tool_bar_button_relief = DEFAULT_TOOL_BAR_BUTTON_RELIEF;
DEFVAR_LISP ("tool-bar-style", Vtool_bar_style,
Vtool_bar_style = Qnil;
DEFVAR_INT ("tool-bar-max-label-size", tool_bar_max_label_size,
- doc: /* *Maximum number of characters a label can have to be shown.
+ doc: /* Maximum number of characters a label can have to be shown.
The tool bar style must also show labels for this to have any effect, see
`tool-bar-style'. */);
tool_bar_max_label_size = DEFAULT_TOOL_BAR_LABEL_SIZE;
DEFVAR_BOOL ("unibyte-display-via-language-environment",
unibyte_display_via_language_environment,
- doc: /* *Non-nil means display unibyte text according to language environment.
+ doc: /* Non-nil means display unibyte text according to language environment.
Specifically, this means that raw bytes in the range 160-255 decimal
are displayed by converting them to the equivalent multibyte characters
according to the current language environment. As a result, they are
unibyte_display_via_language_environment = 0;
DEFVAR_LISP ("max-mini-window-height", Vmax_mini_window_height,
- doc: /* *Maximum height for resizing mini-windows (the minibuffer and the echo area).
+ doc: /* Maximum height for resizing mini-windows (the minibuffer and the echo area).
If a float, it specifies a fraction of the mini-window frame's height.
If an integer, it specifies a number of lines. */);
Vmax_mini_window_height = make_float (0.25);
DEFSYM (Qauto_hscroll_mode, "auto-hscroll-mode");
DEFVAR_INT ("hscroll-margin", hscroll_margin,
- doc: /* *How many columns away from the window edge point is allowed to get
+ doc: /* How many columns away from the window edge point is allowed to get
before automatic hscrolling will horizontally scroll the window. */);
hscroll_margin = 5;
DEFVAR_LISP ("hscroll-step", Vhscroll_step,
- doc: /* *How many columns to scroll the window when point gets too close to the edge.
+ doc: /* How many columns to scroll the window when point gets too close to the edge.
When point is less than `hscroll-margin' columns from the window
edge, automatic hscrolling will scroll the window by the amount of columns
determined by this variable. If its value is a positive integer, scroll that
#endif /* GLYPH_DEBUG */
DEFVAR_INT ("overline-margin", overline_margin,
- doc: /* *Space between overline and text, in pixels.
+ doc: /* Space between overline and text, in pixels.
The default value is 2: the height of the overline (1 pixel) plus 1 pixel
margin to the character height. */);
overline_margin = 2;
display_hourglass_p = 1;
DEFVAR_LISP ("hourglass-delay", Vhourglass_delay,
- doc: /* *Seconds to wait before displaying an hourglass pointer when Emacs is busy. */);
+ doc: /* Seconds to wait before displaying an hourglass pointer when Emacs is busy. */);
Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY);
hourglass_atimer = NULL;