-2012-09-25 Leo Liu <sdl.web@gmail.com>
++2012-09-28 Leo Liu <sdl.web@gmail.com>
+
+ * files.texi (Files): Fix typo.
+
-2012-09-12 Glenn Morris <rgm@gnu.org>
+2012-09-23 Chong Yidong <cyd@gnu.org>
+
+ * buffers.texi (Read Only Buffers): Document read-only-mode.
+
+ * keymaps.texi (Alias Menu Items): Replace toggle-read-only with
+ read-only-mode.
+
+ * backups.texi (Auto-Saving): Refer to Minor Mode Conventions for
+ calling conventions.
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * searching.texi (Replacing Match): Minor clarification.
+
+2012-09-22 Eli Zaretskii <eliz@gnu.org>
+
+ * edebug.texi (Instrumenting): Improve indexing.
+
+ * os.texi (Idle Timers): Warn against reinvoking an idle timer
+ from within its own timer action. (Bug#12447)
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * frames.texi (Pop-Up Menus): Minor clarification (Bug#11148).
+
+2012-09-21 Glenn Morris <rgm@gnu.org>
* debugging.texi (Using Debugger): Fix typo.
-2012-08-24 Chong Yidong <cyd@gnu.org>
+2012-09-18 Chong Yidong <cyd@gnu.org>
+
+ * display.texi (Faces): Discuss anonymous faces.
+ (Face Attributes): Tweak intro.
+ (Defining Faces): Move after the Face Attributes node. Copyedits.
+ (Displaying Faces): Describe role of inheritance.
+
+ * customize.texi (Customization): Define customization more
+ carefully (Bug#11440).
+ (Common Keywords): Add xref to Constant Variables.
+
+ * variables.texi (Defining Variables): Link to defcustom's node
+ instead of the higher-level Customization chapter.
+
+2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify, document, and port floating-point (Bug#12381).
+ * numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
+ Document that / and mod (with floating point arguments), along
+ with asin, acos, log, log10, expt and sqrt, return special values
+ instead of signaling exceptions.
+ (Float Basics): Document that logb operates on the absolute value
+ of its argument.
+ (Math Functions): Document that (log ARG BASE) also returns NaN if
+ BASE is negative. Document that (expt X Y) returns NaN if X is a
+ finite negative number and Y a finite non-integer.
+
+2012-09-09 Chong Yidong <cyd@gnu.org>
+
+ * lists.texi (Sets And Lists): Explain that the return value for
+ delete should be used, like for delq.
+
+ * minibuf.texi (Yes-or-No Queries): Document recentering and
+ scrolling in y-or-n-p. Remove gratuitous example.
+
+ * searching.texi (Search and Replace): Document window scrolling
+ entries in query-replace-map.
+
+2012-09-08 Chong Yidong <cyd@gnu.org>
- * Version 24.2 released.
+ * syntax.texi (Syntax Table Internals): Define "raw syntax
+ descriptor" terminology (Bug#12383).
+ (Syntax Descriptors): Mention raw syntax descriptors.
+
+2012-09-07 Chong Yidong <cyd@gnu.org>
+
+ * variables.texi (Creating Buffer-Local): Fix description of
+ local-variable-if-set-p (Bug#10713).
+
+ * eval.texi (Intro Eval): Add index entry for sexp (Bug#12233).
+
+ * windows.texi (Display Action Functions)
+ (Choosing Window Options): Remove obsolete variable
+ display-buffer-reuse-frames.
+ (Switching Buffers): Minor doc tweak for switch-to-buffer.
+
+ * positions.texi (Narrowing): Document buffer-narrowed-p.
+
+ * markers.texi (Moving Markers): Add xref to Point (Bug#7151).
+
+ * syntax.texi (Low-Level Parsing): Add xref to Parser State
+ (Bug#12269).
+
+2012-09-04 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * debugging.texi (Explicit Debug): Document `debug-on-message'.
+
+2012-09-02 Chong Yidong <cyd@gnu.org>
+
+ * windows.texi (Window Configurations): Recommend against using
+ save-window-excursion (Bug#12075).
+
+ * control.texi (Catch and Throw):
+ * positions.texi (Excursions): Don't mention it.
+
+2012-09-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Better seed support for (random).
+ * numbers.texi (Random Numbers): Document new behavior of
+ the calls (random) and (random STRING).
+
+2012-08-21 Martin Rudalics <rudalics@gmx.at>
+
+ * windows.texi (Window Point): Document recent changes in
+ window-point and set-window-point.
+ (Selecting Windows): Document recent change in select-window.
2012-08-06 Eli Zaretskii <eliz@gnu.org>
* variables.texi (Lexical Binding): Disambiguate the index entry
for "closures".
-2012-06-19 Glenn Morris <rgm@gnu.org>
+2012-08-05 Chong Yidong <cyd@gnu.org>
+
+ * display.texi (Defining Faces): Move documentation of
+ frame-background-mode to the Emacs manual (Bug#7774).
+
+2012-08-04 Chong Yidong <cyd@gnu.org>
+
+ * syntax.texi (Syntax Basics): Rearrange the text for clarity.
+ Fix description of syntax table inheritance.
+ (Syntax Table Functions): Don't refer to internal contents of
+ syntax table, since that is not explained yet. Copyedits.
+ (Standard Syntax Tables): Node deleted.
+ (Syntax Table Internals): Misc clarifications. Improve table
+ formatting.
+
+ * keymaps.texi (Inheritance and Keymaps):
+ * text.texi (Sticky Properties): Tweak index entry.
+
+2012-07-28 Eli Zaretskii <eliz@gnu.org>
+
+ * nonascii.texi (Character Sets): Fix a typo. (Bug#12062)
+
+2012-07-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer typical American spelling for "acknowledgment".
+ * intro.texi (Acknowledgments): Rename from Acknowledgements.
+
+2012-07-21 Eli Zaretskii <eliz@gnu.org>
+
+ * commands.texi (Special Events): Mention language-change event.
+ (Input Events, Interactive Codes):
+ * keymaps.texi (Key Sequences): Mention events that are
+ non-keyboard but also non-mouse events.
+
+2012-07-17 Chong Yidong <cyd@gnu.org>
+
+ * text.texi (Insertion): Document insert-char changes.
+
+2012-07-15 Leo Liu <sdl.web@gmail.com>
+
+ * display.texi (Fringe Bitmaps): Add exclamation-mark.
+
+2012-07-13 Chong Yidong <cyd@gnu.org>
+
+ * buffers.texi (Read Only Buffers): Document toggle-read-only
+ changes. Reword to account for the fact that read-only is
+ currently not supported in overlay properties.
+
+2012-07-07 Chong Yidong <cyd@gnu.org>
+
+ * loading.texi (Library Search): Index site-lisp directories.
+
+2012-07-06 Chong Yidong <cyd@gnu.org>
+
+ * intro.texi (A Sample Function Description): Fix incorrect
+ markup, undoing previous change.
+ (A Sample Variable Description): Minor clarifications and markup
+ improvements.
+
+ * elisp.texi (Top):
+ * text.texi (Text): Fix menu order.
+
+2012-07-06 Richard Stallman <rms@gnu.org>
+
+ * intro.texi (Evaluation Notation, A Sample Function Description):
+ (A Sample Variable Description): Improve/undo previous changes.
+
+2012-07-05 Glenn Morris <rgm@gnu.org>
+
+ * intro.texi (A Sample Function Description): Fix cross-refs.
+
+2012-07-05 Michael Witten <mfwitten@gmail.com> (tiny change)
+
+ * intro.texi (Evaluation Notation, A Sample Function Description)
+ (A Sample Variable Description, Version Info): Copy edits (bug#11862).
+
+2012-06-27 Chong Yidong <cyd@gnu.org>
+
+ * processes.texi (Asynchronous Processes, Input to Processes):
+ * internals.texi (Process Internals): Don't capitalize "pty".
+
+2012-06-24 Thien-Thi Nguyen <ttn@gnuvola.org>
+
+ * processes.texi (Asynchronous Processes): Make the pty vs pipe
+ discussion more prominent.
+
+2012-06-23 Eli Zaretskii <eliz@gnu.org>
+
+ * commands.texi (Misc Events): Document the language-change event.
+
+2012-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Support higher-resolution time stamps (Bug#9000).
+ * os.texi (Time of Day, Time Parsing, Processor Run Time, Idle Timers):
+ * processes.texi (System Processes):
+ Time stamp resolution is now picosecond, not microsecond.
+
+2012-06-21 Glenn Morris <rgm@gnu.org>
* Makefile.in: Rename infodir to buildinfodir throughout. (Bug#11737)
+2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * functions.texi (Defining Functions):
+ * macros.texi (Defining Macros): Un-define the return value of `defun',
+ `defmacro' and `defalias'.
+
+2012-06-17 Chong Yidong <cyd@gnu.org>
+
+ * elisp.texi: Remove urlcolor setting.
+
+2012-06-17 Glenn Morris <rgm@gnu.org>
+
+ * display.texi (Face Attributes): Copyedits. Add a few cindex entries.
+ Overlining no longer behaves exactly like underlining.
+
+2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
+
+ * display.texi (Face Attributes):
+ Document wave-style underline face attribute.
+
2012-06-11 Chong Yidong <cyd@gnu.org>
- * elisp.texi, vol1.texi, vol2.texi: Remove urlcolor setting.
+ * display.texi (ImageMagick Images): ImageMagick now supports the
+ :background property.
+
+2012-06-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * internals.texi (Garbage Collection): Typo fix.
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * text.texi (Special Properties): Clarify the meaning of a list of
+ faces in the `face' property.
- * vol2.texi: Include package.texi.
+ * display.texi (Face Remapping): Minor clarification.
-2012-06-01 Chong Yidong <cyd@gnu.org>
+2012-06-08 Chong Yidong <cyd@gnu.org>
- * Version 24.1 released.
+ * display.texi (Face Attributes): Font family does not accept
+ wildcards. De-document obsolete :bold and :italic attributes.
+ (Defining Faces): Use new-style face spec format.
-2012-05-15 Chong Yidong <cyd@gnu.org>
+2012-06-08 Dmitry Antipov <dmantipov@yandex.ru>
- * functions.texi (Obsolete Functions): Fix doc for
- set-advertised-calling-convention.
+ * internals.texi (Garbage Collection): Document new
+ vector management code and vectorlike_header structure.
+
+2012-06-03 Chong Yidong <cyd@gnu.org>
+
+ * modes.texi (Mode Line Data): Use "mode line construct"
+ terminology for consistency.
+
+2012-05-27 Glenn Morris <rgm@gnu.org>
+
+ * abbrevs.texi, advice.texi, anti.texi, backups.texi:
+ * buffers.texi, commands.texi, compile.texi, control.texi:
+ * customize.texi, debugging.texi, display.texi, doclicense.texi:
+ * edebug.texi, elisp.texi, errors.texi, eval.texi, files.texi:
+ * frames.texi, functions.texi, gpl.texi, hash.texi, help.texi:
+ * hooks.texi, index.texi, internals.texi, intro.texi, keymaps.texi:
+ * lists.texi, loading.texi, macros.texi, maps.texi, markers.texi:
+ * minibuf.texi, modes.texi, nonascii.texi, numbers.texi:
+ * objects.texi, os.texi, package.texi, positions.texi:
+ * processes.texi, searching.texi, sequences.texi, streams.texi:
+ * strings.texi, symbols.texi, syntax.texi, text.texi, tips.texi:
+ * variables.texi, windows.texi: Nuke hand-written node pointers.
+
+2012-05-27 Chong Yidong <cyd@gnu.org>
+
+ * functions.texi (Obsolete Functions):
+ Fix doc for set-advertised-calling-convention.
* modes.texi (Mode Help): Fix describe-mode.
* variables.texi (Variable Aliases): Fix make-obsolete-variable.
-2012-05-15 Martin Rudalics <rudalics@gmx.at>
+2012-05-27 Martin Rudalics <rudalics@gmx.at>
- * commands.texi (Recursive Editing): recursive-edit is a
- command.
+ * commands.texi (Recursive Editing): recursive-edit is a command.
* compile.texi (Docs and Compilation):
byte-compile-dynamic-docstrings is an option.
progress-reporter-force-update have VALUE argument optional.
(Animated Images): Use non-@code{nil} instead of non-nil.
- * files.texi (Format Conversion Round-Trip): Use non-@code{nil}
- instead of non-nil.
+ * files.texi (Format Conversion Round-Trip):
+ Use non-@code{nil} instead of non-nil.
* frames.texi (Creating Frames): make-frame is a command.
(Input Focus): select-frame is a command.
(Pointer Shape): void-text-area-pointer is an option.
- * help.texi (Describing Characters): read-kbd-macro is a
- command.
+ * help.texi (Describing Characters): read-kbd-macro is a command.
(Help Functions): describe-prefix-bindings is a command.
* markers.texi (Creating Markers): Both arguments of copy-marker
* modes.texi (Mode Line Variables): mode-line-remote and
mode-line-client are not options.
(Imenu): imenu-add-to-menubar is a command.
- (SMIE Indentation Helpers): Use non-@code{nil} instead of
- non-nil.
+ (SMIE Indentation Helpers): Use non-@code{nil} instead of non-nil.
* os.texi (Sound Output): play-sound-file is a command.
- * package.texi (Package Archives): Use @key{RET} instead of
- @kbd{RET}.
+ * package.texi (Package Archives): Use @key{RET} instead of @kbd{RET}.
- * processes.texi (Signals to Processes): Use @key{RET} instead
- of @code{RET}.
+ * processes.texi (Signals to Processes):
+ Use @key{RET} instead of @code{RET}.
(Signals to Processes): signal-process is a command.
- * text.texi (Clickable Text): Use @key{RET} instead of
- @kbd{RET}.
+ * text.texi (Clickable Text): Use @key{RET} instead of @kbd{RET}.
(Base 64): base64-encode-string is not a command while
base64-decode-region is.
* windows.texi (Switching Buffers): pop-to-buffer is a command.
-2012-05-08 Glenn Morris <rgm@gnu.org>
+2012-05-12 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (MKDIR_P): New, set by configure.
+ (mkinfodir): Use $MKDIR_P.
+
+2012-05-10 Glenn Morris <rgm@gnu.org>
+
+ * loading.texi (Loading Non-ASCII): Replace the obsolete "unibyte: t"
+ with "coding: raw-text".
+ Concept of multibyte sessions no longer exists.
+
+ * files.texi (File Locks): Mention create-lockfiles option.
+
+2012-05-09 Glenn Morris <rgm@gnu.org>
+
+ * vol1.texi, vol2.texi: Remove files.
+ * elisp.texi: Add VOL1,2 conditionals equivalent to vol1,2.texi
+ * two-volume.make: Use elisp.texi as input rather than vol1,2.texi.
* Makefile.in (clean, mostlyclean): Add some more vol1/2 items.
* two-volume.make (emacsdir): New.
(tex): Add directory with emacsver.texi to TEXINPUTS.
-2012-05-05 Glenn Morris <rgm@gnu.org>
-
* minibuf.texi (Minibuffer History, Basic Completion):
Tweak page breaks.
(Sequencing, Conditionals, Signaling Errors, Handling Errors):
Tweak page breaks.
-2012-05-04 Glenn Morris <rgm@gnu.org>
+2012-05-08 Glenn Morris <rgm@gnu.org>
- * lists.texi (List-related Predicates, List Variables):
- Tweak page-breaks.
- (Sets And Lists): Convert inforef to xref.
+ * two.el: Remove; unused since creation of two-volume.make.
- * text.texi (Auto Filling): Don't mention Emacs 19.
+ * vol1.texi, vol2.texi: No need to keep menus in these files.
- * commands.texi (Event Input Misc): Don't mention unread-command-char.
- * numbers.texi (Predicates on Numbers): Don't mention Emacs 18.
+2012-05-05 Glenn Morris <rgm@gnu.org>
* objects.texi (Process Type, Overlay Type): Tweak page-breaks.
(Lisp History): Convert inforef to xref.
(Lisp History, Printing Notation, Version Info): Improve page-breaks.
+ * text.texi (Auto Filling): Don't mention Emacs 19.
+
+ * commands.texi (Event Input Misc): Don't mention unread-command-char.
+ * numbers.texi (Predicates on Numbers): Don't mention Emacs 18.
+
* elisp.texi (DATE): Forgot to change the month in 2012-04-21 change.
-2012-05-01 Glenn Morris <rgm@gnu.org>
+ * lists.texi (List-related Predicates, List Variables):
+ Tweak page-breaks.
+ (Sets And Lists): Convert inforef to xref.
+
+2012-05-04 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure.
+ (info, infoclean): Use $INFO_EXT.
+ ($(infodir)/elisp$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
+ * makefile.w32-in (INFO_EXT, INFO_OPTS): New.
+ (info, maintainer-clean): Use $INFO_EXT.
+ ($(infodir)/elisp$(INFO_EXT)): Use $INFO_EXT and $INFO_OPT.
+
+2012-05-04 Chong Yidong <cyd@gnu.org>
+
+ * os.texi (Timers): Use defopt for timer-max-repeats.
+
+2012-05-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * os.texi (Time of Day): Do not limit current-time-string
+ to years 1000..9999.
+
+2012-05-02 Chong Yidong <cyd@gnu.org>
+
+ * display.texi (Font Lookup):
+ * frames.texi (Pointer Shape):
+ * processes.texi (Subprocess Creation): Use defopt for options.
+
+2012-05-02 Glenn Morris <rgm@gnu.org>
* elisp.texi (@copying):
* intro.texi (Introduction): Only print VERSION in the TeX version.
-2012-04-29 Chong Yidong <cyd@gnu.org>
+2012-05-02 Chong Yidong <cyd@gnu.org>
* text.texi (Change Hooks): Minor fix for after-change-functions.
-2012-04-28 Glenn Morris <rgm@gnu.org>
+2012-05-02 Glenn Morris <rgm@gnu.org>
* package.texi (Packaging Basics):
* loading.texi (Autoload):
* files.texi (Magic File Names):
Reword to remove/reduce some overly long/short lines.
-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.
* 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.
* 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.
* functions.texi (Function Safety): Texinfo usage fix.
-2009-01-04 Eduard Wiebe <usenet@pusto.de> (tiny patch)
+2009-01-04 Eduard Wiebe <usenet@pusto.de> (tiny change)
* objects.texi (General Escape Syntax): Fix typo.
(Recording Input): Document that clear-this-command-keys clears
the vector to be returned by recent-keys.
- * keymaps.texi (Scanning Keymaps) <where-is-internal>: The
- argument keymap can be a list.
+ * keymaps.texi (Scanning Keymaps) <where-is-internal>:
+ The argument keymap can be a list.
* nonascii.texi (User-Chosen Coding Systems)
<select-safe-coding-system>: Document the new argument
* Makefile (dist): Don't bother excluding autosave files; they'll
never make it into the temp directory anyway, and the hash marks
in the name are problematic for make and the Bourne shell.
- (srcs):
+ (srcs): ???
1993-02-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
;; coding: utf-8
;; End:
- Copyright (C) 1998-2012 Free Software Foundation, Inc.
+ Copyright (C) 1998-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
@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
+@node Files
@chapter Files
This chapter describes the Emacs Lisp functions and variables to
When file I/O functions signal Lisp errors, they usually use the
condition @code{file-error} (@pxref{Handling Errors}). The error
message is in most cases obtained from the operating system, according
- to locale @code{system-message-locale}, and decoded using coding system
+ to locale @code{system-messages-locale}, and decoded using coding system
@code{locale-coding-system} (@pxref{Locales}).
@menu
@end defvar
@node Subroutines of Visiting
-@comment node-name, next, previous, up
@subsection Subroutines of Visiting
The @code{find-file-noselect} function uses two important subroutines
Name}).
@node Reading from Files
-@comment node-name, next, previous, up
@section Reading from Files
@cindex reading from files
@ref{Magic File Names}.
@node Writing to Files
-@comment node-name, next, previous, up
@section Writing to Files
@cindex writing to files
File locking is not supported on some systems. On systems that do not
support it, the functions @code{lock-buffer}, @code{unlock-buffer} and
-@code{file-locked-p} do nothing and return @code{nil}.
+@code{file-locked-p} do nothing and return @code{nil}. It is also
+possible to disable locking, by setting the variable @code{create-lockfiles}.
+
+@defopt create-lockfiles
+If this variable is @code{nil}, Emacs does not lock files.
+@end defopt
@defun ask-user-about-lock file other-user
This function is called when the user tries to modify @var{file}, but it
@end menu
@node Testing Accessibility
-@comment node-name, next, previous, up
@subsection Testing Accessibility
@cindex accessibility of a file
@cindex file accessibility
@end defun
@node Kinds of Files
-@comment node-name, next, previous, up
@subsection Distinguishing Kinds of Files
This section describes how to distinguish various kinds of files, such
@xref{Buffer File Name}, for related information.
@node File Attributes
-@comment node-name, next, previous, up
@subsection Other Information about Files
This section describes the functions for getting detailed
not an extension.
@end defun
+@defun file-name-base &optional filename
+This function is the composition of @code{file-name-sans-extension}
+and @code{file-name-nondirectory}. For example,
+
+@example
+(file-name-base "/my/home/foo.c")
+ @result{} "foo"
+@end example
+
+The @var{filename} argument defaults to @code{buffer-file-name}.
+@end defun
@node Relative File Names
@subsection Absolute and Relative File Names
@end defun
@node Directory Names
-@comment node-name, next, previous, up
@subsection Directory Names
@cindex directory name
@cindex file name of directory
-2012-09-16 Leo Liu <sdl.web@gmail.com>
+ 2012-09-28 Leo Liu <sdl.web@gmail.com>
+
+ * pcomplete.el (pcomplete-show-completions): Use
+ minibuffer-message to make pcomplete usable in minibuffer.
+
+ * ido.el (ido-set-matches-1): Fix 2012-09-11 change.
+
+2012-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * type-break.el: Use lexical-binding.
+ (type-break-mode): Use define-minor-mode.
+
+ * emacs-lisp/pcase.el (pcase--mark-used): New.
+ (pcase--u1): Use it (bug#12512).
+
+ * custom.el (load-theme): Set buffer-file-name so the load is recorded
+ in load-history with the right file name.
+
+2012-09-28 Tassilo Horn <tsdh@gnu.org>
+
+ * doc-view.el (doc-view-current-cache-doc-pdf): New function.
+ (doc-view-doc->txt, doc-view-convert-current-doc): Use it.
+ (doc-view-get-bounding-box): Make bounding box slicing work for
+ ODF and DVI documents.
+
+2012-09-28 Glenn Morris <rgm@gnu.org>
+
+ * type-break.el (type-break-mode, type-break-interval)
+ (type-break-good-rest-interval, type-break-keystroke-threshold):
+ No need to autoload.
+ (type-break-good-rest-interval, type-break-keystroke-threshold):
+ Add :set-after.
+
+2012-09-28 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/verilog-mode.el (verilog-auto-inst-interfaced-ports):
+ Add :version tag.
+
+2012-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * json.el (json-encode-char): Codes 127-160 aren't "ASCII printable".
+
+2012-09-27 Glenn Morris <rgm@gnu.org>
+
+ * faces.el (x-display-name): Declare (for without-x builds).
+
+ * linum.el (linum-format): Don't autoload it. Improve :type.
+
+ * progmodes/tcl.el: Don't require outline when compiling.
+ (outline-regexp, outline-level): Declare.
+ * textmodes/sgml-mode.el: Don't require outline when compiling.
+ (outline-regexp, outline-heading-end-regexp, outline-level): Declare.
+
+ * term.el (term-ansi-reset):
+ Try setting term-ansi-face-already-done to nil. (Bug#11785)
+
+ * vc/vc.el (vc-next-action): Only gripe about committing read-only
+ files for RCS and SCCS. (Bug#9781)
+
+2012-09-27 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/verilog-mode.el (verilog-mode-release-emacs): Fix last
+ change; value should be t.
+
+2012-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * image-mode.el: Use lexical-binding.
+ (image-mode-winprops): Use t to stand for the window of
+ a buffer that's not displayed.
+ * doc-view.el (doc-view-new-window-function): Handle the new
+ t in winprops.
+ (doc-view-enlarge): Make it a real nop if the size is not changed.
+ (doc-view-display): Handle the case where the buffer is not (yet?)
+ displayed in any window.
+ (doc-view-saved-settings): New var.
+ (doc-view-mode): Use it.
+ (doc-view-fallback-mode): Set it.
+
+ * minibuf-eldef.el: Make it possible to replace (default ...) with [...].
+ Set lexical-binding.
+ (minibuffer-eldef-shorten-default): New var.
+ (minibuffer-default-in-prompt-regexps): Use it for new default.
+ (minibuf-eldef-setup-minibuffer): Add replacement functionality.
+
+2012-09-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * international/uni-bidi.el:
+ * international/uni-category.el:
+ * international/uni-name.el:
+ * international/uni-numeric.el: Regenerate.
+
+2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org>
+ Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * profiler.el: New file.
+
+2012-09-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/testcover.el (testcover-after): Add gv-expander.
+ (testcover-reinstrument): Simplify with CSE.
+
+2012-09-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * window.el (temp-buffer-window-setup): Fix typo in docstring.
+
+2012-09-25 Wilson Snyder <wsnyder@wsnyder.org>
+
+ * verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout)
+ (verilog-auto-input, verilog-auto-insert-lisp)
+ (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
+ (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef)
+ (verilog-auto-unused, verilog-auto-wire)
+ (verilog-forward-or-insert-line): Fix AUTOs with no trailing
+ newline. Reported by Andrew Jones.
+ (verilog-auto-inst) Support expanding $clog2 in AUTOINST.
+ Reported by Brad Dobbie.
+ (verilog-batch-delete-trailing-whitespace):
+ Create verilog-batch-delete-trailing-whitespace.
+ Reported by Brad Dobbie.
+ (verilog-auto-inout-param): Support AUTOINOUTPARAM for copying
+ parameters from another module. Reported by Dan Katz.
+ (verilog-auto, verilog-auto-assign-modport)
+ (verilog-auto-inout-modport): Add AUTOASSIGNMODPORT and
+ AUTOINOUTMODPORT for UVM interface module shell generation.
+ Reported by Brad Dobbie.
+ (verilog-auto-inst-interfaced-ports): Make default nil, as more
+ standard behavior.
+ (verilog-auto): Fix AUTO parameters with parenthesis arguments.
+ Reported by Matt Martin.
+
+2012-09-25 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window--resize-child-windows): When resizing child
+ windows proportionally, process them in reverse order to
+ preserve the "when splitting a window the new one gets the odd
+ line" behavior.
+ (window--resize-root-window-vertically): When resizing the
+ minibuffer window try to affect only windows at the bottom of the
+ frame. (Bug#12419)
+
+2012-09-25 Chong Yidong <cyd@gnu.org>
+
+ * subr.el (declare): Doc fix.
+
+ * help-fns.el (help-fns--obsolete): Handle macros properly.
+
+2012-09-25 Chong Yidong <cyd@gnu.org>
+
+ * bookmark.el (bookmark-jump-noselect): Use a declare form to mark
+ this function obsolete.
+
+ * calendar/cal-x.el (calendar-two-frame-setup)
+ (calendar-only-one-frame-setup, calendar-one-frame-setup):
+ * calendar/calendar.el (american-calendar, european-calendar)
+ (calendar-for-loop):
+ * comint.el (comint-dynamic-simple-complete)
+ (comint-dynamic-complete-as-filename, comint-unquote-filename):
+ * desktop.el (desktop-load-default):
+ * dired-x.el (dired-omit-here-always)
+ (dired-hack-local-variables, dired-default-directory):
+ * emacs-lisp/derived.el (derived-mode-class):
+ * emacs-lisp/timer.el (timer-set-time-with-usecs):
+ * emacs-lock.el (toggle-emacs-lock):
+ * epa.el (epa-display-verify-result):
+ * epg.el (epg-sign-keys, epg-start-sign-keys)
+ (epg-passphrase-callback-function):
+ * eshell/esh-util.el (eshell-for):
+ * eshell/eshell.el (eshell-remove-from-window-buffer-names)
+ (eshell-add-to-window-buffer-names):
+ * files.el (locate-file-completion):
+ * imenu.el (imenu-example--create-c-index)
+ (imenu-example--create-lisp-index)
+ (imenu-example--lisp-extract-index-name)
+ (imenu-example--name-and-position):
+ * international/mule-cmds.el (princ-list):
+ * international/mule-diag.el (decode-codepage-char):
+ * international/mule-util.el (detect-coding-with-priority):
+ * iswitchb.el (iswitchb-read-buffer):
+ * mail/mailalias.el (mail-complete):
+ * mail/sendmail.el (mail-sent-via):
+ * mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar)
+ (mouse-major-mode-menu):
+ * password-cache.el (password-read-and-add):
+ * pcomplete.el (pcomplete-parse-comint-arguments):
+ * progmodes/sh-script.el (sh-maybe-here-document):
+ * replace.el (query-replace-regexp-eval):
+ * savehist.el (savehist-load):
+ * simple.el (choose-completion-delete-max-match):
+ * term.el (term-dynamic-simple-complete):
+ * vc/ediff-init.el (ediff-check-version):
+ * vc/ediff-wind.el (ediff-choose-window-setup-function-automatically):
+ * vc/vc.el (vc-diff-switches-list):
+ * view.el (view-return-to-alist-update): Likewise.
+
+ * subr.el (eval-next-after-load, makehash, insert-string)
+ (assoc-ignore-representation, assoc-ignore-case): Use declare to
+ mark obsolete.
+ (mode-line-inverse-video): Variable deleted.
+
+ * international/mule-util.el (string-to-sequence): Remove.
+
+ * calendar/calendar.el (calendar-version):
+ * calendar/icalendar.el (icalendar-extract-ical-from-buffer)
+ (icalendar-convert-diary-to-ical):
+ * cus-edit.el (custom-mode):
+ * ansi-color.el (ansi-color-unfontify-region):
+ * international/latin1-disp.el (latin1-char-displayable-p):
+ * progmodes/cwarn.el (turn-on-cwarn-mode):
+ * progmodes/which-func.el (which-func-update-1):
+ Use define-obsolete-function-alias.
+
+ * net/newst-backend.el (newsticker-cache-filename):
+ * net/newst-treeview.el (newsticker-groups-filename):
+ Fix incorrect obsolescence declaration.
+
+ * allout.el (allout-passphrase-hint-string): Likewise.
+ (allout-init): Use a declare form to mark obsolete.
+
+ * emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that
+ this applies to functions.
+
+ * iswitchb.el (iswitchb-read-buffer): Move code of
+ iswitchb-define-mode-map here, and delete that obsolete function.
+
+ * net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete
+ font-lock-reference-face.
+
+2012-09-25 Glenn Morris <rgm@gnu.org>
+
+ * buff-menu.el (Buffer-menu-name-width, Buffer-menu-size-width):
+ Doc fixes.
+
+ * eshell/em-term.el (eshell-term-name):
+ Default to term-term-name. (Bug#12485)
+
+2012-09-24 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-shell-send-buffer): Better handling
+ of "if __name__ == '__main__':" conditionals when sending the buffer.
+
+2012-09-24 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-cmd.el (eshell-find-alias-function):
+ Tighten up file-name regexp. (Bug#12499)
+
+2012-09-24 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Enhancements for triple-quote string syntax.
+ * progmodes/python.el (python-quote-syntax): Remove.
+ (python-syntax-propertize-function): New value.
+ (python-syntax-count-quotes, python-syntax-stringify):
+ New functions.
+
+2012-09-24 Chong Yidong <cyd@gnu.org>
+
+ * mail/supercite.el (sc-version): Remove obsolete function.
+ (sc-describe): Don't mark as obsolete, since it is bound.
+ (sc-submit-bug-report): Remove.
+
+ * vc/log-edit.el (cvs-changelog-full-paragraphs)
+ (cvs-commit-buffer-require-final-newline): Remove.
+ (log-edit-require-final-newline)
+ (log-edit-changelog-full-paragraphs): Default to t.
+
+ * vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks)
+ * vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates)
+ * vc/vc.el (vc-checkout-carefully): Likewise.
+
+ * vc/emerge.el (emerge-mode): Make it an obsolete alias.
+ (emerge-version): Remove.
+
+ * progmodes/compile.el (compile-internal): Remove.
+ (compilation-parse-errors-function): Fix typo.
+
+ * international/mule.el (set-char-table-default): Remove.
+ (set-coding-priority, make-coding-system, generic-char-p)
+ (charset-list, charset-bytes, charset-id): Use declare to mark
+ functions as obsolete.
+
+ * vc/pcvs-defs.el (cvs-buffer-name-alist)
+ (cvs-invert-ignore-marks): Remove references to obsolete vars.
+ * vc/vc-hooks.el (vc-default-registered): Don't use
+ vc-master-templates.
+
+ * font-lock.el (font-lock-reference-face):
+ Use define-obsolete-variable-alias.
+
+ * generic-x.el (rul-generic-mode): Use font-lock-constant-face.
+ * calendar/calendar.el (calendar-font-lock-keywords):
+ * calendar/diary-lib.el (diary-font-lock-keywords)
+ (diary-fancy-font-lock-keywords):
+ * textmodes/reftex-sel.el (reftex-insert-docstruct):
+ * textmodes/reftex-index.el (reftex-insert-index):
+ * textmodes/reftex-cite.el (reftex-format-bib-entry):
+ * progmodes/ruby-mode.el (ruby-font-lock-keywords):
+ * progmodes/ps-mode.el (ps-mode-font-lock-keywords-1):
+ * progmodes/prolog.el (prolog-font-lock-keywords):
+ * progmodes/idlwave.el (idlwave-idl-keywords):
+ * progmodes/ada-mode.el (ada-font-lock-keywords):
+ * net/snmp-mode.el (snmp-font-lock-keywords-3): Likewise.
+
+2012-09-24 Glenn Morris <rgm@gnu.org>
+
+ * mail/emacsbug.el (report-emacs-bug): Include `lsb_release -d'.
+
+2012-09-23 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-indent-line): More consistent cursor
+ movement behavior.
+
+2012-09-23 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Fix compiler warning.
+
+2012-09-23 Roland Winkler <winkler@gnu.org>
+
+ * textmodes/bibtex.el (bibtex-autokey-transcriptions):
+ Transcribe also LaTeX hyphenation.
+ (bibtex-reformat): Bug fix. Do not quote twice the elements of
+ bibtex-reformat-previous-options.
+
+2012-09-23 Roland Winkler <winkler@gnu.org>
+
+ * proced.el (proced-renice-command): New variable.
+ (proced-marked-processes): New function.
+ (proced-with-processes-buffer): New macro.
+ (proced-send-signal): Use them.
+ (proced-renice): New command bound to r.
+
+2012-09-23 Roland Winkler <winkler@gnu.org>
+
+ * ibuf-ext.el (ibuffer-switch-to-saved-filter-groups): If list
+ ibuffer-saved-filter-groups has one element, shortcut the call of
+ completing-read. (Bug#12331)
+
+2012-09-23 Chong Yidong <cyd@gnu.org>
+
+ * bindings.el (mode-line-toggle-read-only):
+ * bs.el (bs-toggle-readonly):
+ * buff-menu.el (Buffer-menu-toggle-read-only):
+ * dired.el (dired-toggle-read-only):
+ * ibuffer.el (ibuffer-do-toggle-read-only): Use read-only-mode.
+
+2012-09-23 Chong Yidong <cyd@gnu.org>
+
+ * image.el (image-type-available-p): Adapt to init-image-library
+ argument changes.
+
+2012-09-22 Juri Linkov <juri@jurta.org>
+
+ * dired.el (dired-mode-map): Add [remap read-only-mode] for
+ `dired-toggle-read-only'. (Bug#12462)
+
+2012-09-22 Martin Rudalics <rudalics@gmx.at>
+
+ * subr.el (temp-output-buffer-show): New function.
+ (with-output-to-temp-buffer): Call temp-output-buffer-show
+ instead of internal-temp-output-buffer-show.
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * files.el (ctl-x-map): Bind C-x C-q to read-only-mode
+ (Bug#12462).
+
+ * repeat.el (repeat): Doc fix (Bug#12348).
+
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix
+ (Bug#10909).
+
+ * simple.el (shell-command-on-region): Doc fix.
+ (read-only-mode): Doc fix.
+
+2012-09-22 Eli Zaretskii <eliz@gnu.org>
+
+ * emacs-lisp/timer.el (run-with-idle-timer)
+ (timer-activate-when-idle): Warn against reinvoking an idle timer
+ from within its own timer action. (Bug#12447)
+
+2012-09-22 Martin Rudalics <rudalics@gmx.at>
+
+ * cus-start.el (window-combination-limit): Add new optional
+ values.
+ * window.el (temp-buffer-window-show)
+ (window--try-to-split-window): Handle new values of
+ window-combination-limit (Bug#1806).
+ (split-window): Test window-combination-limit for t instead of
+ non-nil.
+ (display-buffer-at-bottom): New buffer display action function.
+ * help.el (temp-buffer-resize-regexps): New option.
+ (temp-buffer-resize-mode): Rewrite doc-string.
+ (resize-temp-buffer-window): Obey temp-buffer-resize-regexps.
+ Don't resize reused window. Suggested by Glenn Morris.
+
+2012-09-22 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Revamp section title faces.
+ (rst-official-version)
+ (rst-package-emacs-version-alist): Sync with official version
+ V1.4.0.
+ (rst-faces-defaults, rst-set-level-default)
+ (rst-level-face-max, rst-level-face-base-color)
+ (rst-level-face-base-light, rst-level-face-format-light)
+ (rst-level-face-step-light, rst-define-level-faces): Obsolete.
+ (rst-adornment-faces-alist): Match new setup.
+ (rst-level-1, rst-level-2, rst-level-3, rst-level-4)
+ (rst-level-5, rst-level-6): New faces.
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (undo): Handle indirect buffers (Bug#8207).
+
+2012-09-21 Leo Liu <sdl.web@gmail.com>
IDO: Disable match re-ordering for buffer switching.
* ido.el (ido-buffer-disable-smart-matches): New variable.
(ido-set-matches-1): Use it. (Bug#2042)
-2012-09-12 Jose Marino <marinoj@nso.edu> (tiny change)
+2012-09-21 Jose Marino <marinoj@nso.edu> (tiny change)
* progmodes/idlw-shell.el (idlwave-shell-complete-filename):
Fix 2011-05-17 change. (Bug#12418)
-2012-09-11 Leo Liu <sdl.web@gmail.com>
+2012-09-21 Leo Liu <sdl.web@gmail.com>
* subr.el (ignore-errors): Mention with-demoted-errors in doc-string.
-2012-09-11 Glenn Morris <rgm@gnu.org>
+2012-09-21 Glenn Morris <rgm@gnu.org>
* emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords):
Be more robust about locating simple.el.
-2012-09-10 Glenn Morris <rgm@gnu.org>
+2012-09-21 Glenn Morris <rgm@gnu.org>
* mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors.
+2012-09-21 Joel Bion <jpbion@westvi.com> (tiny change)
+
+ * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382)
+
+2012-09-20 Juri Linkov <juri@jurta.org>
+
+ * replace.el (query-replace-read-from): Use `read-regexp' instead
+ of `read-from-minibuffer' when `regexp-flag' is non-nil.
+ (occur-read-primary-args): Use `read-regexp' instead of
+ `read-string'.
+ (multi-occur-in-matching-buffers): Use `read-regexp' instead of
+ `read-from-minibuffer'.
+ * isearch.el (isearch-occur): Use `read-regexp' instead of
+ `read-string'.
+ * dired.el (dired-read-regexp): Use `read-regexp' instead of
+ `read-from-minibuffer'.
+ * progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead
+ of `read-string'. (Bug#7567)
+
+ * replace.el (read-regexp): Rename DEFAULT-VALUE arg to DEFAULTS
+ and allow accepting a list of strings prepended to a list of
+ standard default values. Doc fix. (Bug#12321)
+
+ * replace.el (read-regexp): Add HISTORY arg. (Bug#7567)
+
+ * replace.el (read-regexp): Don't add ": " when PROMPT already
+ ends with a colon and space. (Bug#12321)
+
+2012-09-20 Tassilo Horn <tsdh@gnu.org>
+
+ * doc-view.el (doc-view-display): Better fix for the cl-assertion
+ error.
+
+2012-09-20 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Integrate support for `imenu' and `which-function'.
+ Fixes feature request bug#11711.
+ (rst-mode): Create `imenu-create-index-function'.
+ (rst-get-stripped-line): Delete after refactoring.
+ (rst-section-tree, rst-section-tree-rec)
+ (rst-section-tree-point): Refactor and document properly.
+ (rst-imenu-find-adornments-for-position)
+ (rst-imenu-convert-cell, rst-imenu-create-index):
+ New function.
+
+2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexp--obsolete-warning): New function.
+ (macroexp--expand-all): Use it.
+ (macroexp--funcall-and-return): Remove by folding it into its sole
+ caller (macroexp--warn-and-return).
+ * emacs-lisp/bytecomp.el (byte-compile-warn-obsolete):
+ Use macroexp--obsolete-warning.
+
+ * calc/calc.el: Fix last change by removing the whole chunk, since it
+ was only needed back when Calc was not bundled.
+
+2012-09-20 Martin Rudalics <rudalics@gmx.at>
+
+ * emacs-lisp/debug.el (debug): Restore assignment to
+ debugger-old-buffer removed on 2012-09-08.
+
+2012-09-20 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-diff): Remove (require 'diff) since
+ `diff-latest-backup-file' is now autoloaded.
+
+2012-09-20 Chong Yidong <cyd@gnu.org>
+
+ * vc/diff.el (diff-latest-backup-file): Autoload.
+
+2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * calc/calc.el: Remove redundant autoload shape check.
+ (sel-mode): Don't defvar.
+ (calc-get-stack-element): Add `sel-mode' arg instead.
+ (calc-top, calc-top-list): Pass it this additional argument.
+ * calc/calc-store.el (calc-store-map):
+ * calc/calc-map.el (calc-apply, calc-reduce, calc-map)
+ (calc-map-equation, calc-outer-product, calc-inner-product):
+ * calc/calc-aent.el (calc-alg-entry): Don't bind sel-mode.
+
+ * emacs-lisp/macroexp.el (macroexp--expand-all): Fix last change.
+
+2012-09-19 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-diff): Add (require 'diff) because
+ `diff-latest-backup-file' is not autoloaded.
+ (dired-do-chxxx, dired-do-chmod): Set `no-error-if-not-filep' arg
+ of `dired-get-filename' to t to not report error when there is
+ no default file on the current line.
+
+2012-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexp--funcall-if-compiled): Rename from
+ macroexp--eval-if-compile.
+ (macroexp--funcall-and-return, macroexp--warn-and-return): New funs.
+ (macroexp--expand-all): Use them (bug#12371).
+
+ * doc-view.el (doc-view-guess-paper-size)
+ (doc-view-scale-bounding-box): Fix unbound `caddr'.
+
+2012-09-19 Tassilo Horn <tsdh@gnu.org>
+
+ New feature: set optimal slice from BoundingBox information.
+ * doc-view.el (doc-view-mode-map): Add keybinding.
+ (doc-view-menu): Add menu entry.
+ (doc-view-set-slice): Adapt docstring.
+ (doc-view-get-bounding-box, doc-view-guess-paper-size)
+ (doc-view-scale-bounding-box)
+ (doc-view-set-slice-from-bounding-box): New functions.
+ (doc-view-paper-sizes): New defvar.
+
+2012-09-19 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/macroexp.el (byte-compile-warn-obsolete)
+ (byte-compile-log-warning): Autoload. (Bug#12371)
+
+ * calendar/calendar.el (calendar-american-month-header)
+ (calendar-european-month-header, calendar-iso-month-header)
+ (calendar-month-header): New options.
+ (calendar-set-date-style): Set calendar-month-header. Redraw calendar.
+ (calendar-generate-month): Use calendar-month-header. (Bug#9510)
+
+2012-09-19 Jan Djärv <jan.h.d@swipnet.se>
+
+ * startup.el (command-line-ns-option-alist): Add -g and --geometry.
+
+2012-09-18 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-diff): Restore original functionality of
+ getting the default value, but keep new feature of using the
+ latest existing backup file (`diff-latest-backup-file').
+
+2012-09-18 Juri Linkov <juri@jurta.org>
+
+ * dired.el (dired-mark): If the region is active in Transient Mark
+ mode, mark all files in the active region. Doc fix.
+ (dired-unmark, dired-flag-file-deletion, dired-unmark-backward):
+ Doc fix. (Bug#10624)
+
+2012-09-18 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file
+ attributes for M-n are pulled from the file at point.
+ (dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix.
+ Suggested by Drew Adams. (Bug#10624)
+
+2012-09-18 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el (ruby-brace-to-do-end): Don't add extra
+ whitespace after "end".
+ (ruby-do-end-to-brace): Collapse block to one line if it fits
+ within fill-column.
+
+2012-09-18 Martin Rudalics <rudalics@gmx.at>
+
+ * emacs-lisp/debug.el (debugger-bury-or-kill): Fix customization
+ value.
+ (debug): Don't remove debugger window when debugger is expected
+ to be back.
+
+2012-09-18 Chong Yidong <cyd@gnu.org>
+
+ * custom.el (defface): Doc fix.
+
+ * cus-edit.el (custom-unlispify-remove-prefixes): Add warning.
+
+2012-09-18 Martin Blais <blais@furius.ca> (tiny change)
+
+ * progmodes/compile.el (compilation-start): Use compilation-always-kill
+ to initialize query-on-exit; then test that instead (bug#12288).
+
+2012-09-17 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Add support for `testcover'.
+ (rst-defcustom-testcover, rst-testcover-add-compose)
+ (rst-testcover-add-1value): New functions.
+ (rst-portable-mark-active-p): Replace by `use-region-p'.
+ (rst-update-section, rst-classify-adornment)
+ (rst-find-title-line): Mark `1value' forms.
+ (rst-classify-adornment): Remove superfluous form.
+ (rst-update-section, rst-get-adornments-around)
+ (rst-adornment-complete-p, rst-get-next-adornment)
+ (rst-adjust, rst-promote-region)
+ (rst-display-adornments-hierarchy, rst-straighten-adornments)
+ (rst-find-pfx-in-region, rst-section-tree-rec)
+ (rst-section-tree-point, rst-toc-insert, rst-toc-insert-node)
+ (rst-toc-node, rst-toc, rst-forward-section)
+ (rst-iterate-leftmost-paragraphs)
+ (rst-iterate-leftmost-paragraphs-2, rst-enumerate-region)
+ (rst-bullet-list-region)
+ (rst-convert-bullets-to-enumeration, rst-font-lock-keywords)
+ (rst-compile-find-conf, rst-compile)
+ (rst-repeat-last-character): Fix style.
+
+2012-09-17 Chong Yidong <cyd@gnu.org>
+
+ * comint.el (comint--complete-file-name-data): Don't add a space
+ if the status is `sole'; that adds a gratuitous space in the
+ completion-cycling case (Bug#12092).
+
+ * pcomplete.el (pcomplete-completions-at-point): Likewise.
+
+2012-09-17 Richard Stallman <rms@gnu.org>
+
+ * mail/rmailmm.el (rmail-mime-toggle-raw): Do rmail-mime-insert
+ only in the mime-shown mode, not in raw mode.
+ (rmail-mime): Toggle off mime by displaying the message without
+ mime processing. (Bug#12305)
+
+ * mail/rmail.el (rmail-retry-failure):
+ Turn off mime processing first. (Bug#12037)
+
+ * epa-mail.el (epa-mail-encrypt): Fix bug when a name has no key.
+
+2012-09-17 Chong Yidong <cyd@gnu.org>
+
+ * shell.el (shell-file-name-chars, shell-file-name-quote-list)
+ (shell-dynamic-complete-functions): Convert to defcustom.
+ (shell-prompt-pattern, shell-completion-fignore): Doc fix.
+
+ * bookmark.el (bookmark-bmenu-toggle-filenames): Doc fixes.
+ * comint.el (comint-prompt-read-only):
+ * custom.el (defcustom):
+ * hi-lock.el (hi-lock-mode):
+ * ibuffer.el (ibuffer-formats):
+ * ielm.el (ielm-prompt-read-only):
+ * novice.el (disable-command):
+ * saveplace.el (toggle-save-place):
+ * speedbar.el (speedbar-supported-extension-expressions):
+ * startup.el (auto-save-list-file-prefix, init-file-user)
+ (after-init-hook, inhibit-startup-echo-area-message):
+ * strokes.el (strokes-help):
+ * time-stamp.el (time-stamp):
+ * calendar/calendar.el (calendar, diary-file):
+ * calendar/diary-lib.el (diary-mail-entries, diary)
+ (diary-list-entries-hook):
+ * calendar/holidays.el (holidays, calendar-holidays):
+ * calendar/lunar.el (lunar-phases):
+ * calendar/solar.el (sunrise-sunset):
+ * emulation/edt.el (edt-load-keys):
+ * emulation/viper.el (viper-mode):
+ * eshell/em-alias.el (eshell-command-aliases-list):
+ * eshell/esh-util.el (eshell-convert-numeric-arguments):
+ * international/ogonek.el (ogonek-information):
+ * net/tramp-cmds.el (tramp-bug):
+ * net/quickurl.el (quickurl-reread-hook-postfix):
+ * play/decipher.el (decipher-font-lock-keywords):
+ * progmodes/cc-styles.el (c-set-style):
+ * progmodes/idlw-shell.el (idlwave-shell-prompt-pattern):
+ * progmodes/inf-lisp.el (inferior-lisp-prompt):
+ * progmodes/octave-mod.el (octave-mode):
+ * progmodes/sql.el (sql-mode, sql-interactive-mode, sql-password):
+ * progmodes/verilog-mode.el (verilog-read-defines):
+ * textmodes/two-column.el (2C-mode): Likewise.
+
+2012-09-16 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mail/mailabbrev.el (mail-abbrev-expand-hook): Work for a mail aliasee
+ that holds many addresses.
+
+2012-09-16 Chong Yidong <cyd@gnu.org>
+
+ * align.el (align-areas): Call the indication function with
+ positions instead of markers for arguments (Bug#12343).
+
+ * files.el (parse-colon-path): Use split-string (Bug#12351).
+
+ * window.el (special-display-popup-frame): Doc fix (Bug#8853).
+ (display-buffer-function): Mark as obsolete.
+
+ * progmodes/compile.el (compilation-parse-errors): Accept list
+ values similar to font-lock-keywords (Bug#12136).
+ Suggested by Oleksandr Manzyuk.
+ (compilation-error-regexp-alist): Doc fix.
+
+2012-09-15 Glenn Morris <rgm@gnu.org>
+
+ * version.el (emacs-bzr-version-bzr): New function.
+ (emacs-bzr-get-version): Add optional EXTERNAL argument.
+
+ * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local
+ checkouts, check the parent dirstate matches the branch.
+ Add "--tree" to "bzr revno" arguments. Don't try to shorten the
+ empty string.
+
+ * version.el (emacs-bzr-version): Doc fix.
+ (emacs-bzr-version-dirstate): New function.
+ (emacs-bzr-get-version): For lightweight checkouts, if the parent
+ is local try and check that it matches the branch. If not, just
+ use dirstate information. (Bug#12441)
+
+2012-09-14 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-do-chmod): Use `eq' to detect empty input.
+ (Bug#12399)
+
+2012-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/advice.el (ad-prognify): Remove, use macroexp-progn.
+
+ * emacs-lisp/edebug.el: Miscellaneous cleanup.
+ Remove obsolete byte-compiler hack that tried to silence some warnings.
+ (edebug-submit-bug-report): Remove.
+ (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p):
+ Remove aliases, use the un-prefixed name instead.
+ (edebug-pop-to-buffer): Consider other frames.
+ (edebug-original-read):: Make it more obvious that it's always defined.
+ (edebug--make-form-data-entry, edebug--form-data-name)
+ (edebug--form-data-begin, edebug--form-data-end): Rename from the
+ single-dashed name, and implement with cl-defstruct.
+ (edebug-set-form-data-entry): Use the standard accessors.
+ (edebug-make-top-form-data-entry): Use push.
+ (edebug-no-match): Drop useless `funcall'.
+ (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs
+ to functions.
+ (defsubst, dont-compile, eval-when-compile, eval-and-compile)
+ (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist)
+ (with-syntax-table, push, pop, 1value, noreturn, defadvice)
+ (easy-menu-define, with-custom-print): Remove redundant specs.
+ (edebug-outside-overriding-local-map)
+ (edebug-outside-overriding-terminal-local-map): Remove, unused.
+ (edebug--display): Bind unread-command-events directly to nil rather
+ than binding it to unread-command-events and later setting it to nil.
+ (edebug--display): Kill edebug-eval-buffer here...
+ (edebug--recursive-edit): ...rather than here.
+ Bind standard-output and standard-input.
+ (edebug-eval): Check cl-macroexpand-all is fboundp.
+ (edebug-temp-display-freq-count): Fix last change.
+
+ * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec.
+ * subr.el (noreturn, 1value): Add `debug' spec.
+ * emacs-lisp/advice.el: Require cl-lib.
+ (ad-copy-tree): Remove, use copy-tree instead.
+ (ad-dolist): Remove use dolist or cl-dolist instead.
+ (ad-do-return): Remove, use cl-return instead.
+ (defadvice): Add `debug' spec.
+
+2012-09-13 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input.
+ (Bug#12399)
+
+2012-09-13 Glenn Morris <rgm@gnu.org>
+
+ * calc/calc.el (math-compose-expr):
+ * calc/calc-ext.el (math-compose-expr):
+ * progmodes/cc-defs.el (cl-macroexpand-all):
+ * progmodes/cc-langs.el (delete-duplicates, mapcan)
+ (cl-macroexpand-all): Update declarations.
+
+ * vc/vc.el: No need to require ediff.
+ (ediff-load-version-control): Declare.
+ (ediff-vc-internal): Fix declaration.
+ (vc-version-ediff): Require ediff.
+
+2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use a more backwards-compatible timer format (Bug#12430).
+ * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than
+ being right after USECS, as that better supports old code that
+ inadvisedly looked directly at the timer vector.
+
+2012-09-13 Kenichi Handa <handa@gnu.org>
+
+ * language/chinese.el ("Chinese-GB", "Chinese-BIG5")
+ ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to
+ `coding-priority' property of these language environment.
+
+2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix glitches caused by addition of psec to timers (Bug#12430).
+ * image.el (image-animate-timer):
+ * time.el (display-time-world-timer):
+ Use timer--function and timer--args rather than raw access to
+ timer vector.
+
+2012-09-13 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-warning-prefix):
+ If not compiling a file, try using load-file-name.
+
+2012-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/edebug.el (edebug-outside-unread-command-events):
+ Fix last change.
+ (edebug-update-eval-list): Use `push'.
+
+ * emacs-lisp/edebug.el: Use lexical-binding.
+ Remove the "edebug-" prefix from non-dynamically-scoped variables.
+ Mark unused args with underscore.
+ (edebug-save-restriction, edebug-outside-excursion): Use `declare'.
+ (edebug-form-data): Use defvar-local.
+ (edebug-make-before-and-after-form, edebug-make-after-form):
+ Use backquote.
+ (edebug-args, edebug-value, edebug-after-index, edebug-arg-mode):
+ Not dynamically scoped any more.
+ (edebug--enter-trace): Add arguments `function' and `args'.
+ Rename from edebug-enter-trace.
+ (edebug-enter): Call it accordingly. Bind edebug-function explicitly.
+ (edebug--update-coverage): Add `after-index' and `value' args.
+ Rename from edebug-update-coverage.
+ (edebug-slow-after): Call it accordingly.
+ (edebug--recursive-edit): Add arg `arg-mode'. Rename from
+ edebug-recursive-edit.
+ (edebug--display): Call it accordingly. Add args `value',
+ `offset-index', and `arg-mode'. Rename from edebug-display.
+ (edebug-debugger, edebug): Call it accordingly.
+ (edebug-eval-display-list): Use dolist.
+
+2012-09-12 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-search): Don't check for isearch-mode and
+ isearch-regexp before let-binding search-spaces-regexp to
+ Info-search-whitespace-regexp.
+ (Info-isearch-search): Let-bind Info-search-whitespace-regexp to
+ search-whitespace-regexp if isearch-lax-whitespace or
+ isearch-regexp-lax-whitespace is non-nil.
+ (Info-mode): Don't set local variable search-whitespace-regexp.
+ http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html
+
+2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/debug.el (debugger-outer-unread-command-char, debug)
+ (debugger-env-macro): Remove support for unread-command-char.
+
+ * subr.el (set-temporary-overlay-map): Minimize slightly the impact of
+ the temporary map re-appearing on emulation-mode-map-alists.
+
+ * emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken
+ since 22.1.
+
+ * ehelp.el (with-electric-help): Accept functions in
+ electric-help-form-to-execute.
+ (electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it.
+ And replace unread-command-char -> unread-command-events.
+
+2012-09-12 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.6.
+
+ * net/tramp.el (tramp-accept-process-output): Don't use
+ JUST-THIS-ONE in the XEmacs case.
+
+ * net/trampver.el: Update release number.
+
+2012-09-12 Martin Rudalics <rudalics@gmx.at>
+
+ * emacs-lisp/debug.el (debugger-previous-window-height):
+ New variable.
+ (debug): When debugger-jumping-flag is non-nil try to restore
+ height of debugger window. (Bug#8789)
+
+2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/edebug.el (edebug-enter): Don't mess with
+ overriding-local-map and pre/post-command-hook here.
+ (edebug-recursive-edit): Do it here instead (bug#12345).
+ (edebug-outside-unread-command-char): Remove all uses of
+ unread-command-char.
+
+ * emacs-lisp/debug.el (debug): Don't bind debug-on-error since
+ inhibit-debugger is bound instead.
+
+2012-09-11 Bastien Guerry <bzg@gnu.org>
+
+ * subr.el (set-temporary-overlay-map): Add a docstring.
+ (Bug#12346)
+
+2012-09-11 Bastien Guerry <bzg@gnu.org>
+
+ * minibuffer.el (completion-table-subvert): Fix docstring.
+ (Bug#12347)
+
+2012-09-11 Bastien Guerry <bzg@gnu.org>
+
+ * help-fns.el (describe-variable): Fix typo. (Bug#12346)
+
+2012-09-10 Michael R. Mauger <mmaug@yahoo.com>
+
+ * progmodes/sql.el: Version 3.1
+ (sql-db2-escape-newlines): New variable.
+ (sql-escape-newlines-filter): Use it.
+
+2012-09-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * custom.el (custom-theme-load-confirm): Remove unneeded assignment.
+
+2012-09-10 Dan Nicolaescu <dann@gnu.org>
+
+ * vc/diff-mode.el (diff-mode-menu):
+ Bind diff-remove-trailing-whitespace.
+
+2012-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var.
+ (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize)
+ (emacs-lisp-byte-code-mode): New functions.
+ (eval-sexp-add-defvars): Don't skip defvars in column >0.
+ (eval-defun-2): Remove bogus interactive spec.
+ (lisp-indent-line): Remove redundant whole-exp code, now done in
+ indent-according-to-mode.
+ (save-match-data): Remove redundant indent data.
+
+ * emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled):
+ Use `declare'.
+
+2012-09-09 Juri Linkov <juri@jurta.org>
+
+ * replace.el (replace-regexp-lax-whitespace): New defcustom.
+ (replace-lax-whitespace, query-replace-regexp)
+ (query-replace-regexp-eval, replace-regexp): Doc fix.
+ (perform-replace, replace-highlight): Let-bind
+ isearch-lax-whitespace to replace-lax-whitespace and
+ isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace.
+
+ * isearch.el (isearch-query-replace): Let-bind
+ replace-lax-whitespace to isearch-lax-whitespace and
+ replace-regexp-lax-whitespace to
+ isearch-regexp-lax-whitespace. (Bug#10885)
+
+2012-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eshell/em-unix.el (eshell/sudo): Explicitly drop return value.
+
+2012-09-09 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-engine.el (c-state-cache-init):
+ Initialise c-state-semi-nonlit-pos-cache\(-limit\)? properly.
+ (c-record-parse-state-state):
+ Record c-state-semi-nonlit-pos-cache\(-limit\)?.
+
+2012-09-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * register.el (register-separator): Rename from
+ separator-register. All uses changed. Doc fix.
+ (register): Fix version.
+
+2012-09-09 Chong Yidong <cyd@gnu.org>
+
+ * replace.el (query-replace-map): Bind four new symbols for
+ requesting window scrolling.
+
+ * subr.el (y-or-n-p): Handle the window-scrolling bindings in
+ query-replace-map (Bug#8948).
+
+ * custom.el (custom-theme-load-confirm): Use y-or-n-p.
+
+ * emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
+ since they are now in query-replace-map.
+
+ * window.el (scroll-other-window-down): Make the arg optional.
+
+2012-09-09 Chong Yidong <cyd@gnu.org>
+
+ * files.el (hack-local-variables-confirm): Use quit-window to kill
+ the *Local Variables* buffer.
+
+2012-09-08 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el (ruby-toggle-block): Guess the current block,
+ not just expect to be at its beginning. Adjust callees.
+ Succeed when do-end block has no space before the pipe character.
+ (ruby-brace-to-do-end): When the original block is one-liner,
+ convert to multiline. Reindent the result.
+
+2012-09-08 Jambunathan K <kjambunathan@gmail.com>
+
+ * register.el (register): New group.
+ (register-separator): New user option.
+ (increment-register): Route it to `append-to-register', if
+ register contains text. Implication is that `C-x r +' can now be
+ used for appending to a text register (bug#12217).
+ (append-to-register, prepend-to-register): Add separator based on
+ `register-separator.
+
2012-09-08 Alan Mackenzie <acm@muc.de>
AWK Mode: make auto-newline work when there's "==" in the pattern.
* progmodes/cc-cmds.el (c-point-syntax): Handle virtual semicolons
correctly.
- * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3): Test
- more rigorously for "=" token.
+ * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3):
+ Test more rigorously for "=" token.
-2012-09-08 Joel Bion <jpbion@westvi.com> (tiny change)
+2012-09-08 Dmitry Gutov <dgutov@yandex.ru>
- * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382)
+ * progmodes/ruby-mode.el (ruby-match-expression-expansion):
+ Only fail when reached LIMIT.
-2012-08-31 Glenn Morris <rgm@gnu.org>
+2012-09-08 Chong Yidong <cyd@gnu.org>
- * emulation/cua-rect.el (cua--init-rectangles):
- * textmodes/picture.el (picture-mode-map):
- * play/blackbox.el (blackbox-mode-map): Remap right-char and left-char
- like forward-char and backward-char. (Bug#12317)
+ * dired.el (dired-mode-map): Don't bind M-=.
-2012-08-30 Leo Liu <sdl.web@gmail.com>
+ * dired-aux.el (dired-diff): Use backup file as default.
- * progmodes/flymake.el (flymake-warning-re): New variable.
- (flymake-parse-line): Use it.
+2012-09-08 Drew Adams <drew.adams@oracle.com>
-2012-08-30 Glenn Morris <rgm@gnu.org>
+ * subr.el (add-to-history): Fix delete usage (Bug#12314).
- * calendar/holidays.el (holiday-christian-holidays):
- Rename an entry. (Bug#12289)
+2012-09-08 Chong Yidong <cyd@gnu.org>
-2012-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
+ * subr.el (syntax-after, syntax-class): Doc fix.
- * progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB
- (bug#12222).
+2012-09-08 Martin Rudalics <rudalics@gmx.at>
-2012-08-27 Leo Liu <sdl.web@gmail.com>
+ * window.el (display-buffer-in-previous-window): New buffer
+ display action function.
- * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to
- completion-at-point. (Bug#12220)
+ * emacs-lisp/debug.el (debugger-bury-or-kill): New option.
+ (debugger-previous-window): New variable.
+ (debug): Rewrite using display-buffer-in-previous-window,
+ quit-restore-window and debugger-bury-or-kill. (Bug#8789)
- * skeleton.el (skeleton-untabify): Change to nil (bug#12223).
+2012-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
- * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267).
+ * emacs-lisp/byte-run.el (defun): Tweak message. Simplify code.
-2012-08-24 Chong Yidong <cyd@gnu.org>
+2012-09-07 Matt McClure <mlm@aya.yale.edu> (tiny change)
- * Version 24.2 released.
+ * progmodes/python.el (python-shell-send-string):
+ When default-directory is remote, create temp file on remote
+ filesystem.
+ (python-shell-send-file): When file is remote, pass local view of
+ file paths to remote Python interpreter. (Bug#12340)
-2012-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
+2012-09-07 Chong Yidong <cyd@gnu.org>
- * files.el (safe-local-eval-forms): Fix before-save-hook entry to
- be buffer-local; add delete-trailing-whitespace (bug#12259).
+ * window.el (switch-to-buffer): Doc fix (Bug#12181).
-2012-08-22 Jeremy Moore <jmoore@ieee.org> (tiny change)
+ * files.el (after-find-file): Don't fail on a read-only buffer if
+ require-final-newline is `visit' or `visit-save' (Bug#11156).
- * progmodes/hideif.el (hif-compress-define-list):
- Fix typo. (Bug#11951)
+ * subr.el (read-char-choice): Allow quitting via ESC ESC.
-2012-08-20 Dan Nicolaescu <dann@gnu.org>
+ * userlock.el (ask-user-about-supersession-threat):
+ Use read-char-choice (Bug#12093).
- * progmodes/hideshow.el (hs-block-end-regexp): Restore lost
- buffer local setting.
+2012-09-07 Chong Yidong <cyd@gnu.org>
-2012-08-15 Glenn Morris <rgm@gnu.org>
+ * subr.el (buffer-narrowed-p): New function.
- * vc/log-edit.el (log-edit-font-lock-gnu-style): Mark safe if boolean.
+ * ses.el (ses-widen):
+ * simple.el (count-words--buffer-message):
+ * net/browse-url.el (browse-url-of-buffer): Use it
-2012-08-15 Leo Liu <sdl.web@gmail.com>
+ * simple.el (count-words-region): Don't signal an error if there
+ is a non-nil prefix arg and the mark is not set.
- * net/rcirc.el (rcirc-split-message): Fix for buffer-local
- rcirc-encode-coding-system.
+ * help.el (describe-key-briefly): Allow the message to be seen
+ when invoked from the minibuffer (Bug#7014).
-2012-08-13 Leo Liu <sdl.web@gmail.com>
+2012-09-07 Dmitry Gutov <dgutov@yandex.ru>
- * net/rcirc.el (rcirc-split-message): New function.
- (rcirc-send-message): Use it. (Bug#12051)
+ * progmodes/ruby-mode.el (ruby-end-of-defun)
+ (ruby-beginning-of-defun): Simplify, allow indentation before
+ block beginning and end keywords.
+ (ruby-beginning-of-defun): Only consider 3 keywords defun beginners.
+ (ruby-end-of-defun): Expect that the point is at the beginning of
+ the defun.
-2012-08-10 Glenn Morris <rgm@gnu.org>
+2012-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
- * emacs-lisp/copyright.el (copyright-update-directory): Logic fix.
+ * emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args
+ (bug#12367).
+ (cl--make-usage-args): Strip _ from argument names.
- * tutorial.el (help-with-tutorial):
- * emacs-lisp/copyright.el (copyright-update-directory):
- * emacs-lisp/autoload.el (autoload-find-generated-file)
- (autoload-find-file): Disable local eval: (for insurance).
+2012-09-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-2012-08-07 Glenn Morris <rgm@gnu.org>
+ * progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Don't use
+ obsolete alias speedbar-key-map.
+ (vhdl-doc-variable, vhdl-doc-mode): Use called-interactively-p.
+ (vhdl-index-menu-init): Don't use obsolete variable
+ font-lock-maximum-size.
- * files.el (hack-local-variables-filter): If an eval: form is not
- known to be safe, and enable-local-variables is :safe, then ignore
- the form totally, as is done for non-eval forms. (Bug#12155)
- This is CVE-2012-3479.
+2012-09-06 Chong Yidong <cyd@gnu.org>
-2012-08-07 Chong Yidong <cyd@gnu.org>
+ * frame.el (window-system-version): Mark as obsolete.
- * mouse.el (mouse-drag-track): Deactivate the mark before popping.
+ * speedbar.el (speedbar-update-flag, speedbar-mode): Remove uses
+ of obsolete variable speedbar-key-map.
-2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca>
+2012-09-06 Juri Linkov <juri@jurta.org>
- * progmodes/cperl-mode.el (cperl-mode): Yet another fix for
- syntax-propertize-function (bug#10095).
+ * replace.el (replace-lax-whitespace): New defcustom.
+ (query-replace, query-replace-regexp, query-replace-regexp-eval)
+ (replace-string, replace-regexp): Mention it in docstrings.
+ (perform-replace, replace-highlight): Let-bind
+ isearch-lax-whitespace and isearch-regexp-lax-whitespace according
+ to the values of replace-lax-whitespace and regexp-flag.
+ Don't let-bind search-whitespace-regexp. (Bug#10885)
-2012-07-28 Chong Yidong <cyd@gnu.org>
+ * isearch.el (isearch-query-replace): Let-bind
+ replace-lax-whitespace instead of let-binding
+ replace-search-function and replace-re-search-function.
+ (isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace
+ and isearch-regexp-lax-whitespace to lazy-highlight variables.
+ (isearch-toggle-symbol): Set isearch-regexp to nil
+ in isearch-word mode (like in isearch-toggle-word).
- * progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to
- gdb-get-location.
+2012-09-06 Juri Linkov <juri@jurta.org>
-2012-07-25 Leo Liu <sdl.web@gmail.com>
+ * replace.el (replace-search-function)
+ (replace-re-search-function): Set default values to nil.
+ (perform-replace): Let-bind isearch-related variables based on
+ replace-related values, call `isearch-search-fun' and let-bind
+ the result to `search-function'. Remove code that sets
+ `search-function' and `search-string' separately for
+ `delimited-flag'.
+ (replace-highlight): Add new argument `delimited-flag' and
+ rename other arguments to the names used in `perform-replace'.
+ Let-bind `isearch-word' to the argument `delimited-flag'.
+ (Bug#10885, bug#10887)
- * progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in
- the alist (bug#12029).
+2012-09-07 Dmitry Gutov <dgutov@yandex.ru>
-2012-07-25 Chong Yidong <cyd@gnu.org>
+ * progmodes/ruby-mode.el (ruby-indent-beg-re): Add pieces from
+ ruby-beginning-of-indent, simplify, allow all keywords to have
+ indentation before them.
+ (ruby-beginning-of-indent): Adjust for above. Search until the
+ found point is not inside a string or comment.
+ (ruby-font-lock-keywords): Allow symbols to start with "@"
+ character, give them higher priority than variables.
+ (ruby-syntax-propertize-function)
+ (ruby-font-lock-syntactic-keywords): Remove the "not comments"
+ matchers. Expression expansions are not comments when inside a
+ string, and there comment syntax status is irrelevant.
+ (ruby-match-expression-expansion): New function. Check that
+ expression expansion is inside a string, and it's not escaped.
+ (ruby-font-lock-keywords): Use it.
- * mouse.el (mouse-drag-track): Do not set the mark if the user
- releases the mouse without selecting anything (Bug#11588).
+2012-09-05 Martin Rudalics <rudalics@gmx.at>
-2012-07-21 Leo Liu <sdl.web@gmail.com>
+ * help.el (temp-buffer-max-height): New default value.
+ (temp-buffer-resize-frames): New option.
+ (resize-temp-buffer-window): Optionally resize frame.
- * progmodes/cc-cmds.el (c-defun-name):
- Use match-string-no-properties instead for consistency.
+ * window.el (fit-frame-to-buffer-bottom-margin): New option.
+ (fit-frame-to-buffer): New function.
-2012-07-20 Leo Liu <sdl.web@gmail.com>
+2012-09-05 Glenn Morris <rgm@gnu.org>
+
+ * emulation/cua-rect.el (cua--init-rectangles):
+ * textmodes/picture.el (picture-mode-map):
+ * play/blackbox.el (blackbox-mode-map): Remap right-char and left-char
+ like forward-char and backward-char. (Bug#12317)
+
+2012-09-05 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/flymake.el (flymake-warning-re): New variable.
+ (flymake-parse-line): Use it.
+
+2012-09-05 Glenn Morris <rgm@gnu.org>
+
+ * calendar/holidays.el (holiday-christian-holidays):
+ Rename an entry. (Bug#12289)
+
+2012-09-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/sh-script.el (sh-font-lock-paren): Don't burp at BOB
+ (bug#12222).
+
+2012-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * loadup.el: Load macroexp. Remove hack.
+ * emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function.
+ (macroexp--expand-all): Use it to get better warnings.
+ (macroexp--backtrace, macroexp--trim-backtrace-frame)
+ (internal-macroexpand-for-load): New functions.
+ (macroexp--pending-eager-loads): New var.
+ (emacs-startup-hook): New hack to replace one in loadup.el.
+ * emacs-lisp/cl-macs.el (cl--compiler-macro-list*)
+ (cl--compiler-macro-cXXr): Move to top, before they can be used.
+ (cl-psetf): Simplify.
+ (cl-defstruct): Add indent rule.
+
+2012-09-04 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header
+ over `user-mail-address' for the SMTP MAIL FROM envelope.
+ (smtpmail-via-smtp): Ditto.
+
+2012-09-04 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el: Clean up keybindings.
+ (ruby-mode-map): Don't bind ruby-electric-brace,
+ ruby-beginning-of-defun, ruby-end-of-defun, ruby-mark-defun,
+ backward-kill-word, reindent-then-newline-and-indent.
+ (ruby-mark-defun): Remove.
+ (ruby-electric-brace): Remove. Obsoleted by electric-indent-chars.
+ (ruby-mode): Set local beginning-of-defun-function and
+ end-of-defun-function values.
+
+2012-09-03 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (temp-buffer-window-setup-hook)
+ (temp-buffer-window-show-hook): New hooks.
+ (temp-buffer-window-setup, temp-buffer-window-show)
+ (with-temp-buffer-window): New functions.
+ (fit-window-to-buffer): Remove unused optional argument OVERRIDE.
+ (special-display-popup-frame): Make sure the window used shows BUFFER.
+
+ * help.el (temp-buffer-resize-mode): Fix doc-string.
+ (resize-temp-buffer-window): New optional argument WINDOW.
+
+ * files.el (recover-file, save-buffers-kill-emacs):
+ * dired.el (dired-mark-pop-up): Use with-temp-buffer-window.
+
+2012-09-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * eshell/em-unix.el (eshell/sudo): When we have an ad-hoc
+ remote definition of `default-directory', ensure we can connect.
+
+2012-09-02 Juri Linkov <juri@jurta.org>
+
+ Toggle whitespace matching mode with M-s SPC.
+ http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html
+
+ * isearch.el (search-whitespace-regexp): Doc fix.
+ Remove cons cell customization.
+ (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace.
+ (isearch-lax-whitespace, isearch-regexp-lax-whitespace):
+ New variables.
+ (isearch-forward, isearch-forward-regexp): Doc fix.
+ (isearch-toggle-lax-whitespace): New command.
+ (search-forward-lax-whitespace, search-backward-lax-whitespace)
+ (re-search-forward-lax-whitespace)
+ (re-search-backward-lax-whitespace): New functions.
+ (isearch-whitespace-regexp): Remove function.
+ (isearch-query-replace): Let-bind replace-search-function and
+ replace-re-search-function.
+ (isearch-occur): Let-bind search-spaces-regexp according to the
+ value of isearch-lax-whitespace and isearch-regexp-lax-whitespace.
+ (isearch-quote-char): Check isearch-regexp-lax-whitespace in the
+ condition for C-q SPC.
+ (isearch-search-fun-default): Use new functions mentioned above.
+ (isearch-search-forward, isearch-search-backward): Remove functions.
+ (isearch-search): Don't let-bind search-spaces-regexp.
+ (isearch-lazy-highlight-space-regexp): Remove variable.
+ (isearch-lazy-highlight-lax-whitespace)
+ (isearch-lazy-highlight-regexp-lax-whitespace): New variables.
+ (isearch-lazy-highlight-new-loop): Use them.
+ (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp.
+
+2012-09-02 Chong Yidong <cyd@gnu.org>
+
+ * dired.el (dired-mode-map): Menu string fixes (Bug#11616).
+
+2012-09-02 Glenn Morris <rgm@gnu.org>
+
+ * simple.el (undo): Tweak message in undo-only case. (Bug#12283)
+
+2012-09-01 Glenn Morris <rgm@gnu.org>
+
+ * term.el: Tidy up menu definitions.
+ (term-mode-map): Use easymenu for In/Out, Complete menus.
+ (term-pager-break-map): Initialize in the defvar.
+ (term-terminal-menu, term-signals-menu): Define with easymenu.
+ (term-terminal-menu): Also show it in line-mode. (Bug#11957)
+ (term-pager-menu): New, extracted from term-process-pager.
+ (term-mode, term-char-mode, term-process-pager): Use easymenu-add.
+ (term-update-mode-line): Propertize line/char and page items.
+ (term-process-pager): Move keymap initialization elsewhere.
+
+2012-09-01 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (switch-to-prev-buffer): Handle additional values of
+ BURY-OR-KILL argument. Don't switch in minibuffer window.
+ (switch-to-next-buffer): Don't switch in minibuffer window.
+ (quit-restore-window): New function based on quit-window.
+ Handle additional values of former KILL argument.
+ (quit-window): Call quit-restore-window with appropriate
+ interpretation of KILL argument.
+ (display-buffer-below-selected): New buffer display action
+ function.
+
+2012-09-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-at-point-functions): Complete docstring
+ (bug#12254).
+
+2012-09-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Better seed support for (random).
+ * play/5x5.el, play/animate.el, play/cookie1.el, play/dissociate.el:
+ * play/doctor.el, play/dunnet.el, play/gomoku.el, play/landmark.el:
+ * play/mpuz.el, play/tetris.el, play/zone.el:
+ * calc/calc-comb.el (math-init-random-base):
+ * play/blackbox.el (bb-init-board):
+ * play/life.el (life):
+ * server.el (server-use-tcp):
+ * type-break.el (type-break):
+ Remove unnecessary call to (random t).
+ * net/sasl.el (sasl-unique-id-function):
+ Change (random t) to (random), now that the latter is more random.
+ * play/life.el (life-initialized): Remove no-longer-needed var.
+
+2012-08-31 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * window.el (switch-to-prev-buffer, switch-to-next-buffer):
+ Consider frame's buffer predicate when choosing the buffer.
+ (Bug#12081)
+
+2012-08-30 Richard Stallman <rms@gnu.org>
+
+ * simple.el (special-mode-map): Delete binding for `z'.
+
+2012-08-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * progmodes/compile.el (compilation-always-kill): Doc fix.
+
+2012-08-30 Chong Yidong <cyd@gnu.org>
+
+ * window.el (display-buffer-reuse-frames): Make the obsolescence
+ message more informative.
+
+2012-08-30 Glenn Morris <rgm@gnu.org>
+
+ * paren.el (show-paren-delay):
+ Add a :set function. Doc fix. (Bug#12297)
+
+2012-08-29 Martin Blais <blais@furius.ca> (tiny change)
+
+ * progmodes/compile.el (compilation-always-kill): New var.
+ (compilation-start): Use it.
+
+2012-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (read-only-mode): Move from files.el for bootstrapping.
+ * files.el (read-only-mode): Move to simple.el.
+
+ * files.el (read-only-mode): New minor mode.
+ (toggle-read-only): Use it and mark obsolete.
+ (find-file--read-only):
+ * vc/vc.el (vc-next-action, vc-checkout):
+ * vc/vc-cvs.el (vc-cvs-checkout):
+ * obsolete/vc-mcvs.el (vc-mcvs-update):
+ * ffap.el (ffap--toggle-read-only): Update callers.
+
+2012-08-29 Michael Albinus <michael.albinus@gmx.de>
+
+ * eshell/esh-ext.el (eshell-external-command): Do not examine
+ remote shell scripts.
+ See <https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/1035790>.
+
+ * net/tramp-sh.el (tramp-remote-path): Add "/sbin" and
+ "/usr/local/sbin".
+
+2012-08-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el (buffer-string): Fix setter macro (bug#12293).
+
+2012-08-28 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to
+ completion-at-point. (Bug#12220)
+
+ * skeleton.el (skeleton-untabify): Change to nil (bug#12223).
+
+ * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267).
+
+2012-08-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (safe-local-eval-forms): Fix before-save-hook entry to
+ be buffer-local; add delete-trailing-whitespace (bug#12259).
+
+2012-08-28 Jeremy Moore <jmoore@ieee.org> (tiny change)
+
+ * progmodes/hideif.el (hif-compress-define-list):
+ Fix typo. (Bug#11951)
+
+2012-08-28 Dan Nicolaescu <dann@gnu.org>
+
+ * progmodes/hideshow.el (hs-block-end-regexp): Restore lost
+ buffer local setting.
+
+ * net/rcirc.el (rcirc-split-message): Fix for buffer-local
+ rcirc-encode-coding-system.
+
+2012-08-28 Leo Liu <sdl.web@gmail.com>
+
+ * net/rcirc.el (rcirc-split-message): New function.
+ (rcirc-send-message): Use it. (Bug#12051)
+
+2012-08-28 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-fontify-node): Hide empty lines at the end of
+ the node. (Bug#12272)
+
+2012-08-27 Drew Adams <drew.adams@oracle.com>
+
+ * dired.el (dired-pop-to-buffer): Make window start at beginning
+ of buffer (Bug#12281).
+
+2012-08-26 Chong Yidong <cyd@gnu.org>
+
+ * window.el (special-display-regexps, special-display-frame-alist)
+ (special-display-buffer-names, special-display-function)
+ (display-buffer-reuse-frames): Mark as obsolete.
+
+ * progmodes/compile.el: Don't use display-buffer-reuse-frames.
+
+ * help.el (help-print-return-message): Don't treat
+ display-buffer-reuse-frames specially.
+
+2012-08-26 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action):
+ New variable, replacing gdb-frame-parameters.
+ (gdb-frame-io-buffer, gdb-frame-breakpoints-buffer)
+ (gdb-frame-threads-buffer, gdb-frame-memory-buffer)
+ (gdb-frame-disassembly-buffer, gdb-frame-stack-buffer)
+ (gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it.
+ (def-gdb-frame-for-buffer): Macro deleted. It is easier to define
+ the functions directly with gdb-display-buffer-other-frame-action.
+ (gdb-display-breakpoints-buffer, gdb-display-threads-buffer)
+ (gdb-display-memory-buffer, gdb-display-disassembly-buffer)
+ (gdb-display-stack-buffer, gdb-display-locals-buffer)
+ (gdb-display-registers-buffer): Define directly.
+ (def-gdb-display-buffer): Macro deleted.
+ (gdb-display-buffer): Remove second and third args, callers don't
+ use them. Defer to the default display-buffer behavior, apart
+ from making windows dedicated.
+ (gdb-setup-windows): Don't call display-buffer unnecessarily.
+
+ * progmodes/gud.el (gud-display-line): Just use display-buffer.
+
+ * window.el (display-buffer-pop-up-frame): Handle a
+ pop-up-frame-parameters alist entry.
+ (display-buffer): Document it.
+
+2012-08-26 Chong Yidong <cyd@gnu.org>
+
+ * isearch.el (search-whitespace-regexp): Make string and nil
+ values apply to both ordinary and regexp search. Allow a cons
+ cell value to distinguish between the two.
+ (isearch-whitespace-regexp, isearch-search-forward)
+ (isearch-search-backward): New functions.
+ (isearch-occur, isearch-search-fun-default, isearch-search)
+ (isearch-lazy-highlight-new-loop): Use them.
+ (isearch-forward, isearch-forward-regexp): Doc fix.
+
+2012-08-26 Chong Yidong <cyd@gnu.org>
+
+ * faces.el (help-argument-name): Always inherit from italic
+ (Bug#12213).
+
+2012-08-25 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window--even-window-heights): Even heights when
+ WINDOW and the selected window form a vertical combination.
+ (display-buffer-use-some-window): Provide that window used gets
+ sized back by quit-window. (Bug#11880) and (Bug#12091)
+
+2012-08-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix file time stamp problem with bzr and CVS (Bug#12001).
+ * vc/vc-cvs.el (vc-cvs-parse-entry): Ignore subsecond information
+ in the file's time stamp, since the version control system loses
+ that information.
+
+2012-08-22 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-fontify-node): Hide the suffix of the
+ Info file name in the header line. (Bug#12187)
+
+2012-08-22 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-tex.el (cal-tex-weekly-common):
+ Restore leading blank page.
+
+2012-08-22 Le Wang <l26wang@gmail.com> (tiny change)
+
+ * misc.el (forward-to-word, backward-to-word): Activate or extend
+ the region under `shift-select-mode'. (Bug#12231)
+
+2012-08-22 Bastien Guerry <bzg@gnu.org>
+
+ * progmodes/executable.el (executable-prefix): Set to "#!" instead
+ of "#! ". http://www.in-ulm.de/~mascheck/various/shebang/#details
+ gives details on why the space is never needed.
+
+2012-08-22 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (walk-window-tree, window-with-parameter):
+ New optional argument MINIBUF to control whether these functions
+ should run on the minibuffer window.
+ (window-at-side-list): Don't operate on minibuffer window.
+ (window-in-direction): Simplify and rewrite doc-string.
+ (window--size-ignore): Rename to window--size-ignore-p.
+ Update callers.
+ (display-buffer-in-atom-window, window--major-non-side-window)
+ (window--major-side-window, display-buffer-in-major-side-window)
+ (delete-side-window, display-buffer-in-side-window):
+ New functions.
+ (window--side-check, window-deletable-p, delete-window)
+ (delete-other-windows, split-window): Handle side windows and
+ atomic windows appropriately.
+ (window--display-buffer): Call display-buffer-record-window also
+ when the window buffer did not change.
+
+2012-08-22 Christopher Schmidt <christopher@ch.ristopher.com>
+
+ * help-fns.el (help-fns--key-bindings):
+ Abbreviate non-symbol remap targets. (Bug#12174)
+
+2012-08-22 Martin Rudalics <rudalics@gmx.at>
+
+ * dired.el (dired-mark-remembered): Don't clobber point.
+ (Bug#11795)
+
+2012-08-22 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/bug-reference.el (bug-reference): New custom group.
+ (bug-reference-bug-regexp): Make it a defcustom.
+
+2012-08-22 Daiki Ueno <ueno@unixuser.org>
+
+ * progmodes/js.el (js-indent-level, js-expr-indent-offset)
+ (js-paren-indent-offset, js-square-indent-offset)
+ (js-curly-indent-offset): Add :safe (Bug#12257).
+
+2012-08-22 Edward O'Connor <hober0@gmail.com>
+
+ * json.el (json-key-format): Add error properties.
+ (json-encode-key): New function.
+ (json-encode-hash-table, json-encode-alist, json-encode-plist):
+ Use json-encode-key.
+
+2012-08-22 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-tex.el (cal-tex-longday): New function, replacing...
+ (cal-tex-leftday, cal-tex-rightday): Remove functions.
+ (cal-tex-weekly-common, cal-tex-cursor-filofax-2week):
+ Update for above change.
+
+2012-08-21 Andreas Schwab <schwab@linux-m68k.org>
+
+ * cus-face.el (custom-face-attributes): Fix customize type for the
+ :underline attribute. (Bug#11805)
+
+2012-08-21 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-point-1, set-window-point-1): Remove.
+ (window-in-direction, record-window-buffer)
+ (set-window-buffer-start-and-point, split-window-below)
+ (window--state-get-1, display-buffer-record-window):
+ Replace calls to window-point-1 and set-window-point-1 by calls to
+ window-point and set-window-point respectively.
+
+2012-08-21 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-tex.el (cal-tex-weekly-common): New function.
+ (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week):
+ Use it.
+
+ * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg.
+ (cal-tex-shortday): New function.
+ (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week)
+ (cal-tex-cursor-filofax-daily): Use the above.
+
+ * calendar/cal-tex.el (cal-tex-leftday, cal-tex-rightday):
+ New functions.
+ (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week)
+ (cal-tex-cursor-filofax-week): Use them.
+
+ * calendar/cal-tex.el (cal-tex-lefthead, cal-tex-righthead):
+ New constants.
+ (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-2week)
+ (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use them.
+
+ * calendar/cal-tex.el (cal-tex-preamble): Generate new buffers.
+ (cal-tex-end-document): Don't rely on buffer name.
+
+ * calendar/cal-tex.el (cal-tex-cursor-filofax-year):
+ Use cal-tex-vspace.
+ (cal-tex-vspace, cal-tex-hspace, cal-tex-em, cal-tex-bf)
+ (cal-tex-Huge-bf, cal-tex-large-bf): Use cal-tex-cmd.
+ (cal-tex-scriptsize, cal-tex-huge, cal-tex-Huge, cal-tex-large):
+ Use cal-tex-arg.
+
+ * calendar/cal-tex.el (cal-tex-cursor-filofax-year)
+ (cal-tex-cursor-week, cal-tex-cursor-week2)
+ (cal-tex-cursor-week-iso, cal-tex-cursor-week-at-a-glance)
+ (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week)
+ (cal-tex-cursor-filofax-daily, cal-tex-cursor-day)
+ (cal-tex-insert-preamble, cal-tex-b-document)
+ (cal-tex-e-document, cal-tex-b-center, cal-tex-e-center):
+ Improve cal-tex-cmd usage.
+
+ * calendar/cal-tex.el (cal-tex-filofax-paper): New function.
+ (cal-tex-cursor-filofax-year, cal-tex-cursor-filofax-2week)
+ (cal-tex-cursor-filofax-week, cal-tex-cursor-filofax-daily): Use it.
+ (cal-tex-weekly-paper): New function.
+ (cal-tex-cursor-week, cal-tex-cursor-week2)
+ (cal-tex-cursor-week-iso, cal-tex-cursor-week-monday)
+ (cal-tex-cursor-day): Use it.
+
+ * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance)
+ (cal-tex-cursor-filofax-week): Remove leading blank page.
+
+ * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance):
+ Add autoload cookie. For now at least, don't use color, since
+ no other cal-tex function does.
+
+ * calendar/cal-tex.el (cal-tex-cursor-week-iso)
+ (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week)
+ (cal-tex-cursor-filofax-daily): Correct start date for diary entries.
+
+2012-08-21 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-file-attributes): New variable.
+ (info-insert-file-contents): Add file attributes to
+ `Info-file-attributes'. Clear the caches `Info-index-nodes' and
+ `Info-toc-nodes' when previous modtime of the Info file is less
+ than new modtime.
+ (Info-toc-nodes, Info-index-nodes): Move definitions up to the top
+ of info.el. (Bug#12230)
+
+2012-08-20 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
+ * calendar/holidays.el (calendar-holiday-list):
+ Report errors with display-warning rather than beep'n'sleep.
+
+2012-08-20 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-accept-process-output): Accept only output
+ from PROC. Otherwise, process filters and sentinels might be
+ confused. (Bug#12145)
+
+2012-08-20 Chong Yidong <cyd@gnu.org>
+
+ * descr-text.el (describe-text-properties-1): Use overlays-in to
+ report on empty overlays (Bug#3322).
+
+2012-08-20 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmailout.el (rmail-output-read-file-name):
+ Trap and report errors in rmail-output-file-alist elements.
+
+ * font-lock.el (font-lock-add-keywords): Doc fix (quote face names
+ since most non-font-lock faces are not also variables).
+
+2012-08-20 Edward Reingold <reingold@iit.edu>
+
+ * calendar/cal-tex.el (cal-tex-cursor-week-at-a-glance):
+ New function. (Bug12160)
+
+2012-08-19 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmailout.el (rmail-output-read-file-name):
+ Fix previous change (when the alist is nil or does not match).
+
+2012-08-19 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml-escape-string): Don't refer to xml-entity-alist
+ (Bug#12228).
+
+2012-08-18 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (yank-handled-properties): New defcustom.
+ (yank-excluded-properties): Add font-lock-face and category.
+ (yank): Doc fix.
+
+ * subr.el (remove-yank-excluded-properties):
+ Obey yank-handled-properties. The special handling of font-lock-face
+ and category is now done this way, instead of being hard-coded.
+ (insert-for-yank-1): Remove font-lock-face handling.
+ (yank-handle-font-lock-face-property)
+ (yank-handle-category-property): New function.
+
+2012-08-17 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmailout.el (rmail-output-read-file-name):
+ Check rmail-output-file-alist against the full message body
+ in the correct rmail buffer. (Bug#12214)
+
+2012-08-17 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-sh-handle-start-file-process):
+ Eliminate superfluous prompt. (Bug#12203)
+
+2012-08-17 Chong Yidong <cyd@gnu.org>
+
+ * mouse.el (mouse-appearance-menu): If x-select-font returns a
+ font spec, set the font directly (Bug#3228).
+
+2012-08-17 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (delete-window): Fix last fix.
+
+2012-08-16 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-valid-p): Move to window.c.
+ (window-child, window-child-count, window-last-child)
+ (window-normalize-window, window-combined-p)
+ (window-combinations, window-atom-root, window-min-size)
+ (window-sizable, window-sizable-p, window-size-fixed-p)
+ (window-min-delta, window-max-delta, window--resizable)
+ (window--resizable-p, window-resizable, window-total-size)
+ (window-full-height-p, window-full-width-p, window-body-size)
+ (window-at-side-p, adjust-window-trailing-edge, maximize-window)
+ (minimize-window, window-deletable-p, delete-window)
+ (delete-other-windows, set-window-buffer-start-and-point)
+ (next-buffer, previous-buffer, split-window, balance-windows-2)
+ (set-window-text-height, window-buffer-height)
+ (fit-window-to-buffer, shrink-window-if-larger-than-buffer)
+ (truncated-partial-width-window-p): Minor code adjustments.
+ In doc-strings state whether the argument window has to denote a
+ live, valid or any window.
+
+2012-08-16 Phil Sainty <psainty@orcon.net.nz> (tiny change)
+
+ * progmodes/subword.el (subword-forward-function)
+ (subword-backward-function, subword-forward-regexp)
+ (subword-backward-regexp): New variables.
+ (subword-forward, subword-forward-internal, subword-backward-internal):
+ Use new variables, eg so that different "word" definitions
+ can be easily used. (Bug#11411)
+
+2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion
+ for composite selectors.
+ * vc/vc.el (vc-diff-build-argument-list-internal): Don't prevent
+ operation just because we can't find a previous revision.
+
+2012-08-15 Chong Yidong <cyd@gnu.org>
+
+ * frame.el (set-frame-font): Accept font objects.
+
+2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/tex-mode.el (tex-insert-quote): ~ is a space (bug#12137).
+
+2012-08-15 Wolfgang Jenkner <wjenkner@inode.at>
+
+ * man.el (Man-overstrike-face, Man-underline-face)
+ (Man-reverse-face): Remove variables.
+ (Man-overstrike, Man-underline, Man-reverse): New faces.
+ (Man-fontify-manpage): Use them instead of the variables.
+ (Man-cleanup-manpage): Comment change.
+ (Man-ansi-color-map): New variable.
+ (Man-fontify-manpage): Use it.
+ Call ansi-color-apply-on-region to replace ad hoc code (bug#12147).
+
+ Implement ANSI SGR parameters 22-27 (bug#12146).
+ * ansi-color.el (ansi-colors): Doc fix.
+ (ansi-color-context, ansi-color-context-region): Doc fix.
+ (ansi-color--find-face): New function.
+ (ansi-color-apply, ansi-color-apply-on-region): Use it.
+ Rename the local variable `face' to `codes' since it is now a list of
+ ansi codes. Doc fix.
+ (ansi-color-get-face): Remove.
+ (ansi-color-parse-sequence): New function, derived from
+ ansi-color-get-face.
+ (ansi-color-apply-sequence): Use it. Rewrite, and support ansi
+ codes 22-27.
+
+2012-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (read-passwd): Allow use from a minibuffer.
+
+2012-08-14 Eli Zaretskii <eliz@gnu.org>
+
+ * tooltip.el (tooltip-identifier-from-point): Don't treat tokens
+ inside comments and strings as identifiers.
+
+ * progmodes/gud.el (gud-tooltip-print-command): Quote the
+ expression to evaluate. This allows to evaluate expressions with
+ embedded whitespace.
+ (gud-tooltip-tips): Add a blank before the newline in the
+ message-box text, for the benefit of message-box emulation on
+ MS-Windows.
+
+ * progmodes/gdb-mi.el (gdb-tooltip-print): Don't ignore error
+ messages from GDB, pop them up in a tooltip to give feedback to
+ user.
+ (gdb-tooltip-print-1): Quote the expression to evaluate.
+ This allows to evaluate expressions with embedded whitespace.
+ (gdb-inferior-io--init-proc): Don't send "-inferior-tty" command
+ if the TTY name is nil or empty (which happens when communicating
+ with the inferior via pipes, e.g. on MS-Windows).
+ (gdb-internals): If GDB sends a "&\n" empty debugging message,
+ don't send that to the GUD buffer.
+
+2012-08-14 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-setq-default):
+ Optimize away setq-default with no args, as for setq. (Bug#12195)
+
+2012-08-14 Chong Yidong <cyd@gnu.org>
+
+ * minibuffer.el (read-file-name): Doc fix (Bug#10881).
+
+ * emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix
+ (Bug#12085).
+
+2012-08-14 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix.
+
+2012-08-14 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-open-shell): Cache the shell name.
+ (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
+ Use cached shell name.
+
+2012-08-14 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-shell-send-string):
+ (python-shell-send-setup-code): Do not use `format' with `message'.
+
+2012-08-14 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el: Improve percent literals (bug#6286).
+ (ruby-percent-literal-beg-re): New constant.
+ (ruby-syntax-general-delimiters-goto-beg): Rename to
+ `ruby-syntax-enclosing-percent-literal', improve literal type check.
+ (ruby-syntax-propertize-general-delimiters): Rename to
+ `ruby-syntax-propertize-percent-literal', it's a shorter and more
+ popular term. Adjust comments everywhere.
+ (ruby-syntax-propertize-percent-literal): Only propertize when not
+ inside a simple string or comment. When the literal is unclosed,
+ leave the text after it unpropertized.
+ (ruby-syntax-methods-before-regexp): New constant.
+ (ruby-syntax-propertize-function): Use it to recognize regexps.
+ Don't look at the text after regexp, just use the whitelist.
+
+2012-08-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is
+ non-nil always load the compiled file if it exists. (Bug#12197)
+
+2012-08-14 Chong Yidong <cyd@gnu.org>
+
+ * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock.
+ (hi-lock-set-pattern): When deciding whether to use font lock or
+ overlays, look at font-lock-mode instead of font-lock-fontified
+ (Bug#12168).
+ (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer)
+ (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix.
+
+2012-08-14 Daiki Ueno <ueno@unixuser.org>
+
+ * subr.el (internal--after-with-selected-window): Fix typo
+ (Bug#12193).
+
+2012-08-14 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Use `completion-table-dynamic' for completion functions.
+ * progmodes/python.el
+ (python-shell-completion--do-completion-at-point)
+ (python-shell-completion--get-completions):
+ Remove functions.
+ (python-shell-completion-complete-at-point): New function.
+ (python-completion-complete-at-point): Use it.
+
+2012-08-13 Jambunathan K <kjambunathan@gmail.com>
+
+ * vc/vc-dir.el (vc-dir-hide-state): New command (bug#12159).
+ (vc-dir-hide-up-to-date): Route it to `vc-dir-hide-state'.
+
+2012-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (function-get): Refine `autoload' arg so it can also
+ autoload functions for gv.el (bug#12191).
+ * emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only
+ autoloads macros.
+
+ * color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000):
+ Prefer pcase-let over destructuring-bind.
+ * vc/diff-mode.el (diff-remove-trailing-whitespace): Same.
+ Also, remove whitespace as we go, rather than after accumulating the
+ various places.
+
+ * subr.el (internal--before-with-selected-window)
+ (internal--after-with-selected-window): Fix typo seleted->selected.
+ (with-selected-window): Adjust callers.
+ Reported by Dmitry Gutov <dgutov@yandex.ru>.
+
+2012-08-13 Bastien Guerry <bzg@gnu.org>
+
+ * window.el (special-display-popup-frame): Minor docstring
+ enhancement. (Bug#12172)
+
+2012-08-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ * tar-mode.el (tar-header-data-end): Only ignore size for files of
+ type 1-6.
+ (tar-header-block-summarize, tar-get-descriptor): Handle pax
+ extended headers.
+
+ * files.el (hack-local-variables-filter): Remove useless eval.
+
+2012-08-13 Martin Rudalics <rudalics@gmx.at>
+
+ * subr.el (with-selected-window): Fix last change.
+
+2012-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (internal--before-with-seleted-window)
+ (internal--after-with-seleted-window): New functions.
+ (with-selected-window): Use them, to replace dependency on
+ tty-top-frame.
+
+2012-08-12 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * progmodes/ruby-mode.el (ruby-mode-map): Remove unnecessary
+ binding for `newline'.
+ (ruby-move-to-block): When moving backward, stop at block opening,
+ not indentation.
+ * progmodes/ruby-mode.el (ruby-brace-to-do-end)
+ (ruby-do-end-to-brace, ruby-toggle-block): New functions.
+ * progmodes/ruby-mode.el (ruby-mode-map): Add binding for
+ `ruby-toggle-block'.
+
+2012-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * ibuffer.el (ibuffer-do-toggle-read-only):
+ * dired.el (dired-toggle-read-only):
+ * buff-menu.el (Buffer-menu-toggle-read-only):
+ * bindings.el (mode-line-toggle-read-only):
+ * bs.el (bs-toggle-readonly): Call toggle-read-only interactively.
+
+2012-08-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * descr-text.el (describe-char): Put the overlays over the
+ "displayed as" character.
+
+2012-08-12 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-units.el (math-default-units-table): Give an
+ initial value.
+ (math-put-default-units): Add options to put composite units and
+ unit systems in the default units table.
+ (calc-convert-units): Send composite units to
+ `math-put-default-units' when appropriate.
+
+2012-08-11 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/copyright.el (copyright-update-directory): Logic fix.
+
+ * tutorial.el (help-with-tutorial):
+ * emacs-lisp/copyright.el (copyright-update-directory):
+ * emacs-lisp/autoload.el (autoload-find-generated-file)
+ (autoload-find-file): Disable local eval: (for insurance).
+
+ * files.el (hack-local-variables-filter): If an eval: form is not
+ known to be safe, and enable-local-variables is :safe, then ignore
+ the form totally, as is done for non-eval forms. (Bug#12155)
+ This is CVE-2012-3479.
+
+2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/rx.el (rx-constituents): Don't define as constant.
+ (rx-form): Simplify.
+
+2012-08-09 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el (ruby-expr-beg, ruby-parse-partial):
+ ?, _, and : are symbol constituents, ! is not (but kinda should be).
+ (ruby-syntax-propertize-heredoc): Use ruby-singleton-class-p.
+ (ruby-syntax-propertize-function): Adjust for changes in
+ `ruby-syntax-propertize-heredoc'.
+
+2012-08-09 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated
+ binding (use `M-;' instead).
+ (ruby-singleton-class-p): New function.
+ (ruby-expr-beg, ruby-in-here-doc-p) Use it.
+
+2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec.
+
+2012-08-10 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/python.el (python-shell-get-process-name): Don't mess
+ with same-window-buffer-names.
+
+ * eshell/eshell.el (eshell-add-to-window-buffer-names)
+ (eshell-remove-from-window-buffer-names): Make obsolete.
+ (eshell-buffer-name, eshell-unload-hook): Don't use them.
+ (eshell): Just use pop-to-buffer-same-window instead.
+
+2012-08-10 Chong Yidong <cyd@gnu.org>
+
+ * bindings.el: Bind M-= back to count-words-region.
+
+ * simple.el (count-words-region): Accept a prefix arg for acting
+ on the entire buffer.
+ (count-words--buffer-message): New helper function.
+
+2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event.
+ * subr.el (eventp): `nil' is not an event, and eventp is not hot.
+ (event-start, event-end): Use posn-at-point to return a more
+ informative posn.
+ (posnp): New function.
+ * mouse.el (popup-menu-normalize-position): Use it.
+
+2012-08-10 Masatake YAMATO <yamato@redhat.com>
+
+ * mouse.el (popup-menu-normalize-position): New function.
+ (popup-menu): Use `popup-menu-normalize-position' to normalize
+ the form for POSITION argument.
+
+ * term/x-win.el (x-menu-bar-open):
+ Use the value returend from (posn-at-point) as position
+ passed to `popup-menu'.
+
+2012-08-09 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calccomp.el (math-compose-expr): Add extra argument
+ indicating that parentheses should be put around products in
+ denominators. Give multiplication precedence over division during
+ composition.
+
+2012-08-09 Chong Yidong <cyd@gnu.org>
+
+ * man.el (Man-switches, Man-sed-command, Man-awk-command)
+ (Man-mode-hook, Man-cooked-hook, Man-untabify-command-args)
+ (Man-untabify-command, manual-program): Convert to defcustom
+ (Bug#10429).
+
+ * vc/add-log.el (change-log-mode): Bind comment-start to nil.
+
+ * descr-text.el (describe-char): Don't insert extra newlines
+ (Bug#10127).
+
+ * vc/log-view.el (log-view-diff): Use use-region-p (Bug#10133).
+ (log-view-diff-changeset, log-view-minor-wrap): Likewise.
+
+ * align.el (align-region): Delete temporary markers (Bug#10047).
+ Plus some code cleanups.
+
+2012-08-09 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-pdbtrack-tracked-buffer)
+ (python-pdbtrack-buffers-to-kill, python-shell-internal-buffer)
+ (python-shell-internal-last-output): Use make-local-variable
+ instead of make-variable-buffer-local.
+
+2012-08-09 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el: Enhancements to forward-sexp.
+ (python-nav-forward-sexp): Rename from
+ python-nav-forward-sexp-function.
+ (python-nav--forward-sexp, python-nav--backward-sexp):
+ New functions.
+
+2012-08-09 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-menu.el (calc-modes-menu): Add entries for matrix
+ modes and simplification modes.
+
+2012-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * delsel.el (delete-selection-pre-hook): Don't propagate the
+ file-supersession signals (bug#12161).
+
+2012-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals)
+ (cl-map-extents): Add compatibility aliases (bug#12135).
+
+2012-08-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-find-file-exists-command): Protect the
+ tests by `ignore-error'.
+ (tramp-find-shell): Open also a new shell, when cache is already
+ set. Reported by Carsten Bormann <cabo@tzi.org>. (Bug#12148)
+
+2012-08-08 Juri Linkov <juri@jurta.org>
+
+ * bookmark.el: Add `defaults' property to the bookmark record.
+ (bookmark-current-buffer): Doc fix.
+ (bookmark-make-record): Add `defaults' property with default values
+ to the bookmark record.
+ (bookmark-minibuffer-read-name-map): Remove key binding "\C-u"
+ with `bookmark-insert-current-bookmark'.
+ (bookmark-set): Get `defaults' property from the bookmark record
+ and use it in `read-from-minibuffer'.
+ (bookmark-insert-current-bookmark): Remove function.
+
+ * info.el (Info-bookmark-make-record): Add `defaults' property
+ with values of canonical Info node name, the current Info file
+ name and the current Info node name. (Bug#12107)
+
+2012-08-08 Juri Linkov <juri@jurta.org>
+
+ * files.el (basic-save-buffer): Use `buffer-name' as the default
+ of `read-file-name' when buffer is not visiting a file (bug#12128).
+
+2012-08-08 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-isearch-search): Doc fix.
+ (Info-search): Change search-failed message from "initial node" to
+ "end of node" (bug#12078).
+ (Info-isearch-search): Change `isearch-string-state' to
+ `isearch--state-string'.
+
+2012-08-08 Glenn Morris <rgm@gnu.org>
+
+ * language/persian.el: Remove file.
+ * language/misc-lang.el: Move unique part of persian.el here.
+ * loadup.el: Remove language/persian.
+
+2012-08-08 Óscar Fuentes <ofv@wanadoo.es>
+
+ * vc/diff-mode.el (diff-remove-trailing-whitespace): New function.
+
+2012-08-08 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el Fixed defsubst warning.
+ (python-syntax-context) Rename from python-info-ppss-context.
+ (python-syntax-context-type): Rename from
+ python-info-ppss-context-type.
+ (python-syntax-comment-or-string-p): Rename from
+ python-info-ppss-comment-or-string-p.
+
+2012-08-08 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-misc.el (calc-record-why): Don't record a message twice.
+
+2012-08-07 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of
+ a defcustom that is quoted with backquote.
+
+ * calc/calc-prog.el (math-do-defmath): Use backquote forms.
+ Fix handling of interactive spec when the body uses return.
+ (math-do-arg-check, math-define-function-body): Use backquote forms.
+ * calc/calc-ext.el (math-defcache): Likewise.
+ * calc/calc-rewr.el (math-rwfail, math-rweval): Likewise.
+ * allout.el (allout-new-exposure): Likewise.
+ * calc/calcalg2.el (math-tracing-integral): Likewise.
+ * info.el (Info-last-menu-item): Likewise.
+ * emulation/vip.el (vip-loop): Likewise.
+ * textmodes/artist.el (artist-funcall): Likewise.
+ * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle):
+ Construct menu-item directly.
+
+ * progmodes/autoconf.el (font-lock-syntactic-keywords):
+ Don't declare.
+
+2012-08-07 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (deactivate-mark): Preserve text properties when
+ saving the primary selection (Bug#8384).
+
+2012-08-07 Kevin Ryde <user42@zip.com.au>
+
+ * woman.el (woman0-if): Quietly treat ".if v" as false (Bug#12109).
+ (woman-parse-numeric-value): On a bad .IP line, issue a warning
+ and continue processing (Bug#12110).
+
+2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/cperl-mode.el (cperl-mode): Yet another fix for
+ syntax-propertize-function (bug#10095).
+
+2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * help-fns.el (help-fns--key-bindings, help-fns--signature)
+ (help-fns--parent-mode, help-fns--obsolete): New funs, extracted from
+ describe-function-1.
+ (describe-function-1): Use them. Move compiler macro after sig.
+ (help-fns--compiler-macro): Use function-get. Assume we're already in
+ standard-output. Adjust layout to new call order.
+
+ * emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of
+ re-binding a symbol that has a symbol-macro (bug#12119).
+
+2012-08-06 Mohsen BANAN <libre@mohsen.1.banan.byname.net>
+
+ * language/persian.el: New file. (Bug#11812)
+ * loadup.el: Add language/persian.el.
+
+2012-08-06 Chong Yidong <cyd@gnu.org>
+
+ * window.el (window--maybe-raise-frame): New function.
+ (window--display-buffer): Split off from here.
+ (display-buffer-reuse-window, display-buffer-pop-up-frame)
+ (display-buffer-pop-up-window, display-buffer-use-some-window):
+ Obey an inhibit-switch-frame action alist entry.
+ (display-buffer): Update doc.
+
+ * replace.el (occur-after-change-function): Avoid losing focus by
+ using the inhibit-switch-frame display parameter (Bug#12139).
+
+2012-08-06 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Make internal shell process buffer names start with space.
+ * progmodes/python.el (python-shell-make-comint): Add optional
+ argument INTERNAL.
+ (run-python-internal): Use it.
+ (python-shell-internal-get-or-create-process): Check for new
+ internal buffer names.
+
+2012-08-06 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-ext.el (eshell/addpath): Use dolist and mapconcat.
+ Do less getting and setting of environment variables.
+
+2012-08-05 Chong Yidong <cyd@gnu.org>
+
+ * proced.el (proced): Add substitution string to docstring to
+ trigger autoloading of the proced library on C-h f (Bug#1768).
+
+ * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
+ Don't show defvars which have no second argument (Bug#8638).
+
+ * imenu.el (imenu-generic-expression): Move documentation here
+ from imenu--generic-function.
+ (imenu--generic-function): Refer to imenu-generic-expression.
+
+2012-08-05 Vegard Øye <vegard_oye@hotmail.com> (tiny change)
+
+ * emulation/viper-init.el (viper-deflocalvar): Add docstring and
+ indentation declaration.
+ (viper-loop): Add indentation declaration (Bug#7025).
+
+2012-08-05 Chong Yidong <cyd@gnu.org>
+
+ * help-fns.el (describe-variable): Add hyperlink for
+ directory-local variables files. Improve buffer-local and
+ permanent-local reporting; suggested by MON KEY (Bug#6644).
+
+ * help-mode.el (help-dir-local-var-def): New button type.
+
+ * files.el (kill-buffer-hook): Provide a defvar.
+
+2012-08-05 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-ext.el (eshell/addpath):
+ Also update eshell-path-env. (Bug#12013)
+
+2012-08-05 Chong Yidong <cyd@gnu.org>
+
+ * wdired.el (wdired-mode, wdired-change-to-wdired-mode): Doc fixes.
+
+ * fringe.el (fringe-styles): Add docstring.
+ (fringe--check-mode): New function.
+ (set-fringe-mode, set-fringe-style): Use it.
+ (fringe-mode, set-fringe-style): Doc fixes (Bug#6480).
+
+ * files.el (set-auto-mode): Fix invalid setq call.
+
+2012-08-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * isearch.el: Misc simplification; use defstruct.
+ (isearch-mode-map): Dense maps now work like sparse ones.
+ (isearch--state): New defstruct.
+ (isearch-string-state, isearch-message-state, isearch-point-state)
+ (isearch-success-state, isearch-forward-state)
+ (isearch-other-end-state, isearch-word-state, isearch-error-state)
+ (isearch-wrapped-state, isearch-barrier-state)
+ (isearch-case-fold-search-state, isearch-pop-fun-state): Remove,
+ replaced by defstruct's accessors.
+ (isearch--set-state): Rename from isearch-top-state and change
+ calling convention.
+ (isearch-push-state): Use new isearch--get-state.
+ (isearch-toggle-word): Disable regexp when enabling word.
+ (isearch-message-prefix): Remove unused arg _c-q-hack.
+ (isearch-message-suffix): Remove unused arg _ellipsis.
+
+2012-08-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * simple.el (list-processes--refresh): For a server use :host or
+ :local as the address.
+ (list-processes): Doc fix.
+
+2012-08-04 Michal Nazarewicz <mina86@mina86.com>
+
+ * lisp/mpc.el: Support password in host argument.
+ (mpc--proc-connect): Parse and use new password element.
+ Set mpc-proc variable instead of returning process.
+ (mpc-proc): Adjust accordingly.
+
+2012-08-03 Eli Zaretskii <eliz@gnu.org>
+
+ * whitespace.el (whitespace-display-mappings): Use Unicode
+ codepoints, instead of emacs-mule codepoints. See
+ http://lists.gnu.org/archive/html/help-gnu-emacs/2012-07/msg00366.html
+ for the details.
+
+ * files.el (file-truename): Don't skip symlink-chasing part on
+ windows-nt. Incorporate the resolution of 8+3 short aliases on
+ Windows into the loop that recursively chases symlinks.
+ Compare directory and its parent case-insensitively on MS-Windows and
+ MS-DOS.
+
+2012-08-03 Chong Yidong <cyd@gnu.org>
+
+ * menu-bar.el (menu-bar-tools-menu): Remove PCL-CVS.
+
+ * sort.el (sort-regexp-fields): Doc fix.
+
+2012-08-03 Tassilo Horn <tsdh@gnu.org>
+
+ * textmodes/reftex.el (reftex-compile-variables): Make keyvals
+ labels regex position point at the expected place.
+
+2012-08-03 MON KEY <monkey@sandpframing.com>
+
+ * net/imap.el (imap-interactive-login, imap-authenticate)
+ (imap-mailbox-lsub, imap-mailbox-list)
+ (imap-mailbox-status-asynch, imap-mailbox-acl-delete)
+ (imap-fetch, imap-message-flag-permanent-p, imap-envelope-from)
+ (imap-parse-response): Doc fix.
+
+2012-08-03 João Távora <joaotavora@gmail.com>
+
+ * textmodes/tex-mode.el (latex-forward-sexp): Terminate the loop
+ if sexp scanning does not move point (Bug#5734).
+
+2012-08-02 Tassilo Horn <tsdh@gnu.org>
+
+ * textmodes/reftex-vars.el (reftex-default-label-alist-entries):
+ Add listings, minted, and ctable packages.
+ (reftex-label-alist-builtin): Move listings, minted, and ctable
+ entries before LaTeX.
+ (reftex-label-alist): Docfix.
+
+2012-08-02 Bastien Guerry <bzg@gnu.org>
+
+ * replace.el (occur): Fix docstring (bug#12122).
+
+2012-08-02 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
+
+2012-08-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Obsolete alias inactivate-current-input-method-function (Bug#10150).
+ * international/mule-cmds.el: Create
+ inactivate-current-input-method-function as an obsolete alias for
+ deactivate-current-input-method-function. See Katsumi Yamaoka in
+ <http://bugs.gnu.org/10150#46>.
+
+2012-08-01 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-mode.el (calc-set-simplify-mode): Use `cond' instead
+ of nested `if's.
+
+2012-08-01 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/autoconf.el (autoconf-definition-regexp):
+ Add AH_TEMPLATE, adjust submatch numbering.
+ (autoconf-font-lock-keywords, autoconf-imenu-generic-expression)
+ (autoconf-current-defun-function): Update for above change.
+ (autoconf-current-defun-function): First skip to end of current word.
+
+2012-08-01 Rupert Swarbrick <rswarbrick@gmail.com> (tiny change)
+
+ * calendar/cal-html.el (cal-html-insert-agenda-days):
+ Fix typo. (Bug#12018)
+
+2012-07-31 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Shell processes: enhancements to startup and CEDET compatibility.
+ * progmodes/python.el (python-shell-send-setup-max-wait): Delete var.
+ (python-shell-make-comint): accept-process-output at startup.
+ (run-python-internal): Set inferior-python-mode-hook to nil.
+ (python-shell-internal-get-or-create-process): call sit-for.
+ (python-preoutput-result): Add obsolete alias.
+ (python-shell-internal-send-string): Use it.
+ (python-shell-send-setup-code): Remove call to
+ accept-process-output.
+
+2012-07-31 Andreas Schwab <schwab@linux-m68k.org>
+
+ * buff-menu.el (list-buffers-noselect): Use prefix-numeric-value.
+ (Bug#12108)
+
+2012-07-31 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc-mode.el (calc-basic-simplification-mode): Rename from
+ `calc-limited-simplification-mode'.
+ (calc-alg-simplification-mode): New function.
+ (calc-set-simplify-mode): Adjust message.
+
+ * calc.el (calc-set-mode-line): Adjust mode line display for
+ basic simplification mode.
+
+ * calc-help.el (calc-m-prefix-help): Update help message.
+
+ * calc-ext.el (calc-init-extensions): Add bindings and autoloads
+ for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'.
+
+2012-07-31 Bastien Guerry <bzg@gnu.org>
+
+ * man.el (man): Fix comment. (bug#12101)
+
+2012-07-31 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (switch-to-prev-buffer, switch-to-next-buffer):
+ Don't return a non-nil value when no suitable buffer was found.
+
+2012-07-31 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (run-python-internal): Disable font lock for
+ internal shells.
+
+2012-07-30 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Silence `checkdoc-ispell'.
+ (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
+ (rst-official-version, rst-official-cvs-rev)
+ (rst-package-emacs-version-alist): Update to upstream V1.3.1.
+ (rst-mode-map): New key binding.
+
+2012-07-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Update .PHONY listings in makefiles.
+ * Makefile.in (.PHONY): Add all, doit, custom-deps, finder-data,
+ autoloads, update-subdirs, updates, bzr-update, update-authors,
+ compile-onefile, compile-calc, backup-compiled-files,
+ compile-after-backup, compile-one-process, mh-autoloads,
+ bootstrap-clean, distclean, maintainer-clean.
+
+2012-07-29 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc.el (calc-simplify-mode): Make 'alg the default value.
+ (calc-set-mode-line): Don't display "AlgSimp ".
+
+ * calc/calc-mode.el (calc-alg-simplify-mode): Remove function.
+ (calc-lim-simplify-mode): New function.
+ (calc-set-simplify-mode): Default to 'alg.
+ (calc-default-simplify-mode): Make algebraic simplifications
+ the default.
+
+ * calc/calc-ext.el (calc-init-extensions): Remove binding for
+ `calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'.
+
+ * calc/calc-help.el (calc-m-prefix-help): Change messages to
+ indicate new simplification modes.
+
+ * calc/README: Mention new default simplification mode.
+
+ * calc/calc.el (math-normalize-error): New variable.
+ (math-normalize): Set `math-normalize-error' to t
+ when there's an error.
+
+ * calc/calc-alg.el (math-simplify): Don't simplify when
+ `math-normalize' returns an error.
+
+2012-07-29 Eli Zaretskii <eliz@gnu.org>
+
+ * international/mule-cmds.el (set-locale-environment): Revert last
+ change, since display-graphic-p returns nil when this function is
+ called during startup. Instead...
+
+ * term/w32console.el (terminal-init-w32console): ...setup the
+ keyboard and terminal encoding for TTY sessions here. (Bug#12082)
+
+2012-07-29 Juri Linkov <juri@jurta.org>
+
+ * simple.el (goto-line): Don't display default line number in the
+ prompt because it should be displayed by `read-number' (bug#9952).
+ Add the current line number to the defaults of `goto-line' to
+ allow its easier modification by users with `M-n' (bug#9201).
+
+ * subr.el (read-number): Support multiple default values like in
+ other minibuffer reading functions. Replace `read' with
+ `string-to-number' for consistency with `number-to-string'.
+
+2012-07-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150)
+ * emulation/viper-init.el (viper-deactivate-input-method-action):
+ Rename from viper-inactivate-input-method-action.
+ (viper-deactivate-input-method):
+ Rename from viper-inactivate-input-method.
+ * follow.el (follow-inactive-menu): Rename from follow-deactive-menu.
+ * international/mule-cmds.el (deactivate-input-method):
+ Rename from inactivate-input-method.
+ Also run input-method-deactivate-hook.
+ (deactivate-current-input-method-function):
+ Rename from inactivate-current-input-method-function.
+ (input-method-deactivate-hook): New hook.
+ (input-method-inactivate-hook): Mark obsolete.
+ (inactivate-input-method): Mark obsolete.
+
+ * international/quail.el (quail-activate):
+ Also run quail-deactivate-hook.
+ (quail-deactivate): Rename from quail-inactivate.
+ * international/robin.el (robin-activate):
+ Also run robin-deactivate-hook.
+ (robin-deactivate): Rename from robin-inactivate.
+
+2012-07-29 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (indicate-copied-region): New function.
+ (kill-ring-save): Split off from here.
+
+ * rect.el (copy-rectangle-as-kill): Call indicate-copied-region.
+ (kill-rectangle): Set deactivate-mark to t on read-only error.
+
+ * register.el (copy-to-register, copy-rectangle-to-register):
+ Deactivate the mark, and use indicate-copied-region (Bug#10056).
+ (append-to-register, prepend-to-register):
+ Call 2012-07-29 Juri Linkov <juri@jurta.org>
+
+ * simple.el (async-shell-command-buffer): New defcustom.
+ (shell-command): Use it. (Bug#4719)
+
+2012-07-28 Eli Zaretskii <eliz@gnu.org>
+
+ * international/mule-cmds.el (set-locale-environment): In a
+ console session on MS-Windows, set up keyboard and terminal
+ encoding from the OEM codepage, not the ANSI codepage.
+ (Bug#12055)
+
+2012-07-28 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to
+ gdb-get-location.
+
+2012-07-28 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in
+ the alist (bug#12029).
+
+2012-07-28 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (custom-deps, finder-data, updates, compile)
+ (compile-always, compile-first)
+ ($(lisp)/calendar/cal-loaddefs.el)
+ ($(lisp)/calendar/diary-loaddefs.el)
+ ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el)
+ ($(lisp)/net/tramp-loaddefs.el, bootstrap)
+ ($(lisp)/progmodes/cc-mode.elc): Depend on $(lisp)subdirs.el,
+ instead of on update-subdirs.
+ (bootstrap-clean): Delete $(lisp)/subdirs.el.
+
+2012-07-28 Chong Yidong <cyd@gnu.org>
+
+ * vc/vc.el (vc-root-diff, vc-print-root-log): Prompt for a
+ directory if vc-deduce-backend returns nil (Bug#7350).
+
+ * simple.el (delete-trailing-lines): New option.
+ (delete-trailing-whitespace): Obey it (Bug#11879).
+
+2012-07-28 David Engster <deng@randomsample.de>
+
+ * xml.el (xml-node-name, xml-parse-file, xml-parse-region):
+ Explanation of new 'symbol-qnames feature in doc-strings.
+ (xml-maybe-do-ns): Return expanded names as plain symbols if
+ 'symbol-qnames was provided in XML-NS argument (Bug#11916).
+ (xml-parse-tag-1): Deal with new definition of PARSE-NS argument.
+
+2012-07-27 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Consistent completion in inferior python with emacs -nw.
+ * progmodes/python.el (inferior-python-mode): replace "<tab>"
+ binding in inferior-python-mode-map with "\t".
+ (python-shell-completion-complete-at-point)
+ (python-completion-complete-at-point): Remove interactive spec.
+
+2012-07-27 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calccomp.el (math-compose-expr): Undo previous change.
+
+2012-07-27 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-mode-map): Add keybinding for
+ run-python.
+ (python-shell-make-comint): Fix pop-to-buffer call.
+ (run-python): Autoload. New arg SHOW.
+ (python-shell-get-or-create-process): Do not pop python process
+ buffer.
+
+2012-07-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * notifications.el (notifications-on-action-signal)
+ (notifications-on-closed-signal): Use also the bus address for the map.
+ (notifications-notify, notifications-close-notification)
+ (notifications-get-capabilities): Add optional argument BUS.
+
+2012-07-27 Tassilo Horn <tsdh@gnu.org>
+
+ * textmodes/reftex-vars.el (reftex-label-alist-builtin):
+ Add support for the lstlisting and minted environments, and for the
+ ctable macro.
+ * textmodes/reftex.el (reftex-compile-variables): Also recognize
+ labels written in keyvals syntax.
+
+2012-07-27 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calccomp.el (math-compose-expr): Use parentheses when
+ there is a product in the denominator of a fraction.
+
+2012-07-26 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in ($(lisp)/calendar/cal-loaddefs.el)
+ ($(lisp)/calendar/diary-loaddefs.el)
+ ($(lisp)/calendar/hol-loaddefs.el, $(lisp)/mh-e/mh-loaddefs.el)
+ ($(lisp)/net/tramp-loaddefs.el): Depend on update-subdirs.
+ Fixes failures in parallel bootstrap because subdirs.el is being
+ rewritten while the autoload files are built at the same time,
+ which needs to load subdirs.el.
+
+2012-07-26 Martin Rudalics <rudalics@gmx.at>
+
+ * mouse.el (popup-menu): Fix doc-string and re-indent code.
+ (mouse-drag-line): Don't exit tracking when a switch-frame or
+ switch-window event occurs (Bug#12006).
+
+2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mouse.el (popup-menu): Fix last change.
+
+2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Autoload from Lisp with more care. Follow aliases when looking for
+ function properties.
+ * subr.el (autoloadp): New function.
+ (symbol-file): Use it.
+ (function-get): New function.
+ * emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
+ autoload-do-load.
+ * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
+ (lisp-indent-function):
+ * emacs-lisp/gv.el (gv-get):
+ * emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
+ * emacs-lisp/byte-opt.el (byte-optimize-form):
+ * emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
+ * emacs-lisp/autoload.el (make-autoload, autoload-print-form):
+ Use function-get.
+ * emacs-lisp/cl.el: Don't propagate function properties any more.
+
+ * speedbar.el (speedbar-add-localized-speedbar-support):
+ * emacs-lisp/disass.el (disassemble-internal):
+ * desktop.el (desktop-load-file):
+ * help-fns.el (help-function-arglist, find-lisp-object-file-name)
+ (describe-function-1):
+ * emacs-lisp/find-func.el (find-function-noselect):
+ * emacs-lisp/elp.el (elp-instrument-function):
+ * emacs-lisp/advice.el (ad-has-proper-definition):
+ * apropos.el (apropos-safe-documentation, apropos-macrop):
+ * emacs-lisp/debug.el (debug-on-entry):
+ * emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
+ * emacs-lisp/byte-opt.el (byte-compile-inline-expand):
+ * calc/calc.el (name): Use autoloadp & autoload-do-load.
+
+2012-07-25 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * international/mule-cmds.el (ucs-insert): Mark it as an obsolete
+ function, not an obsolete variable (Bug#12046).
+
+2012-07-25 Andreas Schwab <schwab@linux-m68k.org>
+
+ * faces.el (face-spec-reset-face): Fix last change. (Bug#12042)
+
+2012-07-25 Christopher Schmidt <christopher@ch.ristopher.com>
+
+ * emacs-lisp/pp.el (pp-display-expression): Select old selected
+ window only if it is still live (Bug#12034).
+
+2012-07-25 Martin Rudalics <rudalics@gmx.at>
+
+ * subr.el (redirect-frame-focus): Add advertised calling
+ convention (Bug#12030).
+
+2012-07-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer typical American spelling for "acknowledgment".
+ * vc/add-log.el (change-log-acknowledgment): Rename from
+ change-log-acknowledgement, with an alias for the old name.
+
+2012-07-25 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc-alg.el (math-simplify-divide): Don't cross multiply
+ in an equation when the lhs is a variable.
+
+2012-07-24 Julien Danjou <julien@danjou.info>
+
+ * net/netrc.el (netrc-find-service-number, netrc-store-data):
+ Remove, unused.
+
+2012-07-23 Eli Zaretskii <eliz@gnu.org>
+
+ * startup.el (command-line): Don't display an empty user name in
+ the error message about non-existent home directory, when
+ init-file-user was set to an empty string. See
+ http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html
+ for the details and context.
+
+2012-07-22 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * ses.el (ses-cell-formula-aset): New macro.
+ (ses-cell-references-aset): New macro.
+ (ses-cell-p): New function.
+ (ses-rename-cell): Do no longer rely on complex operations like
+ ses-cell-set-formula or ses-set-cell to change the cell and handle
+ the undo at the same time, but rather use lower level new macros
+ `ses-cell-formula-aset' and `ses-cell-references-aset' and handle
+ the undo directly. Refresh the mode line.
+
+2012-07-21 Leo Liu <sdl.web@gmail.com>
+
+ * progmodes/cc-cmds.el (c-defun-name):
+ Use match-string-no-properties instead for consistency.
+
+2012-07-20 Leo Liu <sdl.web@gmail.com>
* progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly.
(Bug#7879)
- * progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986).
+ * progmodes/cc-langs.el (c-symbol-start): Include char _ (bug#11986).
+
+2012-07-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package.
+ * progmodes/bug-reference.el, misearch.el: Provide themselves
+ (bug#11915).
+
+ * progmodes/cperl-mode.el (cperl-unwind-to-safe): Don't inf-loop at end
+ of narrowed buffer (bug#11966).
+
+2012-07-20 Vincent Belaïche <vincentb1@users.sourceforge.net>
+
+ * ses.el (ses-rename-cell): Set new name also in reference list of
+ cells of which the renamed cell depends.
+
+2012-07-20 Masatake YAMATO <yamato@redhat.com>
+
+ * term/x-win.el (x-menu-bar-open): Use `frame-parameter'
+ to check whether menu-bar is shown or not. If not shown,
+ show the menu-bar as a popup menu instead of using tmm.
+ * mouse.el (popup-menu): Accept `point' as `position' argument.
+
+2012-07-20 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el (ruby-parse-partial): No error when end
+ up inside string symbol literal (bug#11923).
+
+2012-07-20 Eli Zaretskii <eliz@gnu.org>
+
+ * startup.el (fancy-startup-text): Read the whole tutorial, not
+ just its first 256 bytes. Prevents gibberish in display of the
+ tutorial title.
+
+2012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Drop idle buffer compaction due to an absence of the
+ proved efficiency.
+ * compact.el: Remove.
+
+2012-07-19 Sam Steingold <sds@gnu.org>
+
+ * vc/vc-dispatcher.el (vc-compilation-mode): Add, based on
+ vc-bzr-pull & vc-bzr-merge-branch.
+ * vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it.
+ (vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist
+ for consistency with compilation-error-regexp-alist.
+ * vc/vc-git.el (vc-git-error-regexp-alist): Add.
+ (vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode.
+ * vc/vc-hg.el (vc-hg-error-regexp-alist): Add.
+ (vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode.
+
+2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/chart.el: Use lexical-binding.
+ (chart-emacs-storage): Don't hardcode the list of entries.
+
+2012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Next round of tweaks caused by Fgarbage_collect changes.
+ * emacs-lisp/chart.el (chart-emacs-storage): Adjust again.
+
+2012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Compact buffers when idle.
+ * compact.el: New file.
+
+2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (eventp): Presume that if it looks vaguely like an event,
+ it's an event (bug#10190).
+
+2012-07-19 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Enhancements to ppss related code (thanks Stefan).
+ * progmodes/python.el (python-indent-context)
+ (python-indent-calculate-indentation, python-indent-dedent-line)
+ (python-indent-electric-colon, python-nav-forward-block)
+ (python-mode-abbrev-table)
+ (python-info-assignment-continuation-line-p): Simplify checks
+ for ppss context.
+ (python-info-continuation-line-p): Cleanup.
+ (python-info-ppss-context): Do not catch 'quote.
+ (python-info-ppss-context-type)
+ (python-info-ppss-comment-or-string-p): Simplify.
+
+2012-07-18 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el: Enhancements to eldoc support.
+ (python-info-current-symbol): New function.
+ (python-eldoc-at-point): Use python-info-current-symbol.
+ (python-info-current-defun): Fix cornercase on first defun scan.
+ (python-eldoc--get-doc-at-point): Use python-info-current-symbol
+ and signal error when no inferior python process is available.
+
+2012-07-18 Dmitry Gutov <dgutov@yandex.ru>
+
+ * vc/vc-git.el (vc-git-state): Don't call `vc-git-registered',
+ assume it's always t.
+ (vc-git-registered): Remove caching, the function is only called
+ once.
+ (vc-git-branches): Use `vc-git--call' instead of `call-process'.
+
+2012-07-18 Chong Yidong <cyd@gnu.org>
+
+ * subr.el (last-input-char, last-command-char): Remove (Bug#9195).
+
+ * simple.el (count-words): Report on narrowing (Bug#9959).
+
+ * bindings.el: Bind M-= to count-words.
+
+ * faces.el (face-spec-reset-face): Handle reverse video (Bug#4238).
+
+2012-07-18 Masatake YAMATO <yamato@redhat.com>
+
+ * progmodes/sh-script.el (sh-imenu-generic-expression):
+ Capture a function with `function' keyword and without parentheses
+ like "function FOO" (bug#11856).
+
+2012-07-18 Tassilo Horn <tassilo@member.fsf.org>
+
+ * window.el (split-window-sensibly): Make WINDOW argument
+ optional.
+
+2012-07-18 Chong Yidong <cyd@gnu.org>
+
+ * subr.el (keyboard-translate): Doc fix (Bug#7261).
+
+ * isearch.el (isearch-mode-map): Handle C-x 8 key translations,
+ and make C-x 8 RET exit isearch (Bug#11439).
+
+ * international/iso-transl.el: Move isearch-mode-map key
+ definitions to isearch.el.
+
+2012-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/eieio.el: Adapt further to gv.el (bug#11970).
+ (eieio-defclass): Use gv-define-setter when possible.
+
+2012-07-18 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Reflect recent changes in Fgarbage_collect.
+ * emacs-lisp/chart.el (chart-emacs-storage): Change to
+ reflect new format of data returned by Fgarbage_collect.
+
+2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ New utility functions + python-info-ppss-context fix (Bug#11910).
+ * progmodes/python.el (python-info-beginning-of-block-statement-p)
+ (python-info-ppss-comment-or-string-p): New functions.
+ (python-info-ppss-context): Small fix for string check.
+
+2012-07-17 Juri Linkov <juri@jurta.org>
+
+ * dired-aux.el (dired-do-async-shell-command): Doc fix.
+ (dired-do-async-shell-command): Don't add `*' at the end of the
+ command (Bug#11815).
+ (dired-do-shell-command): Doc fix.
+ (dired-shell-stuff-it): Strip the trailing "&" and ";" if any.
+ Join the individual commands using either "&" or ";" as the
+ separator depending on the values of these trailing characters.
+ At the end re-add the trailing "&". (Bug#10598)
+
+ * simple.el (async-shell-command): Sync the interactive spec with
+ `shell-command'. Doc fix.
+ (shell-command): Doc fix.
+
+2012-07-17 Juri Linkov <juri@jurta.org>
+
+ * descr-text.el (describe-char): Fix format args. (Bug#10129)
+
+2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ Final renames and doc fixes for movement commands (bug#11899).
+ * progmodes/python.el (python-nav-beginning-of-statement):
+ Rename from python-nav-statement-start.
+ (python-nav-end-of-statement): Rename from
+ python-nav-statement-end.
+ (python-nav-beginning-of-block): Rename from
+ python-nav-block-start.
+ (python-nav-end-of-block): Rename from python-nav-block-end.
+
+2012-07-17 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-shell-send-string-no-output):
+ Allow accept-process-output to quit, keeping shell process ready for
+ future interactions (Bug#11868).
+
+2012-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name.
+
+ * emacs-lisp/elint.el (elint-find-args-in-code):
+ Use help-function-arglist, so as to handle lexical byte-code.
+
+ * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last
+ change (bug#11826).
+
+2012-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/cc-engine.el (c-forward-sws, c-backward-sws):
+ Avoid spuriously marking the buffer as modified because of c-is-sws.
+
+ * progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR"
+ as not-a-comment (bug#11946).
+
+ * emacs-lisp/macroexp.el (macroexp-let2): Use more informative names
+ for uninterned vars.
+
+ * xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read):
+ Use read-event since we don't really want to read chars but bytes.
+
+ * textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only
+ $$..$$ but also $..$ using regexps (bug#11953).
+ Use tex-verbatim for \url and \path.
+ (tex-font-lock-keywords): Define as defconst like the others.
+ (tex-common-initialization): Don't use font-lock-syntax-table any more.
+
+2012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (tiny change)
+
+ * international/mule-cmds.el (ucs-insert): Make it an obsolete
+ alias for insert-char.
+
+2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el: Simplified imenu implementation.
+ (python-nav-jump-to-defun): Remove command.
+ (python-mode-map): Use `imenu' instead.
+ (python-nav-list-defun-positions-cache)
+ (python-imenu-include-defun-type, python-imenu-make-tree)
+ (python-imenu-subtree-root-label, python-imenu-index-alist):
+ Remove vars.
+ (python-nav-list-defun-positions, python-nav-read-defun)
+ (python-imenu-tree-assoc, python-imenu-make-element-tree)
+ (python-imenu-make-tree, python-imenu-create-index):
+ Remove functions.
+ (python-mode): Update to interact with imenu by setting
+ `imenu-extract-index-name-function' only.
+
+2012-07-16 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el: Enhancements to navigation commands.
+ (python-nav-backward-sentence)
+ (python-nav-forward-sentence): Remove.
+ (python-nav-backward-statement, python-nav-forward-statement)
+ (python-nav-statement-start, python-nav-statement-end)
+ (python-nav-backward-block, python-nav-forward-block)
+ (python-nav-block-start, python-nav-block-end)
+ (python-nav-forward-sexp-function)
+ (python-info-current-line-comment-p)
+ (python-info-current-line-empty-p): New functions.
+ (python-indent-context): Use `python-nav-statement-start'.
+
+2012-07-16 Michael Albinus <michael.albinus@gmx.de>
+
+ * eshell/em-ls.el (eshell/ls): Use `apply'.
+
+ * eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc
+ multi-hops, instead of Tramp internals.
+
+ * vc/ediff.el (ediff-directories): Add trailing space to prompts.
+
+ * vc/ediff-diff.el (ediff-same-file-contents): Handle the case,
+ when F1 and F2 are located on different hosts.
+
+2012-07-14 Chong Yidong <cyd@gnu.org>
+
+ * xt-mouse.el: Implement extended mouse coordinates (Bug#10642).
+ (xterm-mouse-translate): Move code into xterm-mouse-translate-1.
+ (xterm-mouse-translate-extended, xterm-mouse-translate-1)
+ (xterm-mouse--read-event-sequence-1000)
+ (xterm-mouse--read-event-sequence-1006): New functions. For old
+ mouse protocol, handle M-mouse-X events correctly.
+ (xterm-mouse-event): New arg specifying mouse protocol.
+ (turn-on-xterm-mouse-tracking-on-terminal)
+ (turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006
+ sequence to toggle extended coordinates on newer XTerms.
+ This appears to be harmless on terminals which do not support this.
+
+2012-07-14 Leo Liu <sdl.web@gmail.com>
+
+ Add fringe bitmap indicators for flymake. (Bug#11253)
+ * progmodes/flymake.el (flymake-highlight-line): Use fringe bitmaps.
+ (flymake-make-overlay): New arg BITMAP.
+ (flymake-error-bitmap, flymake-warning-bitmap)
+ (flymake-fringe-indicator-position): New user variables.
+
+ * fringe.el: New bitmap exclamation-mark.
+
+2012-07-14 Jan Djärv <jan.h.d@swipnet.se>
+
+ * progmodes/cc-cmds.el (c-defun-name): Recognize Objective-C methods
+ also (Bug#7879).
+
+2012-07-14 Chong Yidong <cyd@gnu.org>
+
+ * electric.el (electric-pair-post-self-insert-function): Fix pair
+ insertion in empty-region case (Bug#11520).
+
+2012-07-14 Chong Yidong <cyd@gnu.org>
+
+ * bindings.el: Consolidate ctl-x-r-map bindings.
+ Bind copy-rectangle-as-kill to C-x r w.
+
+ * rect.el, register.el: Move bindings to bindings.el.
+
+2012-07-14 Reuben Thomas <rrt@sc3d.org>
+
+ * rect.el (copy-rectangle-as-kill): New command (Bug#739).
+
+2012-07-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938)
+
+2012-07-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * bindings.el (top): Use `mapc' instead of `mapcar'.
+
+ * loadup.el (top): Remove bogus `if' choice (brought by 2008-06-21T01:38:39Z!monnier@iro.umontreal.ca).
+
+2012-07-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * progmodes/sql.el (sql-comint): Suppress the check for program on
+ remote hosts. Reported by Francis Devereux <francis@devrx.org>.
+ (Bug#11908)
+
+2012-07-13 Chong Yidong <cyd@gnu.org>
+
+ * bindings.el: Assign a non-nil permanent-local property to
+ per-buffer variables which lack a default value (Bug#11930).
+
+ * help-fns.el (describe-variable): In the "automatically becomes
+ local" notice, take note of permanent-local variables.
+
+2012-07-13 Chong Yidong <cyd@gnu.org>
+
+ * files.el (toggle-read-only): Doc fix and code cleanup. New arg
+ to allow printing the message when called from Lisp.
+
+ * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
+ Remove toggle-read-only.
+
+ * bs.el (bs-toggle-readonly):
+ * buff-menu.el (Buffer-menu-toggle-read-only):
+ Remove with-no-warnings around toggle-read-only.
+
+ * ffap.el (ffap--toggle-read-only): Accept a list of buffers.
+ Remove with-no-warnings around toggle-read-only.
+ (ffap-read-only, ffap-read-only-other-window)
+ (ffap-read-only-other-frame): Callers changed.
+
+ * help-mode.el: Don't require view package.
+ (help-mode-finish): Set buffer-read-only instead of calling
+ toggle-read-only.
+
+ * bindings.el (mode-line-toggle-read-only):
+ * dired.el (dired-toggle-read-only):
+ * ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only
+ with non-nil second arg.
+
+ * emacs-lisp/eieio-custom.el (eieio-customize-object):
+ * vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only
+ directly.
+
+2012-07-12 Eli Zaretskii <eliz@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf,
+ not incf.
+
+2012-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ More CL cleanups and reduction of use of cl.el.
+ * woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el:
+ * vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el:
+ * textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el:
+ * strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el:
+ * progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el:
+ * play/tetris.el, play/snake.el, play/pong.el, play/landmark.el:
+ * play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el:
+ * net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el:
+ * image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el:
+ * eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el:
+ * eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el:
+ * eshell/em-cmpl.el, eshell/em-banner.el:
+ * calendar/parse-time.el: Use cl-lib.
+ * wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el:
+ * vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el:
+ * textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el:
+ * term/ns-win.el, term.el, shell.el, ps-samp.el:
+ * progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el:
+ * progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el:
+ * play/gamegrid.el, play/bubbles.el, novice.el, notifications.el:
+ * net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el:
+ * net/ldap.el, net/eudc.el, net/browse-url.el, man.el:
+ * mail/mailheader.el, mail/feedmail.el: Don't use CL.
+ * ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time.
+ * eshell/esh-opt.el (eshell-eval-using-options): Quote code with
+ `lambda' rather than with `quote'.
+ (eshell-do-opt): Adjust accordingly.
+ (eshell-process-option): Simplify.
+ * eshell/esh-var.el:
+ * eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options.
+ * emacs-lisp/pcase.el (pcase--dontcare-upats, pcase--let*)
+ (pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern
+ to `pcase--dontcare'.
+ * emacs-lisp/cl.el (labels): Mark obsolete.
+ (cl--letf, letf): Move to cl-lib.
+ (cl--letf*, letf*): Remove.
+ * emacs-lisp/cl-lib.el (cl-nth-value): Use defalias.
+ * emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Add indent rule.
+ (cl-progv): Rewrite.
+ (cl--letf, cl-letf): Move from cl.el.
+ (cl-letf*): New macro.
+ * emacs-lisp/cl-extra.el (cl--progv-before, cl--progv-after): Remove.
+
+2012-07-11 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/ange-ftp.el (ange-ftp-cf1): Update the files cache.
+
+2012-07-11 Chong Yidong <cyd@gnu.org>
+
+ * vc/log-edit.el (log-edit-vc-backend): New variable.
+ (log-edit): Doc fix.
+
+ * vc/vc-dispatcher.el (vc-log-edit): New args. Use PARAMS
+ argument of log-edit to set up all local variables.
+ (vc-start-logentry): New optional arg specifying VC backend.
+
+ * vc/vc.el (vc-checkin): Use it.
+ (vc-deduce-fileset): Handle Log Edit buffers.
+ (vc-diff): Make first argument optional too.
+
+ * vc/log-view.el (log-view-vc-fileset, log-view-vc-backend): Doc fix.
+
+2012-07-10 Michael Albinus <michael.albinus@gmx.de>
+
+ * eshell/esh-ext.el (eshell-remote-command): Remove remote part of
+ command, just in case. The function is not needed anymore.
+ (eshell-external-command): Do not call `eshell-remote-command'.
+
+2012-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Reduce use of (require 'cl).
+ * vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el:
+ * vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el:
+ * register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el:
+ * msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el:
+ * international/quail.el, info-xref.el, imenu.el, image-mode.el:
+ * font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el:
+ * battery.el, avoid.el, abbrev.el: Use cl-lib.
+ * vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el:
+ * vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el:
+ * jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el:
+ * emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el:
+ * calculator.el, autorevert.el, apropos.el: Don't require CL.
+ * emacs-lisp/bytecomp.el (byte-recompile-directory, display-call-tree)
+ (byte-compile-unfold-bcf, byte-compile-check-variable):
+ * emacs-lisp/byte-opt.el (byte-compile-trueconstp)
+ (byte-compile-nilconstp):
+ * emacs-lisp/autoload.el (make-autoload): Use pcase.
+ * face-remap.el (text-scale-adjust): Simplify pcase patterns.
+
+ * emacs-lisp/gv.el (cond): Make it a valid place.
+ (if): Simplify slightly.
+
+ * emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns".
+ (pcase--self-quoting-p): New function.
+ (pcase--u1): Use it.
+
+2012-07-10 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/authors.el (authors-fixed-entries):
+ (authors-renamed-files-alist): Update for configure.in -> configure.ac.
+
+2012-07-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ Rename configure.in to configure.ac (Bug#11603).
+ * emacs-lisp/authors.el (authors-canonical-file-name):
+ * progmodes/autoconf.el (autoconf-mode):
+ Prefer configure.ac to configure.in.
+
+2012-07-08 Chong Yidong <cyd@gnu.org>
+
+ * mouse.el (mouse-drag-line): Rewrite the track-mouse loop.
+ Implement the mouse-1-click-follows-link handling properly.
+
+ * info.el (Info-link-keymap): Use follow-link mechanism for
+ header-line links (Bug#374).
+
+ * simple.el (deactivate-mark): Do not set the primary selection
+ if another program has acquired it (Bug#11772).
+
+2012-07-07 Kevin Ryde <user42@zip.com.au>
+
+ * woman.el (woman-strings): Fix double-quote handling (Bug#1151).
+ (woman-decode-region): Replace escaped-escapes without destroying
+ bold or underline (Bug#11552).
+ (woman2-process-escapes): Handle nofill regions (Bug#11591).
+
+2012-07-07 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (yank-pop-change-selection): Doc fix (Bug#11361).
+ (interprogram-cut-function, interprogram-paste-function):
+ Mention that we typically mean the clipboard.
+
+2012-07-06 Glenn Morris <rgm@gnu.org>
+
+ * kmacro.el (kmacro-call-macro): Restore repeat message. (Bug#11817)
+
+ * files.el (toggle-read-only): Restrict message to interactive use.
+
+2012-07-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-restricted-shell-hosts-alist): New defcustom.
+
+ * net/tramp-sh.el (tramp-maybe-open-connection): Handle it.
+
+2012-07-06 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (compile-one-process): Rename from "recompile".
+
+ * Makefile.in (bzr-update): "compile" is the same as "recompile
+ autoloads", but parallelizable, so use that instead.
+
+2012-07-06 Dmitry Gutov <dgutov@yandex.ru>
+
+ * window.el (quit-window): Always restore window height when
+ it's saved in quit-restore parameter (Bug#11810).
+
+2012-07-06 Glenn Morris <rgm@gnu.org>
+
+ * simple.el (kill-whole-line): Doc tweak.
+
+2012-07-06 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (file-relative-name): Compare file names
+ case-insensitively if on MS-Windows or MS-DOS, or if
+ read-file-name-completion-ignore-case is non-nil. Don't use
+ case-fold-search for this purpose. (Bug#11827)
+
+2012-07-17 Andreas Schwab <schwab@linux-m68k.org>
+
+ * calendar/cal-dst.el (calendar-current-time-zone):
+ Return calendar-current-time-zone-cache if non-nil.
+
+2012-07-17 Masatake YAMATO <yamato@redhat.com>
+2012-07-06 Andreas Schwab <schwab@linux-m68k.org>
+
+ * calendar/cal-dst.el (calendar-current-time-zone):
+ Return calendar-current-time-zone-cache if non-nil.
+
+2012-07-06 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (cvs-update): Remove old alias.
+
+2012-07-05 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.6-pre.
+
+ * net/tramp.el (tramp-drop-volume-letter): Provide an XEmacs
+ compatible declaration.
+
+ * net/tramp-cmds.el (tramp-append-tramp-buffers):
+ Protect `list-load-path-shadows' call.
+
+ * net/tramp-compat.el (top): Require packages, which aren't
+ autoloaded anymore for XEmacs. Protect call of
+ `tramp-file-name-handler' by `tramp-compat-funcall', pacifying the
+ compiler. Do not require tramp-util.el and tramp-vc.el anymore,
+ it hurts at least for SXEmacs.
+ (tramp-compat-temporary-file-directory): In XEmacs, there is no
+ standard-value for `temporary-file-directory'.
+
+ * net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat):
+ Redirect stderr to /dev/null.
+ (tramp-sh-handle-write-region): uid and gid can be floats.
+ Reported by Russell Sim <russell.sim@gmail.com>.
+ (tramp-sh-handle-vc-registered): Hide errors.
+ (tramp-vc-file-name-handler): Use dummy results for `process-file'
+ and `start-file-process'.
+ (tramp-maybe-open-connection): Check also whether `non-essential'
+ is bound.
+
+2012-07-04 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml--parse-buffer): Use xml-syntax-table.
+ (xml-parse-tag): Likewise, and avoid changing entity tables.
+ (xml-syntax-table): Define from scratch, making sure not to give
+ x2000 and other Unicode spaces whitespace syntax, since those are
+ not spaces in XML.
+ (xml-parse-fragment): Delete unused function.
+ (xml-name-start-char-re, xml-name-char-re, xml-name-re)
+ (xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re)
+ (xml-entity-ref, xml-pe-reference-re)
+ (xml-reference-re,xml-att-value-re, xml-tokenized-type-re)
+ (xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re)
+ (xml-att-type-re, xml-default-decl-re, xml-att-def-re)
+ (xml-entity-value-re): Use syntax references in regexps where
+ possible; no need to define inside a let-binding.
+ (xml-parse-dtd): Use xml-pe-reference-re.
+ (xml-entity-or-char-ref-re): New defconst.
+ (xml-parse-string, xml-substitute-special): Use it.
+
+2012-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (locate-dominating-file): Allow `name' to be a predicate.
+ (find-file--read-only): New function.
+ (find-file-read-only, find-file-read-only-other-window)
+ (find-file-read-only-other-frame): Use it.
+ (insert-file-contents-literally): Don't `fset'.
+ (get-free-disk-space): Use locate-dominating-file.
+
+ * emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the
+ function is already compiled.
+
+ * xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re.
+
+2012-07-03 Michael Albinus <michael.albinus@gmx.de>
+
+ * vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote
+ files on the same host.
+
+2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
+
+ * help-fns.el (describe-function-1): Only call
+ help-fns--autoloaded-p when we have a file name. (Bug#11848)
+
+2012-07-03 Chong Yidong <cyd@gnu.org>
+
+ * xml.el: Protect parser against XML bombs.
+ (xml-entity-expansion-limit): New variable.
+ (xml-parse-string, xml-substitute-special): Use it.
+ (xml-parse-dtd): Avoid infloop if the DTD is not terminated.
+
+2012-07-03 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/bug-reference.el (bug-reference-bug-regexp):
+ Allow linking to specific messages in debbugs reports (eg 123#5).
+
+2012-07-02 Chong Yidong <cyd@gnu.org>
+
+ * xml.el: Fix entity and character reference expansion, allowing
+ them to expand into markup as per XML spec.
+ (xml-default-ns): New variable.
+ (xml-entity-alist): Use XML spec definitions for lt and amp.
+ (xml-parse-region): Make first two arguments optional.
+ Discard text properties.
+ (xml-parse-tag-1): New function, spun off from xml-parse-tag.
+ All callers changed.
+ (xml-parse-tag): Call xml-parse-tag-1. For backward
+ compatibility, this function should not modify buffer contents.
+ (xml-parse-tag-1): Fix opening-tag regexp.
+ (xml-parse-string): Rewrite, handling entity and character
+ references properly.
+ (xml--entity-replacement-text): Signal an error if a parameter
+ entity is undefined.
+
+2012-07-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * comint.el (comint-output-filter): Filter out repeated prompts.
+
+ * net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name
+ and file-name-absolute-p.
+ (ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for
+ internal calls.
+
+2012-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Spelling fixes.
+ * emacs-lisp/bytecomp.el (byte-compile--reify-function):
+ Rename from byte-compile--refiy-function. All uses changed.
+
+2012-07-01 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml--parse-buffer): New function. Move most of
+ xml-parse-region here.
+ (xml-parse-region): Copy region into a temporary buffer, since
+ parameter entity substitution requires changing buffer contents.
+ Use xml--parse-buffer.
+ (xml-parse-file): Use xml--parse-buffer.
+ (xml-parse-dtd): Make parameter entity substitution work right.
+ Use proper regexps for ELEMENT declarations (Bug#7172).
+
+2012-06-30 Glenn Morris <rgm@gnu.org>
+
+ * comint.el (follow-comint-scroll-to-bottom): Fix declaration.
+
+ * net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el:
+ Remove outdated and unnecessary dbus declarations.
+
+2012-06-30 Eli Zaretskii <eliz@gnu.org>
+
+ * emacs-lisp/timer.el (timer-until): Subtract results of
+ float-time, instead of taking float-time of the result of
+ time-subtract, since float-time signals an error for negative time
+ arguments.
+
+2012-06-30 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml-*-re): Convert defvars into defconsts, and
+ eval-and-compile them so eval-and-compile works on derivatives.
+ (xml--entity-replacement-text): Use eval-and-comple.
+
+2012-06-30 Michael Albinus <michael.albinus@gmx.de>
+
+ * vc/vc-git.el (vc-git-registered): Use cache property
+ `git-registered'.
+ (vc-git-mode-line-string): Call `vc-working-revision' instead of
+ `vc-git-working-revision' in order to benefit from the cache.
+ (vc-git-root): Use cache property `git-root'. (Bug#11757)
+
+2012-06-30 Dmitry Gutov <dgutov@yandex.ru>
+
+ * vc/vc-hooks.el (vc-before-save): Clear cache if file has been
+ removed (likely outside Emacs). (Bug#11757)
+
+2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el: Require macroexp.
+
+2012-06-30 Chong Yidong <cyd@gnu.org>
+
+ * xml.el: Implement XML parameter entities.
+ (xml-parameter-entity-alist): New variable.
+ (xml-parse-region, xml-parse-fragment): Preserve previous values
+ of xml-entity-alist and xml-parameter-entity-alist, so that
+ repeated calls on different documents do not change them.
+ (xml-parse-tag): Fix doctype regexp.
+ (xml--entity-replacement-text): New function.
+ (xml-parse-dtd): Use it. Don't handle system entities; doing that
+ properly requires url retrieval which is unimplemented.
+ (xml-escape-string): Doc fix.
+
+2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2.
+
+2012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * fringe.el (fringe-mode): Doc fix.
+
+2012-06-29 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential'
+ is non-nil.
+ (ange-ftp-ignore-errors-if-non-essential): New defmacro.
+ (ange-ftp-file-name-all-completions): Use it. (Bug#11808)
+
+2012-06-29 Andreas Schwab <schwab@linux-m68k.org>
+
+ * calendar/cal-dst.el (calendar-current-time-zone):
+ Return calendar-current-time-zone-cache if non-nil.
+
+2012-06-29 Masatake YAMATO <yamato@redhat.com>
+
+ * progmodes/which-func.el (which-func-format):
+ Add mouse-face. (Bug#11698)
+
+2012-06-29 Leo Liu <sdl.web@gmail.com>
+
+ * textmodes/enriched.el (enriched-next-annotation): Use eq (Bug#11528).
+
+2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (minibuffer-confirm-exit-commands):
+ Add completion-at-point (bug#11725).
+
+2012-06-29 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/f90.el (f90-font-lock-keywords-2):
+ Add some preprocessor elements. (Bug#10499)
+
+2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/cperl-mode.el (cperl-update-syntaxification):
+ Use syntax-propertize (bug#11739).
+
+2012-06-28 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811).
+
+2012-06-28 Julien Danjou <julien@danjou.info>
+
+ * term.el (term-handle-colors-array): Use a set of new faces to
+ color the terminal. Also uses :inverse-video property.
+ (term-default-fg-color): Set to nil by default, deprecate in favor
+ of `term-face'.
+ (term-default-bg-color): Set to nil by default, deprecate in favor
+ of `term-face'.
+ (term-current-face): Use `term-face' by default.
+ (term-bold-attribute): Variable deleted.
+
+2012-06-28 Glenn Morris <rgm@gnu.org>
+
+ * simple.el (completion-list-mode-finish):
+ Don't use toggle-read-only. (Since completion-list-mode has
+ a special mode-class, it wasn't doing anything extra anyway.)
+
+2012-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Make inlining of other-mode interpreted functions work (bug#11799).
+ * emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun.
+ (byte-compile): Use it to fix compilation of lexical-binding closures.
+ * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the
+ function, if needed.
+
+2012-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * help-mode.el (help-make-xrefs): Don't just withstand
+ cyclic-variable-indirection but any error in documentation-property.
+
+ * loadup.el (purify-flag): Pre-grow the hash-table to reduce the
+ memory use.
+ * bindings.el (bindings--define-key): New function.
+ * vc/vc-hooks.el, replace.el, menu-bar.el, international/mule-cmds.el:
+ * emacs-lisp/lisp-mode.el, buff-menu.el, bookmark.el:
+ * bindings.el: Use it to purecopy define-key bindings.
+
+ * textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list.
+
+ * emacs-lisp/cl.el (flet): Mark obsolete.
+ * emacs-lisp/cl-macs.el (cl-flet*): New macro.
+ * vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse):
+ * progmodes/js.el (js-c-fill-paragraph):
+ * progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class)
+ (ebrowse-switch-member-buffer-to-derived-class):
+ * play/5x5.el (5x5-solver): Use cl-flet.
+
+ * emacs-lisp/cl.el: Use lexical-binding. Fix flet (bug#11780).
+ (cl--symbol-function): New macro.
+ (cl--letf, cl--letf*): Use it.
+
+ * emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
+ Strip "toggle-" if any.
+
+2012-06-27 Glenn Morris <rgm@gnu.org>
+
+ * info.el (Info-default-directory-list): Move here from paths.el.
+ * paths.el: Remove file, which is now empty.
+ * loadup.el: No longer load "paths".
+
+ * custom.el (custom-initialize-delay): Doc fix.
+
+ * eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el:
+ * eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el:
+ * eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el:
+ * eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el:
+ * eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el:
+ * eshell/em-xtra.el: Replace eshell-defgroup with "(progn (defgroup".
+ * eshell/eshell.el (eshell-defgroup): Remove alias.
+
+2012-06-27 Chong Yidong <cyd@gnu.org>
+
+ * help.el (help-enable-auto-load): New variable.
+
+ * help-fns.el (help-fns--autoloaded-p): New function.
+ (describe-function-1): Refer to a function as "autoloaded" if it
+ was autoloaded at any time in the past. Perform autoloading if
+ help-enable-auto-load is non-nil.
+
+2012-06-26 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (compile, compile-always): Depend on
+ update-subdirs, not on subdirs.el. Otherwise, several different
+ sub-targets of 'bootstrap' running in parallel could
+ simultaneously write to subdirs.el, producing a garbled file.
+
+2012-06-26 Sam Steingold <sds@gnu.org>
+
+ * files.el (file-name-base): New convenience function.
+ * autoinsert.el, cus-dep.el, doc-view.el, image-dired.el:
+ * woman.el, eshell/esh-cmd.el, progmodes/ada-xref.el:
+ * progmodes/cc-defs.el, progmodes/cperl-mode.el:
+ * progmodes/flymake.el, progmodes/gud.el, progmodes/idlwave.el:
+ * textmodes/ispell.el, textmodes/reftex-ref.el:
+ * textmodes/tex-mode.el: Use it.
+ Did not touch cedet and org because they are maintained elsewhere.
+
+2012-06-26 Martin Rudalics <rudalics@gmx.at>
+
+ * calendar/calendar.el (calendar-exit): Don't try to delete or
+ iconify last frame. See:
+ http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00372.html
+
+2012-06-25 Jim Diamond <Jim.Diamond@AcadiaU.ca> (tiny change)
+
+ * server.el (server-process-filter): Remember dir in the
+ process's `server-client-directory' properties.
+
+2012-06-24 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml-parse-tag): Correctly handle comment embedded in
+ non-tag text.
+
+2012-06-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (COMPILE_FIRST): Synch with changes in 2012-06-22T21:24:54Z!monnier@iro.umontreal.ca.
+
+2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * help-fns.el (describe-variable): Don't croak when doc is not found.
+ * vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only.
+ * menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more.
+ * emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place.
+ * emacs-lisp/smie.el (smie-next-sexp): CSE.
+ * emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid
+ ((lambda ..) ..).
+ * emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf.
+
+2012-06-23 Chong Yidong <cyd@gnu.org>
+
+ * info.el (Info-mouse-follow-link): Accept symbol values of
+ link-args. Select window; suggested by Gerhard Kahl (Bug#11672).
+ (Info-fontify-node): Use Info-link-keymap for all navigation
+ buttons, with link-args property to perform the desired action.
+ (Info-link-keymap): Doc fix.
+ (Info-next-link-keymap, Info-prev-link-keymap)
+ (Info-up-link-keymap): Delete now-unused keymaps.
+
+2012-06-23 Chong Yidong <cyd@gnu.org>
+
+ * mouse.el (mouse-drag-track): Deactivate the mark before popping.
+
+ * progmodes/python.el (python-skeleton-define): Mark abbrevs as
+ system abbrevs.
+
+ * ansi-color.el (ansi-color-apply-on-region): Doc fix.
+
+2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists
+ (bug#11719).
+
+ * minibuffer.el (completion--twq-try): Try to fail more gracefully when
+ the requote function doesn't work properly (bug#11714).
+
+2012-06-23 Glenn Morris <rgm@gnu.org>
+
+ * pcmpl-rpm.el (pcmpl-rpm-packages): Give status messages.
+
+2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Further GV/CL cleanups.
+ * emacs-lisp/gv.el (gv-get): Autoload functions to find their
+ gv-expander.
+ (gv--defun-declaration): New function.
+ (defun-declarations-alist): Use it.
+ (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove.
+ (gv-place): Autoload.
+ * emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's
+ original definition of dotimes and dolist.
+ * emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused.
+ (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'.
+ * emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here.
+ (cl-fifth, cl-sixth, cl-seventh, cl-eighth)
+ (cl-ninth, cl-tenth): Move gv handler to the function's definition.
+ * emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler
+ to the function's definition.
+ * Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%.
+ * window.el:
+ * files.el:
+ * faces.el:
+ * env.el: Don't use CL.
+
+2012-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Support higher-resolution time stamps (Bug#9000).
+
+ * calendar/time-date.el (with-decoded-time-value): New arg
+ PICO-SYMBOL in VARLIST. It's optional, for backward compatibility.
+ (encode-time-value): New optional arg PICO. New type 3.
+ (time-to-seconds) [!float-time]: Support the new picoseconds
+ component if it's used.
+ (seconds-to-time, time-subtract, time-add):
+ Support ps-resolution time stamps as well.
+
+ * emacs-lisp/timer.el (timer): New component psecs. All uses changed.
+ (timerp): Timer vectors now have length 9, not 8.
+ (timer--time): Support new-style (4-part) time stamps.
+ (timer-next-integral-multiple-of-time): Time stamps now have
+ picosecond resolution, so take a bit more care about rounding.
+ (timer-relative-time, timer-inc-time): New optional arg psecs.
+ (timer-set-time-with-usecs): Set psecs to 0.
+ (timer--activate): Check psecs component, too.
+
+ * proced.el (proced-time-lessp): Support ps-resolution stamps.
+
+2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * icomplete.el (icomplete-minibuffer-setup, icomplete-completions):
+ Move the non-essential binding to the post/pre-command-hook where it is
+ more obviously correct.
+
+ * subr.el (read-passwd): Don't use a history at all.
+ * savehist.el (savehist-save): Remove password saved accidentally
+ because of the above bug.
+
+2012-06-22 Bastien Guerry <bzg@gnu.org>
+
+ * files.el (toggle-read-only): Display a message telling whether
+ the buffer is read-only or not (bug#11726).
+
+2012-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/gv.el: New file.
+ * subr.el (push, pop): Extend to generalized variables.
+ * loadup.el (macroexp): Unload if preloaded and uncompiled (bug#11657).
+ * emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove.
+ * emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter,
+ gv-define-simple-setter, and gv-define-expander.
+ Remove setf-methods defined in gv. Rename cl-setf -> setf.
+ (cl-setf, cl-do-pop, cl-get-setf-method): Remove.
+ (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf)
+ (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el.
+ (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with
+ gv-letplace.
+ (cl-defstruct): Don't define setf-method any more.
+ * emacs-lisp/cl.el (flet): Don't autoload.
+ (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt)
+ (define-setf-expander, defsetf, define-modify-macro)
+ (cl-struct-setf-expander): Move from cl-lib.el.
+ * emacs-lisp/syntax.el:
+ * emacs-lisp/ewoc.el:
+ * emacs-lisp/smie.el:
+ * emacs-lisp/cconv.el:
+ * emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push.
+ (timer--time): Use gv-define-simple-setter.
+ * emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let²
+ to avoid coding-system problems in subr.el. Adjust all users.
+ (macroexp--maxsize, macroexp-small-p): New functions.
+ * emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf.
+ * scroll-bar.el (scroll-bar-mode):
+ * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode)
+ (normal-erase-is-backspace-mode): Don't use the `eq' place.
+ * winner.el (winner-configuration, winner-make-point-alist)
+ (winner-set-conf, winner-get-point, winner-set): Don't abuse letf.
+ * files.el (locate-file-completion-table): Avoid list*.
+
+2012-06-22 Chong Yidong <cyd@gnu.org>
+
+ * dired-aux.el (dired-do-create-files): Doc fix (Bug#11327).
+ (dired-create-files): Doc fix (Bug#11329).
+ (dired-do-copy): Doc fix (Bug#11334).
+ (dired-mark-read-string): Doc fix (Bug#11553).
+
+ * dired.el (dired-recursive-copies, dired-recursive-deletes):
+ Doc fix (Bug#11326).
+ (dired-make-relative): Doc fix (Bug#11332). Remove unused arg.
+ (dired-dwim-target): Doc fix.
+
+ * wdired.el (wdired-mode): Doc fix.
+
+2012-06-22 Glenn Morris <rgm@gnu.org>
+
+ * pcmpl-rpm.el (pcmpl-rpm-cache): New option.
+ (pcmpl-rpm-cache-stamp-file): New constant.
+ (pcmpl-rpm-cache-time, pcmpl-rpm-packages): New variables.
+ (pcmpl-rpm-packages): Optionally cache list of packages.
+
+ * pcmpl-rpm.el (pcmpl-rpm): New group.
+ (pcmpl-rpm-query-options): New option.
+ (pcmpl-rpm-packages): No need to inline it.
+ Use pcmpl-rpm-query-options.
+
+ * calendar/calendar.el (calendar-in-read-only-buffer):
+ Avoid some needless mode changes.
+
+2012-06-21 Chong Yidong <cyd@gnu.org>
+
+ * desktop.el (desktop-read): Don't prompt if daemon (Bug#11674).
+ (desktop-path): Remove . from the default value (Bug#10977).
+ (desktop-read): Use user-emacs-directory if desktop-path is nil.
+
+2012-06-20 Chong Yidong <cyd@gnu.org>
+
+ * term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172).
+
+2012-06-20 David Röthlisberger <david@rothlis.net> (tiny change)
+
+ * ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j
+ (bug#11201).
+
+2012-06-20 Chong Yidong <cyd@gnu.org>
+
+ * term.el (term-window-width): Handle the case of a missing right
+ fringe (Bug#8837).
+ (term-check-size): Use window-text-height (Bug#5445).
+ (term-mode): Use define-derived-mode. Minor cleanups.
+ Set font-lock-defaults (Bug#7692).
+ (term-move-columns, term-insert-char, term-emulate-terminal)
+ (term-erase-in-line, term-insert-spaces): Use font-lock-face.
+
+2012-06-20 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/ange-ftp.el (ange-ftp-get-passwd):
+ Bind `enable-recursive-minibuffers'.
+ (ange-ftp-get-process): Throw if `non-essential' is non-nil.
+
+2012-06-19 David Röthlisberger <david@rothlis.net> (tiny change)
+
+ * ido.el (ido-find-file): Mention C-d binding in docstring (bug#11244).
+
+2012-06-19 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/python.el (python-mode): Derive from prog-mode.
+
+2012-06-19 Kevin Gallagher <Kevin.Gallagher@boeing.com>
+
+ * emulation/edt.el (edt-default-menu-bar-update-buffers)
+ (edt-user-menu-bar-update-buffers): New functions.
+ (edt-default-emulation-setup, edt-user-emulation-setup): Use them.
+
+2012-06-19 Chong Yidong <cyd@gnu.org>
+
+ * subr.el (with-selected-window): Preserve the selected window's
+ terminal's top-frame (Bug#4702).
+
+ * window.el (save-selected-window): Likewise.
+
+2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/python.el (python-rx-constituents): Move backquote.
+ (python-skeleton-define, python-define-auxiliary-skeleton):
+ Use `declare'.
+
+2012-06-18 Michael Albinus <michael.albinus@gmx.de>
+
+ * minibuffer.el (read-file-name-default): Revert the patch from
+ 2012-06-17.
+
+2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern.
+ (pcase--u1, pcase--q1): Don't use apply-partially.
+
+2012-06-18 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/python.el (python-proc, python-buffer)
+ (python-send-receive, python-send-string): Fix obsolete versions.
+
+2012-06-18 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (special-display-p): Completely remove stringp
+ check. Suggested by Andreas Schwab <schwab@linux-m68k.org>.
+
+2012-06-17 Michael Albinus <michael.albinus@gmx.de>
+
+ * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'.
+
+ * net/tramp.el (tramp-file-name-handler): Catch 'non-essential.
+
+ * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process):
+ * net/tramp-sh.el (tramp-maybe-open-connection):
+ Throw if `non-essential' is non-nil.
+
+2012-06-17 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (special-display-p): Signal an error if BUFFER-NAME
+ is not a string (Bug#11713).
+
+2012-06-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * progmodes/python.el (python-info-beginning-of-backslash):
+ Rename from python-info-beginning-of-backlash, as a spelling fix.
+
+2012-06-17 Chong Yidong <cyd@gnu.org>
+
+ * term.el (term-emulate-terminal): If term-check-size is called,
+ move point to the process mark without resetting point (Bug#4635).
+
+2012-06-17 Glenn Morris <rgm@gnu.org>
+
+ * international/mule-cmds.el (mule-menu-keymap)
+ (set-language-environment, set-locale-environment): Doc tweaks.
+
+2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
+
+ * cus-face.el (custom-face-attributes): Add wave-style underline
+ attribute.
+ * faces.el (set-face-attribute): Update docstring to describe
+ wave-style underline attribute.
+
+2012-06-16 Chong Yidong <cyd@gnu.org>
+
+ * term/xterm.el (terminal-init-xterm): Discard input before
+ querying background mode (Bug#10959).
+
+2012-06-16 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Added and corrected some comments.
+ (rst-re-alist-def): Improve symbol syntax.
+ (rst-mode-syntax-table): Correct syntax entries.
+ (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
+ (rst-official-version, rst-official-cvs-rev): Update version
+ information.
+
+2012-06-15 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (COMPILE_FIRST): Synch with makefile.in changes
+ in 2008-06-22T13:57:28Z!monnier@iro.umontreal.ca.
+
+2012-06-15 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el: New python.el merge.
+ (python-guess-indent): Obsolete var.
+ (python-indent-guess-indent-offset): New defcustom.
+ (python-indent): Obsolete var.
+ (python-indent-offset): New defcustom.
+ (python-python-command, python-jython-command): Delete var.
+ (python-shell-interpreter): New defcustom.
+ (python-pdbtrack-do-tracking-p): Delete var.
+ (python-pdbtrack-activate): New defcustom.
+ (python-use-skeletons): Obsolete var.
+ (python-skeleton-autoinsert): New defcustom.
+ (inferior-python-filter-regexp, python-continuation-offset)
+ (python-honour-comment-indentation, python-indent-string-contents)
+ (python-jython-packages, python-mode-hook)
+ (python-pdbtrack-minor-mode-string, python-remove-cwd-from-path)
+ (python-shell-prompt-alist)
+ (python-source-modes): Delete defcustoms.
+ (python-check-buffer-name, python-eldoc-setup-code)
+ (python-eldoc-string-code, python-ffap-setup-code)
+ (python-ffap-string-code, python-fill-comment-function)
+ (python-fill-decorator-function, python-fill-paren-function)
+ (python-fill-string-function, python-imenu-include-defun-type)
+ (python-imenu-make-tree, python-imenu-subtree-root-label)
+ (python-pdbtrack-stacktrace-info-regexp, python-shell-buffer-name)
+ (python-shell-compilation-regexp-alist)
+ (python-shell-completion-module-string-code)
+ (python-shell-completion-pdb-string-code)
+ (python-shell-completion-setup-code)
+ (python-shell-completion-string-code)
+ (python-shell-enable-font-lock, python-shell-exec-path)
+ (python-shell-extra-pythonpaths)
+ (python-shell-internal-buffer-name, python-shell-interpreter-args)
+ (python-shell-process-environment)
+ (python-shell-prompt-block-regexp)
+ (python-shell-prompt-output-regexp)
+ (python-shell-prompt-pdb-regexp, python-shell-prompt-regexp)
+ (python-shell-send-setup-max-wait, python-shell-setup-codes)
+ (python-shell-virtualenv-path): New defcustoms.
+ (brm-menu, eldoc-documentation-function, inferior-python-mode-map)
+ (inferior-python-mode-syntax-table, python--prompt-regexp)
+ (python-buffer, python-command python-python-command)
+ (python-default-template, python-imports, python-indent-index)
+ (python-indent-list, python-indent-list-length)
+ (python-mode-running, python-pdbtrack-is-tracking-p)
+ (python-preoutput-continuation, python-preoutput-leftover)
+ (python-preoutput-result, python-preoutput-skip-next-prompt)
+ (python-prev-dir/file, python-recursing)
+ (python-saved-check-command, python-version-checked)
+ (python-which-func-length-limit)
+ (view-return-to-alist): Delete vars.
+ (python-check-custom-command, python-dotty-syntax-table)
+ (python-imenu-index-alist, python-indent-current-level)
+ (python-indent-dedenters, python-indent-levels)
+ (python-nav-beginning-of-defun-regexp)
+ (python-nav-list-defun-positions-cache)
+ (python-pdbtrack-buffers-to-kill, python-pdbtrack-tracked-buffer)
+ (python-shell-internal-buffer)
+ (python-skeleton-available): New vars.
+ (def-python-skeleton): Delete macro.
+ (python-skeleton-define): New macro.
+ (python-define-auxiliary-skeleton, python-rx): New macros.
+ (python-insert-class): Delete command.
+ (python-skeleton-class): New command.
+ (python-insert-def): Delete command.
+ (python-skeleton-def): New command.
+ (python-insert-for): Delete command.
+ (python-skeleton-for): New command.
+ (python-insert-if): Delete command.
+ (python-skeleton-if): New command.
+ (python-insert-try/except, python-insert-try/finally): Delete commands.
+ (python-skeleton-try): New command.
+ (python-insert-while): Delete command.
+ (python-skeleton-while): New command.
+ (python-backspace): Delete command.
+ (python-indent-dedent-line-backspace): New command.
+ (python-electric-colon): Delete command.
+ (python-indent-electric-colon): New command.
+ (python-guess-indent): Delete command.
+ (python-indent-guess-indent-offset): New command.
+ (python-shift-left): Delete command.
+ (python-indent-shift-left): New command.
+ (python-shift-right): Delete command.
+ (python-indent-shift-right): New command.
+ (python-find-function): Delete command.
+ (python-nav-jump-to-defun): New command.
+ (python-next-statement): Delete command.
+ (python-nav-forward-sentence): New command.
+ (python-previous-statement): Delete command.
+ (python-nav-backward-sentence): New command.
+ (python-fill-paragraph): Delete command.
+ (python-fill-paragraph-function): New command.
+ (python-send-buffer): Delete command.
+ (python-shell-send-buffer): New command.
+ (python-send-defun): Delete command.
+ (python-shell-send-defun): New command.
+ (python-send-region, python-send-region-and-go): Delete commands.
+ (python-shell-send-region)
+ (python-shell-switch-to-shell): New commands.
+ (python-send-string): Delete command.
+ (python-shell-send-string): New command.
+ (python-switch-to-python): Delete command.
+ (python-shell-switch-to-shell): New command.
+ (python-describe-symbol): Delete command.
+ (python-eldoc-at-point): New command.
+ (python--set-prompt-regexp, python-args-to-list)
+ (python-after-info-look, python-check-version)
+ (python-check-comint-prompt, python-find-imports)
+ (python-execute-file, turn-off-pdbtrack, turn-on-pdbtrack)
+ (python-unload-function, python-expand-template)
+ (python-maybe-jython, python-preoutput-filter)
+ (python-pdbtrack-get-source-buffer)
+ (python-pdbtrack-grub-for-buffer, python-pdbtrack-overlay-arrow)
+ (python-pdbtrack-toggle-stack-tracking)
+ (python-pdbtrack-track-stack-file, python-initial-text)
+ (python-first-word, python-comment-line-p, python-send-command)
+ (python-setup-brm, python-sentinel, python-set-proc)
+ (python-skip-out, python-input-filter, python-outdent-p)
+ (python-outline-level, python-backslash-continuation-line-p)
+ (python-end-of-block, python-end-of-statement, python-mark-block)
+ (python-beginning-of-block, python-beginning-of-statement)
+ (python-blank-line-p, python-beginning-of-string)
+ (python-open-block-statement-p): Delete functions.
+ (python-indent-line, python-indent-line-1): Delete functions.
+ (python-indent-line): New function.
+ (python-indentation-levels): Delete function.
+ (python-indent-calculate-levels): New function.
+ (python-proc): Delete function.
+ (python-shell-get-process): New function.
+ (python-send-receive): Delete function.
+ (python-shell-send-string-no-output): New function.
+ (python-module-path): Delete function.
+ (python-ffap-module-path): New function.
+ (python-completion-at-point)
+ (python-symbol-completions): Delete functions.
+ (python-completion-complete-at-point): New function.
+ (python-load-file): Delete function.
+ (python-shell-send-file): New function.
+ (python-calculate-indentation): Delete function.
+ (python-indent-calculate-indentation): New function.
+ (python-skip-comments/blanks): Delete function.
+ (python-util-forward-comment): New function.
+ (python-continuation-line-p): Delete function.
+ (python-info-continuation-line-p): New function.
+ (python-which-func, python-current-defun): Delete function.
+ (python-info-current-defun): New function.
+ (python-beginning-of-defun): Delete function.
+ (python-nav-beginning-of-defun): New function.
+ (python-close-block-statement-p)
+ (python-block-end-p): Delete function.
+ (python-info-closing-block): New function.
+ (python-comint-output-filter-function)
+ (python-eldoc--get-doc-at-point, python-end-of-defun-function)
+ (python-fill-comment, python-fill-decorator, python-fill-paren)
+ (python-fill-string, python-imenu-make-element-tree)
+ (python-imenu-make-tree, python-imenu-tree-assoc)
+ (python-indent-context, python-indent-dedent-line)
+ (python-indent-line-function)
+ (python-indent-post-self-insert-function)
+ (python-indent-toggle-levels)
+ (python-info-assignment-continuation-line-p)
+ (python-info-beginning-of-backlash)
+ (python-info-block-continuation-line-p)
+ (python-info-closing-block-message)
+ (python-info-line-ends-backslash-p)
+ (python-info-looking-at-beginning-of-defun)
+ (python-info-ppss-context, python-info-ppss-context-type)
+ (python-nav-list-defun-positions, python-nav-read-defun)
+ (python-nav-sentence-end, python-nav-sentence-start)
+ (python-pdbtrack-comint-output-filter-function)
+ (python-pdbtrack-set-tracked-buffer)
+ (python-shell-calculate-exec-path)
+ (python-shell-calculate-process-environment)
+ (python-shell-completion--do-completion-at-point)
+ (python-shell-completion--get-completions)
+ (python-shell-completion-complete-at-point)
+ (python-shell-completion-complete-or-indent)
+ (python-shell-get-or-create-process)
+ (python-shell-get-process-name)
+ (python-shell-internal-get-or-create-process)
+ (python-shell-internal-get-process-name)
+ (python-shell-internal-send-string, python-shell-make-comint)
+ (python-shell-parse-command, python-shell-send-setup-code)
+ (python-skeleton-add-menu-items)
+ (python-util-clone-local-variables, python-util-position)
+ (run-python-internal, python-indentation-levels)
+ (python-nav-beginning-of-defun)
+ (python-completion-complete-at-point): New functions.
+ (run-python): Change arguments. New API requirements.
+
+2012-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el (cl--defsubst-expand): Autoload inliner
+ (bug#11649).
+
+ * emacs-lisp/macroexp.el (macroexp--compiler-macro): New function.
+ (macroexp--expand-all): Use it.
+
+ * emacs-lisp/cl-macs.el (cl--transform-function-property): Remove.
+ (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro):
+ Use `cl-function' instead.
+
+2012-06-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (COMPILE_FIRST): Remove subr.el.
+ Suggested by Stefan Monnier while discussing bug#11657.
+
+2012-06-14 Sam Steingold <sds@gnu.org>
+
+ * files.el (abort-if-file-too-large): Use `file-size-human-readable'.
+
+2012-06-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * play/doctor.el (doctor-doc): Remove parameter and use
+ doctor-sent instead of sent.
+ (doctor-read-print): Use doctor-sent instead of sent. (Bug#11708)
+
+2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el: Require cl-lib.
+ (file-name-non-special): Replace case -> cl-case.
+
+ * emacs-lisp/cl-macs.el (cl-defstruct): Don't add print-func.
+
+ * emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect
+ mapping from #' to function*.
+
+2012-06-13 Chong Yidong <cyd@gnu.org>
+
+ * mouse.el (mouse-drag-track): Do not set the mark if the user
+ releases the mouse without selecting anything (Bug#11588).
+
+2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/tex-mode.el (latex-indent): Recognize tex-verbatim at EOB
+ as well (bug#11646).
+
+ * loadup.el: Count byte-code functions as well.
+
+ * emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
+ * emacs-lisp/bytecomp.el (featurep): ...here (bug#11692).
+
+ * emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt
+ (bug#11649). Add cl-defun and cl-defmacro.
+
+2012-06-13 Drew Adams <drew.adams@oracle.com>
+
+ * help-mode.el (help-bookmark-make-record, help-bookmark-jump):
+ Fix last change.
+
+2012-06-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/dbus.el (dbus-call-method): Use timeout for `read-event'.
+ Otherwise, it blocks in batch mode.
+
+2012-06-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * help-mode.el (bookmark-make-record-default): Declare.
+
+2012-06-13 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/package.el (list-packages): Compute a list of
+ packages that are newly-available since the last list-packages
+ invocation.
+ (package-menu--new-package-list): New var.
+ (package-menu--generate, package-menu--print-info)
+ (package-menu--status-predicate, package-menu-mark-install):
+ Handle new status label "new".
+
+2012-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl-remf): Fix error in recent
+ conversion to backquotes.
+
+2012-06-12 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings):
+ Rename from gud-inhibit-global-bindings.
+
+ * emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix.
+
+ * nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal
+ hook from nxml-glyph-set-hook.
+
+ * progmodes/cwarn.el (cwarn-mode): Remove redundant variable
+ declaration.
+
+ * progmodes/pascal.el (pascal-toggle-completions): Doc fix.
+
+ * textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path):
+ Convert to defcustom.
+
+2012-06-12 Drew Adams <drew.adams@oracle.com>
+
+ * help-mode.el (help-bookmark-make-record, help-bookmark-jump):
+ New functions.
+ (help-mode): Use them.
+
+2012-06-11 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/fortran.el (fortran-font-lock-keywords-3):
+ Use preprocessor face for directives.
+ (fortran-directive-re): Doc fix.
+
+2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl-parse-loop-clause): Fix error in recent
+ conversion to backquotes (bug#11652).
+
+ Fix compiler-expansion of CL's cXXr functions (bug#11673).
+ * emacs-lisp/cl-lib.el (cl--defalias): New function.
+ (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first)
+ (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it.
+ (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth)
+ (cl-ninth, cl-tenth): Mark them as inlinable.
+ (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr)
+ (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr)
+ (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr)
+ (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr):
+ Add a compiler-macro declaration to use cl--compiler-macro-cXXr.
+ (cl-list*, cl-adjoin): Don't put an autoload manually.
+ * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin)
+ (cl--compiler-macro-list*): Add autoload cookie.
+ (cl--compiler-macro-cXXr): New function.
+
+ * help-fns.el (help-fns--compiler-macro): New function extracted from
+ describe-function-1; follow aliases and use `compiler-macro' property.
+ (describe-function-1): Use it.
+
+2012-06-11 Chong Yidong <cyd@gnu.org>
+
+ * startup.el (fancy-splash-head): Use splash.svg even if librsvg
+ is uninstalled, if imagemagick is installed.
+
+2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el: Use lexical-binding.
+ (cl-map-extents, cl-maclisp-member): Remove.
+ (cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring)
+ (cl--set-substring, cl--block-wrapper, cl--block-throw)
+ (cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix.
+ * emacs-lisp/cl-extra.el: Use lexical-binding.
+ (cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals)
+ (cl--map-overlays, cl--set-frame-visible-p, cl--progv-save)
+ (cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf)
+ (cl--do-remf, cl--do-prettyprint): Use "cl--" prefix.
+ * emacs-lisp/cl-seq.el: Use lexical-binding.
+ (cl--parsing-keywords, cl--check-key, cl--check-test-nokey)
+ (cl--check-test, cl--check-match): Use "cl--" prefix and backquotes.
+ (cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec):
+ * emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix.
+ * edmacro.el (edmacro-mismatch): Simplify to remove dependence on
+ CL's internals.
+
+2012-06-11 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.6-pre.
+
+ * net/tramp-cache.el (tramp-dump-connection-properties): Let-bind
+ `print-length' and `print-level' to nil, in order to avoid
+ truncation. Reported by Christopher Schmidt
+ <christopher@ristopher.com>.
+
+ * net/tramp-cmds.el (tramp-cleanup-connection): Delete also process.
+
+ * net/tramp-compat.el (tramp-compat-condition-case-unless-debug):
+ New defmacro.
+ (tramp-compat-copy-directory): Add optional argument
+ COPY-CONTENTS. It is not handled yet.
+
+ * net/tramp-ftp.el (tramp-disable-ange-ftp): Fix docstring.
+ (tramp-ftp-file-name-p): Simplify.
+
+ * net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
+ * net/tramp-gw.el (tramp-gw-open-connection): Add hop to
+ connection vector.
+
+ * net/tramp-sh.el (tramp-copy-size-limit): Fix docstring.
+ (tramp-methods): Do not use `tramp-password-end-of-line'.
+ (tramp-completion-function-alist-putty): Handle UNIX case.
+ (tramp-remote-path): Add "/opt/bin", "/opt/sbin" and "/opt/local/bin".
+ (tramp-do-file-attributes-with-stat)
+ (tramp-do-directory-files-and-attributes-with-stat) Return uid and
+ gid as real numbers. They could run out of integer range on cygwin.
+ (tramp-do-copy-or-rename-file-out-of-band): Better trace format.
+ (tramp-sh-handle-expand-file-name): Handle hops.
+ (tramp-open-connection-setup-interactive-shell):
+ Use `tramp-cleanup'. Move check for busyboxes ...
+ (tramp-find-shell): ... here. Simplify implementation.
+ Set "remote-shell" property also for alternative shells.
+ (tramp-remote-coding-commands): Check "test -c /dev/stdout".
+ If failing, a regular file would be written otherwise.
+ Reported by Dmitry Kurochkin <dmitry.kurochkin@gmail.com>.
+ (tramp-find-inline-encoding): Cache the coding commands in the
+ process cache. Apply test command on the remote side, if defined.
+ (tramp-find-inline-compress): Cache the compress commands in the
+ process cache.
+ (tramp-compute-multi-hops): Save `tramp-default-proxies-alist'
+ when requested. Handle hops.
+ (tramp-current-connection): New defvar.
+ (tramp-maybe-open-connection): Use `tramp-cleanup'.
+ Throw `suppress', if there was a failed connection shortly before.
+ Handle user interrupt. (Bug#10187)
+ (tramp-get-inline-compress, tramp-get-inline-coding):
+ Read connection properties from the process cache.
+
+ * net/tramp-smb.el (tramp-smb-server-version)
+ (tramp-smb-wrong-passwd-regexp, tramp-smb-actions-with-tar):
+ New defconsts.
+ (tramp-smb-prompt): Extend for powershell prompt.
+ (tramp-smb-file-name-handler-alist): Add handlers for
+ `process-file', `shell-command' and `start-file-process'.
+ (tramp-smb-winexe-program, tramp-smb-winexe-shell-command)
+ (tramp-smb-winexe-shell-command-switch): New defcustoms.
+ (tramp-smb-file-name-p): Simplify.
+ (tramp-smb-action-with-tar, tramp-smb-handle-process-file)
+ (tramp-smb-kill-winexe-function, tramp-smb-call-winexe)
+ (tramp-smb-shell-quote-argument): New defuns.
+ (tramp-smb-handle-copy-directory): Add COPY-CONTENTS argument.
+ Implement using "tar". By this, time-stamps are preserved.
+ (tramp-smb-handle-copy-file): Handle also the case of directories.
+ (tramp-smb-do-file-attributes-with-stat)
+ (tramp-smb-get-file-entries, tramp-smb-get-cifs-capabilities):
+ Use `tramp-get-connection-buffer').
+ (tramp-smb-handle-rename-file): Use "rename", when source and
+ target are on the same share.
+ (tramp-smb-maybe-open-connection): Handle wrong passwords.
+ Use `tramp-smb-server-version'.
+ (tramp-smb-wait-for-output): Remove prompt.
+
+ * net/tramp.el (top): Require 'cl.
+ (tramp-methods, tramp-rsh-end-of-line):
+ Remove `tramp-password-end-of-line' from docstring.
+ (tramp-save-ad-hoc-proxies): New defcustom.
+ (tramp-completion-function-alist): Adapt docstring.
+ (tramp-default-password-end-of-line): Remove defcustom.
+ (tramp-shell-prompt-pattern): Allow "[]" style prompts. (Bug#11065)
+ (tramp-user-regexp, tramp-file-name-regexp-unified)
+ (tramp-file-name-regexp-url): Extend regexp by hop separator.
+ (tramp-postfix-hop-format, tramp-postfix-hop-regexp)
+ (tramp-remote-file-name-spec-regexp): New defconst.
+ (tramp-file-name-structure): Extend structure for hops.
+ (tramp-get-method-parameter): Move up.
+ (tramp-file-name-p, tramp-dissect-file-name)
+ (with-parsed-tramp-file-name): Handle hops.
+ (tramp-file-name-hop): New defun.
+ (tramp-make-tramp-file-name): New optional arg HOP.
+ (tramp-message-show-progress-reporter-message): New defvar.
+ (tramp-with-progress-reporter): Use it. We cannot use
+ `tramp-message-show-message' here, because this suppresses also
+ error buffers.
+ (tramp-error-with-buffer): Suppress buffer view, if
+ `tramp-message-show-message' is nil.
+ Use `tramp-get-connection-buffer'.
+ (tramp-cleanup): New defun.
+ (tramp-rfn-eshadow-update-overlay): Let-bind `non-essential' to `t'.
+ (tramp-file-name-handler): If `debug-on-error' is set, propagate
+ an error unchanged.
+ (tramp-completion-handle-file-name-all-completions): Handle hops.
+ Fix an error when called from ido.
+ (tramp-completion-dissect-file-name): Use better local variable
+ name. Add hop to the vector.
+ (tramp-handle-insert-file-contents): Use progress-reporter for the
+ whole scenario.
+ (tramp-action-password): Let-bind `enable-recursive-minibuffers'
+ to `t'.
+ (tramp-check-for-regexp): Simplify search.
+ (tramp-enter-password): Remove it. Move implementation ...
+ (tramp-action-password): ... here.
+ (tramp-mode-string-to-int, tramp-local-host-p)
+ (tramp-make-tramp-temp-file, tramp-read-passwd)
+ (tramp-clear-passwd, tramp-time-less-p, tramp-time-diff):
+ Set tramp-autoload cookie.
+
+ * net/trampver.el: Update release number.
+
+2012-06-11 Thierry Volpiatto <thierry.volpiatto@gmail.com>
+ Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-set-completion-function): Fix docstring.
+ (tramp-parse-group, tramp-parse-file)
+ (tramp-parse-shostkeys-sknownhosts): New defuns.
+ (tramp-parse-rhosts, tramp-parse-rhosts-group, tramp-parse-shosts)
+ (tramp-parse-shosts-group, tramp-parse-sconfig)
+ (tramp-parse-sconfig-group, tramp-parse-shostkeys)
+ (tramp-parse-sknownhosts, tramp-parse-hosts)
+ (tramp-parse-hosts-group, tramp-parse-passwd, tramp-parse-netrc):
+ Use them.
+ (tramp-parse-passwd-group, tramp-parse-netrc-group)
+ (tramp-parse-putty-group): Don't narrow.
+ (tramp-parse-putty): Make a loop.
+ (tramp-file-name-handler): Catch the `suppress' signal.
+
+2012-06-11 Chong Yidong <cyd@gnu.org>
+
+ * image.el (imagemagick-register-types): Put the ImageMagick entry
+ at the end of image-type-file-name-regexps.
+
+2012-06-11 Johan Bockgård <bojohan@gnu.org>
+
+ * emacs-lisp/pcase.el (pcase-UPAT, pcase-QPAT): New edebug specs.
+ (pcase, pcase-let*, pcase-dolist): Use them.
+
+2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase--let*): New function.
+ (pcase-let*): Use it. Use pcase--memoize to avoid repeated expansions.
+ (pcase--expand): Use macroexp-let².
+
+2012-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/timer.el, emacs-lisp/syntax.el, emacs-lisp/smie.el:
+ * emacs-lisp/ewoc.el, emacs-lisp/cconv.el, emacs-lisp/bytecomp.el:
+ * emacs-lisp/byte-opt.el, emacs-lisp/autoload.el: Convert to cl-lib.
+ * emacs-lisp/easymenu.el, emacs-lisp/easy-mmode.el:
+ * emacs-lisp/derived.el: Use pcase instead of `cl'.
+ * emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load.
+
+2012-06-10 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmail.el (rmail-yank-current-message): Leave point at
+ correct position. (Bug#11660)
+
+2012-06-10 Chong Yidong <cyd@gnu.org>
+
+ * allout-widgets.el: Fix code header.
+
+2012-06-10 Chong Yidong <cyd@gnu.org>
+
+ * cus-edit.el (customize-changed-options-previous-release):
+ Bump to 24.1.
+
+2012-06-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * Makefile.in (BIG_STACK_DEPTH): Enlarge to 2200.
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * ebuff-menu.el (electric-buffer-list): Preserve header line.
+
+2012-06-09 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (special-display-popup-frame): Don't use
+ window--display-buffer (Bug#11651).
+
+2012-06-09 Eli Zaretskii <eliz@gnu.org>
+
+ Fix parallel builds: make sure loaddefs.el is not being written
+ while Lisp files are compiled.
+ (compile): Don't depend on 'mh-autoloads'.
+ (compile-CMD, compile-SH): Depend on 'autoloads'.
+ (bootstrap): Don't depend on 'autoloads' and 'mh-autoloads'.
+
+ * makefile.w32-in (BIG_STACK_DEPTH): Enlarge to 2200. (Bug#11649)
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * face-remap.el (face-remap-add-relative, face-remap-set-base)
+ (buffer-face-set, buffer-face-toggle, buffer-face-mode-invoke):
+ Doc fixes (Bug#11225).
+
+2012-06-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload
+ a function if there's a clear indication that it has a compiler-macro.
+ * emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun)
+ (macro-declarations-alist): Add arglist to declaration functions.
+ (defun-declarations-alist): Add `obsolete' and `compiler-macro'.
+ * emacs-lisp/cl-seq.el (cl-member, cl-assoc):
+ * emacs-lisp/cl-lib.el (cl-list*, cl-adjoin):
+ * emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement.
+ Also add autoload to find the compiler macro.
+ * emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove.
+ (cl--compiler-macro-member, cl--compiler-macro-assoc)
+ (cl--compiler-macro-adjoin, cl--compiler-macro-list*)
+ (cl--compiler-macro-get): New functions, replacing calls to
+ cl-define-compiler-macro.
+ (cl-typep) [compiler-macro]: Use macroexp-let².
+
+2012-06-08 Nick Dokos <nicholas.dokos@hp.com> (tiny change)
+
+ * calendar/icalendar.el (icalendar--parse-vtimezone): Import TZID
+ string properly, fixes Bug#11473.
+
+2012-06-08 Chong Yidong <cyd@gnu.org>
+
+ * faces.el (set-face-attribute): Doc fix.
+ (modify-face): Don't use :bold and :italic.
+ (error, warning, success): Tweak definitions.
+
+ * cus-edit.el (custom-modified, custom-invalid, custom-rogue)
+ (custom-modified, custom-set, custom-changed, custom-themed)
+ (custom-saved, custom-button, custom-button-mouse)
+ (custom-button-pressed, custom-state, custom-comment-tag)
+ (custom-variable-tag, custom-group-tag-1, custom-group-tag)
+ (custom-group-subtitle): Use new-style face specs.
+ (custom-invalid-face, custom-rogue-face, custom-modified-face)
+ (custom-set-face, custom-changed-face, custom-saved-face)
+ (custom-button-face, custom-button-pressed-face)
+ (custom-documentation-face, custom-state-face)
+ (custom-comment-face, custom-comment-tag-face)
+ (custom-variable-tag-face, custom-variable-button-face)
+ (custom-face-tag-face, custom-group-tag-face-1)
+ (custom-group-tag-face): Remove obsolete face alias.
+
+ * epa.el (epa-validity-high, epa-validity-medium)
+ (epa-validity-low, epa-mark, epa-field-name, epa-string)
+ (epa-field-name, epa-field-body):
+ * font-lock.el (font-lock-comment-face, font-lock-string-face)
+ (font-lock-keyword-face, font-lock-builtin-face)
+ (font-lock-function-name-face, font-lock-variable-name-face)
+ (font-lock-type-face, font-lock-constant-face):
+ * ido.el (ido-first-match, ido-only-match, ido-subdir)
+ (ido-virtual, ido-indicator, ido-incomplete-regexp):
+ * speedbar.el (speedbar-button-face, speedbar-file-face)
+ (speedbar-directory-face, speedbar-tag-face)
+ (speedbar-selected-face, speedbar-highlight-face)
+ (speedbar-separator-face):
+ * whitespace.el (whitespace-newline, whitespace-space)
+ (whitespace-hspace, whitespace-tab, whitespace-trailing)
+ (whitespace-line, whitespace-space-before-tab)
+ (whitespace-space-after-tab, whitespace-indentation)
+ (whitespace-empty):
+ * emulation/cua-base.el (cua-global-mark):
+ * eshell/em-prompt.el (eshell-prompt):
+ * net/newst-plainview.el (newsticker-new-item-face)
+ (newsticker-old-item-face, newsticker-immortal-item-face)
+ (newsticker-obsolete-item-face, newsticker-date-face)
+ (newsticker-statistics-face, newsticker-default-face):
+ * net/newst-reader.el (newsticker-feed-face)
+ (newsticker-extra-face, newsticker-enclosure-face):
+ * net/newst-treeview.el (newsticker-treeview-face)
+ (newsticker-treeview-new-face, newsticker-treeview-old-face)
+ (newsticker-treeview-immortal-face)
+ (newsticker-treeview-obsolete-face)
+ (newsticker-treeview-selection-face):
+ * net/rcirc.el (rcirc-my-nick, rcirc-other-nick)
+ (rcirc-bright-nick, rcirc-server, rcirc-timestamp)
+ (rcirc-nick-in-message, rcirc-nick-in-message-full-line)
+ (rcirc-prompt, rcirc-track-keyword, rcirc-url, rcirc-keyword):
+ * nxml/nxml-outln.el (nxml-heading, nxml-outline-indicator)
+ (nxml-outline-active-indicator, nxml-outline-ellipsis):
+ * play/mpuz.el (mpuz-unsolved, mpuz-solved, mpuz-trivial)
+ (mpuz-text):
+ * progmodes/vera-mode.el (vera-font-lock-number)
+ (vera-font-lock-function, vera-font-lock-interface):
+ * textmodes/table.el (table-cell): Use new-style face specs, and
+ don't use the old :bold and :italic attributes.
+
+ * progmodes/ebrowse.el (ebrowse-tree-mark, ebrowse-root-class)
+ (ebrowse-member-attribute, ebrowse-default, ebrowse-file-name)
+ (ebrowse-member-class, ebrowse-progress): Likewise.
+ (ebrowse-tree-mark-face, ebrowse-root-class-face)
+ (ebrowse-file-name-face, ebrowse-default-face)
+ (ebrowse-member-attribute-face, ebrowse-member-class-face)
+ (ebrowse-progress-face): Remove obsolete faces.
+
+ * progmodes/flymake.el (flymake-errline, flymake-warnline):
+ Inherit from error and warning faces respectively.
+
+ * textmodes/flyspell.el (flyspell-incorrect, flyspell-duplicate):
+ Likewise.
+ (flyspell-incorrect-face, flyspell-duplicate-face):
+ Remove obsolete aliases.
+
+2012-06-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-compat.el (tramp-compat-temporary-file-directory):
+ Avoid infloop.
+
+2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * startup.el (argv, argi): Make lexically scoped.
+ * emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special.
+ * emacs-lisp/cl-macs.el: Use lexical-binding.
+ Rename cl-bind-* to cl--bind-*.
+ * files.el: Don't require `cl' since it doesn't use it.
+ * emacs-lisp/pcase.el, emacs-lisp/macroexp.el: Add coding cookie.
+
+2012-06-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * textmodes/texinfmt.el: Fix bug#11640 (reverts part of 2008-07-31T05:33:56Z!dann@ics.uci.edu).
+ (texinfo-format-printindex): Use `texinfo-sort-region' in all platforms,
+ instead of calling external sort utility.
+ (texinfo-sort-region, texinfo-sort-startkeyfun): Restore functions.
+
+2012-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ * descr-text.el (describe-char): Mention how to insert the
+ character, if the current input method doesn't support it.
+ See the discussion in this thread for the details:
+ http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html.
+
+2012-06-08 Sam Steingold <sds@gnu.org>
+
+ * bindings.el (global-map): Bind XF86Forward to next-buffer and
+ XF86Back to previous-buffer.
+ (minibuffer-local-map): Bind them to next-history-element and
+ previous-history-element respectively.
+ * help-mode.el (help-mode-map): Bind them to help-go-forward and
+ help-go-back respectively.
+ * info.el (Info-mode-map): Bind them to Info-history-forward and
+ Info-history-back respectively.
+ These are the keys next to Up on the ThinkPad keyboard.
+
+2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Get rid of cl-lexical-let, keeping only lexical-let for compatibility.
+ * emacs-lisp/cl-macs.el: Provide itself.
+ (cl--labels-convert-cache): New var.
+ (cl--labels-convert): New function.
+ (cl-flet, cl-labels): New implementation with new semantics, relying on
+ lexical-binding.
+ * emacs-lisp/cl.el: Mark compatibility aliases as obsolete.
+ (cl-closure-vars, cl--function-convert-cache)
+ (cl--function-convert): Move from cl-macs.el.
+ (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and
+ rename by removing the "cl-" prefix.
+ * emacs-lisp/macroexp.el (macroexp-unprogn): New function.
+
+2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment)
+ (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash)
+ (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash)
+ (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash)
+ (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p)
+ (cl-hash-table-count): Add old compatibility aliases.
+
+ * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var.
+ Use macroexpand-all-environment instead.
+ (cl--old-macroexpand): New var.
+ (cl--sm-macroexpand): New function.
+ (cl-symbol-macrolet): Use it during macro expansion.
+ (cl--function-convert-cache): New var.
+ (cl--function-convert): New function, extracted from
+ cl-macroexpand-all.
+ (cl-lexical-let): Use it.
+
+ * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl.
+ (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand.
+ (cl-member): Remove old alias.
+
+ * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree)
+ (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash)
+ (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash)
+ (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table)
+ (cl-hash-table-p, cl-hash-table-count): Move to cl.el.
+ (cl-macroexpand-cmacs): Remove var.
+ (cl-macroexpand-all, cl-macroexpand-body): Remove funs.
+ Use macroexpand-all instead.
+
+2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if)
+ (macroexp-let², macroexp--const-symbol-p, macroexp-const-p)
+ (macroexp-copyable-p): New functions and macros.
+ * emacs-lisp/edebug.el (edebug-unwrap):
+ * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn.
+ * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ...
+ (pcase--let*): Remove.
+ * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p)
+ (byte-compile-constp): Remove. Use macroexp--const-symbol-p and
+ macroexp-const-p instead.
+ * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn.
+
+ * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--"
+ instead of "cl-" for internal definitions. Use macroexp-const-p.
+ (cl-old-bc-file-form): Remove var.
+ (cl-const-exprs-p): Remove fun.
+ (cl-labels, cl-macrolet): Use backquote.
+ (cl-lexical-let): Use cl-symbol-macrolet. Don't use cl-defun-expander.
+ (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun.
+ (cl-define-setf-expander): Rename from cl-define-setf-method.
+ * emacs-lisp/cl.el: Adjust alias for define-setf-method.
+
+ * international/mule-cmds.el: Don't require CL.
+ (view-hello-file): Don't use `letf'.
+
+2012-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * tmm.el (tmm-prompt): Use string-prefix-p.
+ (tmm-completion-delete-prompt): Don't affect current-buffer outside.
+ (tmm-add-prompt): Use minibuffer-completion-help.
+ (tmm-delete-map): Remove.
+
+ * subr.el (kbd): Make it its own function.
+
+2012-06-07 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Use `eval-when-compile' for requiring `cl.el'.
+ Silence compiler warnings. Fix versions.
+ (rst-position-if, rst-position, rst-some, rst-signum): New functions.
+ (rst-shift-region, rst-adornment-level, rst-compute-tabs)
+ (rst-indent-line, rst-shift-region, rst-forward-line): Use them.
+ (rst-package-emacs-version-alist): Correct Emacs version to
+ represent major merge with upstream.
+ (rst-transition, rst-adornment, rst-compile-toolsets): Fix versions.
+
+2012-06-06 Glenn Morris <rgm@gnu.org>
+
+ * mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars.
+ Only print environment variables if set.
+
+2012-06-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el: Don't require CL since we don't use it.
+ (macroexp--cons): Rename from maybe-cons.
+ (macroexp--accumulate): Rename from macroexp-accumulate.
+ (macroexp--all-forms): Rename from macroexpand-all-forms.
+ (macroexp--all-clauses): Rename from macroexpand-all-clauses.
+ (macroexp--expand-all): Rename from macroexpand-all-1.
+
+2012-06-06 Sam Steingold <sds@gnu.org>
+
+ * calendar/calendar.el (calendar-in-read-only-buffer):
+ Call `special-mode' to enable the standard read-only keybindings.
+
+2012-06-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output
+ with "loading" messages (bug#11635).
+
+2012-06-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.el (enable-remote-dir-locals): New option.
+ (hack-dir-local-variables): Use it. (Bug#1933, Bug#6731)
+
+ * net/tramp-compat.el (tramp-compat-temporary-file-directory):
+ Ensure, that the temp directory is local.
+
+ * net/tramp-sh.el (tramp-sh-handle-write-region): Let-bind
+ `temporary-file-directory'.
+
+ * progmodes/python.el (python-send-region): Ensure, that the
+ temporary file is created also in the remote case.
+
+2012-06-06 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-rcs.el (vc-rcs-rcs2log-program): New.
+ (vc-rcs-update-changelog): Use it.
+
+ * emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff.
+
+ * vc/vc-sccs.el (vc-sccs-write-revision): New function.
+ (vc-sccs-workfile-unchanged-p): Use vc-sccs-write-revision.
+ (vc-sccs-diff): Replace use of the external vcdiff script.
+
+2012-06-05 Glenn Morris <rgm@gnu.org>
+
+ * ledit.el: Move to obsolete/.
+
+2012-06-05 Sam Steingold <sds@gnu.org>
+
+ * calendar/calendar.el (calendar-exit): Reinstate the 2012-03-28
+ patch (Bug#11140).
+
+2012-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cust-print.el: Move to obsolete.
+
+ * emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during
+ compiler-macro expansion.
+
+ Add native compiler-macro support.
+ * emacs-lisp/macroexp.el (macroexpand-all-1):
+ Support compiler-macros directly. Properly follow aliases and apply
+ the compiler macros more thoroughly.
+ * emacs-lisp/cl.el: Don't copy compiler-macro properties any more since
+ macroexpand now properly follows aliases.
+ * emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro)
+ (cl-compiler-macroexpand): Use new prop.
+ * emacs-lisp/byte-opt.el (featurep): Optimize earlier.
+
+ * emacs-lisp/cl-lib.el (custom-print-functions): Add alias.
+
+2012-06-05 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (get-lru-window, get-mru-window, get-largest-window):
+ New argument NOT-SELECTED to avoid picking the selected window.
+ (window--display-buffer-1, window--display-buffer-2): Replace by
+ new function window--display-buffer
+ (display-buffer-same-window, display-buffer-reuse-window)
+ (display-buffer-pop-up-frame, display-buffer-pop-up-window):
+ Use window--display-buffer.
+ (display-buffer-use-some-window): Remove temporary dedication
+ hack by calling get-lru-window and get-largest-window with
+ NOT-SELECTED argument non-nil. Call window--display-buffer.
+
+2012-06-05 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-sccs.el (vc-sccs-workfile-unchanged-p):
+ Replace external vcdiff script.
+
+2012-06-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change.
+
+2012-06-04 Chong Yidong <cyd@gnu.org>
+
+ * image.el (imagemagick-types-inhibit): Revert last change.
+ Add INFO and M.
+ (imagemagick-enabled-types): Remove CIN and EPS*.
+
+2012-06-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el: Rename from cl.el.
+ * emacs-lisp/cl.el: New compatibility file.
+ * emacs-lisp/cl-lib.el, emacs-lisp/cl-seq.el, emacs-lisp/cl-macs.el:
+ * emacs-lisp/cl-extra.el: Rename all top-level functions and variables
+ to obey the "cl-" prefix.
+ * emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name.
+
+2012-06-03 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/authors.el (authors-aliases): Addition.
+
+ * cus-start.el (tool-bar-style, tool-bar-max-label-size):
+ Fix :version.
+
+2012-06-03 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Add comments.
+ (rst-transition, rst-adornment): New faces.
+ (rst-adornment-faces-alist): Make default safe to reevaluate.
+ Fixes
+ http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3479603&group_id=38414.
+ Improve customization tags.
+ (rst-define-level-faces): Clarify meaning.
+
+2012-06-03 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/compile.el (compilation-mode-line-fail)
+ (compilation-mode-line-run, compilation-mode-line-exit):
+ New faces.
+ (compilation-start, compilation-handle-exit): Use them (Bug#11032).
+
+2012-06-03 Jack Duthen <duthen.mac.01@gmail.com> (tiny change)
+
+ * progmodes/which-func.el (which-func-update-ediff-windows):
+ New function. Use it in ediff-select-hook (Bug#11478).
+
+2012-06-03 Chong Yidong <cyd@gnu.org>
+
+ * bindings.el: Remove explicit help text from format-mode-line.
+ It is now supplied by mode-line-default-help-echo.
+ (mode-line-front-space, mode-line-end-spaces)
+ (mode-line-misc-info): New variables.
+ (mode-line-modes, mode-line-position): Move the default value to
+ the variable definition.
+ (mode-line-default-help-echo): New defcustom.
+ (mode-line-mule-info-help-echo, mode-line-read-only-help-echo)
+ (mode-line-modified-help-echo): New functions.
+ (mode-line-mule-info, mode-line-modified): Use them.
+ (mode-line-eol-desc, propertized-buffer-identification):
+ Consistency fixes for help text.
+ (mode-line-coding-system-map): Allow using mouse-3 to invoke
+ set-buffer-file-coding-system (Bug#289).
+ (mode-line-mule-info-help-echo): Update help text.
+
+2012-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (execute-extended-command): Set real-this-command
+ (bug#11506).
+
+2012-06-02 Chong Yidong <cyd@gnu.org>
+
+ Remove incorrect uses of "modeline" in comments, docstrings, and
+ function/variable names (Bug#10329).
+
+ * cus-edit.el (mode-line):
+ * dframe.el (dframe-mouse-hscroll):
+ * emacs-lisp/re-builder.el:
+ * emacs-lisp/easy-mmode.el (define-minor-mode):
+ * frame.el (set-frame-name):
+ * help.el (lookup-minor-mode-from-indicator):
+ * net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name):
+ * progmodes/cc-cmds.el (c-toggle-auto-newline)
+ (c-toggle-hungry-state):
+ * progmodes/antlr-mode.el (antlr-language-alist):
+ * progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face):
+ * progmodes/vhdl-mode.el (vhdl-mode):
+ * progmodes/which-func.el (which-func, which-func-cleanup-function):
+ * term/ns-win.el (ns-face-at-pos):
+ * term/sup-mouse.el (sup-mouse-report):
+ * textmodes/flyspell.el (flyspell-mode-line-string):
+ * textmodes/ispell.el (ispell-highlight-face):
+ * textmodes/reftex-global.el:
+ * vc/vc-arch.el (vc-arch-mode-line-string):
+ * vc/vc-cvs.el (vc-cvs-mode-line-string):
+ * vc/vc-git.el (vc-git-mode-line-string):
+ * vc/vc-hooks.el (vc-display-status)
+ (vc-default-mode-line-string):
+ * vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes.
+
+ * ansi-color.el (ansi-color-faces-vector): Change default faces.
+
+ * dired.el (dired-sort-set-mode-line): Rename from
+ dired-sort-set-modeline. All callers changed.
+
+ * eshell/esh-mode.el (eshell-status-in-mode-line): Rename from
+ eshell-status-in-modeline.
+
+ * foldout.el (foldout-mode-line-string): Rename from
+ foldout-modeline-string. All callers changed.
+ (foldout-update-mode-line): Rename from foldout-update-modeline.
+
+ * subr.el (redraw-modeline): Make into obsolete alias.
+
+ * calendar/timeclock.el (timeclock-mode-line-display): Rename from
+ timeclock-modeline-display. Make old name an alias.
+ (timeclock-update-mode-line): Likewise. All callers changed.
+ (timeclock-mode-line-display): No need to check before using
+ add-hook.
+ (timeclock-relative, timeclock-day-over-hook)
+ (timeclock-use-elapsed, timeclock-mode-string)
+ (timeclock-mode-line-display): Doc fix, "modeline" -> "mode line".
+
+ * emulation/crisp.el (crisp-mode-mode-line-string): Rename from
+ crisp-mode-modeline-string.
+
+ * play/solitaire.el (solitaire-build-mode-line): Rename from
+ solitaire-build-modeline. All callers changed.
+
+ * play/zone.el (zone-hiding-mode-line): Rename from
+ zone-hiding-modeline. All callers changed.
+ (zone): Remove unusued `modeline-hidden-level' property.
+
+ * progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from
+ xscheme-modeline-initialize. All callers changed.
+
+ * strokes.el (strokes-lighter): Rename from
+ strokes-modeline-string.
+
+ * textmodes/sgml-mode.el (html-face-tag-alist)
+ (html-tag-face-alist): Use mode-line face instead of obsolete
+ alias modeline.
+
+2012-06-02 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Always require `cl'.
+ (rst-mode-map): Fix meaning of C-M-a / C-M-e.
+
+2012-06-02 Chong Yidong <cyd@gnu.org>
+
+ * image.el (imagemagick-enabled-types): Rename from
+ imagemagick-types-enable. Add many more types.
+ (imagemagick-types-inhibit): Change default to nil.
+ (imagemagick-filter-types): Caller changed.
+
+2012-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el: Use backquotes.
+ (cl-transform-function-property): Use eval-and-compile rather than
+ abusing `require'.
+ (defstruct): Use declare-function instead of with-no-warnings.
+
+ * emacs-lisp/bytecomp.el: Fix last change (bug#11594).
+ (byte-compile-output-docform): Re-add the print-circle bindings.
+ (byte-compile-fix-header): Use #$ just because it's shorter.
+ (byte-compile-output-file-form): Remove defun/defmacro.
+
+2012-06-01 Martin Rudalics <rudalics@gmx.at>
+
+ * simple.el (choose-completion): Remove now obsolete binding for
+ owindow.
+
+2012-06-01 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-check-for-regexp): Search from buffer end,
+ in order to avoid "Stack overflow in regexp matcher".
+
+2012-05-31 Glenn Morris <rgm@gnu.org>
+
+ * image.el: For clarity, call imagemagick-register-types at
+ top-level, rather than relying on a custom :initialize.
+ (imagemagick-types-enable): New option. (Bug#11557)
+ (imagemagick-filter-types): New function. (Bug#7406)
+ (imagemagick-register-types): Use imagemagick-filter-types.
+ If disabling support, remove elements altogether rather
+ than using an impossible regexp.
+ (imagemagick-types-inhibit): Give it the default init function.
+
+2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-fix-header):
+ Handle arbitrary file name lengths (Bug#11585).
+
+2012-05-31 Martin Rudalics <rudalics@gmx.at>
+
+ * desktop.el (desktop-read): Clear previous and next buffers for
+ all windows and bury *Messages* buffer (bug#11556).
+
+2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Add `declare' for `defun'. Align `defmacro's with it.
+ * emacs-lisp/easy-mmode.el (define-minor-mode)
+ (define-globalized-minor-mode): Don't autoload the var definitions.
+ * emacs-lisp/byte-run.el: Use lexical-binding.
+ (defun-declarations-alist, macro-declarations-alist): New vars.
+ (defmacro, defun): Use them.
+ (make-obsolete, define-obsolete-function-alias)
+ (make-obsolete-variable, define-obsolete-variable-alias):
+ Use `declare'.
+ (macro-declaration-function): Mark obsolete.
+ * emacs-lisp/autoload.el: Use lexical-binding.
+ (make-autoload): Add `expansion' arg. Rely more on macro expansion.
+
+2012-05-30 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-with-no-warnings):
+ Define as a macro.
+ (ispell-kill-ispell, ispell-change-dictionary):
+ Use `called-interactively-p' for Emacs instead of obsolete
+ `interactive-p'.
+
+2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/byte-run.el (defmacro, defun): Move from C.
+ (macro-declaration-function): Move var from C code.
+ (macro-declaration-function): Define function with defalias.
+ * emacs-lisp/macroexp.el (macroexpand-all-1):
+ * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
+ * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle
+ defun/defmacro any more.
+ * emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
+ Provide fallback for unknown arglist.
+ (byte-compile-arglist-warn): Change calling convention.
+ (byte-compile-output-file-form): Move print-vars binding.
+ (byte-compile-output-docform): Simplify accordingly.
+ (byte-compile-file-form-defun, byte-compile-file-form-defmacro)
+ (byte-compile-defmacro-declaration): Remove.
+ (byte-compile-file-form-defmumble): Generalize to defalias.
+ (byte-compile-output-as-comment): Return byte-positions.
+ Simplify callers accordingly.
+ (byte-compile-lambda): Use `assert'.
+ (byte-compile-defun, byte-compile-defmacro): Remove.
+ (byte-compile-file-form-defalias):
+ Use byte-compile-file-form-defmumble.
+ (byte-compile-defalias-warn): Remove.
+
+2012-05-29 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Silence `checkdoc-ispell' errors where
+ possible. Fix authors. Improve comments. Improve loading of `cl'.
+
+ (rst-mode-abbrev-table): Merge definition.
+ (rst-mode): Make sure `font-lock-defaults' is buffer local.
+ (rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor.
+
+2012-05-29 Ulf Jasper <ulf.jasper@web.de>
+
+ * calendar/icalendar.el
+ (icalendar-export-region): Export UID properly.
+
+2012-05-29 Leo Liu <sdl.web@gmail.com>
+ * calendar/icalendar.el (icalendar-import-format):
+ Add `icalendar-import-format-uid' (Bug#11525).
+ (icalendar-import-format-uid): New.
+ (icalendar--parse-summary-and-rest, icalendar--format-ical-event):
+ Export UID.
+
+2012-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in
+ different alternative patterns.
+ (pcase-codegen): Be more careful to preserve identity.
+ (pcase--u1): Don't forget to mark vars as used.
+
+ * emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant.
+ (byte-compile-close-variables): Bind byte-compile--outbuffer here...
+ (byte-compile-from-buffer): ...rather than here.
+
+ * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess
+ functions from byte-compile-function-environment.
+
+2012-05-29 Troels Nielsen <bn.troels@gmail.com>
+
+ * window.el (window-deletable-p): Avoid deleting the root window
+ of a frame with an active minibuffer.
+
+2012-05-29 Martin Rudalics <rudalics@gmx.at>
+
+ * simple.el (choose-completion): Use quit-window (Bug#11567).
+
+2012-05-29 Chong Yidong <cyd@gnu.org>
+
+ * whitespace.el (whitespace-cleanup): Fix usage of
+ whitespace-empty-at-bob-regexp (Bug#11492).
+
+2012-05-29 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+
+ * vc/vc.el (vc-revert, vc-rollback): Dont kill vc-diff buffer on
+ revert (Bug#11488).
+
+2012-05-29 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-mode-map): Bind `M-s _' to
+ `isearch-toggle-symbol'. Bind `M-s c' to
+ `isearch-toggle-case-fold'.
+ (search-map): Bind `M-s _' to `isearch-forward-symbol'.
+ (isearch-forward): Add `M-s _' to the docstring.
+ (isearch-forward-symbol, isearch-toggle-case-fold)
+ (isearch-symbol-regexp): New functions. (Bug#11381)
+
+2012-05-29 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-word): Add docstring. (Bug#11381)
+ (isearch-occur, isearch-search-and-update): If `isearch-word' is
+ a function, call it to get the regexp.
+ (isearch-message-prefix): If `isearch-word' holds a symbol, use its
+ property `isearch-message-prefix' instead of the string "word ".
+ (isearch-search-fun-default): For the case of `isearch-word',
+ return a lambda that calls re-search-forward/re-search-backward
+ with a regexp returned by `word-search-regexp' or by the function
+ in `isearch-word'.
+
+2012-05-29 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-search-fun-default): New function.
+ (isearch-search-fun): Move default part to the new function
+ `isearch-search-fun-default'.
+ (isearch-search-fun-function): Set the default value to
+ `isearch-search-fun-default'. (Bug#11381)
+
+ * comint.el (comint-history-isearch-end):
+ Use `isearch-search-fun-default'.
+ (comint-history-isearch-search): Use `isearch-search-fun-default'
+ and remove spacial case for `isearch-word'.
+ (comint-history-isearch-wrap): Remove spacial case for
+ `isearch-word'.
+
+ * hexl.el (hexl-isearch-search-function):
+ Use `isearch-search-fun-default'.
+
+ * info.el (Info-isearch-search): Use `isearch-search-fun-default'.
+ Use `word-search-regexp' for `isearch-word'.
+
+ * misearch.el (multi-isearch-search-fun):
+ Use `isearch-search-fun-default'.
+
+ * simple.el (minibuffer-history-isearch-search):
+ Use `isearch-search-fun-default' and remove spacial case for
+ `isearch-word'.
+ (minibuffer-history-isearch-wrap): Remove spacial case for
+ `isearch-word'.
+
+ * textmodes/reftex-global.el (reftex-isearch-wrap-function):
+ Remove spacial case for `isearch-word'.
+ (reftex-isearch-isearch-search): Use `isearch-search-fun-default'.
+
+2012-05-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ Decrease XEmacs incompatibilities.
+ * textmodes/flyspell.el (flyspell-check-pre-word-p):
+ Use `string-match'.
+ (flyspell-delete-region-overlays): Use alternative definition for
+ XEmacs.
+ (flyspell-delete-all-overlays): Use `flyspell-delete-region-overlays'.
+ (flyspell-word): Use `process-kill-without-query' if XEmacs.
+ (flyspell-mode-on): Use `interactive-p' if XEmacs.
+ (flyspell-incorrect-face, flyspell-duplicate-face): Do not use
+ `define-obsolete-face-alias' under XEmacs, but old method.
+
+ * textmodes/ispell.el (ispell-with-no-warnings): XEmacs alternative
+ `with-no-warnings' definition or Emacs alias.
+ (ispell-command-loop, ispell-message): Use `ispell-with-no-warnings'.
+ (ispell-word): Do not use `region-p' if XEmacs.
+
+2012-05-28 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * textmodes/ispell.el (ispell-find-aspell-dictionaries):
+ Check for `ispell-dictionary-base-alist' instead of full
+ `ispell-dictionary-alist'.
+ (ispell-init-process): Show spellchecker when starting new Ispell
+ process.
+
+2012-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/vhdl-mode.el: Sync with upstream 3.33.28.
+ http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33
+
+2012-05-27 Juanma Barranquero <lekktu@gmail.com>
+
+ * version.el (motif-version-string, gtk-version-string)
+ (ns-version-string): Declare.
+
+2012-05-27 Juri Linkov <juri@jurta.org>
+
+ * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars'
+ after the `eval-defun-1' specialcaseing
+ like in `edebug-eval-defun' (bug#10181).
+
+ * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation'
+ like in `eval-defun-1'.
+
+2012-05-27 Eli Zaretskii <eliz@gnu.org>
+
+ * mail/sendmail.el (mail-yank-region):
+ Recognize rmail-yank-current-message in addition to insert-buffer.
+ Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in
+ a *mail* buffer created through rmail-start-mail with sendmail as
+ mail-user-agent.
+
+2012-05-27 Chong Yidong <cyd@gnu.org>
+
+ * net/gnutls.el (gnutls-min-prime-bits): Improve docstring.
+ Default to 256 (Bug#11267).
+
+ * help.el (describe-mode): Doc fix.
+
+2012-05-26 Glenn Morris <rgm@gnu.org>
+
+ * w32-fns.el (w32-init-info): Remove.
+ * paths.el (Info-default-directory-list): Add w32-init-info equivalent.
+
+ * info.el (info-initialize): For self-contained NS builds, put the
+ included info/ directory at the front. (Bug#2791)
+
+ * paths.el (Info-default-directory-list): Make it a defcustom,
+ mainly so that we can use custom-initialize-delay.
+
+2012-05-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (buffer-has-markers-at): Mark obsolete.
+
+ * subr.el (lambda): Use declare.
+
+ * emacs-lisp/lisp-mode.el (lambda):
+ * emacs-lisp/edebug.el (lambda): Move properties to its definition.
+
+2012-05-26 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+
+ * thingatpt.el (forward-same-syntax): Handle no ARG case. (Bug#11560)
+
+2012-05-26 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/cc-mode.el (auto-mode-alist): Fix typo.
+
+2012-05-25 Glenn Morris <rgm@gnu.org>
+
+ * paths.el: Remove no-byte-compile.
+ * loadup.el: No need to load paths.el uncompiled.
+
+ * image.el (imagemagick-types-inhibit): Doc fix.
+
+ * version.el: Remove no-byte-compile and associated formatting.
+ * loadup.el: No need to load version.el uncompiled. AFAICS, this
+ is ancient code from when there was an "inc-vers.el".
+
+2012-05-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/gdb-mi.el: Minor style changes.
+ (gdb-enable-debug, gdb-speedbar-auto-raise, gdb-many-windows):
+ Turn into minor modes.
+ (gdb--if-arrow): Rename from gdb-if-arrow, make it hygienic.
+ (gdb-mouse-until, gdb-mouse-jump): Adjust uses accordingly.
+ (gdb-shell): Remove unneeded let-binding.
+ (gdb-get-many-fields): Eliminate O(n²) behavior.
+
+2012-05-25 Eli Zaretskii <eliz@gnu.org>
+
+ * cus-start.el <vertical-centering-font-regexp>: Avoid warning on
+ platforms that don't link in fontset.c.
+
+2012-05-25 Juri Linkov <juri@jurta.org>
+
+ Use the same diff color scheme as in modern VCSes (bug#10181).
+
+ * vc/diff-mode.el (diff-header, diff-file-header): Remove "green"
+ to avoid confusion with `diff-added' that now uses green colors.
+ (diff-removed): Use shades of red.
+ (diff-added): Use shades of green.
+ (diff-changed): Leave just the yellow color.
+ (diff-use-changed-face): New variable.
+ (diff-font-lock-keywords): Use `diff-use-changed-face' to decide
+ how to highlight context diff changes.
+ (diff-refine-change): Use shades of yellow.
+ (diff-refine-removed): New face that uses shades of red.
+ (diff-refine-added): New face that uses shades of green.
+ (diff-refine-hunk): Use `diff-refine-change', `diff-refine-added',
+ `diff-refine-removed' in the call to `smerge-refine-subst'
+ depending on the value of `diff-use-changed-face'.
+
+ * vc/smerge-mode.el (smerge-mine): Use shades of red.
+ (smerge-other): Use shades of green.
+ (smerge-base): Use shades of yellow.
+ (smerge-refined-change): Empty face.
+ (smerge-refined-removed): New face that uses shades of red.
+ (smerge-refined-added): New face that uses shades of green.
+ (smerge-refine-subst): Rename arg `props' to `props-c'. Add new
+ args `props-r' and `props-a', and use them. Doc fix.
+ (smerge-refine): Evaluate `smerge-use-changed-face' and depending
+ on its value use different faces `smerge-refined-change',
+ `smerge-refined-removed', `smerge-refined-added' in the call to
+ `smerge-refine-subst'.
+
+ * vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A):
+ Add face condition `min-colors 88' with shades of red.
+ (ediff-current-diff-B, ediff-fine-diff-B): Add face condition
+ `min-colors 88' with shades of green.
+ (ediff-current-diff-C, ediff-fine-diff-C): Add face condition
+ `min-colors 88' with shades of yellow.
+
+2012-05-24 Glenn Morris <rgm@gnu.org>
+
+ * paths.el (prune-directory-list, remote-shell-program): Move to...
+ * files.el (prune-directory-list, remote-shell-program): ...here.
+ For the latter, delay initialization, prefer ssh, just search PATH.
+
+ * paths.el (term-file-prefix): Move to faces.el (the only user).
+ * faces.el (term-file-prefix): Move here, make it a defcustom.
+
+ * paths.el (news-directory, news-path, news-inews-program):
+ Move to gnus/nnspool.el.
+
+ * paths.el (gnus-default-nntp-server): Remove (gnus.el defines it).
+
+ * paths.el (rmail-file-name, rmail-spool-directory): Move from here...
+ * mail/rmail.el (rmail-file-name, rmail-spool-directory): ... to here.
+ Make the latter a defcustom, with a delayed initialization.
+
+ * paths.el (gnus-nntp-service, gnus-local-organization): Remove.
+ These were deleted from Gnus itself late 2010.
+
+2012-05-22 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/which-func.el (which-func-ff-hook):
+ Check against user-error, not error.
+
+ * emacs-lisp/edebug.el (top): Do not load or set up loading of
+ cl-specs.el, which no longer exists.
+
+2012-05-22 Glenn Morris <rgm@gnu.org>
+
+ * info.el (info-emacs-bug): New command.
+ * menu-bar.el (menu-bar-help-menu): Add "How to Report a Bug" to Help.
+ * mail/emacsbug.el (report-emacs-bug): Replace with info-emacs-bug.
+
+2012-05-21 Glenn Morris <rgm@gnu.org>
+
+ * makefile.w32-in (update-subdirs-SH):
+ * Makefile.in (update-subdirs): Update for moved update-subdirs.
+
+2012-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * hi-lock.el (hi-lock-face-defaults): Move obsolete before definition.
+
+ * progmodes/compile.el (compilation-error-regexp-alist-alist):
+ Simplify Maven regexp, and make sure the file can't start with a space
+ (bug#11517).
+
+2012-05-21 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (setwins, setwins_almost, setwins_for_subdirs):
+ Scrap superfluous subshells.
+
+2012-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-root-dir): New var.
+ (byte-compile-warning-prefix, batch-byte-compile-file): Use it.
+
+2012-05-19 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc.el (calc-ensure-consistent-units): New variable.
+
+ * calc/calc-units.el (math-consistent-units-p)
+ (math-check-unit-consistency): New functions.
+ (calc-quick-units, calc-convert-units):
+ Use `math-check-unit-consistency' when `calc-ensure-consistent-units'
+ is non-nil.
+ (calc-extract-units): Fix typo.
+
+2012-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/vc-bzr.el (vc-bzr-state-heuristic): Save match-data around sha1.
+
+ * textmodes/flyspell.el: Commenting style, plus code simplifications.
+ (flyspell-default-deplacement-commands): Don't spell check after
+ repeated window/frame switches (e.g. triggered by mouse-movement).
+ (flyspell-delay-commands, flyspell-deplacement-commands): Use mapc.
+ (flyspell-debug-signal-word-checked): Simplify and fit in 80 cols.
+ (flyspell-casechars-cache, flyspell-ispell-casechars-cache)
+ (flyspell-not-casechars-cache, flyspell-ispell-not-casechars-cache):
+ Remove unused vars.
+ (flyspell-get-casechars, flyspell-get-not-casechars):
+ Simplify; Don't bother removing a ] just to add it back.
+ * textmodes/ispell.el (ispell-program-name): Use executable-find.
+
+2012-05-18 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
+
+ * calc/calc-lang.el (math-C-parse-bess, math-C-parse-fma):
+ New functions.
+ (math-function-table): Add support for more C functions.
+
+2012-05-18 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * textmodes/flyspell.el (flyspell-check-pre-word-p)
+ (flyspell-check-word-p, flyspell-debug-signal-word-checked):
+ Protect delay handling for otherchars against empty otherchars.
+
+2012-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to
+ their respective macro declarations.
+ * skeleton.el (define-skeleton):
+ * progmodes/compile.el (define-compilation-mode):
+ * ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op)
+ (define-ibuffer-filter):
+ * emacs-lisp/generic.el (define-generic-mode):
+ * emacs-lisp/easy-mmode.el (define-minor-mode)
+ (define-globalized-minor-mode):
+ * emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype):
+ * emacs-lisp/byte-run.el (defsubst):
+ * custom.el (deftheme): Add doc-string metadata.
+
+2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el, emacs-lisp/cl.el: Move indent info.
+
+2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase--u1): Avoid ((lambda ...) ...).
+
+ * emacs-lisp/cl.el: Add edebug specs from cl-specs.el.
+ * emacs-lisp/cl-macs.el: Idem.
+ * emacs-lisp/cl-specs.el: Remove.
+
+2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Minor renaming of internal CL functions and variables.
+ * emacs-lisp/cl-seq.el (cl--adjoin): Rename from cl-adjoin.
+ (cl--position): Rename from cl-position.
+ (cl--delete-duplicates): Rename from cl-delete-duplicates.
+ * emacs-lisp/cl.el (cl--gensym-counter): Rename from *gensym-counter*.
+ (cl--random-state): Rename from *random-state*.
+
+2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spurious
+ parens around the arg list (bug#11499).
+
+2012-05-17 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (word-search-regexp, word-search-backward)
+ (word-search-forward, word-search-backward-lax)
+ (word-search-forward-lax): Move functions from search.c
+ (bug#10145, bug#11381).
+
+2012-05-16 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
+
+ * textmodes/flyspell.el (flyspell-check-pre-word-p)
+ (flyspell-check-word-p, flyspell-debug-signal-word-checked):
+ Delay for otherchars as for normal word components.
+
+2012-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--sifn-requote): Fix last change.
+ (minibuffer-local-must-match-filename-map):
+ Move define-obsolete-variable-alias before its var.
+
+2012-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/pcase.el (pcase-let*, pcase-let): Fix edebug spec.
+
+ * minibuffer.el (completion--sifn-requote): Handle sifn's truncation
+ behavior.
+ (completion--string-equal-p): New function.
+ (completion--twq-all): Use it to get better assertion failure data.
+
+ Only handle ".." and '..' quoting in shell-mode (bug#11466).
+ * shell.el (shell--unquote&requote-argument, shell--unquote-argument)
+ (shell--requote-argument): New functions.
+ (shell-completion-vars): Use them.
+ (shell--parse-pcomplete-arguments): Rename from
+ shell-parse-pcomplete-arguments.
+ * comint.el (comint-word): Obey comint-file-name-quote-list. Simplify.
+ (comint--unquote&requote-argument): Don't handle ".." and '..' quoting.
+ Obey comint-file-name-quote-list.
+
+ * emacs-lisp/smie.el (smie-indent--bolp-1): New function.
+ (smie-indent-keyword): Use it.
+
+2012-05-14 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el (rst-re-alist): Fix loading (bug#11462).
+
+2012-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * net/rlogin.el (rlogin-mode-map): Fix last change.
+
+2012-05-14 Jason L. Wright <jason.wright@inl.gov> (tiny change)
+
+ * mail/smtpmail.el (smtpmail-send-command): Send the command and
+ the following \r\n using a single `process-send-string', since the
+ Lotus SMTP server refuses to accept any commands if they are sent
+ with two `process-send-string's (Bug#11444).
+
+2012-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el (shell-parse-pcomplete-arguments):
+ Obey pcomplete-arg-quote-list inside double-quoted args (Bug#11348).
+
+2012-05-14 Wolfgang Jenkner <wjenkner@inode.at>
+
+ * image-mode.el: Fit to width/height for rotated images (Bug#11431).
+ (image-transform-scale, image-transform-right-angle-fudge): New vars.
+ (image-transform-width, image-transform-fit-width): New functions.
+ (image-transform-properties): Use them.
+ (image-transform-check-size): New function.
+ (image-toggle-display-image): Use it (for testing).
+ (image-transform-set-rotation): Reduce angle mod 360.
+ Delete obsolete comment.
+
+2012-05-14 Wolfgang Jenkner <wjenkner@inode.at>
+
+ * image-mode.el: Fix scaling (bug#11399).
+ (image-transform-resize): Doc fix.
+ (image-transform-properties): Default scale is 1 and height should
+ be an integer.
+
+2012-05-13 Johan Bockgård <bojohan@gnu.org>
+
+ * emacs-lisp/smie.el (smie-next-sexp): Use accessor `op-forw' rather
+ than hard-coding `car', to fix misbehavior when moving forward.
+
+2012-05-13 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/tabulated-list.el (tabulated-list-format)
+ (tabulated-list-entries, tabulated-list-padding)
+ (tabulated-list-sort-key): Make permanent-local.
+
+ * ebuff-menu.el: Adapt to Buffer Menu changes (Bug#11455).
+ (electric-buffer-list): Put electric buffer menu
+ command descriptions in this docstring, instead of the docstring
+ of electric-buffer-menu-mode. Code cleanups.
+ (electric-buffer-menu-mode): Use define-derived-mode. Rename from
+ Electric-buffer-menu-mode.
+ (electric-buffer-update-highlight): Minor code cleanup.
+
+2012-05-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/dbus.el (dbus-call-method): Restore events not from D-Bus.
+ (Bug#11447)
+
+2012-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Move define-obsolete-variable-alias before the var's definition.
+ * vc/log-edit.el (vc-comment-ring, vc-comment-ring-index):
+ * tooltip.el (tooltip-hook):
+ * textmodes/reftex-toc.el (reftex-toc-map):
+ * textmodes/reftex-sel.el (reftex-select-label-map)
+ (reftex-select-bib-map):
+ * textmodes/reftex-index.el (reftex-index-map)
+ (reftex-index-phrases-map):
+ * speedbar.el (speedbar-syntax-table, speedbar-key-map):
+ * progmodes/meta-mode.el (meta-mode-map):
+ * novice.el (disabled-command-hook):
+ * loadhist.el (unload-hook-features-list):
+ * frame.el (blink-cursor):
+ * files.el (find-file-not-found-hooks, write-file-hooks)
+ (write-contents-hooks):
+ * emulation/tpu-edt.el (GOLD-map):
+ * emacs-lock.el (emacs-lock-from-exiting):
+ * emacs-lisp/generic.el (generic-font-lock-defaults):
+ * emacs-lisp/chart.el (chart-map):
+ * dos-fns.el (register-name-alist):
+ * dired-x.el (dired-omit-files-p):
+ * desktop.el (desktop-enable):
+ * cus-edit.el (custom-mode-hook):
+ * buff-menu.el (buffer-menu-mode-hook):
+ * bookmark.el (bookmark-read-annotation-text-func)
+ (bookmark-exit-hooks):
+ * allout.el (allout-mode-deactivate-hook)
+ (allout-exposure-change-hook, allout-structure-added-hook)
+ (allout-structure-deleted-hook, allout-structure-shifted-hook):
+ * dirtrack.el (dirtrack-toggle, dirtrackp, dirtrack-debug-toggle)
+ (dirtrack-debug): Move call to define-obsolete-variable-alias so it
+ comes before the corresponding variable's definition.
+
+2012-05-12 Chong Yidong <cyd@gnu.org>
+
+ * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454).
+ (Buffer-menu-mouse-select): Restore function (Bug#11459).
+ (Buffer-menu-mode-map): Bind it.
+ (Buffer-menu--pretty-name): Add a mouse-face property.
+
+2012-05-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/prolog.el: Use SMIE. Cleanup regexp setup.
+ (prolog-upper-case-string, prolog-lower-case-string)
+ (prolog-atom-char-regexp, prolog-atom-regexp): Initialize in defconst.
+ (prolog-use-smie, prolog-smie-grammar): New vars.
+ (prolog-smie-forward-token, prolog-smie-backward-token)
+ (prolog-smie-rules): New funs.
+ (prolog-comment-indent): Remove.
+ (prolog-mode-variables): Use default comment indentation instead.
+ Setup SMIE.
+ (prolog-build-case-strings, prolog-set-atom-regexps): Remove.
+ (prolog-mode): Don't call them any more.
+ (prolog-electric-colon, prolog-electric-dash)
+ (prolog-edit-menu-insert-move): Use indent-according-to-mode.
+
+ * dabbrev.el (dabbrev-expand): Make "no expansion found" a user-error.
+
+ * minibuffer.el (completion--twq-all): Again, allow case differences.
+
+ * term.el: Move keymap initialization code to be more idiomatic.
+ (term-signals-menu, term-mode-map, term-raw-map, term-raw-escape-map)
+ (term-terminal-menu): Move initialization into declaration.
+ (term-escape-char): Let the user set it in her .emacs.
+
+ * progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode.
+ Provide SMIE-based indentation (not enabled by default yet).
+ (sh-mode-map): Don't bind electric keys.
+ Use electric-pair-mode instead of skeleton-pair.
+ (sh-assignment-regexp): Fit within 80 columns.
+ (sh-indent-supported): Specify actual shell name instead of boolean.
+ (sh--maybe-here-document): New fun, from sh-maybe-here-document.
+ (sh-maybe-here-document): Use it. Make obsolete.
+ (sh-electric-here-document-mode) New minor mode.
+ (sh-mode): Use it. Don't set sh-indent-supported-here here.
+ (sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re)
+ (sh-smie--sh-operators-back-re, sh-indent-after-continuation)
+ (sh-smie-rc-grammar, sh-use-smie): New vars.
+ (sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p)
+ (sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p)
+ (sh-smie-sh-backward-token, sh-smie--continuation-start-indent)
+ (sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p)
+ (sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token)
+ (sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions.
+ (sh-set-shell): Use smie-setup if requested.
+
+ * term.el (term-set-escape-char): Properly set term-escape-char.
+ See http://stackoverflow.com/questions/10524656.
+
+2012-05-10 Chong Yidong <cyd@gnu.org>
+
+ * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131).
+ Use url-generic-parse-url, and handle host names and Windows
+ filenames properly.
+ (ffap-url-unwrap-remote): Use url-generic-parse-url.
+ (ffap-url-unwrap-remote): Accept list values, specifying a list of
+ URL schemes to work on.
+ (ffap--toggle-read-only): New function.
+ (ffap-read-only, ffap-read-only-other-window)
+ (ffap-read-only-other-frame): Use it.
+ (ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not
+ necessary for ffap-url-unwrap-remote.
+
+2012-05-10 Dave Abrahams <dave@boostpro.com>
+
+ * cus-start.el (create-lockfiles): Add it.
+
+2012-05-09 Chong Yidong <cyd@gnu.org>
+
+ * net/browse-url.el (browse-url-url-encode-chars): Use upper-case.
+ (browse-url-encode-url): Encode spaces and quotes (Bug#6300).
+
+2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el (shell-completion-vars): Fix last change (bug#11348).
+
+2012-05-09 Chong Yidong <cyd@gnu.org>
+
+ * ansi-color.el (ansi-color-process-output): Check for validity of
+ comint-last-output-start before using it. This avoids a bad
+ interaction with gdb-mi's input/output buffer.
+
+2012-05-09 Glenn Morris <rgm@gnu.org>
+
+ * files.el (dir-locals-read-from-file):
+ Mention dir-locals in any error message.
+
+2012-05-09 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/package.el (package-built-in-p): Handle the `emacs'
+ package (Bug#11410).
+
+ * emacs-lisp/package.el (package-buffer-info): Avoid putting local
+ variables into description.
+
+2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like
+ shell-delimiter-argument-list (bug#11348).
+ (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list.
+
+2012-05-09 Juanma Barranquero <lekktu@gmail.com>
+
+ * textmodes/rst.el: Silence byte-compiler warnings.
+ (rst-re-alist, rst-reset-section-caches): Move around.
+ (rst-re): Use `characterp', not `char-valid-p'.
+ (font-lock-beg, font-lock-end): Declare.
+
+ * progmodes/idlw-shell.el (specs): Remove reference to deleted
+ variable `idlwave-shell-activate-alt-keybindings' and simplify.
+
+ * eshell/esh-cmd.el (eshell-debug-command): Fix typo in previous change.
+
+2012-05-08 Glenn Morris <rgm@gnu.org>
+
+ * files.el (auto-mode-alist): Treat ".make" like ".mk".
+
+2012-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/log-edit.el: Add GNU coding standards highlighting.
+ (log-edit-font-lock-gnu-style)
+ (log-edit-font-lock-gnu-keywords): New vars.
+ (log-edit-font-lock-keywords): New fun.
+ (log-edit-mode): Don't fold case in font-lock.
+ (log-edit-font-lock-keywords): Do not assume case-folding.
+
+ * imenu.el: Misc cleanup. Make docstrings out of comments.
+ Use lexical-binding.
+ (imenu--index-alist, imenu--last-menubar-index-alist)
+ (imenu-menubar-modified-tick): Use defvar-local.
+ (imenu--split-menu): Remove unused var.
+ (imenu--cleanup-seen): Declare as global.
+ (imenu--cleanup): Use dolist.
+
+ * subr.el (defvar-local): Add debug spec and doc-string position.
+
+2012-05-08 Glenn Morris <rgm@gnu.org>
+
+ * language/burmese.el, language/cham.el, language/czech.el:
+ * language/english.el, language/georgian.el, language/greek.el:
+ * language/japanese.el, language/khmer.el, language/korean.el:
+ * language/lao.el, language/misc-lang.el, language/romanian.el:
+ * language/sinhala.el, language/slovak.el, language/tai-viet.el:
+ * language/thai.el, language/utf-8-lang.el:
+ Remove no-byte-compile setting.
+
+ * play/zone.el (zone-pgm-stress): Don't pollute kill-ring. (Bug#11388)
+
+2012-05-08 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+
+ * progmodes/make-mode.el (makefile-browse):
+ Remove unnecessary interactive. (Bug#11324)
+
+2012-05-07 Glenn Morris <rgm@gnu.org>
+
+ * forms-d2.el, forms-pass.el: Move to ../etc/forms directory.
+
+ * international/mule.el (find-auto-coding): Make "unibyte: t" obsolete.
+
+2012-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * loadup.el: Preload newcomment.el.
+ * newcomment.el: Move autoload-only code to toplevel.
+
+ * buff-menu.el (list-buffers--refresh): Mark `size' as right-align.
+ * emacs-lisp/tabulated-list.el (tabulated-list-init-header):
+ Handle new :right-align column property.
+ (tabulated-list-print-col): Idem, plus use `display' text-property to
+ try and preserve alignment for variable pitch fonts.
+
+2012-05-07 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/tabulated-list.el: Add no-header-line alternative.
+ (tabulated-list-use-header-line): New var.
+ (tabulated-list-init-header): Use it.
+ (tabulated-list-print-fake-header): New function.
+ (tabulated-list-print): Use it.
+ (tabulated-list-sort-button-map): Add non-header-line commands.
+ (tabulated-list-init-header): Add column name property to basic
+ labels as well.
+ (tabulated-list-col-sort): Handle non-header-line button case.
+ (tabulated-list--sort-by-column-name): Fix a corner case.
+
+ * buff-menu.el (list-buffers--refresh):
+ Handle Buffer-menu-use-header-line.
+
+2012-05-06 Chong Yidong <cyd@gnu.org>
+
+ * buff-menu.el: Convert to Tabulated List mode.
+ (Buffer-menu-buffer+size-width): Make obsolete.
+ (Buffer-menu-name-width, Buffer-menu-size-width): New variables.
+ (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map.
+ (Buffer-menu-mode): Derive from tabulated-list-mode. Move command
+ documentation into docstring of buffer-menu.
+ (Buffer-menu-toggle-files-only): Add an informative message.
+ (Buffer-menu-sort): Convert to alias for tabulated-list-sort.
+ (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark)
+ (Buffer-menu-unmark, Buffer-menu-backup-unmark)
+ (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified)
+ (Buffer-menu-execute, Buffer-menu-select)
+ (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only)
+ (Buffer-menu-bury): Use Tabulated List machinery.
+ (Buffer-menu-mouse-select, Buffer-menu-sort-by-column)
+ (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button):
+ Delete.
+ (list-buffers--refresh): New function.
+ (list-buffers-noselect): Use it.
+ (tabulated-list-entry-size->, Buffer-menu--pretty-name)
+ (Buffer-menu--pretty-file-name): New helper functions.
+
+ * loadup.el: Preload tabulated-list.
+
+ * emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from
+ tabulated-list-sort-column.
+ (tabulated-list-init-header): Add the initial aligning space even
+ if tabulated-list-padding is zero.
+
+2012-05-06 Christopher Schmidt <christopher@ch.ristopher.com>
+
+ * emacs-lisp/cl-macs.el (cl-expr-contains): Handle cons cells
+ whose cdr is not a cons cell correctly (bug#11038).
+
+2012-05-06 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/tabulated-list.el (tabulated-list-format):
+ Accept additional plist in column descriptors.
+ (tabulated-list-init-header): Obey it.
+ (tabulated-list-get-entry): New function.
+ (tabulated-list-put-tag): Use it. Use string-width instead of
+ length.
+ (tabulated-list--column-number): New function.
+ (tabulated-list-print): Use it.
+ (tabulated-list-print-col): New function.
+ Set `tabulated-list-column-name' property on each column's text.
+ (tabulated-list-print-entry): Use it.
+ (tabulated-list-delete-entry, tabulated-list-set-col):
+ New functions.
+ (tabulated-list-sort-column): New command (Bug#11337).
+
+ * buff-menu.el (list-buffers): Move C-x C-b binding from
+ buff-menu.el to bindings.el.
+
+ * ebuff-menu.el (Electric-buffer-menu-undefined): Use the
+ :advertised-binding feature.
+
+2012-05-06 Troels Nielsen <bn.troels@gmail.com> (tiny change)
+
+ * progmodes/compile.el (compilation-internal-error-properties):
+ Calculate start position correctly when end-col is set but
+ end-line is not (Bug#11382).
+
+2012-05-06 Wolfgang Jenkner <wjenkner@inode.at>
+
+ * man.el (Man-unindent): Use text-property-default-nonsticky to
+ prevent untabify from inheriting face properties (Bug#11408).
+
+2012-05-05 Stefan Merten <smerten@oekonux.de>
+
+ * textmodes/rst.el: Major merge with upstream development up to
+ Docutils SVN r7399 / rst.el V1.2.1.
+
+ Clarify maintainership and authors.
+
+ (rst-extract-version, rst-cvs-header, rst-cvs-rev)
+ (rst-cvs-timestamp, rst-svn-rev, rst-svn-timestamp)
+ (rst-official-version, rst-official-cvs-rev, rst-version)
+ (rst-package-emacs-version-alist): New functions and variables
+ for version information.
+
+ (rst-bullets, rst-uri-schemes, rst-adornment-chars)
+ (rst-max-inline-length, rst-re-alist-def, rst-re-alist)
+ (rst-mode-syntax-table, rst-mode): New and corrected functions
+ and variables representing reStructuredText features.
+
+ (rst-re): New function for reStructuredText regexes. Use in
+ many places.
+
+ (rst-deprecated-keys, rst-call-deprecated, rst-define-key)
+ (rst-mode-map): Rebind keys.
+
+ (rst-mode-lazy, rst-font-lock-keywords)
+ (rst-font-lock-extend-region)
+ (rst-font-lock-extend-region-internal)
+ (rst-font-lock-extend-region-extend)
+ (rst-font-lock-find-unindented-line-limit)
+ (rst-font-lock-find-unindented-line-match)
+ (rst-adornment-level, rst-font-lock-adornment-level)
+ (rst-font-lock-adornment-match)
+ (rst-font-lock-handle-adornment-pre-match-form)
+ (rst-font-lock-handle-adornment-matcher): Major revision of
+ font-locking. Integrate with other code. Use `jit-lock-mode'.
+
+ (rst-preferred-adornments, rst-adjust-hook)
+ (rst-new-adornment-down, rst-preferred-bullets)
+ (rst-preferred-bullets, rst-indent, rst-indent-width)
+ (rst-indent-field, rst-indent-literal-normal)
+ (rst-indent-literal-minimized, rst-indent-comment): Change,
+ extend and improve customization.
+
+ (rst-line-homogeneous-p, rst-line-homogeneous-nodent-p)
+ (rst-normalize-cursor-position, rst-get-decoration)
+ (rst-straighten-deco-spacing, rst-re-bullets, rst-re-items)
+ (rst-rstrip, rst-toc-insert-find-delete-contents)
+ (rst-shift-fill-region, rst-compute-bullet-tabs)
+ (rst-debug-print-tabs, rst-debug-mark-found)
+ (rst-shift-region-guts, rst-shift-region-right)
+ (rst-shift-region-left, rst-use-char-classes)
+ (rst-font-lock-keywords-function)
+ (rst-font-lock-indentation-point)
+ (rst-font-lock-find-unindented-line-begin)
+ (rst-font-lock-find-unindented-line-end)
+ (rst-font-lock-find-unindented-line)
+ (rst-font-lock-adornment-point, rst-font-lock-level)
+ (rst-adornment-level-alist): Remove functions and variables.
+
+ (rst-compare-adornments, rst-get-adornment-match)
+ (rst-suggest-new-adornment, rst-get-adornments-around)
+ (rst-adornment-complete-p, rst-get-next-adornment)
+ (rst-adjust-adornment, rst-display-adornments-hierarchy)
+ (rst-straighten-adornments): Standardize function names to
+ use "adornment" instead of "decoration". Correct callers.
+ Similar standardizing in many places.
+
+ (rst-update-section, rst-adjust, rst-promote-region)
+ (rst-enumerate-region, rst-bullet-list-region)
+ (rst-repeat-last-character): Correct use of `interactive'.
+
+ (rst-classify-adornment, rst-find-all-adornments)
+ (rst-get-hierarchy, rst-adjust-adornment, rst-toc-update)
+ (rst-find-leftmost-column, rst-repeat-last-character):
+ Refactor functions.
+
+ (rst-find-title-line, rst-reset-section-caches)
+ (rst-get-adornments-around, rst-adjust-adornment-work)
+ (rst-arabic-to-roman, rst-roman-to-arabic)
+ (rst-insert-list-pos, rst-insert-list-new-item)
+ (rst-insert-list-continue, rst-insert-list, rst-forward-line):
+ New functions.
+
+ (rst-all-sections, rst-section-hierarchy)
+ (rst-arabic-to-roman, rst-initial-enums, rst-initial-items):
+ New variables.
+
+ (rst-toc-return-wincfg, rst-toc-quit-window): Use window
+ configuration instead of only buffer. Change where necessary.
+
+ (rst-line-tabs, rst-compute-tabs, rst-indent-line)
+ (rst-shift-region, rst-adaptive-fill): New functions for
+ indentation and filling.
+
+ (rst-comment-line-break, rst-comment-indent)
+ (rst-comment-insert-comment, rst-comment-region)
+ (rst-uncomment-region): New functions for handling comments.
+
+ (rst-compile): Quote shell arguments.
+
+ (rst-compile-pdf-preview, rst-compile-slides-preview):
+ Delete temporary files after use.
+
+2012-05-05 Glenn Morris <rgm@gnu.org>
+
+ * calendar/cal-html.el: Optionally include holidays in the output.
+ Suggested by Ed Reingold <reingold@emr.cs.iit.edu>.
+ (cal-html-holidays): New option.
+ (cal-html-css-default): Add holiday entry.
+ (holiday-in-range): Autoload it.
+ (cal-html-htmlify-entry): Add optional class argument.
+ (cal-html-htmlify-list): Add optional holidays argument.
+ (cal-html-insert-agenda-days): Include holidays in the output.
+ (cal-html-one-month): Maybe include holidays.
+
+ * calendar/holidays.el (holiday-in-range):
+ Move here from cal-tex-list-holidays.
+ * calendar/cal-tex.el (cal-tex-list-holidays):
+ Make it an obsolete alias for holiday-in-range. Update all callers.
+
+2012-05-05 Chong Yidong <cyd@gnu.org>
+
+ * select.el (xselect--encode-string): Always use utf-8 for TEXT on
+ Nextstep.
+
+2012-05-05 Ransom Williams <auvergnerw@gmail.com> (tiny change)
+
+ * files.el (file-auto-mode-skip): New var.
+ (set-auto-mode-1): Use it.
+
+2012-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * repeat.el: Use lexical-binding.
+ (repeat-last-self-insert, repeat-num-input-keys-at-self-insert)
+ (repeat-undo-count): Remove.
+ (repeat):
+ * progmodes/octave-mod.el (octave-abbrev-start):
+ * progmodes/f90.el (f90-abbrev-start):
+ * face-remap.el (text-scale-adjust):
+ * kmacro.el (kmacro-call-macro): Use set-temporary-overlay-map.
+
+ * emacs-lisp/pcase.el (pcase--let*): New function.
+ (pcase--expand, pcase-codegen, pcase--q1): Use it to reduce nesting
+ a bit more.
+ (pcase--split-pred): Be more clever about ruling out overlap between
+ a predicate and some constant pattern.
+ (pcase--q1): Use `null' instead of (eq foo nil).
+
+ * subr.el (setq-local, defvar-local): New macros.
+ (kbd): Redefine as an alias.
+ (with-selected-window): Leave unrelated frames alone.
+ (set-temporary-overlay-map): New function.
+
+2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (user-error): New function.
+ * window.el (switch-to-buffer):
+ * vc/smerge-mode.el (smerge-resolve-function, smerge-resolve)
+ (smerge-match-conflict):
+ * simple.el (previous-matching-history-element)
+ (next-matching-history-element, goto-history-element, undo-more)
+ (undo-start):
+ * progmodes/etags.el (visit-tags-table-buffer, find-tag-tag)
+ (find-tag-noselect, find-tag-in-order, etags-goto-tag-location)
+ (next-file, tags-loop-scan, list-tags, complete-tag):
+ * progmodes/compile.el (compilation-loop):
+ * mouse.el (mouse-minibuffer-check):
+ * man.el (Man-bgproc-sentinel, Man-goto-page):
+ * info.el (Info-find-node-2, Info-extract-pointer, Info-history-back)
+ (Info-history-forward, Info-follow-reference, Info-menu)
+ (Info-extract-menu-item, Info-extract-menu-counting)
+ (Info-forward-node, Info-backward-node, Info-next-menu-item)
+ (Info-last-menu-item, Info-next-preorder, Info-last-preorder)
+ (Info-next-reference, Info-prev-reference, Info-index)
+ (Info-index-next, Info-follow-nearest-node)
+ (Info-copy-current-node-name):
+ * imenu.el (imenu--make-index-alist)
+ (imenu-default-create-index-function, imenu-add-to-menubar):
+ * files.el (basic-save-buffer, recover-file):
+ * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
+ * emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments)
+ (checkdoc-message-text, checkdoc-defun):
+ * dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point):
+ * cus-edit.el (customize-changed-options, customize-rogue)
+ (customize-saved, custom-variable-set, custom-variable-mark-to-save)
+ (custom-variable-mark-to-reset-standard)
+ (custom-variable-reset-backup, custom-face-mark-to-reset-standard)
+ (custom-file):
+ * completion.el (check-completion-length):
+ * comint.el (comint-search-arg)
+ (comint-previous-matching-input-string-position)
+ (comint-previous-matching-input)
+ (comint-replace-by-expanded-history-before-point, comint-send-input)
+ (comint-copy-old-input, comint-backward-matching-input)
+ (comint-goto-process-mark, comint-set-process-mark):
+ * calendar/calendar.el (calendar-cursor-to-date): Use it.
+ * bindings.el (debug-ignored-errors): Remove regexps, add `user-error'.
+
+2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * dabbrev.el (dabbrev--ignore-case-p): New function.
+ (dabbrev-completion, dabbrev-expand, dabbrev--substitute-expansion):
+ Use it.
+
+ * files.el (automount-dir-prefix): Mark as obsolete.
+
+2012-05-04 Glenn Morris <rgm@gnu.org>
+
+ * patcomp.el, play/bruce.el: Move to obsolete/.
+
+2012-05-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor Y10k bugs.
+ * arc-mode.el (archive-unixdate):
+ * autoinsert.el (auto-insert-alist):
+ * calc/calc-forms.el (math-this-year):
+ * emacs-lisp/copyright.el (copyright-current-year)
+ (copyright-update-year, copyright):
+ * tar-mode.el (tar-clip-time-string):
+ * time.el (display-time-update):
+ Don't assume years have 4 digits.
+
+2012-05-04 Chong Yidong <cyd@gnu.org>
+
+ * dos-w32.el (file-name-buffer-file-type-alist)
+ (direct-print-region-use-command-dot-com):
+ * ffap.el (ffap-menu-regexp):
+ * find-file.el (ff-special-constructs):
+ * follow.el (follow-debug):
+ * forms.el (forms--debug):
+ * iswitchb.el (iswitchb-all-frames):
+ * ido.el (ido-all-frames):
+ * emacs-lisp/timer.el (timer-max-repeats):
+ * mail/feedmail.el (feedmail-mail-send-hook)
+ (feedmail-mail-send-hook-queued):
+ * mail/footnote.el (footnote-signature-separator):
+ * mail/mailabbrev.el (mail-alias-separator-string)
+ (mail-abbrev-mode-regexp):
+ * mail/rmail.el (rmail-speedbar-match-folder-regexp):
+ * progmodes/idlwave.el (idlwave-libinfo-file)
+ (idlwave-default-completion-case-is-down)
+ (idlwave-library-routines): Convert defvars to defcustoms.
+
+ * mail/rmail.el (rmail-decode-mime-charset):
+ * progmodes/idlw-shell.el (idlwave-shell-print-expression-function)
+ (idlwave-shell-fix-inserted-breaks)
+ (idlwave-shell-activate-alt-keybindings)
+ (idlwave-shell-use-breakpoint-glyph):
+ * facemenu.el (facemenu-unlisted-faces): Delete obsolete vars.
+
+2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--twq-all): Beware completion-ignore-case.
+
+2012-05-03 Wilson Snyder <wsnyder@wsnyder.org>
+
+ * progmodes/verilog-mode.el (font-lock-keywords):
+ Fix mis-highligting auto. Reported by Craig Barner.
+ (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove
+ defines from global name space. Reported by Dan Dever.
+ (verilog-auto-reset, verilog-auto-reset-widths)
+ (verilog-auto-tieoff): Support using unbased numbers for
+ AUTORESET and AUTOTIEOFF.
+ (verilog-submit-bug-report): Update variable list.
+ (verilog-read-auto-params): Fix AUTOINPUT regexps containing
+ parenthesis from not matching. Reported by Michael Rytting.
+ (verilog-auto-template-lint): Fix hash error when linting modules
+ with no used templates.
+ (verilog-warn, verilog-warn-error)
+ (verilog-warn-fatal): When non-interactive report multiple
+ warnings before exiting. Suggested by Brad Dobbie.
+ (verilog-auto-template-lint, verilog-auto-template-warn-unused)
+ (verilog-read-auto-template): Add `verilog-auto-template-warn-unused'
+ to report unused template errors. Reported by Brad Dobbie.
+ (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type
+ nets, bug438. Reported by Vns Blore.
+ (verilog-auto-inout-module, verilog-auto-reg)
+ (verilog-read-decls, verilog-read-sub-decls-sig)
+ (verilog-signals-edit-wire-reg, verilog-signals-with):
+ Fix passing of Verilog data types in ANSI input/output ports
+ such as "output logic" into the AUTOs. Special case "wire" and
+ "reg" for backwards compatibility presuming Verilog 2001.
+ (verilog-auto-ascii-enum): Add "auto enum" as alias.
+ (verilog-preprocess): Fix replication of preprocess output.
+ Reported by Brad Dobbie.
+ (verilog-auto-inst-interfaced-ports):
+ Create verilog-auto-inst-interfaced-ports, bug429.
+ Reported by Julian Gorfajn.
+ (verilog-after-save-font-hook)
+ (verilog-before-save-font-hook): New variable.
+ (verilog-modi-cache-results, verilog-save-font-mod-hooked)
+ (verilog-save-font-mods): Wrap disabling fontification, reported
+ by David Rogoff.
+ (verilog-do-indent, verilog-pretty-declarations-auto)
+ (verilog-sk-def-reg): Fix obeying `verilog-auto-lineup', bug305.
+ Reported by Pierre-David Pfister.
+ (verilog-set-auto-endcomments): Fix endtask auto comments outside
+ of class declarations, bug292. Reported by Kevin Heilman.
+ (verilog-read-decls): Fix 'parameter type' not appearing in
+ AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw.
+ (verilog-auto-logic): Fix when AUTOLOGIC present to properly do
+ AUTOINPUTs, bug411. Reported by Jonathan Greenlaw.
+ (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP.
+ Reported by David Kravitz.
+
+2012-05-03 Michael McNamara <mac@mail.brushroad.com>
+
+ * progmodes/verilog-mode.el (verilog-pretty-expr): Don't line up
+ assignment with tests in ifs and for loops.
+ (verilog-extended-complete-re, verilog-complete-reg): Change so
+ that DPI inport functions don't look like fuction declarations.
+ (verilog-pretty-expr): Don't line up assignment
+ operations to the test and increment in if and for loops
+ (verilog-extended-complete-re, verilog-complete-reg): Change so
+ that DPI inport functions don't look like fuction declarations.
+
+2012-05-03 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-show-mime): Catch an error caused by text
+ decoding, and show a warning message without signaling an error
+ (Bug#11282).
+
+2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el
+ (byte-compile-file-form-custom-declare-variable): Compile all elements,
+ since cconv.el might have introduced :fun-body, internal-make-closure,
+ and friends for bytecomp to handle (bug#11391).
+ * custom.el (defcustom): Avoid ((λ ..) ..).
+
+2012-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (read-passwd): Better clean after ourselves (bug#11392).
+
+2012-05-02 Juanma Barranquero <lekktu@gmail.com>
+
+ * notifications.el (dbus-debug):
+ * term/linux.el (gpm-mouse-enable):
+ * term/screen.el (xterm-register-default-colors): Declare.
+
+2012-05-02 Chong Yidong <cyd@gnu.org>
+
+ * cus-start.el (gc-cons-percentage, exec-suffixes)
+ (dos-display-scancodes, dos-hyper-key, dos-super-key)
+ (dos-keypad-mode, debug-on-signal, vertical-centering-font-regexp)
+ (make-cursor-line-fully-visible, void-text-area-pointer)
+ (font-list-limit): Add customization data.
+
+ * allout.el (allout-exposure-change-functions)
+ (allout-structure-added-functions)
+ (allout-structure-deleted-functions)
+ (allout-structure-shifted-functions): Rename abnormal hooks from
+ *-hook, and convert to defcustoms.
+ (allout-after-copy-or-kill-hook, allout-post-undo-hook):
+ Convert to defcustoms.
+ (allout-mode-hook, allout-mode-deactivate-hook): Doc fix.
+
+ * allout-widgets.el: Hook callers changed.
+
+2012-05-02 Eli Zaretskii <eliz@gnu.org>
+
+ * mail/rmail.el (rmail-yank-current-message): Use the encoding of
+ the yanked message in preference to the default value of
+ buffer-file-coding-system.
+
+2012-05-02 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (display-buffer--action-function-custom-type):
+ Fix entry.
+
+2012-05-02 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-defs.el (c-version): Update to 5.32.3.
+
+2012-05-01 Glenn Morris <rgm@gnu.org>
+
+ * cus-start.el (suggest-key-bindings): Remove, now it is in Lisp.
+
+ * eshell/esh-cmd.el (eshell-debug-command): Doc fix. Add :set.
+
+ * cus-edit.el (custom-variable-documentation): Simplify with format.
+
+2012-05-01 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+ Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (suggest-key-bindings, execute-extended-command):
+ Move from keyboard.c.
+
+2012-05-01 Chong Yidong <cyd@gnu.org>
+
+ * follow.el: Eliminate advice.
+ (set-process-filter, process-filter, sit-for): Advice deleted.
+ (follow-mode-off-hook): Obsolete hook removed.
+ (follow-avoid-tail-recenter-p, follow-process-filter-alist):
+ Vars deleted.
+ (follow-auto): Use a :set function.
+ (follow-mode): Rewritten. Don't advise process filters.
+ (follow-switch-to-current-buffer-all, follow-scroll-up)
+ (follow-scroll-down): Assume follow-mode is bound.
+ (follow-comint-scroll-to-bottom)
+ (follow-align-compilation-windows): New functions.
+ (follow--window-sorter): New function.
+ (follow-all-followers): Use it to explicitly sort windows by their
+ positions; don't make assumptions about next-window order.
+ (follow-windows-start-end, follow-delete-other-windows-and-split)
+ (follow-calc-win-start): Doc fix.
+ (follow-windows-aligned-p, follow-select-if-visible): Don't call
+ vertical-motion unnecessarily.
+ (follow-adjust-window): New function.
+ (follow-post-command-hook): Use it.
+ (follow-call-set-process-filter, follow-call-process-filter)
+ (follow-intercept-process-output, follow-tidy-process-filter-alist)
+ (follow-stop-intercept-process-output, follow-generic-filter):
+ Functions deleted.
+ (follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag)
+ (follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down):
+ New functions, replacing advice on scroll-bar-* commands.
+ (follow-mwheel-scroll): New function (Bug#4112).
+
+ * comint.el (comint-adjust-point): New function.
+ (comint-postoutput-scroll-to-bottom): Use it.
+ Call follow-comint-scroll-to-bottom for Follow mode buffers.
+
+2012-05-01 Glenn Morris <rgm@gnu.org>
+
+ * term/AT386.el, term/apollo.el, term/bobcat.el, term/cygwin.el:
+ * term/iris-ansi.el, term/linux.el, term/lk201.el, term/news.el:
+ * term/screen.el, term/vt102.el, term/vt125.el, term/vt200.el:
+ * term/vt201.el, term/vt220.el, term/vt240.el, term/vt300.el:
+ * term/vt320.el, term/vt400.el, term/vt420.el, term/wyse50.el:
+ Remove no-byte-compile setting.
+
+2012-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-table-with-quoting): Fix compatibility
+ all-completions code to not return a number in the last cdr.
+
+2012-04-30 Leo Liu <sdl.web@gmail.com>
+
+ * ibuf-ext.el (ibuffer-diff-buffer-with-file-1): Avoid buffer
+ read-only error.
+
+2012-04-29 Chong Yidong <cyd@gnu.org>
+
+ * follow.el (follow-calc-win-end): Rewrite to handle partial
+ screen lines correctly (Bug#8390).
+ (follow-avoid-tail-recenter): Minor cleanup.
+
+2012-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Avoid the obsolete `assoc' package.
+ * speedbar.el (speedbar-refresh): Avoid adelete.
+ (speedbar-file-lists): Simplify and avoid aput.
+ * man.el (Man--sections, Man--refpages): New vars, replacing
+ Man-sections-alist and Man-refpages-alist.
+ (Man-build-section-alist, Man-build-references-alist):
+ Use them; avoid aput.
+ (Man--last-section, Man--last-refpage): New vars.
+ (Man-follow-manual-reference): Use them.
+ Use the `default' arg of completing-read.
+ (Man-goto-section): Idem. Move prompt to the `interactive' spec.
+
+2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * vc/diff.el (diff-sentinel): Go to bob (Bug#10259).
+
+ * startup.el (x-apply-session-resources): New function.
+
+ * term/ns-win.el (ns-initialize-window-system):
+ * term/w32-win.el (w32-initialize-window-system):
+ * term/x-win.el (x-initialize-window-system): Use it to properly
+ set menu-bar-mode and other vars from X resources, even if the
+ initial frame is not a window-system frame (Bug#2299).
+
+ * subr.el (read-key): Avoid running filter function when setting
+ up temporary tool bar entries (Bug#9922).
+
+2012-04-27 Andreas Schwab <schwab@linux-m68k.org>
-2012-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
+ * vc/vc-git.el (vc-git-state): Fix regexp matching diff output.
+ (Bug#11344)
+
+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-27 Chong Yidong <cyd@gnu.org>
+
+ * simple.el (delete-active-region): Move to killing custom group.
+
+2012-04-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * progmodes/which-func.el (which-func-current): Quote %
+ characters for mode-line processing.
+
+2012-04-27 Chong Yidong <cyd@gnu.org>
+
+ * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to
+ reaching eob (Bug#11286).
+
+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)
+
+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).
+
+ * net/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.
+
+ * net/soap-inspect.el (soap-sample-value-for-simple-type)
+ (soap-inspect-simple-type): New function.
+
+ * net/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.
+
+ * net/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.
+
+ * textmodes/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.
+
+ * textmodes/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>
+
+ * textmodes/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
+ for sysfs backend too (Bug#11269).
+ (battery-linux-sysfs): Fix conditional for the charge.
+
+2012-04-20 Chong Yidong <cyd@gnu.org>
+
+ * 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,
+ responsible for allocating a new pty and hooking it to gdb when
+ the old pty gets an EIO due to process exit.
+ (gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers.
+ (gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area.
+ (gdb-inferior-io--maybe-delete-pty): Move into gdb-reset.
+
+2012-04-20 Eli Zaretskii <eliz@gnu.org>
+
+ * window.el (window-min-size, window-sizable, window-min-delta)
+ (window-max-delta, window--resizable, window-resizable)
+ (window-total-size, window-full-height-p, window-full-width-p)
+ (window-in-direction, window--resize-mini-window, window-resize)
+ (window--resize-child-windows-normal)
+ (window--resize-child-windows, window--resize-siblings)
+ (window--resize-this-window, adjust-window-trailing-edge)
+ (enlarge-window, shrink-window): Doc fixes.
+
+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.
+ (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.
+ (gdb-done-or-error): Use it.
+ (gdb-stopped-functions): Rename from gdb-stopped-hooks.
+ (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for
+ sentinel not being called.
+
+ * comint.el (make-comint-in-buffer, comint-exec): Doc fix.
+
+ * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268).
+
+2012-04-20 Glenn Morris <rgm@gnu.org>
+
+ * net/network-stream.el (open-network-stream): Doc fix.
+
+2012-04-20 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos.
+
+2012-04-20 Alan Mackenzie <acm@muc.de>
+
+ Ensure searching for keywords is case sensitive.
+
+ * progmodes/cc-cmds.el (c-electric-brace, c-electric-lt-gt)
+ (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.
+
+ * progmodes/cc-mode.el (c-font-lock-fontify-region):
+ Bind case-fold-search to nil.
+
+2012-04-20 Chong Yidong <cyd@gnu.org>
+
+ * mail/sendmail.el (mail-bury): Call return action with the right
+ Rmail buffer (Bug#11242).
+
+ * 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.
- * userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package.
- * progmodes/bug-reference.el, misearch.el: Provide themselves
- (bug#11915).
+ * 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.
- * progmodes/cperl-mode.el (cperl-unwind-to-safe): Don't inf-loop at end
- of narrowed buffer (bug#11966).
+ * emacs-lisp/eieio-opt.el (describe-class, describe-generic):
+ Autoload trivia.
-2012-07-14 Jan Djärv <jan.h.d@swipnet.se>
+ * emacs-lisp/cl-extra.el (*random-state*):
+ Remove unnecessary declaration.
- * progmodes/cc-cmds.el (c-defun-name): Recognize Objective-C methods
- also (Bug#7879).
+ * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification.
-2012-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
+ * play/cookie1.el (cookie-snarf):
+ Give an explicit error if input file cannot be read.
- * progmodes/sh-script.el (sh-syntax-propertize-function): Fix last
- change (bug#11826).
+ * play/yow.el (yow-file): Use expand-file-name rather than concat.
-2012-07-02 Glenn Morris <rgm@gnu.org>
+ * progmodes/perl-mode.el (c-macro-expand):
+ Remove unnecessary autoload (it is in loaddefs.el).
- * simple.el (kill-whole-line): Doc tweak.
+ * 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.
-2012-07-01 Eli Zaretskii <eliz@gnu.org>
+ * 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.
- * files.el (file-relative-name): Compare file names
- case-insensitively if on MS-Windows or MS-DOS, or if
- read-file-name-completion-ignore-case is non-nil. Don't use
- case-fold-search for this purpose. (Bug#11827)
+ * frame.el (automatic-hscrolling): Make this alias obsolete.
-2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
+2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
- * calendar/cal-dst.el (calendar-current-time-zone):
- Return calendar-current-time-zone-cache if non-nil.
+ * textmodes/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-06-25 Masatake YAMATO <yamato@redhat.com>
+2012-04-16 Chong Yidong <cyd@gnu.org>
- * progmodes/which-func.el (which-func-format):
- Add mouse-face. (Bug#11698)
+ * image.el (imagemagick--file-regexp): New variable.
+ (imagemagick-register-types): Use it.
+ (imagemagick-types-inhibit): Add :set function. Allow new value
+ of t to inhibit all types.
-2012-06-24 Leo Liu <sdl.web@gmail.com>
+ * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros,
+ so we can preload it.
- * ibuf-ext.el (ibuffer-diff-buffer-with-file-1): Avoid buffer
- read-only error.
+ * loadup.el (fboundp): Preload regexp-opt, needed by
+ imagemagick-register-types.
- * net/rcirc.el (rcirc): Avoid error when process-contact returns t.
+2012-04-15 Chong Yidong <cyd@gnu.org>
- * vc/diff-mode.el (diff-file-prev/next): Fix typo.
+ * frame.el (scrolling): Remove nearly unused customization group.
-2012-06-23 Leo Liu <sdl.web@gmail.com>
+ * scroll-all.el (scroll-all-mode): Move to windows group.
- * textmodes/enriched.el (enriched-next-annotation):
- Use eq (Bug#11528).
+2012-04-15 Chong Yidong <cyd@gnu.org>
-2012-06-23 Stefan Monnier <monnier@iro.umontreal.ca>
+ * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240).
- * minibuffer.el (minibuffer-confirm-exit-commands):
- Add completion-at-point (bug#11725).
+2012-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
-2012-06-21 Glenn Morris <rgm@gnu.org>
+ Avoid the use of ((lambda ...) ...) in lexical-binding code.
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241).
- * progmodes/f90.el (f90-font-lock-keywords-2):
- Add some preprocessor elements. (Bug#10499)
+2012-04-15 Glenn Morris <rgm@gnu.org>
-2012-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
+ * simple.el (process-file-side-effects): Doc fix.
- * progmodes/cperl-mode.el (cperl-update-syntaxification):
- Use syntax-propertize (bug#11739).
+2012-04-15 Glenn Morris <rgm@gnu.org>
-2012-06-13 Glenn Morris <rgm@gnu.org>
+ * international/mule-cmds.el (set-language-environment): Doc fix.
- * international/mule-cmds.el (mule-menu-keymap)
- (set-language-environment, set-locale-environment): Doc tweaks.
+2012-04-14 Juanma Barranquero <lekktu@gmail.com>
-2012-06-01 Chong Yidong <cyd@gnu.org>
+ * server.el (server-auth-key, server-generate-key): Doc fixes.
+ (server-get-auth-key): Doc fix. Use `string-match-p'.
+ (server-start): Reflow docstring.
- * Version 24.1 released.
+2012-04-14 Lars Ingebrigtsen <larsi@gnus.org>
-2012-06-01 Glenn Morris <rgm@gnu.org>
+ * server.el (server-generate-key): `called-interactively-p'
+ requires a parameter.
- * mail/rmail.el (rmail-yank-current-message):
- Leave point at correct position. (Bug#11660)
+2012-04-14 Michal Nazarewicz <mina86@mina86.com>
-2012-06-01 Chong Yidong <cyd@gnu.org>
+ * 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).
- * allout-widgets.el: Fix code header
+2012-04-14 Leo Liu <sdl.web@gmail.com>
-2012-06-01 Chong Yidong <cyd@gnu.org>
+ * vc/diff-mode.el (diff-file-prev/next): Fix typo.
- * cus-edit.el (customize-changed-options-previous-release):
- Bump to 23.4.
+2012-04-14 Paul Eggert <eggert@cs.ucla.edu>
-2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
+ Spelling fixes.
+ * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since
+ Emacs uses American spelling.
- * emacs-lisp/bytecomp.el (byte-compile-fix-header):
- Handle arbitrary file name lengths (Bug#11585).
+2012-04-14 Juanma Barranquero <lekktu@gmail.com>
-2012-05-28 Martin Rudalics <rudalics@gmx.at>
+ * 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)
- * desktop.el (desktop-read): Clear previous and next buffers for
- all windows and bury *Messages* buffer (bug#11556).
+2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
-2012-05-18 Eli Zaretskii <eliz@gnu.org>
+ * progmodes/which-func.el (which-func-modes): Change default.
- * mail/sendmail.el (mail-yank-region):
- Recognize rmail-yank-current-message in addition to insert-buffer.
- Fixes mail-mode's "C-c C-r" that otherwise does nothing when invoked in
- a *mail* buffer created through rmail-start-mail with sendmail as
- mail-user-agent.
+2012-04-14 Kim F. Storm <storm@cua.dk>
-2012-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+ * emulation/cua-base.el (cua-exchange-point-and-mark): Just call
+ exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
- * emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spurious
- parens around the arg list (bug#11499). Silly backport.
+2012-04-14 Chong Yidong <cyd@gnu.org>
-2012-05-16 Chong Yidong <cyd@gnu.org>
+ * custom.el (custom-theme-set-variables): Doc fix.
- * net/gnutls.el (gnutls-min-prime-bits): Improve docstring.
+2012-04-14 Glenn Morris <rgm@gnu.org>
-2012-05-15 Chong Yidong <cyd@gnu.org>
+ * international/mule.el (set-auto-coding-for-load): Doc fix.
- * help.el (describe-mode): Doc fix.
+2012-04-14 Alan Mackenzie <acm@muc.de>
- * net/gnutls.el (gnutls-min-prime-bits): Default to 256 (Bug#11267).
+ * 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.
-2012-05-06 Troels Nielsen <bn.troels@gmail.com> (tiny change)
+ * progmodes/cc-engine.el (c-before-change-check-<>-operators):
+ Correct two search limits.
- * progmodes/compile.el (compilation-internal-error-properties):
- Calculate start position correctly when end-col is set but
- end-line is not (Bug#11382).
+2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
-2012-05-11 Stefan Monnier <monnier@iro.umontreal.ca>
+ * startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
- * net/rlogin.el (rlogin-mode-map): Fix last change.
+2012-04-14 Andreas Schwab <schwab@linux-m68k.org>
-2012-05-09 Jason L. Wright <jason.wright@inl.gov> (tiny change)
+ * international/characters.el: Fix sorting.
- * mail/smtpmail.el (smtpmail-send-command): Send the command and
- the following \r\n using a single `process-send-string', since the
- Lotus SMTP server refuses to accept any commands if they are sent
- with two `process-send-string's (bug#11444).
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
-2012-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
+ * international/characters.el: Add more missing Latin case pairs.
- * shell.el (shell-parse-pcomplete-arguments): Obey
- pcomplete-arg-quote-list inside double-quoted args as well (bug#11348).
+2012-04-14 Glenn Morris <rgm@gnu.org>
-2012-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
+ * files.el (dir-locals-set-class-variables): Doc fix.
- * shell.el (shell-completion-vars): Fix last change (bug#11348).
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
-2012-05-07 Chong Yidong <cyd@gnu.org>
+ * international/characters.el: Add set-case-syntax-pair call for
+ LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case
+ counterpart. (Bug#11209)
- * ansi-color.el (ansi-color-process-output): Check for validity of
- comint-last-output-start before using it. This avoids a bad
- interaction with gdb-mi's input/output buffer.
+ * simple.el (shell-command-on-region): Doc fix. (Bug#11208)
-2012-05-06 Glenn Morris <rgm@gnu.org>
+2012-04-14 Glenn Morris <rgm@gnu.org>
- * files.el (dir-locals-read-from-file):
- Mention dir-locals in any error message.
+ * calendar/holidays.el (calendar-check-holidays): Doc fix.
-2012-05-06 Chong Yidong <cyd@gnu.org>
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
- * emacs-lisp/package.el (package-built-in-p): Handle the `emacs'
- package (Bug#11410).
+ * textmodes/ispell.el (ispell-dictionary-base-alist):
+ Add data for Hebrew.
-2012-05-05 Chong Yidong <cyd@gnu.org>
+2012-04-14 Chong Yidong <cyd@gnu.org>
- * emacs-lisp/package.el (package-buffer-info): Avoid putting local
- variables into description.
+ * net/rcirc.el (rcirc-cmd-quit):
+ Revert 2012-03-18 change (Bug#11192).
-2012-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
+2012-04-14 Glenn Morris <rgm@gnu.org>
- * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like
- shell-delimiter-argument-list (bug#11348).
- (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list.
+ * pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
-2012-05-04 Chong Yidong <cyd@gnu.org>
+2012-04-14 Eli Zaretskii <eliz@gnu.org>
- * select.el (xselect--encode-string): Always use utf-8 for TEXT on
- Nextstep.
+ * minibuffer.el (completion-in-region-mode-map):
+ Bind completion-help-at-point to M-? rather than ?. (Bug#11182)
-2012-05-03 Kenichi Handa <handa@m17n.org>
+2012-04-13 Vivek Dasmohapatra <vivek@etla.org>
- * mail/rmailmm.el (rmail-show-mime): Catch an error caused by text
- decoding, and show a warning message without signalling an error
- (Bug#11282).
+ * hexl.el (hexl-insert-char): Make display sizes other than 16 work.
-2012-04-30 Eli Zaretskii <eliz@gnu.org>
+2012-04-13 Masatake YAMATO <yamato@redhat.com>
- * mail/rmail.el (rmail-yank-current-message): Use the encoding of
- the yanked message in preference to the default value of
- buffer-file-coding-system.
+ * 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-30 Martin Rudalics <rudalics@gmx.at>
+2012-04-13 Lars Ingebrigtsen <larsi@gnus.org>
- * window.el (display-buffer--action-function-custom-type):
- Fix entry.
+ * avoid.el: Require cl when compiling. And also move the
+ `provide' to the end.
-2012-04-27 Alan Mackenzie <acm@muc.de>
+2012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
- * progmodes/cc-defs.el (c-version): Update to 5.32.3.
+ * avoid.el (mouse-avoidance-banish-position): New variable.
+ (mouse-avoidance-banish-destination): Use it (bug#10165).
-2012-04-27 Chong Yidong <cyd@gnu.org>
+2012-04-13 Leo Liu <sdl.web@gmail.com>
- * subr.el (read-key): Avoid running filter function when setting
- up temporary tool bar entries (Bug#9922).
+ * progmodes/which-func.el (which-func-modes): Add objc-mode.
-2012-04-26 Andreas Schwab <schwab@linux-m68k.org>
+2012-04-13 Ken Brown <kbrown@cornell.edu>
- * vc/vc-git.el (vc-git-state): Fix regexp matching diff output.
- (Bug#11344)
+ * 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-24 Chong Yidong <cyd@gnu.org>
+2012-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
- * 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).
+ * 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-22 Chong Yidong <cyd@gnu.org>
+2012-04-12 Glenn Morris <rgm@gnu.org>
- * simple.el (delete-active-region): Move to killing custom group.
+ * mail/mailpost.el: Move to obsolete/.
-2012-04-21 Andreas Schwab <schwab@linux-m68k.org>
+2012-04-12 Drew Adams <drew.adams@oracle.com>
- * progmodes/which-func.el (which-func-current): Quote %
- characters for mode-line processing.
+ * imenu.el (imenu--generic-function): Ignore invisible definitions
+ (bug#10123).
-2012-04-21 Chong Yidong <cyd@gnu.org>
+2012-04-12 Vivek Dasmohapatra <vivek@etla.org>
- * xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to
- reaching eob (Bug#11286).
+ * 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-20 Richard Stallman <rms@gnu.org>
+2012-04-12 AgustÃn MartÃn Domingo <agustin.martin@hispalinux.es>
- Fix logic for returning to and yanking from Rmail buffer.
+ * 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.
- * 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.
+2012-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
- * mail/sendmail.el (mail-bury): Choose the first rmail-mode
- buffer, not the last. Reject temp buffers. Use the rmail-mode
- buffer, not newbuf.
+ * 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-20 Eli Zaretskii <eliz@gnu.org>
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
- * 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)
+ * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
+ Reported by Noah Friedman.
-2012-04-20 Martin Rudalics <rudalics@gmx.at>
+ * subr.el (read-passwd): Use read-string.
- * 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-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
-2012-04-20 Dan Nicolaescu <dann@gnu.org>
+ * vcursor.el (vcursor-move): Increase the priority of the overlay
+ (bug#9663).
- * battery.el (battery-echo-area-format): Display remaining time
- for sysfs backend too (Bug#11269).
- (battery-linux-sysfs): Fix conditional for the charge.
+2012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com>
-2012-04-20 Chong Yidong <cyd@gnu.org>
+ * net/rcirc.el (rcirc-kill-channel-buffers): New variable.
+ (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128).
- * progmodes/gdb-mi.el (gdb): Revert 2012-04-19 change.
- (gdb-inferior-io--init-proc): New function.
- (gdb-init-1): Use it.
- (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty,
- responsible for allocating a new pty and hooking it to gdb when
- the old pty gets an EIO due to process exit.
- (gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers.
- (gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area.
- (gdb-inferior-io--maybe-delete-pty): Move into gdb-reset.
+2012-04-11 William Stevenson <yhvh2000@gmail.com>
-2012-04-20 Eli Zaretskii <eliz@gnu.org>
+ * textmodes/artist.el (artist-mode): Convert artist-mode to use
+ define-minor-mode (bug#10760).
- * window.el (window-min-size, window-sizable, window-min-delta)
- (window-max-delta, window--resizable, window-resizable)
- (window-total-size, window-full-height-p, window-full-width-p)
- (window-in-direction, window--resize-mini-window, window-resize)
- (window--resize-child-windows-normal)
- (window--resize-child-windows, window--resize-siblings)
- (window--resize-this-window, adjust-window-trailing-edge)
- (enlarge-window, shrink-window): Doc fixes.
+2012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
-2012-04-19 Chong Yidong <cyd@gnu.org>
+ * progmodes/grep.el (rgrep): Tweak the find command line so
+ that directories matching `grep-find-ignored-files' won't be
+ pruned (bug#10351).
- * 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.
- (gdb-done-or-error): Use it.
- (gdb-stopped-functions): Rename from gdb-stopped-hooks.
- (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for
- sentinel not being called.
+2012-04-11 Chong Yidong <cyd@gnu.org>
- * comint.el (make-comint-in-buffer, comint-exec): Doc fix.
+ * startup.el (command-line): Remove support for long-obsolete
+ variable font-lock-face-attributes.
-2012-04-18 Chong Yidong <cyd@gnu.org>
+2012-04-11 Glenn Morris <rgm@gnu.org>
- * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268).
+ * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug.
-2012-04-18 Glenn Morris <rgm@gnu.org>
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
- * net/network-stream.el (open-network-stream): Doc fix.
+ * window.el (window--state-get-1): Obey window-point-insertion-type.
-2012-04-17 Chong Yidong <cyd@gnu.org>
+2012-04-11 Lennart Borgman <lennart.borgman@gmail.com>
- * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos.
+ * 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-16 Alan Mackenzie <acm@muc.de>
+2012-04-11 Glenn Morris <rgm@gnu.org>
- Ensure searching for keywords is case sensitive.
+ * vc/vc-bzr.el (vc-bzr-status): Handle all errors,
+ not just file-errors.
- * progmodes/cc-cmds.el (c-electric-brace, c-electric-lt-gt)
- (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.
+ * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove.
+ (vc-bzr-sha1): Use internal sha1.
- * progmodes/cc-mode.el (c-font-lock-fontify-region):
- bind case-fold-search to nil.
+2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
-2012-04-16 Chong Yidong <cyd@gnu.org>
+ * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
- * mail/sendmail.el (mail-bury): Call return action with the right
- Rmail buffer (Bug#11242).
+2012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change)
-2012-04-15 Chong Yidong <cyd@gnu.org>
+ * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments
+ that start in the middle of the line (bug#10496).
- * server.el (server-process-filter): Handle corner case where both
- tty and nowait options are present (Bug#11102).
+2012-04-10 Dan Nicolaescu <dann@gnu.org>
-2012-04-15 Glenn Morris <rgm@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).
- * simple.el (process-file-side-effects): Doc fix.
+2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
-2012-04-14 Glenn Morris <rgm@gnu.org>
+ * emacs-lisp/autoload.el (autoload-make-program): Remove, unused.
- * international/mule-cmds.el (set-language-environment): Doc fix.
+ * 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.
-2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
+ * 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.
- Avoid the use of ((lambda ...) ...) in lexical-binding code.
- * emacs-lisp/easy-mmode.el (define-minor-mode):Use funcall (bug#11241).
+ * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
+ Use derived-mode-p. Run the diff asynchronously.
-2012-04-13 Kim F. Storm <storm@cua.dk>
+2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * emulation/cua-base.el (cua-exchange-point-and-mark): Just call
- exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
+ * obsolete/mouse-sel.el: Add an Obsolete-since header.
-2012-04-12 Chong Yidong <cyd@gnu.org>
+2012-04-10 Juanma Barranquero <lekktu@gmail.com>
- * custom.el (custom-theme-set-variables): Doc fix.
+ * misc.el: Display absolute path of loaded DLLs (bug#10424).
+ (list-dynamic-libraries--loaded): New function.
+ (list-dynamic-libraries--refresh): Use it.
-2012-04-12 Glenn Morris <rgm@gnu.org>
+2012-04-10 Nathan Weizenbaum <nweiz@google.com>
- * international/mule.el (set-auto-coding-for-load): Doc fix.
+ * progmodes/python.el (python-fill-paragraph):
+ Make python-fill-region in a multiline string work when font-lock is
+ disabled (bug#7018).
-2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+2012-04-10 Laimonas VÄ—bra <laimonas.vebra@gmail.com> (tiny change)
- * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil.
- Reported by Noah Friedman. Backport from trunk.
+ * 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-11 Alan Mackenzie <acm@muc.de>
+2012-04-10 Glenn Morris <rgm@gnu.org>
- * 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.
+ * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac):
+ Add :standard values, reducing "rogue" customs in emacs -Q a bit more.
- * progmodes/cc-engine.el (c-before-change-check-<>-operators):
- Correct two search limits.
+2012-04-10 Florian Adamsky <florian@adamsky.it> (tiny change)
-2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
+ * 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).
- * startup.el (command-line-1): Inhibit splash from daemon (bug#10996).
+2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
-2012-04-10 Andreas Schwab <schwab@linux-m68k.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.
- * international/characters.el: Fix sorting.
+ * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174).
-2012-04-10 Eli Zaretskii <eliz@gnu.org>
+ * simple.el (zap-to-char): Allow zapping using input methods
+ (bug#1580).
- * international/characters.el: Add more missing Latin case pairs.
+ * textmodes/fill.el (fill-region): Leave point and mark where they
+ were before filling (bug#5399).
-2012-04-10 Andreas Schwab <schwab@linux-m68k.org>
+2012-04-09 Glenn Morris <rgm@gnu.org>
- * international/characters.el: Recover lost case pairs.
+ * version.el (emacs-bzr-get-version):
+ Handle lightweight checkouts of local branches.
-2012-04-10 Glenn Morris <rgm@gnu.org>
+2012-04-09 Andreas Schwab <schwab@linux-m68k.org>
- * files.el (dir-locals-set-class-variables): Doc fix.
+ * international/characters.el: Recover lost case pairs. (Bug#11209)
-2012-04-09 Eli Zaretskii <eliz@gnu.org>
+2012-04-09 Chong Yidong <cyd@gnu.org>
- * international/characters.el: Add set-case-syntax-pair call for
- LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case
- counterpart. (Bug#11209)
+ * 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.
- * simple.el (shell-command-on-region): Doc fix. (Bug#11208)
+ * 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>
- * calendar/holidays.el (calendar-check-holidays): Doc fix.
+ * 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-dictionary-base-alist): Add data for
- Hebrew.
+ * 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 Chong Yidong <cyd@gnu.org>
+2012-04-08 Glenn Morris <rgm@gnu.org>
- * net/rcirc.el (rcirc-cmd-quit): Revert 2012-03-18 change
- (Bug#11192).
+ * 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>
- * pcmpl-rpm.el (pcomplete/rpm): Handle -qf.
+ * 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>
- * minibuffer.el (completion-in-region-mode-map):
- Bind completion-help-at-point to M-? rather than ?. (Bug#11182)
+ * 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>
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.
+ * textmodes/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.
files from Git, SVN, Bazaar, and Mercurial.
(save-place-to-alist): Use it.
-2012-02-17 Lawrence Mitchell <wence@gmx.li>
- Stefan Monnier <monnier@iro.umontreal.ca>
+2012-02-17 Lawrence Mitchell <wence@gmx.li>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* newcomment.el (uncomment-region-default): Don't leave extra space
when an arg is provided (bug#8150).
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>
* net/tramp.el (tramp-action-login): Set connection property "login-as".
- * net/tramp-cache.el (tramp-dump-connection-properties): Do not dump
- properties, when "login-as" is set.
-
* net/tramp-sh.el (tramp-methods): Add user spec to "pscp" and "psftp".
(tramp-default-user-alist): Don't add "pscp".
(tramp-do-copy-or-rename-file-out-of-band): Use connection
Declare as obsolete.
(ns-get-pasteboard, ns-paste-secondary):
Use ns-get-selection-internal.
- (ns-set-pasteboard, ns-copy-including-secondary):
+ (ns-set-pasteboard, ns-copy-including-secondary):
Use ns-store-selection-internal.
2011-12-17 Chong Yidong <cyd@gnu.org>
2011-11-16 Michael Albinus <michael.albinus@gmx.de>
- * net/tramp-cache.el (tramp-flush-file-property): Flush also
- properties of linked files. (Bug#9879)
-
* net/tramp-sh.el (tramp-sh-handle-file-truename): Cache only the
local file name.
(tramp-completion-file-name-regexp-unified)
(tramp-completion-file-name-regexp-separate)
(tramp-completion-file-name-regexp-url): Don't use leading volume
- letter on win32 systems. (Bug#5303, Bug#9311)
+ letter on w32 systems. (Bug#5303, Bug#9311)
(tramp-drop-volume-letter): Simplify definition.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
insecure exception for current topic. Also note that auto-saves
are handled differently.
- (allout-auto-save-temporarily-disabled), (allout-just-did-undo):
+ (allout-auto-save-temporarily-disabled, allout-just-did-undo):
State variables for tracking auto-save inhibition situation.
(allout-write-contents-hook-handler): Rename from
(newsticker--plainview-tool-bar-map): Move tool-bar icons to
etc/images/newsticker.
- * net/newst-backend.el (newsticker--do-run-auto-mark-filter),
- (newsticker--process-auto-mark-filter-match): : Tell user about
+ * net/newst-backend.el (newsticker--do-run-auto-mark-filter)
+ (newsticker--process-auto-mark-filter-match): Tell user about
auto-marking.
2011-05-13 Didier Verna <didier@xemacs.org>
* textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a
2011-05-10 Glenn Morris <rgm@gnu.org>
- Stefan Monnier <monnier@iro.umontreal.ca>
+ Stefan Monnier <monnier@iro.umontreal.ca>
* files.el (hack-one-local-variable-eval-safep):
Consider "eval: (foo-mode)" to be safe. (Bug#8613)
* vc/log-view.el:
* vc/smerge-mode.el:
* textmodes/bibtex-style.el:
- * textmodes/css.el:
+ * textmodes/css-mode.el:
* startup.el:
* uniquify.el:
* minibuffer.el:
;; can be used by other packages to read a buffer name, a file name,
;; or a directory name in the `ido' way.
-;;; Acknowledgements
+;;; Acknowledgments
;; Infinite amounts of gratitude goes to Stephen Eglen <stephen@cns.ed.ac.uk>
;; who wrote iswitch-buffer mode - from which I ripped off 99% of the code
:type 'boolean
:group 'ido)
-(defface ido-first-match '((t (:bold t)))
+(defface ido-first-match '((t :weight bold))
"Face used by ido for highlighting first match."
:group 'ido)
(defface ido-only-match '((((class color))
- (:foreground "ForestGreen"))
- (t (:italic t)))
+ :foreground "ForestGreen")
+ (t :slant italic))
"Face used by ido for highlighting only match."
:group 'ido)
(defface ido-subdir '((((min-colors 88) (class color))
- (:foreground "red1"))
- (((class color))
- (:foreground "red"))
- (t (:underline t)))
+ :foreground "red1")
+ (((class color))
+ :foreground "red")
+ (t :underline t))
"Face used by ido for highlighting subdirs in the alternatives."
:group 'ido)
-(defface ido-virtual '((t (:inherit font-lock-builtin-face)))
+(defface ido-virtual '((t :inherit font-lock-builtin-face))
"Face used by ido for matching virtual buffer names."
:version "24.1"
:group 'ido)
-(defface ido-indicator '((((min-colors 88) (class color))
- (:foreground "yellow1"
- :background "red1"
- :width condensed))
- (((class color))
- (:foreground "yellow"
- :background "red"
- :width condensed))
- (t (:inverse-video t)))
+(defface ido-indicator '((((min-colors 88) (class color))
+ :foreground "yellow1" :background "red1" :width condensed)
+ (((class color))
+ :foreground "yellow" :background "red" :width condensed)
+ (t :inverse-video t))
"Face used by ido for highlighting its indicators."
:group 'ido)
(defface ido-incomplete-regexp
- '((t
- (:inherit font-lock-warning-face)))
+ '((t :inherit font-lock-warning-face))
"Ido face for indicating incomplete regexps."
:group 'ido)
:group 'ido)
(defvar ido-rewrite-file-prompt-rules nil
- "*Alist of rewriting rules for directory names in ido prompts.
+ "Alist of rewriting rules for directory names in ido prompts.
A list of elements of the form (FROM . TO) or (FROM . FUNC), each
meaning to rewrite the directory name if matched by FROM by either
substituting the matched string by TO or calling the function FUNC
:type 'boolean
:group 'ido)
-(defvar ido-all-frames 'visible
- "*Argument to pass to `walk-windows' when finding visible files.
-See documentation of `walk-windows' for useful values.")
+(defcustom ido-all-frames 'visible
+ "Argument to pass to `walk-windows' when Ido is finding buffers.
+See documentation of `walk-windows' for useful values."
+ :type '(choice (const :tag "Selected frame only" nil)
+ (const :tag "All existing frames" t)
+ (const :tag "All visible frames" visible)
+ (const :tag "All frames on this terminal" 0))
+ :group 'ido)
(defcustom ido-minibuffer-setup-hook nil
"Ido-specific customization of minibuffer setup.
(rexq (concat rex0 (if slash ".*/" "")))
(re (if ido-enable-prefix (concat "\\`" rexq) rexq))
(full-re (and do-full
- (and (eq ido-cur-item 'buffer)
- (not ido-buffer-disable-smart-matches))
+ (not (and (eq ido-cur-item 'buffer)
+ ido-buffer-disable-smart-matches))
(not ido-enable-regexp)
(not (string-match "\$\\'" rex0))
(concat "\\`" rex0 (if slash "/" "") "\\'")))
(suffix-re (and do-full slash
- (and (eq ido-cur-item 'buffer)
- (not ido-buffer-disable-smart-matches))
+ (not (and (eq ido-cur-item 'buffer)
+ ido-buffer-disable-smart-matches))
(not ido-enable-regexp)
(not (string-match "\$\\'" rex0))
(concat rex0 "/\\'")))
RET Select the buffer at the front of the list of matches. If the
list is empty, possibly prompt to create new buffer.
-\\[ido-select-text] Select the current prompt as the buffer.
-If no buffer is found, prompt for a new one.
+\\[ido-select-text] Use the current input string verbatim.
\\[ido-next-match] Put the first element at the end of the list.
\\[ido-prev-match] Put the last element at the start of the list.
RET Select the file at the front of the list of matches. If the
list is empty, possibly prompt to create new file.
-\\[ido-select-text] Select the current prompt as the buffer or file.
-If no buffer or file is found, prompt for a new one.
+\\[ido-select-text] Use the current input string verbatim.
\\[ido-next-match] Put the first element at the end of the list.
\\[ido-prev-match] Put the last element at the start of the list.
matches all files. If there is only one match, select that file.
If there is no common suffix, show a list of all matching files
in a separate window.
+\\[ido-magic-delete-char] Open the specified directory in Dired mode.
\\[ido-edit-input] Edit input string (including directory).
\\[ido-prev-work-directory] or \\[ido-next-work-directory] go to previous/next directory in work directory history.
\\[ido-merge-work-directories] search for file in the work directory history.
;; argument position.
;;
;; To use pcomplete with shell-mode, for example, you will need the
-;; following in your .emacs file:
+;; following in your init file:
;;
;; (add-hook 'shell-mode-hook 'pcomplete-shell-setup)
;;
;;; Code:
-(eval-when-compile (require 'cl))
(require 'comint)
(defgroup pcomplete nil
:type 'boolean
:group 'pcomplete)
-(defcustom pcomplete-arg-quote-list nil
- "List of characters to quote when completing an argument."
- :type '(choice (repeat character)
- (const :tag "Don't quote" nil))
- :group 'pcomplete)
-
-(defcustom pcomplete-quote-arg-hook nil
- "A hook which is run to quote a character within a filename.
-Each function is passed both the filename to be quoted, and the index
-to be considered. If the function wishes to provide an alternate
-quoted form, it need only return the replacement string. If no
-function provides a replacement, quoting shall proceed as normal,
-using a backslash to quote any character which is a member of
-`pcomplete-arg-quote-list'."
- :type 'hook
- :group 'pcomplete)
+(define-obsolete-variable-alias
+ 'pcomplete-arg-quote-list 'comint-file-name-quote-list "24.3")
(defcustom pcomplete-man-function 'man
"A function to that will be called to display a manual page.
;; it pretty much impossible to have completion other than
;; prefix-completion.
;;
-;; pcomplete--common-quoted-suffix and comint--table-subvert try to
-;; work around this difficulty with heuristics, but it's
-;; really a hack.
-
-(defvar pcomplete-unquote-argument-function nil)
-
-(defun pcomplete-unquote-argument (s)
- (cond
- (pcomplete-unquote-argument-function
- (funcall pcomplete-unquote-argument-function s))
- ((null pcomplete-arg-quote-list) s)
- (t
- (replace-regexp-in-string "\\\\\\(.\\)" "\\1" s t))))
-
-(defun pcomplete--common-quoted-suffix (s1 s2)
- ;; FIXME: Copied in comint.el.
- "Find the common suffix between S1 and S2 where S1 is the expanded S2.
-S1 is expected to be the unquoted and expanded version of S2.
-Returns (PS1 . PS2), i.e. the shortest prefixes of S1 and S2, such that
-S1 = (concat PS1 SS1) and S2 = (concat PS2 SS2) and
-SS1 = (unquote SS2)."
- (let* ((cs (comint--common-suffix s1 s2))
- (ss1 (substring s1 (- (length s1) cs)))
- (qss1 (pcomplete-quote-argument ss1))
- qc s2b)
- (if (and (not (equal ss1 qss1))
- (setq qc (pcomplete-quote-argument (substring ss1 0 1)))
- (setq s2b (- (length s2) cs (length qc) -1))
- (>= s2b 0) ;bug#11158.
- (eq t (compare-strings s2 s2b (- (length s2) cs -1)
- qc nil nil)))
- ;; The difference found is just that one char is quoted in S2
- ;; but not in S1, keep looking before this difference.
- (pcomplete--common-quoted-suffix
- (substring s1 0 (- (length s1) cs))
- (substring s2 0 s2b))
- (cons (substring s1 0 (- (length s1) cs))
- (substring s2 0 (- (length s2) cs))))))
-
-;; I don't think such commands are usable before first setting up buffer-local
-;; variables to parse args, so there's no point autoloading it.
-;; ;;;###autoload
+;; pcomplete--common-suffix and completion-table-subvert try to work around
+;; this difficulty with heuristics, but it's really a hack.
+
+(defvar pcomplete-unquote-argument-function #'comint--unquote-argument)
+
+(defsubst pcomplete-unquote-argument (s)
+ (funcall pcomplete-unquote-argument-function s))
+
+(defvar pcomplete-requote-argument-function #'comint--requote-argument)
+
+(defun pcomplete--common-suffix (s1 s2)
+ ;; Since S2 is expected to be the "unquoted/expanded" version of S1,
+ ;; there shouldn't be any case difference, even if the completion is
+ ;; case-insensitive.
+ (let ((case-fold-search nil))
+ (string-match
+ ;; \x3FFF7F is just an arbitrary char among the ones Emacs accepts
+ ;; that hopefully will never appear in normal text.
+ "\\(?:.\\|\n\\)*?\\(\\(?:.\\|\n\\)*\\)\x3FFF7F\\(?:.\\|\n\\)*\\1\\'"
+ (concat s1 "\x3FFF7F" s2))
+ (- (match-end 1) (match-beginning 1))))
+
(defun pcomplete-completions-at-point ()
"Provide standard completion using pcomplete's completion tables.
Same as `pcomplete' but using the standard completion UI."
;; pcomplete-stub and works from the buffer's text instead,
;; we need to trick minibuffer-complete, into using
;; pcomplete-stub without its knowledge. To that end, we
- ;; use comint--table-subvert to construct a completion
+ ;; use completion-table-subvert to construct a completion
;; table which expects strings using a prefix from the
;; buffer's text but internally uses the corresponding
;; prefix from pcomplete-stub.
(beg (max (- (point) (length pcomplete-stub))
(pcomplete-begin)))
- (buftext (buffer-substring beg (point))))
+ (buftext (pcomplete-unquote-argument
+ (buffer-substring beg (point)))))
(when completions
(let ((table
- (cond
- ((not (equal pcomplete-stub buftext))
- ;; This isn't always strictly right (e.g. if
- ;; FOO="toto/$FOO", then completion of /$FOO/bar may
- ;; result in something incorrect), but given the lack of
- ;; any other info, it's about as good as it gets, and in
- ;; practice it should work just fine (fingers crossed).
- (let ((prefixes (pcomplete--common-quoted-suffix
+ (completion-table-with-quoting
+ (if (equal pcomplete-stub buftext)
+ completions
+ ;; This may not always be strictly right, but given the lack
+ ;; of any other info, it's about as good as it gets, and in
+ ;; practice it should work just fine (fingers crossed).
+ (let ((suf-len (pcomplete--common-suffix
pcomplete-stub buftext)))
- (comint--table-subvert
- completions (cdr prefixes) (car prefixes)
- #'pcomplete-quote-argument #'pcomplete-unquote-argument)))
- (t
- (lambda (string pred action)
- (let ((res (complete-with-action
- action completions string pred)))
- (if (stringp res)
- (pcomplete-quote-argument res)
- res))))))
+ (completion-table-subvert
+ completions
+ (substring buftext 0 (- (length buftext) suf-len))
+ (substring pcomplete-stub 0
+ (- (length pcomplete-stub) suf-len)))))
+ pcomplete-unquote-argument-function
+ pcomplete-requote-argument-function))
(pred
;; Pare it down, if applicable.
(when (and pcomplete-use-paring pcomplete-seen)
(list beg (point) table
:predicate pred
:exit-function
+ ;; If completion is finished, add a terminating space.
+ ;; We used to also do this if STATUS is `sole', but
+ ;; that does not work right when completion cycling.
(unless (zerop (length pcomplete-termination-string))
- (lambda (_s finished)
- (when (memq finished '(sole finished))
+ (lambda (_s status)
+ (when (eq status 'finished)
(if (looking-at
(regexp-quote pcomplete-termination-string))
(goto-char (match-end 0))
(defun pcomplete-parse-comint-arguments ()
"Parse whitespace separated arguments in the current region."
+ (declare (obsolete comint-parse-pcomplete-arguments "24.1"))
(let ((begin (save-excursion (comint-bol nil) (point)))
(end (point))
begins args)
(push (buffer-substring-no-properties (car begins) (point))
args))
(cons (nreverse args) (nreverse begins)))))
-(make-obsolete 'pcomplete-parse-comint-arguments
- 'comint-parse-pcomplete-arguments "24.1")
(defun pcomplete-parse-arguments (&optional expand-p)
"Parse the command line arguments. Most completions need this info."
(throw 'pcompleted t)
pcomplete-args))))))
-(defun pcomplete-quote-argument (filename)
- "Return FILENAME with magic characters quoted.
-Magic characters are those in `pcomplete-arg-quote-list'."
- (if (null pcomplete-arg-quote-list)
- filename
- (let ((index 0))
- (mapconcat (lambda (c)
- (prog1
- (or (run-hook-with-args-until-success
- 'pcomplete-quote-arg-hook filename index)
- (when (memq c pcomplete-arg-quote-list)
- (string ?\\ c))
- (char-to-string c))
- (setq index (1+ index))))
- filename
- ""))))
+(define-obsolete-function-alias
+ 'pcomplete-quote-argument #'comint-quote-filename "24.3")
;; file-system completion lists
;; The env-var is "out of bounds".
(if (eq action t)
(complete-with-action action table newstring pred)
- (list* 'boundaries
- (+ (car bounds) (- orig-length (length newstring)))
- (cdr bounds)))
+ `(boundaries
+ ,(+ (car bounds) (- orig-length (length newstring)))
+ . ,(cdr bounds)))
;; The env-var is in the file bounds.
(if (eq action t)
(let ((comps (complete-with-action
;; Strip the part of each completion that's actually
;; coming from the env-var.
(mapcar (lambda (s) (substring s len)) comps))
- (list* 'boundaries
- (+ envpos (- orig-length (length newstring)))
- (cdr bounds))))))))))
+ `(boundaries
+ ,(+ envpos (- orig-length (length newstring)))
+ . ,(cdr bounds))))))))))
(defsubst pcomplete-all-entries (&optional regexp predicate)
"Like `pcomplete-entries', but doesn't ignore any entries."
(setq pcomplete-last-window-config (current-window-configuration)))
(with-output-to-temp-buffer "*Completions*"
(display-completion-list completions))
- (message "Hit space to flush")
+ (minibuffer-message "Hit space to flush")
(let (event)
(prog1
(catch 'done
(if (not pcomplete-ignore-case)
(insert-and-inherit (if raw-p
(substring entry (length stub))
- (pcomplete-quote-argument
+ (comint-quote-filename
(substring entry (length stub)))))
;; the stub is not quoted at this time, so to determine the
;; length of what should be in the buffer, we must quote it
;; FIXME: Here we presume that quoting `stub' gives us the exact
;; text in the buffer before point, which is not guaranteed;
;; e.g. it is not the case in eshell when completing ${FOO}tm[TAB].
- (delete-char (- (length (pcomplete-quote-argument stub))))
+ (delete-char (- (length (comint-quote-filename stub))))
;; if there is already a backslash present to handle the first
;; character, don't bother quoting it
(when (eq (char-before) ?\\)
(setq entry (substring entry 1)))
(insert-and-inherit (if raw-p
entry
- (pcomplete-quote-argument entry))))
+ (comint-quote-filename entry))))
(let (space-added)
(when (and (not (memq (char-before) pcomplete-suffix-list))
addsuffix)
pcomplete-last-completion-stub stub)
space-added)))
-;; selection of completions
+;; Selection of completions.
(defun pcomplete-do-complete (stub completions)
"Dynamically complete at point using STUB and COMPLETIONS.
-2012-09-24 Glenn Morris <rgm@gnu.org>
++2012-09-28 Glenn Morris <rgm@gnu.org>
+
+ * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success)
+ (Frun_hook_with_args_until_failure): Doc fixes.
+
+2012-09-28 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (syms_of_xdisp) <Qredisplay_internal>: Rename from
+ Qautomatic_redisplay and change the symbol name. All users changed.
+
+2012-09-28 Tomohiro Matsuyama <tomo@cx4a.org>
+
+ * profiler.c (sigprof_handler): Fix race condition.
+
+2012-09-28 Glenn Morris <rgm@gnu.org>
+
+ * lread.c (lisp_file_lexically_bound_p): Handle #! lines. (Bug#12528)
+
+2012-09-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Check more robustly for timer_settime.
+ * Makefile.in (LIB_TIMER_TIME): New macro.
+ (LIBES): Add it.
+ * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
+ Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to
+ call timer_settime.
+
+2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org>
+
+ * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO.
+
+2012-09-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
+
+2012-09-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * character.h (MAYBE_UNIFY_CHAR): Remove.
+ * charset.c, charset.h (maybe_unify_char): Now static.
+ * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR.
+ Since this stuff is now private to charset.c, there's no need for
+ a public macro and no need to inline by hand.
+
+2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org>
+ Stefan Monnier <monnier@iro.umontreal.ca>
+ Juanma Barranquero <lekktu@gmail.com>
+
+ * profiler.c: New file.
+ * Makefile.in (base_obj): Add profiler.o.
+ * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c.
+ ($(BLD)/profiler.$(O)): New target.
+ * emacs.c (main): Call syms_of_profiler.
+ * alloc.c (Qautomatic_gc): New constant.
+ (MALLOC_PROBE): New macro.
+ (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it.
+ (total_bytes_of_live_objects): New function.
+ (Fgarbage_collect): Use it. Record itself in backtrace_list.
+ Call malloc_probe for the memory profiler.
+ (syms_of_alloc): Define Qautomatic_gc.
+ * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid
+ race condition.
+ (struct backtrace): Move definition...
+ * lisp.h (struct backtrace): ..here.
+ (Qautomatic_gc, profiler_memory_running): Declare vars.
+ (malloc_probe, syms_of_profiler): Declare functions.
+ * xdisp.c (Qautomatic_redisplay): New constant.
+ (redisplay_internal): Record itself in backtrace_list.
+ (syms_of_xdisp): Define Qautomatic_redisplay.
+
+2012-09-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies.
+
+2012-09-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer POSIX timers if available.
+ They avoid a race if the timer is too close to the current time.
+ * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars.
+ (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available.
+ (init_atimer) [SIGEV_SIGNAL]: Initialize them.
+
+2012-09-25 Eli Zaretskii <eliz@gnu.org>
+
+ * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of
+ CHAR_STRING_ADVANCE.
+ (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of
+ STRING_CHAR_ADVANCE.
+
+2012-09-25 Juanma Barranquero <lekktu@gmail.com>
+
+ Move Vlibrary_cache to emacs.c and reset before dumping.
+
+ * lisp.h (reset_image_types): Declare.
+ [WINDOWSNT] (Vlibrary_cache): Declare.
+
+ * image.c (reset_image_types): New function.
+
+ * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c.
+ (syms_of_emacs) [WINDOWSNT] <Vlibrary_cache>: Initialize and staticpro.
+ (Fdump_emacs): Reset Vlibrary_cache and image_types.
+
+ * w32.c (Vlibrary_cache): Do not define; moved to emacs.c
+ (globals_of_w32) <Vlibrary_cache>: Do not initialize.
+
+ * w32.h (Vlibrary_cache): Do not declare.
+
+2012-09-25 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (sys_signal): Handle all signals defined by the
+ MS-Windows runtime, not just SIGCHLD. Actually install the signal
+ handlers for signals supported by Windows. Don't override
+ term_ntproc as the handler for SIGABRT.
+ (sigaction): Rewrite to call sys_signal instead of duplicating its
+ code.
+ (sys_kill): Improve commentary.
+
+ * w32.c (term_ntproc): Accept (and ignore) one argument, for
+ consistency with a signature of a signal handler. All callers
+ changed.
+ (init_ntproc): Accept an argument DUMPING. If dumping, don't
+ install term_ntproc as a signal handler for SIGABRT, as that
+ should be done by the dumped Emacs.
+
+ * w32.h (init_ntproc, term_ntproc): Adjust prototypes.
+
+ * w32select.c (term_w32select): Protect against repeated
+ invocation by setting clipboard_owner to NULL after calling
+ DestroyWindow.
+
+ * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc
+ and term_ntproc to their modified signatures.
+
+ * character.c (char_string, string_char): Remove calls to
+ MAYBE_UNIFY_CHAR. See the discussion starting at
+ http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html
+ for the details.
+
+2012-09-25 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (mode_line_inverse_video): Delete obsolete variable.
+
+2012-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * bytecode.c (exec_byte_code): Signal an error instead of aborting,
+ when encountering an unknown bytecode.
+
+2012-09-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ image.c, indent.c: Use bool for booleans.
+ * dispextern.h (struct image_type): Members valid_p, load, init
+ now return bool, not int. All uses changed.
+ * image.c: Omit unnecessary static decls.
+ (x_create_bitmap_mask, x_build_heuristic_mask):
+ Return void, not int, since callers don't care about the return value.
+ (x_create_bitmap_mask, define_image_type, valid_image_p)
+ (struct image_keyword, parse_image_spec, image_spec_value)
+ (check_image_size, image_background)
+ (image_background_transparent, x_clear_image_1)
+ (postprocess_image, lookup_image, x_check_image_size)
+ (x_create_x_image_and_pixmap, xbm_image_p)
+ (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data)
+ (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color)
+ (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p)
+ (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color)
+ (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load)
+ (png_image_p, init_png_functions, png_load_body, png_load)
+ (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load)
+ (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p)
+ (init_gif_functions, gif_load, imagemagick_image_p)
+ (imagemagick_load_image, imagemagick_load, svg_image_p)
+ (init_svg_functions, svg_load, svg_load_image, gs_image_p)
+ (gs_load):
+ * nsimage.m (ns_load_image):
+ * nsterm.m (ns_defined_color):
+ * xfaces.c (tty_lookup_color, tty_defined_color, defined_color):
+ * xfns.c (x_defined_color):
+ * xterm.c (x_alloc_lighter_color_for_widget)
+ (x_alloc_nearest_color_1, x_alloc_nearest_color)
+ (x_alloc_lighter_color):
+ * indent.c (disptab_matches_widthtab, current_column)
+ (scan_for_column, string_display_width, indented_beyond_p)
+ (compute_motion, vmotion, Fvertical_motion):
+ Use bool for booleans.
+
+2012-09-24 Chong Yidong <cyd@gnu.org>
+
+ * chartab.c (Fset_char_table_default): Obsolete function removed.
+
+2012-09-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Move pid_t related decls out of lisp.h.
+ * lisp.h, syswait.h (record_child_status_change, wait_for_termination)
+ (interruptible_wait_for_termination):
+ Move these decls from lisp.h to syswait.h, since they use pid_t.
+ Needed on FreeBSD; see Herbert J. Skuhra in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00571.html>.
+ * callproc.c: Include syswait.h.
+
+ gnutls.c, gtkutil.c: Use bool for boolean.
+ * gnutls.c (gnutls_global_initialized, init_gnutls_functions)
+ (emacs_gnutls_handle_error):
+ * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip)
+ (xg_hide_tooltip, xg_create_frame_widgets)
+ (create_dialog, xg_uses_old_file_dialog)
+ (xg_get_file_with_chooser, xg_get_file_with_selection)
+ (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget)
+ (xg_item_label_same_p, xg_update_menubar)
+ (xg_modify_menubar_widgets, xg_event_is_for_menubar)
+ (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb)
+ (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item)
+ (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes)
+ (update_frame_tool_bar, free_frame_tool_bar):
+ * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint):
+ * nsmenu.m (ns_update_menubar):
+ * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar):
+ * xfns.c (Fx_show_tip) [USE_GTK]:
+ Use bool for boolean.
+ * gtkutil.c (xg_update_frame_menubar):
+ * xmenu.c (update_frame_menubar):
+ Return void, not int, since caller ignores return value.
+ * gtkutil.c (xg_change_toolbar_position):
+ Return void, not 1.
+
+2012-09-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (BLOCKINPUT_H): Remove.
+ (SYSSIGNAL_H): New macro.
+ ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O))
+ ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O))
+ ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O))
+ ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O))
+ ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O))
+ ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O))
+ ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O))
+ ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O))
+ ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O))
+ ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O))
+ ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O))
+ ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O))
+ ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O))
+ ($(BLD)/w32xfns.$(O)): Update dependencies.
+
+2012-09-23 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit: Set breakpoint on terminate_due_to_signal, not on
+ fatal_error_backtrace.
+
+ * w32proc.c (sys_kill): Undo last change: don't do anything when
+ invoked to deliver SIGABRT to our own process. This is now
+ handled by emacs_raise.
+
+2012-09-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * w32term.c (w32_read_socket): Remove leftover reference to
+ interrupt_input_pending.
+
+2012-09-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not use SA_NODEFER.
+ Problem reported by Dani Moncayo in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>.
+ * alloc.c (die):
+ * sysdep.c (emacs_abort): Do not reset signal handler.
+ * emacs.c (terminate_due_to_signal): Reset signal handler here.
+ * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't
+ wanted even on POSIXish hosts, and it doesn't work on Windows.
+
+2012-09-23 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (x_term_init): Call fixup_locale before and after calling
+ gtk_init (Bug#12392).
+
+2012-09-23 Chong Yidong <cyd@gnu.org>
+
+ * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use
+ Vdynamic_library_alist.
+
+ * gnutls.c (init_gnutls_functions): Caller changed; remove arg.
+ (Fgnutls_available_p): Caller changed.
+
+ * xml.c (init_libxml2_functions, Flibxml_parse_html_region)
+ (Flibxml_parse_xml_region): Likewise.
+
+ * dispextern.h (struct image_type): Remove arg from init function.
+
+ * image.c (Finit_image_library, lookup_image_type)
+ (define_image_type): Remove now-unneeded second arg.
+ (init_xpm_functions, init_png_functions, init_jpeg_functions)
+ (init_tiff_functions, init_gif_functions, init_svg_functions):
+ Arglist and w32_delayed_load calling convention changed.
+ (gs_type): Remove init_gs_functions; there is no such function.
+ (valid_image_p, make_image): Fix caller to lookup_image_type.
+
+2012-09-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify and avoid signal-handling races (Bug#12471).
+ * alloc.c (die):
+ * sysdep.c (emacs_abort) [HAVE_NTGUI]:
+ Avoid recursive loop if there's a fatal error in the function itself.
+ * atimer.c (pending_atimers):
+ * blockinput.h: Don't include "atimer.h"; no longer needed.
+ (interrupt_input_pending): Remove. All uses removed.
+ pending_signals now counts both atimers and ordinary interrupts.
+ This is less racy than having three separate pending-signal flags.
+ (block_input, unblock_input, totally_unblock_input, unblock_input_to)
+ (input_blocked_p):
+ Rename from their upper-case counterparts BLOCK_INPUT,
+ UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO,
+ INPUT_BLOCKED_P, and turn into functions. All uses changed.
+ This makes it easier to access volatile variables more accurately.
+ (BLOCK_INPUT_RESIGNAL): Remove. All uses replaced by unblock_input ().
+ (input_blocked_p): Prefer this to 'interrupt_input_blocked', as
+ that's more reliable if the code is buggy and sets
+ interrupt_input_blocked to a negative value. All uses changed.
+ * atimer.c (deliver_alarm_signal):
+ Remove. No need to deliver this to the parent; any thread can
+ handle this signal now. All uses replaced by underlying handler.
+ * atimer.c (turn_on_atimers):
+ * dispnew.c (handle_window_change_signal):
+ * emacs.c (handle_danger_signal):
+ * keyboard.c (kbd_buffer_get_event):
+ Don't reestablish signal handler; not needed with sigaction.
+ * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT)
+ (UNBLOCK_INPUT_TO):
+ Rework to avoid unnecessary accesses to volatile variables.
+ (UNBLOCK_INPUT_TO): Now a function.
+ (totally_unblock_input, unblock_input): New decls.
+ * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c
+ (init_data): Remove. Necessary stuff now done in init_signal.
+ * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions.
+ * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c.
+ (fatal_error_code): Remove; no longer needed.
+ (terminate_due_to_signal): Rename from fatal_error_backtrace, since
+ it doesn't always backtrace. All uses changed. No need to reset
+ signal to default, since sigaction and/or die does that for us now.
+ Use emacs_raise (FOO), not kill (getpid (), FOO).
+ (main): Check more-accurately whether we're dumping.
+ Move fatal-error setup to sysdep.c
+ * floatfns.c: Do not include "syssignal.h"; no longer needed.
+ * gtkutil.c (xg_get_file_name, xg_get_font):
+ Remove no-longer-needed signal-mask manipulation.
+ * keyboard.c, process.c (POLL_FOR_INPUT):
+ Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined.
+ * keyboard.c (read_avail_input): Remove.
+ All uses replaced by gobble_input.
+ (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code.
+ (kbd_buffer_store_event_hold, gobble_input):
+ (record_asynch_buffer_change) [USABLE_SIGIO]:
+ (store_user_signal_events):
+ No need to mess with signal mask.
+ (gobble_input): If blocking input and there are terminals, simply
+ set pending_signals to 1 and return. All hooks changed to not
+ worry about whether input is blocked.
+ (process_pending_signals): Clear pending_signals before processing
+ them, in case a signal comes in while we're processing.
+ By convention callers now test pending_signals before calling us.
+ (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input):
+ New functions, to support changes to blockinput.h.
+ (handle_input_available_signal): Now extern.
+ (reinvoke_input_signal): Remove. All uses replaced by
+ handle_async_input.
+ (quit_count): Now volatile, since a signal handler uses it.
+ (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg.
+ All callers changed. Block SIGINT only if not already blocked.
+ Clear sigmask reliably, even if Fsignal returns, which it can.
+ Omit unnecessary accesses to volatile var.
+ (quit_throw_to_read_char): No need to restore sigmask.
+ * keyboard.c (gobble_input, handle_user_signal):
+ * process.c (wait_reading_process_output):
+ Call signal-handling code rather than killing ourselves.
+ * lisp.h: Include <float.h>, for...
+ (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication.
+ (pending_signals): Now volatile.
+ (syms_of_data): Now const if IEEE floating point.
+ (handle_input_available_signal) [USABLE_SIGIO]:
+ (terminate_due_to_signal, record_child_status_change): New decls.
+ * process.c (create_process): Avoid disaster if memory is exhausted
+ while we're processing a vfork, by tightening the critical section
+ around the vfork.
+ (send_process_frame, process_sent_to, handle_pipe_signal)
+ (deliver_pipe_signal): Remove. No longer needed, as Emacs now
+ ignores SIGPIPE.
+ (send_process): No need for setjmp/longjmp any more, since the
+ SIGPIPE stuff is now gone. Instead, report an error if errno
+ is EPIPE.
+ (record_child_status_change): Now extern. PID and W are now args.
+ Return void, not bool. All callers changed.
+ * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]:
+ Remove. All uses removed. This bug should be fixed now in a
+ different way.
+ (wait_for_termination_1): Use waitpid rather than sigsuspend,
+ and record the child status change directly. This avoids the
+ need to futz with the signal mask.
+ (process_fatal_action): Move here from emacs.c.
+ (emacs_sigaction_flags): New function, containing
+ much of what used to be in emacs_sigaction_init.
+ (emacs_sigaction_init): Use it. Block nonfatal system signals that are
+ caught by emacs, to make races less likely.
+ (deliver_process_signal): Rename from handle_on_main_thread.
+ All uses changed.
+ (BACKTRACE_LIMIT_MAX): Now at top level.
+ (thread_backtrace_buffer, threadback_backtrace_pointers):
+ New static vars.
+ (deliver_thread_signal, deliver_fatal_thread_signal):
+ New functions, for more-accurate delivery of thread-specific signals.
+ (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c.
+ (deliver_arith_signal): Handle in this thread, not
+ in the main thread, since it's triggered by this thread.
+ (maybe_fatal_sig): New function.
+ (init_signals): New arg DUMPING so that we can be more accurate
+ about whether we're dumping. Caller changed.
+ Treat thread-specific signals differently from process-general signals.
+ Block all signals while handling fatal error; that's safer.
+ xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal
+ on IEEE hosts.
+ When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored.
+ Ignore SIGPIPE unless batch.
+ (emacs_backtrace): Output backtrace for the appropriate thread,
+ which is not necessarily the main thread.
+ * syssignal.h: Include <stdbool.h>.
+ (emacs_raise): New macro.
+ * xterm.c (x_connection_signal): Remove; no longer needed
+ now that we use sigaction.
+ (x_connection_closed): No need to mess with sigmask now.
+ (x_initialize): No need to reset SIGPIPE handler here, since
+ init_signals does this for us now.
+
+2012-09-23 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into,
+ background rect may be larger (Bug#12245).
+
+2012-09-23 Chong Yidong <cyd@gnu.org>
+
+ * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence.
+
+2012-09-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .gdbinit: Just stop at fatal_error_backtrace.
+ See Stefan Monnier's request in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00549.html>.
+ Remove no-longer-used query of system type.
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * search.c (Freplace_match): Doc fix (Bug#12325).
+
+ * minibuf.c (Finternal_complete_buffer): Doc fix (Bug#12391).
+
+ * editfns.c (Fline_beginning_position): Doc fix (Bug#12416).
+ (Fline_end_position): Doc fix.
+
+ * cmds.c (Fforward_char, Fbackward_char): Doc fix (Bug#12414).
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * dispextern.h (struct image_type): Add new slot, storing a type
+ initialization function.
+
+ * image.c (define_image_type): Call the image initializer function
+ if it is defined. Arguments and return value changed.
+ (valid_image_p, make_image): Callers changed.
+ (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
+ (gif_type, imagemagick_type, svg_type, gs_type):
+ Add initialization functions.
+ (Finit_image_library): Call lookup_image_type.
+ (CHECK_LIB_AVAILABLE): Macro deleted.
+ (lookup_image_type): Call define_image_type here, rather than via
+ Finit_image_library, and without using CHECK_LIB_AVAILABLE.
+ (syms_of_image): Move define_image_type calls for xbm_type and
+ pbm_type to lookup_image_type.
+
+2012-09-22 Eli Zaretskii <eliz@gnu.org>
+
+ * keyboard.c (timer_check_2): Move calculation of 'timers' and
+ 'idle_timers' from here ...
+ (timer_check): ... to here. Use Fcopy_sequence to copy the timer
+ lists, to avoid infloops when the timer does something stupid,
+ like reinvoke itself with the same or smaller time-out.
+ (Bug#12447)
+
+2012-09-22 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fsplit_window_internal): Handle only Qt value of
+ Vwindow_combination_limit separately.
+ (Qtemp_buffer_resize): New symbol.
+ (Vwindow_combination_limit): New default value.
+ Rewrite doc-string.
+
+2012-09-22 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (next_overlay_string): Initialize it->end_charpos for
+ the new overlay string. (Bug#10159)
+
+2012-09-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * emacs.c (shut_down_emacs): Don't assume stderr is buffered,
+ or that fprintf is async-signal-safe. POSIX doesn't require
+ either assumption.
+
+2012-09-22 Chong Yidong <cyd@gnu.org>
+
+ * buffer.c (Fset_buffer_modified_p): Handle indirect buffers
+ (Bug#8207).
+
+2012-09-22 Kenichi Handa <handa@gnu.org>
+
+ * composite.c (composition_reseat_it): Handle the case that a
+ grapheme cluster is not covered by a single font (Bug#12352).
+
2012-09-21 Chong Yidong <cyd@gnu.org>
* image.c (define_image_type): Avoid adding duplicate types to
image_types (Bug#12463). Suggested by Jörg Walter.
-2012-09-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+2012-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* unexmacosx.c: Define LC_DATA_IN_CODE if not defined.
(print_load_command_name): Add case LC_DATA_IN_CODE.
(dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data.
-2012-09-18 Glenn Morris <rgm@gnu.org>
+2012-09-21 Glenn Morris <rgm@gnu.org>
* eval.c (Frun_hook_with_args_until_success)
(Frun_hook_with_args_until_failure): Doc fixes. (Bug#12393)
-2012-09-14 Andreas Schwab <schwab@linux-m68k.org>
+2012-09-21 Andreas Schwab <schwab@linux-m68k.org>
* fileio.c (Ffile_selinux_context): Only call freecon when
lgetfilecon succeeded.
(Fset_file_selinux_context): Likewise. (Bug#12444)
-2012-09-12 Eli Zaretskii <eliz@gnu.org>
+2012-09-21 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (try_window_reusing_current_matrix): Under bidi
reordering, locate the cursor by calling set_cursor_from_row; if
(compute_stop_pos_backwards): Fix a typo that caused crashes while
scrolling through multibyte text.
-2012-09-12 Jan Djärv <jan.h.d@swipnet.se>
+2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
- * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so it
- does not become zero (Bug#12234). Backport from trunk.
+ * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after*
+ calling mark_vectorlike since that's the one that marks the window.
+ (mark_discard_killed_buffers): Mark the final cdr.
+ * window.h (struct window): Move prev/next_buffers to the
+ non-standard fields.
+ * window.c (make_window): Initialize prev/next_buffers manually.
+
+2012-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Omit unused arg EXPECTED from socket hooks.
+ * keyboard.c (gobble_input, read_avail_input, tty_read_avail_input):
+ * nsterm.m (ns_term_init):
+ * termhooks.h (struct terminal.read_socket_hook):
+ * w32inevt.c (w32_console_read_socket):
+ * w32term.c (w32_read_socket):
+ * xterm.c (XTread_socket):
+ Omit unused arg EXPECTED. All callers changed.
+ (store_user_signal_events): Return void, not int, since callers no
+ longer care about the return value. All uses changed.
+
+2012-09-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * w32gui.h (XParseGeometry): Do not declare.
+
+2012-09-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0.
+ Ignore 'expected'. See Eli Zaretskii in
+ <http://bugs.gnu.org/12471#8> (last line).
+
+ * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul.
+ (XParseGeometry): Now static. Substitute extremal values for
+ values that are out of range.
+
+2012-09-19 Jan Djärv <jan.h.d@swipnet.se>
+
+ * w32xfns.c (read_integer, XParseGeometry): Move to frame.c.
+
+ * nsfns.m (XParseGeometry): Remove.
+ (Fx_create_frame): Call x_set_offset to correctly interpret
+ top_pos in geometry.
+
+ * frame.c (read_integer, XParseGeometry): Move from w32xfns.c.
+ (Fx_parse_geometry): If there is a space in string, call
+ Qns_parse_geometry, otherwise do as on other terms (Bug#12368).
+
+2012-09-17 Eli Zaretskii <eliz@gnu.org>
+
+ * search.c (scan_buffer): Use character positions in calls to
+ region_cache_forward and region_cache_backward, not byte
+ positions. (Bug#12196)
+
+ * w32term.c (w32_read_socket): Set pending_signals to 1, like
+ xterm.c does. Reported by Daniel Colascione <dancol@dancol.org>.
+
+ * ralloc.c (r_alloc_init) [!SYSTEM_MALLOC]: Initialize
+ __malloc_extra_blocks to 32 instead of 64, like alloc.c did in
+ emacs_blocked_malloc, now deleted.
+
+2012-09-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove no-longer-needed Solaris 2.4 vfork bug workaround.
+ The workaround was for improving performance on Solaris 2.4, but
+ is getting in the way now. Emacs will still work if someone is
+ still running Solaris 2.4 in a museum somewhere; Sun dropped
+ support for Solaris 2.4 in 2003.
+ * callproc.c (Fcall_process) [HAVE_WORKING_VFORK]:
+ * process.c (create_process) [HAVE_WORKING_VFORK]:
+ Omit now-unnecessary workaround for the Solaris 2.4 vfork bug,
+ since Emacs no longer uses vfork on that platform.
+
+2012-09-17 Glenn Morris <rgm@gnu.org>
+
+ * emacs.c: Use COPYRIGHT.
+
+2012-09-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove configure's --without-sync-input option (Bug#12450).
+ When auditing signal-handling in preparation for cleaning it up,
+ I found that SYNC_INPUT has race conditions and would be a real
+ pain to fix. Since it's an undocumented and deprecated
+ configure-time option, now seems like a good time to remove it.
+ Also see <http://bugs.gnu.org/11080#16>.
+ * alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal)
+ (_free_internal) [!DOUG_LEA_MALLOC]: Remove decls.
+ (alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
+ (malloc_hysteresis):
+ (check_depth) [XMALLOC_OVERRUN_CHECK]:
+ (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT):
+ (__malloc_hook, __realloc_hook, __free_hook, BYTES_USED)
+ (dont_register_blocks, bytes_used_when_reconsidered)
+ (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc)
+ (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc):
+ [!SYSTEM_MALLOC && !SYNC_INPUT]:
+ Remove. All uses removed.
+ (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different
+ implementation, one that depends on whether the new macro
+ XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT
+ is defined.
+ * atimer.c (run_timers, handle_alarm_signal):
+ * keyboard.c (pending_signal, poll_for_input_1, poll_for_input)
+ (handle_async_input, process_pending_signals)
+ (handle_input_available_signal, init_keyboard):
+ * nsterm.m (ns_read_socket):
+ * process.c (wait_reading_process_output):
+ * regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK):
+ * sysdep.c (emacs_sigaction_init) [SA_RESTART]:
+ (emacs_write):
+ * xterm.c (XTread_socket):
+ Assume SYNC_INPUT.
+ * conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef.
+ * eval.c (handling_signal): Remove. All uses removed.
+ * lisp.h (ELSE_PENDING_SIGNALS): Remove.
+ All uses replaced with the SYNC_INPUT version.
+ (reset_malloc_hooks, uninterrupt_malloc, handling_signal):
+ Remove decls.
+ * sysdep.c, syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
+ Now static.
+
+ * font.c (Ffont_shape_gstring): Remove unused local.
+
+2012-09-16 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (clean): No longer run nextstep's clean.
+
+ * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
+ (ns_frag): Remove.
+ (ns-app): Move here from ns.mk, and simplify.
+ (clean): Simplify nextstep entry.
+ * ns.mk: Remove file.
+
+2012-09-17 Kenichi Handa <handa@gnu.org>
+
+ * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may
+ not covert the last few charactes.
+
+2012-09-16 Kenichi Handa <handa@gnu.org>
+
+ * font.c (Ffont_shape_gstring): Don't adjust grapheme cluster
+ here, but just check the validity of glyphs in the glyph-string.
+
+2012-09-16 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fwindow_parameter, Fset_window_parameter):
+ Accept any window as argument (Bug#12452).
+
+2012-09-16 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsfns.m (Fx_open_connection): Move initialization of ns_*_types
+ to ns_term_init to avoid memory leak.
+
+ * nsterm.m (ns_update_begin): Initialize bp after lcokFocus, use
+ explicit retain/release.
+ (ns_term_init): Only allow one display. Initialize outerpool and
+ ns_*_types.
+
+2012-09-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port _setjmp fix to POSIXish hosts as well as Microsoft.
+ * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
+ it's needed on POSIXish hosts that lack _setjmp. Attempt to solve
+ the Microsoft problem in a different way, by altering ../nt/config.nt.
+
+2012-09-15 Eli Zaretskii <eliz@gnu.org>
+
+ * w32xfns.c:
+ * w32uniscribe.c:
+ * w32term.c:
+ * w32select.c:
+ * w32reg.c:
+ * w32proc.c:
+ * w32menu.c:
+ * w32inevt.c:
+ * w32heap.c:
+ * w32font.c:
+ * w32fns.c:
+ * w32console.c:
+ * w32.c:
+ * w16select.c: Remove inclusion of setjmp.h, as it is now included
+ by lisp.h. This completes removal of setjmp.h inclusion
+ erroneously announced in the previous commit. (Bug#12446)
+
+ * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary
+ more accurate.
+
+ * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is
+ not defined as a macro. The latter happens on MS-Windows.
+ (Bug#12446)
+
+2012-09-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port better to POSIX hosts lacking _setjmp (Bug#12446).
+ * lisp.h: Include <setjmp.h> here, since we use its symbols here.
+ Some instances of '#include <setjmp.h>' removed, if the
+ only reason for the instance was because "lisp.h" was included.
+ (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
+ Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
+ and _longjmp with the new symbols. Emacs already uses _setjmp if
+ available, so this change affects only POSIXish hosts that have
+ sigsetjmp but not _setjmp, such as some versions of Solaris and
+ Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.)
+ * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
+ (png_load_body) [HAVE_PNG]:
+ (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
+ (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
+ Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
+ since PNG requires jmp_buf. This is the only exception to the
+ general rule that we now use sys_setjmp and sys_longjmp.
+ This exception is OK since this code does not change the signal
+ mask or longjmp out of a signal handler.
+
+2012-09-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
+ Include "syssignal.h", for 'main_thread'.
+
+2012-09-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid out-of-range marker position (Bug#12426).
+ * insdel.c (replace_range, replace_range_2):
+ Adjust markers before overlays, as suggested by comments.
+ (insert_1_both, insert_from_buffer_1, adjust_after_replace):
+ Remove redundant check before calling offset_intervals.
+
+2012-09-14 Martin Rudalics <rudalics@gmx.at>
+
+ * xdisp.c (Fformat_mode_line): Unconditionally save/restore
+ current buffer (Bug#12387).
+
+2012-09-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies.
+
+2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use a more backwards-compatible timer format (Bug#12430).
+ * keyboard.c (decode_timer): Get PSECS from the 8th (origin-0)
+ vector element, not from the 4th, since PSECS is now at the end.
+ (Fcurrent_idle_time): Doc fix.
+
+2012-09-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Function to mark objects and remove killed buffers at once.
+ * alloc.c (discard_killed_buffers): Rename to ...
+ (mark_discard_killed buffers) ... new name. Add marking
+ of remaining objects. Fix comment. Adjust users.
+ (mark_object): Do not touch frame buffer lists here.
+ * frame.c (delete_frame): Reset frame buffer lists here.
+
+2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Better workaround for GNOME bug when --enable-gcc-warnings.
+ * emacsgtkfixed.c (G_STATIC_ASSERT): Remove, undoing last change.
+ Instead, disable -Wunused-local-typedefs. See Dmitry Antipov in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00335.html>.
+
+ Simplify SIGIO usage (Bug#12408).
+ The code that dealt with SIGIO was crufty and confusing, e.g., it
+ played tricks like "#undef SIGIO" but these tricks were not used
+ consistently. Simplify mostly by not #undeffing standard symbols,
+ e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
+ or not as we please) rather than "defined SIGIO" (standard symbol
+ that we probably shouldn't #undef).
+ * conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
+ Modules that need it can include it.
+ [USG5_4 && emacs]: Likewise, do not include the streams stuff here.
+ * dispextern.h (ignore_sigio): New decl.
+ * emacs.c (shut_down_emacs): Invoke unrequest_sigio
+ unconditionally, since it's now a no-op if !USABLE_SIGIO.
+ * emacs.c (shut_down_emacs):
+ * keyboard.c (kbd_buffer_store_event_hold):
+ Use ignore_sigio rather than invoking 'signal' directly.
+ * keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
+ for FIONREAD.
+ (FIONREAD, SIGIO): Do not #undef.
+ (tty_read_avail_input): Use #error rather than a syntax error.
+ * process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
+ for I_PIPE, used by SETUP_SLAVE_PTY.
+ (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
+ * sysdep.c (croak): Remove; no longer needed. This bit of
+ temporary code, with Fred N. Fish's comment that it's temporary,
+ has been in Emacs since at least 1992!
+ (init_sigio, reset_sigio, request_sigio, unrequest_sigio):
+ Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
+ * syssignal.h (croak): Remove decl.
+ (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
+ * systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
+ now that we're termios-only.
+ (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
+ * term.c (dissociate_if_controlling_tty): Use #error rather than
+ a run-time error.
+
+ Work around GCC and GNOME bugs when --enable-gcc-warnings.
+ * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify',
+ to work around GNOME bug 683906.
+ * image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber.
+ (struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp.
+ This works around GCC bug 54561.
+
+2012-09-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ More fixes for 'volatile' and setjmp/longjmp.
+ * eval.c (Fdefvar, Fcondition_case): Remove unnecessary 'volatile's.
+ * image.c (struct png_load_context) [HAVE_PNG]: New type.
+ (png_load_body) [HAVE_PNG]:
+ (jpeg_load_body) [HAVE_JPEG]:
+ New function, with most of the old parent function's body.
+ (png_load) [HAVE_PNG]:
+ (jpeg_load) [HAVE_JPEG]:
+ Invoke the new function, to avoid longjmp munging our locals.
+ (struct my_jpeg_error_mgr) [HAVE_JPEG]: New members cinfo, failure_code.
+ (my_error_exit) [HAVE_JPEG]: Don't trust 'setjmp' to return 2 when
+ longjmp is passed 2, as the C standard doesn't guarantee this.
+ Instead, store the failure code into mgr->failure_code.
+
+2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
+ (Fdiscard_input, quit_throw_to_read_char, init_keyboard)
+ (syms_of_keyboard): Remove support for unread-command-char.
+
+2012-09-12 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (sys_kill): If PID is our process ID and the signal is
+ SIGABRT, call emacs_abort. Avoids silently exiting upon assertion
+ violation. (Bug#12426)
+
+2012-09-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c (jpeg_memory_src): Don't assume string len fits in unsigned.
+
+2012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c: Add `inhibit-debugger'.
+ (Qinhibit_debugger): New symbol.
+ (call_debugger): Bind it instead of Qdebug_on_error.
+ (maybe_call_debugger): Test Vinhibit_debugger.
+ (syms_of_eval): Define inhibit-debugger.
+ * xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
+ (syms_of_xdisp): Remove inhibit-debug-on-message.
+
+2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid _setjmp/_longjmp problems with local nonvolatile variables.
+ If a nonvolatile local variable is written before a _longjmp to
+ the frame containing the variable, and is read after the _longjmp,
+ the value read is indeterminate. Some local variables of type
+ 'struct handler' and 'struct catchtag' are used in this way, so
+ mark each of their slots as volatile if the slot can be set before
+ _longjmp and read afterwards.
+ * lisp.h (struct handler): var and chosen_clause are now volatile.
+ (struct catchtag): val, next, and pdlcount are now volatile.
+
+ * bidi.c (bidi_push_it, bidi_pop_it):
+ * fns.c (copy_hash_table):
+ * image.c (define_image_type):
+ * keyboard.c (kbd_buffer_store_event_hold):
+ * process.c (Fprocess_send_eof):
+ * xfaces.c (x_create_gc) [HAVE_NS]:
+ * xgselect.c (xg_select):
+ Prefer assignment to memcpy when either will do.
+
+ * alloc.c (discard_killed_buffers): Tune and simplify a bit.
+ Use pointer-to-a-pointer to simplify and avoid a NILP check each
+ time an item is removed. No need to mark this function 'inline';
+ the compiler knows better than we do.
+
+2012-09-11 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize.
+ (updateFrameSize:): Add delay parameter to updateFrameSize, send it
+ to change_frame_size (Bug#12388).
+ (windowDidResize:): Pass YES to updateFrameSize.
+
+ * nsterm.h: Add delay parameter to updateFrameSize.
+
+2012-09-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Discard killed buffers from deleted window and frame objects.
+ This reduces an amount of references to killed buffers and
+ helps GC to reclaim them faster.
+ * alloc.c (discard_killed_buffers): New function.
+ (mark_object): Use it for deleted windows and frames.
+ (mark_object): If symbol's value is set up for a killed buffer
+ or deleted frame, restore it's global binding.
+ * data.c (swap_in_global_binding): Add GC notice.
+ (swap_in_symval_forwarding): Use convenient set_blv_where.
+ * window.c (wset_next_buffers, wset_prev_buffers): Move ...
+ * window.h: ... to here.
+
+2012-09-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Convenient macro to check whether the buffer is live.
+ * buffer.h (BUFFER_LIVE_P): New macro.
+ * alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c:
+ * minibuf.c, print.c, process.c, window.c, xdisp.c: Use it.
+
+2012-09-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * xdisp.c (right_overwritten, right_overwriting): Also handle gstring
+ composition cases (Bug#12364).
+
+ * xterm.c (x_draw_glyph_string): Avoid overwriting inverted left
+ overhang of succeeding glyphs overlapping box cursor.
+
+ * w32term.c (x_draw_glyph_string): Likewise.
+
+2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify, document, and port floating-point (Bug#12381).
+ The porting part of this patch fixes bugs on non-IEEE platforms
+ with frexp, ldexp, logb.
+ * data.c, lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
+ Now static.
+ * floatfns.c: Simplify discussion of functions that Emacs doesn't
+ support, by removing commented-out code and briefly listing the
+ C89 functions excluded. The commented-out stuff was confusing
+ maintenance, e.g., we thought we needed cbrt but it was commented out.
+ (logb): Remove decl; no longer needed.
+ (isfinite): New macro, if not already supplied.
+ (isnan): Don't replace any existing macro.
+ (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
+ are present on all C89 platforms.
+ (Ffrexp): Do not special-case zero, as frexp does the right thing
+ for that case.
+ (Flogb): Do not use logb, as it doesn't have the desired meaning
+ on hosts that use non-base-2 floating point. Instead, stick with
+ frexp, which is C89 anyway. Do not pass an infinity or a NaN to
+ frexp, to avoid getting an unspecified result.
+
+ * xdisp.c (Qinhibit_debug_on_message): Now static.
+
+2012-09-10 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_update_begin): Set clip path to whole view by using
+ NSBezierPath (Bug#12131).
+
+2012-09-10 Chong Yidong <cyd@gnu.org>
+
+ * fns.c (Fdelq, Fdelete): Doc fix.
+
+2012-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (XSETINT, XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL)
+ (XSETFLOAT, XSETMISC): Parenthesize macro bodies.
+
+2012-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp.h (make_lisp_ptr): New macro to replace XSET.
+ (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC):
+ Use it.
+
+2012-09-09 Eli Zaretskii <eliz@gnu.org>
+
+ * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the
+ left fringe if the window has a left margin. This avoids leaving
+ traces of the cursor because its leftmost pixel is not drawn over.
+
+ * dispnew.c (update_window_line): When the left margin area of a
+ screen line is updated, set the redraw_fringe_bitmaps_p flag of
+ that screen line. (Bug#12277)
+
+2012-09-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ Assume C89 or later for math functions (Bug#12381).
+ This simplifies the code, and makes it a bit smaller and faster,
+ and (most important) makes it easier to clean up signal handling
+ since we can stop worring about floating-point exceptions in
+ library code. That was a problem before C89, but the problem
+ went away many years ago on all practical Emacs targets.
+ * data.c, image.c, lread.c, print.c:
+ Don't include <math.h>; no longer needed.
+ * data.c, floatfns.c (IEEE_FLOATING_POINT): Don't worry that it
+ might be autoconfigured, as that never happens.
+ * data.c (fmod):
+ * doprnt.c (DBL_MAX_10_EXP):
+ * print.c (DBL_DIG):
+ Remove. C89 or later always defines these.
+ * floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN)
+ (in_float, float_error_arg, float_error_arg2, float_error_fn_name)
+ (arith_error, domain_error, domain_error2):
+ Remove all this pre-C89 cruft. Do not include <errno.h> as that's
+ no longer needed -- we simply return what C returns. All uses removed.
+ (IN_FLOAT, IN_FLOAT2): Remove. All uses replaced with
+ the wrapped code.
+ (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2):
+ Remove. All uses expanded, as these macros are no longer used
+ more than once and are now more trouble than they're worth.
+ (Ftan): Use tan, not sin / cos.
+ (Flogb): Assume C89 frexp.
+ (fmod_float): Assume C89 fmod.
+ (matherr) [HAVE_MATHERR]: Remove; no longer needed.
+ (init_floatfns): Remove. All uses removed.
+
+2012-09-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back
+ compositeToPoint for OSX < 10.6 (Bug#12390).
+
+2012-09-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * floatfns.c (Ftan): Use tan (x), not (sin (x) / cos (x)).
+ This produces more-accurate results.
+
+2012-09-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (updateFrameSize): Call setFrame: on the view when size
+ changes (Bug#12088).
+
+2012-09-08 Chong Yidong <cyd@gnu.org>
+
+ * syntax.c (Fstring_to_syntax): Doc fix.
+
+2012-09-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_clip_to_row): Remove code that deals with drawing fringe
+ in the internal border.
+ (x_set_window_size): Remove static variables and their usage.
+ (ns_redraw_scroll_bars): Fix NSTRACE arg.
+ (ns_after_update_window_line, ns_draw_fringe_bitmap):
+ Remove fringe/internal border adjustment (Bug#11052).
+ (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c).
+ (ns_draw_window_cursor): Remove fringe/internal border adjustment.
+ (ns_fix_rect_ibw): Remove.
+ (ns_get_glyph_string_clip_rect): Remove call to ns_fix_rect_ibw.
+ (ns_dumpglyphs_box_or_relief): Ditto.
+ (ns_maybe_dumpglyphs_background): Remove fringe/internal border
+ adjustment.
+ (ns_dumpglyphs_image): Ditto.
+ (ns_dumpglyphs_stretch): Fix coding style. Remove fringe/internal
+ border adjustment.
+ (ns_set_vertical_scroll_bar): Remove variables barOnVeryLeft/Right and
+ their usage. Add fringe_extended_p and its use as in other terms.
+ (ns_judge_scroll_bars): Code style fix. Call updateFrameSize if
+ scroll bar was removed.
+ (updateFrameSize): New function.
+ (windowDidResize): Move code to updateFrameSize and call it.
+
+ * nsterm.h (EmacsView): Add updateFrameSize.
+
+2012-09-07 Chong Yidong <cyd@gnu.org>
+
+ * textprop.c (Fget_text_property): Minor doc fix (Bug#12323).
+
+ * data.c (Flocal_variable_if_set_p): Doc fix (Bug#10713).
+
+2012-09-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ More signal-handler cleanup (Bug#12327).
+ * emacs.c (main): Convert three 'signal' calls to 'sigaction' calls.
+ Problem introduced when merging patches. Noted by Eli Zaretskii in
+ <http://bugs.gnu.org/12327#67>.
+ * floatfns.c: Comment fix.
+ * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER.
+ SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right,
+ and anyway the declaration is harmless even if SIGDANGER is not defined.
+ * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD ||
+ defined BROKEN_FIONREAD). systty.h formerly did this, but other
+ source files not surprisingly expected syssignal.h to define, or
+ not define, SIGIO, and it's cleaner to do it that way, for consistency.
+ Include <sys/ioctl.h>, for FIONREAD.
+ * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job.
+ This eliminates a problem whereby other files mysteriously had
+ to include "syssignal.h" before including "systty.h" if they
+ wanted to use "#ifdef SIGIO".
+
+2012-09-07 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (sigaction): New function, emulates Posix 'sigaction'.
+
+ * w32.c (sigemptyset): Empty the set.
+ (sigsetmask, sigmask, sigblock, sigunblock): Remove unused functions.
+
+ * alloc.c [ENABLE_CHECKING]: Include signal.h, since we need SIGABRT.
+
+2012-09-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (mark_buffer): Revert unsafe marking optimization.
+ (mark_object): Likewise for frame objects.
+
+2012-09-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * syssignal.h (handle_on_main_thread): Always declare,
+ even if FORWARD_SIGNAL_TO_MAIN_THREAD is not defined.
+ This ports to platforms without HAVE_PTHREAD.
+
+2012-09-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Signal-handler cleanup (Bug#12327).
+ Emacs's signal handlers were written in the old 4.2BSD style with
+ sigblock and sigmask and so forth, and this led to some
+ inefficiencies and confusion. Rewrite these to use
+ pthread_sigmask etc. without copying signal sets around. Also,
+ get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and
+ 'signal', and instead use functions that do not attempt to take
+ over the system name space. This patch causes Emacs's text
+ segment to shrink by 0.7% on my platform, Fedora 17 x86-64.
+ * alloc.c, emacsgtkfixed.c, nsfns.m, widget.c, xmenu.c:
+ Do not include <signal.h> or "syssignal.h", as these
+ modules do not use signals.
+ * atimer.c, callproc.c, data.c, dispnew.c, emacs.c, floatfns.c:
+ * gtkutil.c, keyboard.c, process.c, sound.c, sysdep.c, term.c, xterm.c:
+ Do not include <signal.h>, as "syssignal.h" does that for us now.
+ * atimer.c (sigmask_atimers): New function.
+ (block_atimers, unblock_atimers): New functions,
+ replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS.
+ All uses replaced.
+ * conf_post.h [SIGNAL_H_AHB]: Do not include <signal.h>;
+ no longer needed here.
+ * emacs.c (main): Inspect existing signal handler with sigaction,
+ so that there's no need to block and unblock SIGHUP.
+ * sysdep.c (struct save_signal): New member 'action', replacing
+ old member 'handler'.
+ (save_signal_handlers, restore_signal_handlers):
+ Use sigaction instead of 'signal' to save and restore.
+ (get_set_sighandler, set_sighandler) [!WINDOWSNT]:
+ New function. All users of 'signal' modified to use set_sighandler
+ if they're writeonly, and to use sys_signal if they're read+write.
+ (emacs_sigaction_init, forwarded_signal): New functions.
+ (sys_signal): Remove. All uses replaced by calls to sigaction
+ and emacs_sigaction_init, or by direct calls to 'signal'.
+ (sys_sigmask) [!__GNUC__]: Remove; no longer needed.
+ (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove;
+ all uses replaced by pthread_sigmask etc. calls.
+ * syssignal.h: Include <signal.h>.
+ (emacs_sigaction_init, forwarded_signal): New decls.
+ (SIGMASKTYPE): Remove. All uses replaced by its definiens, sigset_t.
+ (SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask.
+ (sigmask, sys_sigmask): Remove; no longer needed.
+ (sigpause): Remove. All uses replaced by its definiens, sigsuspend.
+ (sigblock, sigunblock, sigfree):
+ (sigsetmask) [!defined sigsetmask]:
+ Remove. All uses replaced by pthread_sigmask.
+ (signal): Remove. Its remaining uses (with SIG_DFL and SIG_IGN)
+ no longer need to be replaced, and its typical old uses
+ are now done via emacs_sigaction_init and sigaction.
+ (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls.
+ (sys_sigdel): Remove; unused.
+ (NSIG): Remove a FIXME; the code's fine. Remove an unnecessary ifdef.
+
+2012-09-06 Eli Zaretskii <eliz@gnu.org>
+
+ * process.c (CAN_HANDLE_MULTIPLE_CHILDREN): Fix a typo that broke
+ SIGCHLD handling on systems that don't have WNOHANG. (Bug#12327)
+
+2012-09-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Explicitly mark buffer_defaults and buffer_local_symbols.
+ * alloc.c (Fgarbage_collect): Mark buffer_defaults and
+ mark_local_symbols here.
+ (mark_object): If GC_CHECK_MARKED_OBJECTS, simplify checking
+ since special buffers aren't marked here any more.
+ (allocate_buffer): Chain new buffer with all_buffers here...
+ * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): ...and
+ not here.
+ (Vbuffer_defaults, Vbuffer_local_symbols): Remove.
+ (syms_of_buffer): Remove staticpro of the above.
+ (init_buffer_once): Set names for buffer_defaults and
+ buffer_local_symbols.
+
+2012-09-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for booleans in font-related modules.
+ * font.c (font_intern_prop, font_style_to_value)
+ (font_style_symbolic, font_parse_xlfd, font_parse_fcname)
+ (generate_otf_features, font_check_otf_features, font_check_otf)
+ (font_match_p, font_list_entities, font_at):
+ * fontset.c (fontset_id_valid_p, reorder_font_vector
+ (fontset_find_font, Fset_fontset_font)
+ (face_suitable_for_char_p) [0]:
+ * ftfont.c (fc_initialized, ftfont_get_open_type_spec)
+ (ftfont_open, ftfont_text_extents, ftfont_check_otf):
+ (m17n_flt_initialized, ftfont_shape_by_flt):
+ * ftxfont.c (ftxfont_draw_bitmap, ftxfont_draw):
+ * nsfont.m (nsfont_draw):
+ * w32font.c (w32font_draw):
+ * w32term.c (x_draw_glyphless_glyph_string_foreground):
+ Use bool for booleans.
+ * font.h: Adjust to above API changes.
+ (struct font, struct font_driver, struct font_driver_list):
+ Use bool for booleans.
+ (struct font): Remove useless member encoding_type.
+ All users removed.
+ * fontset.c, xftfont.c: Omit unnecessary static decls.
+
+2012-09-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (mark_object): Revert window marking code
+ since it's unsafe for the Fset_window_configuration.
+
+2012-09-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix race conditions with signal handlers and errno (Bug#12327).
+ Be more systematic about preserving errno whenever a signal
+ handler returns, even if it's not in the main thread. Do this by
+ renaming signal handlers to distinguish between signal delivery
+ and signal handling. All uses changed.
+ * atimer.c (deliver_alarm_signal): Rename from alarm_signal_handler.
+ * data.c (deliver_arith_signal): Rename from arith_error.
+ * dispnew.c (deliver_window_change_signal): Rename from
+ window_change_signal.
+ * emacs.c (deliver_error_signal): Rename from fatal_error_signal.
+ (deliver_danger_signal) [SIGDANGER]: Rename from memory_warning_signal.
+ * keyboard.c (deliver_input_available_signal): Rename from
+ input_available_signal.
+ (deliver_user_signal): Rename from handle_user_signal.
+ (deliver_interrupt_signal): Rename from interrupt_signal.
+ * process.c (deliver_pipe_signal): Rename from send_process_trap.
+ (deliver_child_signal): Rename from sigchld_handler.
+ * atimer.c (handle_alarm_signal):
+ * data.c (handle_arith_signal):
+ * dispnew.c (handle_window_change_signal):
+ * emacs.c (handle_fatal_signal, handle_danger_signal):
+ * keyboard.c (handle_input_available_signal):
+ * keyboard.c (handle_user_signal, handle_interrupt_signal):
+ * process.c (handle_pipe_signal, handle_child_signal):
+ New functions, with the actual signal-handling code taken from the
+ original respective signal handlers, sans the sporadic attempts to
+ preserve errno, since that's now done by handle_on_main_thread.
+ * atimer.c (alarm_signal_handler): Remove unnecessary decl.
+ * emacs.c, floatfns.c, lisp.h: Remove unused FLOAT_CATCH_SIGKILL cruft.
+ * emacs.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
+ Move to sysdep.c.
+ (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
+ Move initialization of main_thread to sysdep.c's init_signals.
+ * process.c (waitpid) [!WNOHANG]: #define to wait; that's good enough for
+ our usage, and simplifies the mainline code.
+ (record_child_status_change): New static function, as a helper
+ for handle_child_signal, and with most of the old child handler's
+ contents.
+ (CAN_HANDLE_MULTIPLE_CHILDREN): New constant.
+ (handle_child_signal): Use the above.
+ * sysdep.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
+ Moved here from emacs.c.
+ (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it;
+ code moved here from emacs.c's main function.
+ * sysdep.c, syssignal.h (handle_on_main_thread): New function,
+ replacing the old SIGNAL_THREAD_CHECK. All uses changed.
+ This lets callers save and restore errno properly.
+
+2012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Remove redundant or unused things here and there.
+ * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove.
+ * conf_post.h (RE_TRANSLATE): Use char_table_translate.
+ * editfns.c (Fcompare_buffer_substrings): Likewise.
+ * frame.h (struct terminal, struct font_driver_list):
+ Remove redundant declarations.
+ * window.h (Qleft, Qright): Likewise.
+
+2012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not mark objects from deleted buffers, windows and frames.
+ * alloc.c (mark_buffer): Mark just the buffer if it is dead.
+ (mark_object): Likewise for windows and frames.
+
+2012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (valid_lisp_object_p): Treat killed buffers,
+ buffer_defaults and buffer_local_symbols as valid objects.
+ Return special value to denote them.
+
+2012-09-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fileio.c, filelock.c, floatfns.c, fns.c: Use bool for boolean.
+ * fileio.c (auto_saving, auto_save_error_occurred, make_temp_name)
+ (Fexpand_file_name, barf_or_query_if_file_exists, Fcopy_file)
+ (file_name_absolute_p, Fsubstitute_in_file_name):
+ (check_executable, check_writable, Ffile_accessible_directory_p)
+ (Fset_file_selinux_context, Fdefault_file_modes)
+ (Finsert_file_contents, choose_write_coding_system)
+ (Fwrite_region, build_annotations, a_write, e_write)
+ (Fdo_auto_save):
+ * filelock.c (boot_time_initialized, get_boot_time)
+ (get_boot_time_1, lock_file_1, within_one_second):
+ * floatfns.c (in_float):
+ * fns.c (concat, internal_equal, Frequire, base64_encode_1)
+ (base64_decode_1, cmpfn_eql, cmpfn_user_defined)
+ (sweep_weak_table, sweep_weak_hash_tables, secure_hash):
+ * lisp.h (struct Lisp_Hash_Table.cmpfn):
+ * window.c (compare_window_configurations):
+ Use bool for booleans.
+ * fileio.c (auto_saving_dir_umask, auto_saving_mode_bits)
+ (Fdefault_file_modes): Now mode_t, not int, for modes.
+ (Fdo_auto_save): Set a boolean to 1 rather than using ++.
+ (internal_delete_file): Now returns void, not a (boolean) int,
+ since nobody was looking at the return value.
+ * lisp.h, window.h: Adjust to above API changes.
+
+ * xdisp.c (set_message): Simplify and reindent last change.
+
+2012-09-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies.
+
+2012-09-04 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * eval.c (call_debugger): Make the function non-static so that we
+ can call it from set_message.
+
+ * xdisp.c (set_message): Implement the new variable `debug-on-message'.
+ (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'.
+
+2012-09-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Give more-useful info on a fatal error (Bug#12328).
+ * alloc.c [ENABLE_CHECKING]: Do not include <execinfo.h>.
+ (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead
+ of doing the work ourselves.
+ * emacs.c (fatal_error_signal): Let fatal_error_backtrace
+ do most of the work.
+ (fatal_error_backtrace): New function, taken from the guts
+ of the old fatal_error_signal, but with a new option to output
+ a backtrace.
+ (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful
+ info about the signal than just its number.
+ * lisp.h (fatal_error_backtrace, emacs_backtrace): New decls.
+ * sysdep.c: Include <execinfo.h>
+ (emacs_backtrace): New function, taken partly from the previous
+ code of the 'die' function.
+ (emacs_abort): Call fatal_error_backtrace rather than abort.
+
+2012-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lread.c (readevalloop): Call internal-macroexpand-for-load to perform
+ eager (load-time) macro-expansion.
+ * lisp.mk (lisp): Add macroexp.
+
+2012-09-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify redefinition of 'abort' (Bug#12316).
+ Do not try to redefine the 'abort' function. Instead, redo
+ the code so that it calls 'emacs_abort' rather than 'abort'.
+ This removes the need for the NO_ABORT configure-time macro
+ and makes it easier to change the abort code to do a backtrace.
+ * .gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
+ * emacs.c (abort) [!DOS_NT && !NO_ABORT]:
+ Remove; sysdep.c's emacs_abort now takes its place.
+ * lisp.h (emacs_abort): New decl. All calls from Emacs code to
+ 'abort' changed to use 'emacs_abort'.
+ * msdos.c (dos_abort) [defined abort]: Remove; not used.
+ (abort) [!defined abort]: Rename to ...
+ (emacs_abort): ... new name.
+ * sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
+ the place of the old 'abort' in emacs.c.
+ * w32.c, w32fns.c (abort): Do not #undef.
+ * w32.c (emacs_abort): Rename from w32_abort.
+
+2012-09-04 Eli Zaretskii <eliz@gnu.org>
+
+ * w32uniscribe.c (uniscribe_shape): Reverse the sign of
+ offsets[j].dv, since the y axis of the screen coordinates points
+ down, while the y axis of the font definition coordinates points
+ up. This fixes display of Arabic diacritics such as KASRA and
+ KASRATAN. (Bug#11860)
+
+2012-09-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Be more systematic about _setjmp vs setjmp.
+ * alloc.c (test_setjmp, mark_stack):
+ * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]:
+ (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]:
+ (png_load, my_error_exit, jpeg_load):
+ * process.c (send_process_trap, send_process):
+ Uniformly prefer _setjmp and _longjmp to setjmp and longjmp.
+ The underscored versions are up to 30x faster on some hosts.
+ Formerly, the code used setjmp+longjmp sometimes and
+ _setjmp+_longjmp at other times, with no particular reason to
+ prefer setjmp+longjmp.
+
+2012-09-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor problem found by static checking.
+ * buffer.c (Fdelete_all_overlays): Return nil.
+
+2012-09-03 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c (Fdelete_all_overlays): New function.
+
+2012-09-03 Chong Yidong <cyd@gnu.org>
+
+ * gtkutil.c: Add extern decl for Qxft.
+
+2012-09-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * emacs.c, eval.c: Use bool for boolean.
+ * emacs.c (initialized, inhibit_window_system, running_asynch_code):
+ (malloc_using_checking) [DOUG_LEA_MALLOC]:
+ (display_arg) [HAVE_X_WINDOWS || HAVE_NS]:
+ (noninteractive, no_site_lisp, fatal_error_in_progress, argmatch)
+ (main, decode_env_path, Fdaemon_initialized):
+ * eval.c (call_debugger, Finteractive_p, interactive_p):
+ (unwind_to_catch, Fsignal, wants_debugger, skip_debugger)
+ (maybe_call_debugger, Fbacktrace):
+ * process.c (read_process_output, exec_sentinel):
+ Use bool for booleans.
+ * emacs.c (shut_down_emacs): Omit unused boolean argument NO_X.
+ All callers changed.
+ * eval.c (interactive_p): Omit always-true boolean argument
+ EXCLUDE_SUBRS_P. All callers changed.
+ * dispextern.h, lisp.h: Reflect above API changes.
+ * firstfile.c (dummy): Use the address of 'main', whose signature
+ won't change, instead of the address of 'initialize', whose
+ signature just changed from int to bool.
+ * lisp.h (fatal_error_in_progress): New decl of boolean, moved here ...
+ * msdos.c (fatal_error_in_progress): ... from here.
+ * xdisp.c (redisplaying_p): Now a boolean. Set it to 1 instead
+ of incrementing it.
+ (redisplay_internal, unwind_redisplay): Simply clear
+ REDISPLAYING_P when unwinding, instead of saving its previous,
+ always-false value and then restoring it.
+
+ Clean up some extern decls.
+ Mostly, this hoists extern decls out of .c files and into .h files.
+ That way, we're more likely to catch errors if the interfaces change.
+ * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
+ declare xg_mark_data.
+ * dispextern.h (x_frame_parm_handlers):
+ * font.h (Qxft):
+ * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
+ (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
+ (Qultra_bold, Qoblique, Qitalic):
+ Move extern decl here from .c file.
+ * alloc.c (xg_mark_data) [USE_GTK]:
+ * doc.c (Qclosure):
+ * eval.c (Qlexical_binding):
+ * fns.c (time) [!HAVE_UNISTD_H]:
+ * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
+ (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
+ * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
+ * lread.c (Qinternal_interpreter_environment):
+ * minibuf.c (Qbuffer):
+ * process.c (QCfamily, QCfilter):
+ * widget.c (free_frame_faces):
+ * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
+ * xfont.c (x_clear_errors):
+ * xterm.c (x_frame_parm_handlers):
+ Remove now-redundant extern decls.
+ * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
+ * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
+ Now static.
+ * xfaces.c: Remove unnecessary static decls.
+ * xterm.c (updating_frame): Remove decl of nonexistent object.
+
+ * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS)
+ when building globals.h, as the objects that are not built on
+ this host are not needed to compile C files on this host.
+
+2012-09-02 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.h: Remove prototype for x_wm_set_size_hint.
+
+ * frame.h: Add missing prototype for x_wm_set_size_hint.
+
+2012-09-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean.
+ * doc.c (read_bytecode_char, get_doc_string, reread_doc_file)
+ (Fdocumentation, Fdocumentation_property, Fsnarf_documentation)
+ (Fsubstitute_command_keys):
+ * editfns.c (region_limit, find_field, Fconstrain_to_field)
+ (save_excursion_save, save_excursion_restore)
+ (disassemble_lisp_time, decode_time_components, emacs_nmemftime)
+ (format_time_string, general_insert_function)
+ (make_buffer_string, make_buffer_string_both)
+ (Fsubst_char_in_region, Ftranslate_region_internal, Fformat):
+ * insdel.c (check_markers, gap_left, adjust_markers_for_insert)
+ (copy_text, insert_1, insert_1_both, insert_from_string)
+ (insert_from_string_before_markers, insert_from_string_1)
+ (insert_from_buffer, insert_from_buffer_1, replace_range)
+ (replace_range_2, del_range_1, del_range_byte, del_range_both)
+ (del_range_2, modify_region):
+ * intervals.c (intervals_equal, balance_possible_root_interval)
+ (adjust_intervals_for_insertion, merge_properties_sticky)
+ (graft_intervals_into_buffer, lookup_char_property)
+ (adjust_for_invis_intang, set_point_both)
+ (get_property_and_range, compare_string_intervals)
+ (set_intervals_multibyte_1, set_intervals_multibyte):
+ * keyboard.c (decode_timer):
+ Use bool for boolean.
+ * intervals.h, lisp.h, systime.h: Reflect above API changes.
+ * editfns.c (struct info): Use 1-bit unsigned bitfields for booleans.
+
+2012-09-02 Chong Yidong <cyd@gnu.org>
+
+ * keymap.c (push_key_description): Print M-TAB as C-M-i
+ (Bug#11758).
+
+2012-09-02 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (CCL_H, W32FONT_H): New macros.
+ (ATIMER_H, FONT_H, $(BLD)/alloc.$(O), $(BLD)/callproc.$(O))
+ ($(BLD)/editfns.$(O), $(BLD)/ccl.$(O), $(BLD)/chartab.$(O))
+ ($(BLD)/coding.$(O), $(BLD)/sysdep.$(O), $(BLD)/fontset.$(O))
+ ($(BLD)/sysdep.$(O), $(BLD)/w32fns.$(O), $(BLD)/keyboard.$(O))
+ ($(BLD)/w32term.$(O), $(BLD)/w32menu.$(O), $(BLD)/process.$(O))
+ ($(BLD)/w32font.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
+
+2012-09-01 Eli Zaretskii <eliz@gnu.org>
+
+ * w32uniscribe.c (uniscribe_shape): Handle correctly the case of
+ more than one grapheme cluster passed to the shaper: compute the
+ offset adjustment values separately for each cluster. (Bug#11860)
+
+ * image.c: Restore mistakenly removed inclusion of w32.h. Without
+ it, GCC doesn't see prototypes of w32_delayed_load, and complains
+ about implicit conversions from integer to pointer.
+
+2012-09-01 Daniel Colascione <dancol@dancol.org>
+
+ * w32fns.c (x_display_info_for_name): Prevent crash if w32 window
+ system used too early.
+
+2012-09-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Better seed support for (random).
+ * emacs.c (main): Call init_random.
+ * fns.c (Frandom): Set the seed from a string argument, if given.
+ Remove long-obsolete Gentzel cruft.
+ * lisp.h, sysdep.c (seed_random): Now takes address and size, not long.
+ (init_random): New function.
+
+2012-09-01 Daniel Colascione <dancol@dancol.org>
-2012-08-24 Chong Yidong <cyd@gnu.org>
+ * xterm.h: Add header guards. Declare x_menubar_window_to_frame.
+ Remove x_set_frame_alpha, x_bitmap_icon, x_make_frame_visible,
+ x_make_frame_invisible, x_iconify_frame, x_free_frame_resources,
+ x_wm_set_size_hint, x_query_colors, x_real_positions,
+ x_set_menu_bar_lines, x_char_width, x_char_height, x_sync,
+ x_set_tool_bar_lines, x_activate_menubar, and free_frame_menubar,
+ all of which have been moved to common code.
- * Version 24.2 released.
+ * xfaces.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
-2012-08-24 Eli Zaretskii <eliz@gnu.org>
+ * w32xfns.c (x_sync): Correct definition of x_sync (a no-op here)
+ to match header.
+
+ * w32term.h (FRAME_X_WINDOW): Use FRAME_W32_WINDOW instead of
+ directly accessing frame internals.
+
+ * w32font.h: Include font.h. Define syms_of_w32font and
+ globals_of_w32font.
+
+ * process.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
+
+ * nsterm.h: Remove declarations now in frame.h.
+ Define FRAME_X_SCREEN, FRAME_X_VISUAL.
+
+ * menu.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
+
+ * keyboard.h: Declare ignore_mouse_drag_p whenever we have a
+ window system.
+
+ * keyboard.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
+
+ * image.c: Include TERM_HEADER instead of listing all possible
+ window-system headers. Declare Vlibrary_cache when compiling for
+ Windows.
+
+ * gtkutil.h (xg_list_node_): Include xterm.h to pick up needed
+ window system declarations.
+
+ * frame.h: Move common functions here: set_frame_menubar,
+ x_set_window_size, x_sync, x_get_focus_frame,
+ x_set_mouse_position, x_set_mouse_pixel_position,
+ x_make_frame_visible, x_make_frame_invisible, x_iconify_frame,
+ x_char_width, x_char_height, x_pixel_width, x_pixel_height,
+ x_set_frame_alpha, x_set_menu_bar_lines, x_set_tool_bar_lines,
+ x_activate_menubar, x_real_positions, x_bitmap_icon,
+ x_set_menu_bar_lines, free_frame_menubar, x_free_frame_resources,
+ and x_query_colors.
+
+ * frame.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
+
+ * font.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
+
+ * emacs.c: Include TERM_HEADER.
+
+ * dispnew.c: Include TERM_HEADER instead of listing all possible
+ window-system headers.
+
+ * ccl.h: Include character.h.
+
+ * Makefile.in: Define WINDOW_SYSTEM_OBJ to hold objects needed for
+ the current window system; include in list of objects to link into
+ Emacs.
+
+2012-08-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Remove mark_ttys function and fix tty_display_info initialization.
+ * lisp.h (mark_ttys): Remove prototype.
+ * alloc.c (Fgarbage_collect): Remove redundant (and the only) call
+ to mark_ttys because all possible values of 'top_frame' slot are
+ the frames which are reachable from Vframe_list.
+ * term.c (mark_ttys): Remove.
+ (init_tty): Safely initialize 'top_frame' slot with Qnil.
+
+2012-08-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Change struct frame bitfields from unsigned char to unsigned.
+ * frame.h (struct frame): Change type of 'display_preempted',
+ 'visible', 'iconified', 'has_minibuffer', 'wants_modeline',
+ 'auto_raise', 'auto_lower', 'no_split', 'explicit_name',
+ 'window_sizes_changed', 'mouse_moved' and 'pointer_invisible'
+ bitfields from unsigned char to unsigned.
+
+2012-08-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Remove unused member of struct x_output and struct w32_output.
+ * xterm.h (struct x_output): Remove unused field 'needs_exposure'.
+ * w32term.h (struct w32_output): Likewise.
+
+2012-08-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so it
+ does not become zero (Bug#12234).
+
+2012-08-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * dispnew.c (update_frame_1): Pacify gcc -Wstrict-overflow
+ for GCC 4.7.1 x86-64.
+
+2012-08-30 Glenn Morris <rgm@gnu.org>
+
+ * lread.c (init_lread): For out-of-tree builds, only add the
+ source directory's site-lisp dir to the load-path if it exists,
+ consistent with in-tree builds. (Bug#12302)
+
+2012-08-28 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize
+ button_values to NULL. Call setStykeMask so dialogs get a close button.
+ (windowShouldClose:): Set window_closed.
+ (dealloc): New member, free button_values.
+ (process_dialog:): Make member function. Remove window argument,
+ replace window with self. Count buttons and allocate and store values
+ in button_values.
+ (addButton:value:row:): value is int with the name tag. Call setTag
+ with tag. Remove return self, declare return value as void.
+ (addString:row:): Remove return self, declare return value as void.
+ (addSplit): Remove return self, declare return value as void.
+ (clicked:): Remove return self, declare return value as void.
+ Set dialog_return to button_values[seltag]. Code formatting change.
+ (initFromContents:isQuestion:): Adjust call to process_dialog.
+ Code formatting change.
+ (timeout_handler:): Set timer_fired to YES.
+ (runDialogAt:): Set timer_fired to NO.
+ Handle click on close button as quit.
+
+ * nsterm.h (EmacsDialogPanel): Make timer_fired BOOL.
+ Add window_closed and button_values. Add void as return value for
+ add(Button|String|Split). addButton takes int instead of Lisp_Object.
+ Add process_dialog as new member.
+
+2012-08-28 Eli Zaretskii <eliz@gnu.org>
* ralloc.c (free_bloc): Don't dereference a 'heap' structure if it
is not one of the heaps we manage. (Bug#12242)
-2012-08-14 Glenn Morris <rgm@gnu.org>
+2012-08-28 Glenn Morris <rgm@gnu.org>
* eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747)
-2012-08-14 Ulrich Mueller <ulm@gentoo.org>
+2012-08-28 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fset_window_configuration): Remove handling of
+ auto-buffer-name window parameter. Install revision of reverted
+ fix.
+
+2012-08-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not allow to set major mode for a dead buffer.
+ * buffer.c (Fset_buffer_major_mode): Signal an error
+ if the buffer is dead.
+ (Fother_buffer, other_buffer_safely): Remove redundant
+ nested declaration.
+
+2012-08-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Always use set_buffer_if_live to restore original buffer at unwind.
+ * buffer.h (record_unwind_current_buffer): New function.
+ * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c:
+ * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c:
+ * undo.c, window.c: Adjust users.
+ * buffer.c (set_buffer_if_live): Fix comment.
+
+2012-08-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix usage of set_buffer_internal.
+ * buffer.h (set_buffer_internal): Make it BUFFER_INLINE.
+ * buffer.c (set_buffer_if_live): Use set_buffer_internal.
+ * coding.c (decode_coding): Omit redundant test.
+ * fileio.c (decide_coding_unwind): Likewise.
+ * fns.c (secure_hash): Likewise.
+ * insdel.c (modify_region): Likewise.
+ * keyboard.c (command_loop_1): Likewise.
+ * print.c (PRINTFINISH): Likewise.
+ * xdisp.c (run_window_scroll_functions): Use set_buffer_internal.
+
+2012-08-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * dispnew.c: Use bool for boolean.
+ (frame_garbaged, display_completed, delayed_size_change)
+ (fonts_changed_p, add_window_display_history)
+ (add_frame_display_history, verify_row_hash)
+ (adjust_glyph_matrix, clear_window_matrices, glyph_row_slice_p)
+ (row_equal_p, realloc_glyph_pool)
+ (allocate_matrices_for_frame_redisplay)
+ (showing_window_margins_p)
+ (adjust_frame_glyphs_for_frame_redisplay)
+ (build_frame_matrix_from_leaf_window, make_current)
+ (mirrored_line_dance, mirror_line_dance, update_frame)
+ (update_window_tree, update_single_window)
+ (check_current_matrix_flags, update_window, update_text_area)
+ (update_window_line, set_window_update_flags, scrolling_window)
+ (update_frame_1, scrolling, buffer_posn_from_coords)
+ (do_pending_window_change, change_frame_size)
+ (change_frame_size_1, sit_for):
+ Use bool for boolean.
+ (clear_glyph_matrix_rows): Rename from enable_glyph_matrix_rows,
+ and remove last int (actually boolean) argument, which was always 0.
+ All callers changed.
+ * dispextern.h, frame.h, lisp.h: Reflect above API changes.
+ * dispextern.h (struct composition_it): Use bool for boolean.
+ (struct glyph_matrix): Don't assume buffer sizes can fit in 'int'.
+ (struct bidi_it): Use unsigned:1, not int, for boolean prev_was_pdf.
+ * dired.c (file_name_completion):
+ Use bool for boolean. (This was missed in an earlier change.)
+
+2012-08-27 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fset_window_configuration): Revert first part of
+ last change.
+
+2012-08-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.h (NSPanel): New class variable dialog_return.
+
+ * nsmenu.m (initWithContentRect:styleMask:backing:defer:):
+ Initialize dialog_return.
+ (windowShouldClose:): Use stop instead of stopModalWithCode.
+ (clicked:): Ditto, and also set dialog_return (Bug#12258).
+ (timeout_handler:): Use stop instead of abortModal. Send a dummy
+ event.
+ (runDialogAt:): Make ret Lisp_Object. Set it from dialog_return when
+ modal loop returns.
+
+2012-08-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans.
+ * composite.c (find_composition, composition_gstring_p)
+ (composition_reseat_it, find_automatic_composition):
+ * data.c (let_shadows_buffer_binding_p)
+ (let_shadows_global_binding_p, set_internal, make_blv)
+ (Fmake_variable_buffer_local, Fmake_local_variable)
+ (Fmake_variable_frame_local, arithcompare, cons_to_unsigned)
+ (cons_to_signed, arith_driver):
+ * dbusbind.c (xd_in_read_queued_messages):
+ * dired.c (directory_files_internal, file_name_completion):
+ Use bool for booleans.
+ * dired.c (file_name_completion):
+ * process.h (fd_callback):
+ Omit int (actually boolean) argument. It wasn't being used.
+ All uses changed.
+ * composite.h, lisp.h: Reflect above API changes.
+
+ * cmds.c, coding.c: Use bool for booleans.
+ * cmds.c (move_point, Fself_insert_command):
+ * coding.h (struct composition status, struct coding_system):
+ * coding.c (detect_coding_utf_8, encode_coding_utf_8)
+ (detect_coding_utf_16, encode_coding_utf_16, detect_coding_emacs_mule)
+ (emacs_mule_char, decode_coding_emacs_mule)
+ (encode_coding_emacs_mule, detect_coding_iso_2022)
+ (decode_coding_iso_2022, encode_invocation_designation)
+ (encode_designation_at_bol, encode_coding_iso_2022)
+ (detect_coding_sjis, detect_coding_big5, decode_coding_sjis)
+ (decode_coding_big5, encode_coding_sjis, encode_coding_big5)
+ (detect_coding_ccl, encode_coding_ccl, decode_coding_raw_text)
+ (encode_coding_raw_text, detect_coding_charset)
+ (decode_coding_charset, encode_coding_charset, detect_eol)
+ (detect_coding, get_translation_table, produce_chars)
+ (consume_chars, reused_workbuf_in_use)
+ (make_conversion_work_buffer, code_conversion_save)
+ (decode_coding_object, encode_coding_object)
+ (detect_coding_system, char_encodable_p)
+ (Funencodable_char_position, code_convert_region)
+ (code_convert_string, code_convert_string_norecord)
+ (Fset_coding_system_priority):
+ * fileio.c (Finsert_file_contents):
+ Use bool for booleans.
+ * coding.h, lisp.h: Reflect above API changes.
+ * coding.c: Remove unnecessary static function decls.
+ (detect_coding): Use unsigned, not signed, to copy an unsigned field.
+ (decode_coding, encode_coding, decode_coding_gap): Return 'void',
+ not a boolean 'int', since callers never look at the return value.
+ (ALLOC_CONVERSION_WORK_AREA): Assume caller returns 'void', not 'int'.
+ * coding.h (decoding_buffer_size, encoding_buffer_size)
+ (emacs_mule_string_char): Remove unused extern decls.
+ (struct iso_2022_spec, struct coding_system):
+ Use 'unsigned int : 1' for boolean fields, since there's more than one.
+ (struct emacs_mule_spec): Remove unused field 'full_support'.
+ All initializations removed.
+ * cmds.c (internal_self_insert): Don't assume EMACS_INT fits in 'int'.
+
+2012-08-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix spare memory change (Bug#12286).
+ * alloc.c (mark_maybe_pointer): Handle MEM_TYPE_SPARE.
+ (valid_lisp_object_p): Likewise.
+
+2012-08-27 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fset_window_configuration): Record any window's old
+ buffer if it's replaced (see Bug#8789). If the new current
+ buffer doesn't appear in the selected window, go to its old
+ point (Bug#12208).
+
+2012-08-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Special MEM_TYPE_SPARE to denote reserved memory.
+ * alloc.c (enum mem_type): New memory type.
+ (refill_memory_reserve): Use new type for spare memory.
+ This prevents live_cons_p and live_string_p from incorrect
+ detection of uninitialized objects from spare memory as live.
+
+2012-08-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Spelling fixes.
+ * Makefile.in (.PHONY): versioclean -> versionclean.
- * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long
- (Bug#11712).
+ Remove unused external symbols.
+ * data.c (Qcons, Qfloat, Qmisc, Qstring, Qvector):
+ * window.c (Qwindow_valid_p, decode_valid_window):
+ Now static, not extern.
+ * data.c (Qinterval): Remove; unused.
+ (syms_of_data): Do not define 'interval'.
+ * lisp.h (Qinteger, Qstring, Qmisc, Qvector, Qfloat, Qcons):
+ * window.h (decode_valid_window):
+ Remove decls.
-2012-08-13 Eli Zaretskii <eliz@gnu.org>
+ * character.c, charset.c, chartab.c: Use bool for booleans.
+ * character.c (lisp_string_width, string_count_byte8)
+ (string_escape_byte8):
+ * charset.c (charset_map_loaded, load_charset_map, read_hex):
+ (load_charset_map_from_file, map_charset_chars)
+ (Fdefine_charset_internal, define_charset_internal)
+ (Fdeclare_equiv_charset, find_charsets_in_text)
+ (Ffind_charset_region, char_charset, Fiso_charset):
+ * chartab.c (sub_char_table_ref, sub_char_table_ref_and_range)
+ (sub_char_table_set, sub_char_table_set_range)
+ (char_table_set_range, optimize_sub_char_table)
+ (map_sub_char_table):
+ Use bool for boolean.
+ * character.c (str_to_unibyte): Omit last boolean argument; it was
+ always 0. All callers changed.
+ * character.h, charset.h: Adjust to match previous changes.
+ * character.h (char_printable_p): Remove decl of nonexistent function.
+ * charset.h (struct charset): Members code_linear_p, iso_chars_96,
+ ascii_compatible_p, supplementary_p, compact_codes_p, unified_p
+ are all boolean, so make them single-bit bitfields.
+
+ * lisp.h (ASET): Remove attempt to detect side effects.
+ It was meant to be temporary and it often doesn't work,
+ because when IDX has side effects the behavior of IDX==IDX
+ is undefined. See Stefan Monnier in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00762.html>.
+
+2012-08-26 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
+
+ * lisp.h (functionp): New function (extracted from Ffunctionp).
+ (FUNCTIONP): Use it.
+ * eval.c (Ffunctionp): Use it.
+
+2012-08-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xgselect.c (xg_select): Use auto storage for the GPollFD buffer
+ as that's faster and simpler than static storage. Don't bother
+ with the g_main_context_query overhead if g_main_context_pending
+ says no events are pending.
+ (gfds, gfds_size): Remove these static vars.
+ (xgselect_initialize): Remove; no longer needed.
+ All uses and decls removed.
+
+ * emacs.c (fatal_error_signal_hook): Remove.
+ All uses removed. This leftover from old code was always 0.
+
+ * casefiddle.c, casetab.c, category.c: Use bool for boolean.
+ * casefiddle.c (casify_object, casify_region):
+ * casetab.c (set_case_table):
+ * category.c, category.h (word_boundary_p):
+ * category.h (CHAR_HAS_CATEGORY):
+ Use bool for booleans, instead of int.
+
+2012-08-25 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h.
+
+2012-08-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ On assertion failure, print backtrace if available.
+ * alloc.c [ENABLE_CHECKING]: Include <execinfo.h>.
+ (die) [ENABLE_CHECKING]: Print a backtrace if available.
+ * Makefile.in (LIB_EXECINFO): New macro.
+ (LIBES): Use it.
- * 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.
+ * bytecode.c, callint.c, callproc.c: Use bool for boolean.
+ * bytecode.c (exec_byte_code):
+ * callint.c (check_mark, Fcall_interactively):
+ * callproc.c (Fcall_process, add_env, child_setup, getenv_internal_1)
+ (getenv_internal, sync_process_alive, call_process_exited):
+ * lisp.h (USE_SAFE_ALLOCA):
+ Use bool for booleans, instead of int.
+ * lisp.h, process.h: Adjust prototypes to match above changes.
+ * callint.c (Fcall_interactively): Don't assume the mark's
+ offset fits in 'int'.
+
+2012-08-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.c, buffer.h: Use bool for boolean.
+ * buffer.c (reset_buffer_local_variables)
+ (buffer_lisp_local_variables, Fset_buffer_modified_p)
+ (Frestore_buffer_modified_p, Fset_buffer_multibyte):
+ (overlays_at, overlays_in, mouse_face_overlay_overlaps)
+ (overlay_touches_p, overlay_strings, Foverlay_put)
+ (report_overlay_modification, call_overlay_mod_hooks):
+ (mmap_enlarge, mmap_set_vars):
+ * buffer.h (buffer_has_overlays, uppercasep, lowercasep):
+ Use bool for booleans, instead of int.
+ * buffer.c (compact_buffer, mmap_free_1): Return void, not int,
+ since the 1-or-0 return value is always ignored anyway.
+ (mmap_initialized_p):
+ * buffer.h (struct buffer_text.inhibit_shrinking): Now bool, not int.
+ * buffer.h, lisp.h: Adjust prototypes to match above changes.
+
+2012-08-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bidi.c: Use bool for boolean.
+ This is a bit more readable, and makes the text segment of bidi.o
+ 0.4% smaller on my platform (GCC 4.7.1 x86-64, Fedora 15).
+ Presumably it's faster too.
+ (bidi_initialized, bidi_ignore_explicit_marks_for_paragraph_level):
+ Now bool.
+ (bidi_cache_find_level_change, bidi_cache_iterator_state)
+ (bidi_unshelve_cache, bidi_init_it, bidi_count_bytes)
+ (bidi_char_at_pos, bidi_fetch_char, bidi_paragraph_init)
+ (bidi_explicit_dir_char, bidi_level_of_next_char)
+ (bidi_find_other_level_edge, bidi_move_to_visually_next):
+ Use bool for booleans, instead of int.
+ * dispextern.h (bidi_init_it, bidi_paragraph_init)
+ (bidi_unshelve_cache): Adjust decls to match code.
- * makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h.
+2012-08-23 Martin Rudalics <rudalics@gmx.at>
- * window.c (Fdelete_other_windows_internal)
- (Fdelete_window_internal): Don't access frame's mouse highlight
- info of the initial frame. (Bug#11677)
+ * keyboard.c (Fposn_at_x_y): Do not allow internal window as
+ argument.
+
+2012-08-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean.
+ * atimer.h: Include <stdbool.h>.
+
+2012-08-22 Dan Nicolaescu <dann@gnu.org>
+
+ * frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_NS_P): Change to
+ compile time tests instead of run time tests on systems that do
+ not use them.
+ (FRAME_MAC_P): Remove leftover from deleted code.
+ * frame.c (syms_of_frame): Remove leftover from deleted code.
+
+2012-08-22 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (insertText:): Don't clear modifiers if code is space.
+
+2012-08-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fontset.c (FONTSET_ADD): Return void, not Lisp_Object.
+ Otherwise, the compiler complains about (A?B:C) where B is void
+ and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12.
+ (fontset_add): Return void, for FONTSET_ADD.
+
+2012-08-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c: Use bool for booleans.
+ (gc_in_progress, abort_on_gc)
+ (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
+ (dont_register_blocks) [GC_MALLOC_CHECK]:
+ (suppress_checking) [ENABLE_CHECKING]: Now bool, not int.
+ (check_string_bytes, make_specified_string, memory_full)
+ (live_string_p, live_cons_p, live_symbol_p, live_float_p)
+ (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object)
+ (mark_stack, valid_pointer_p, make_pure_string)
+ (Fgarbage_collect, survives_gc_p, gc_sweep):
+ Use bool for booleans, instead of int.
+ (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
+ Remove unused local.
+ * alloc.c (PURE_POINTER_P):
+ * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean.
+ * editfns.c (Fformat):
+ * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name)
+ (Fdo_auto_save):
+ * fns.c (sweep_weak_table):
+ * lisp.h (suppress_checking, push_message, survives_gc_p)
+ (make_pure_string, gc_in_progress, abort_on_gc):
+ * lread.c (readchar, read1):
+ * print.c (Fprin1_to_string):
+ * xdisp.c (push_message):
+ Use bool for booleans affected directly or indirectly by
+ alloc.c's changes.
+
+ Make recently-introduced setters macros.
+ * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii)
+ (set_fontset_base, set_fontset_frame, set_fontset_nofont_face)
+ (set_fontset_default, set_fontset_fallback): Rename from their
+ upper-case counterparts, and make them functions rather than macros.
+ This is more consistent with the other recently-introduced setters.
+ These don't need to be inline, since they're local.
+
+2012-08-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in
+ the loop (Bug#12247).
+
+2012-08-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (vcopy): Use memcpy rather than our own loop.
+ This fixes a performance regression introduced by the recent
+ addition of vcopy. This means 'vcopy' will need to be modified
+ for a copying collector, but that's OK. Also, tighten the
+ checking in the assertion.
+
+2012-08-21 Eli Zaretskii <eliz@gnu.org>
+
+ * w32uniscribe.c (uniscribe_shape): Fix producing gstring
+ components for RTL text (Bug#11860). Adjust X-OFFSET of each
+ non-base glyph for the width of the base character, according to
+ what x_draw_composite_glyph_string_foreground expects.
+ Generate WADJUST value according to composition_gstring_width's
+ expectations, to produce correct width of the composed character.
+ Reverse the sign of the DU offset produced by ScriptPlace.
+
+2012-08-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * dbusbind.c (xd_remove_watch): Do not assume C99 comments.
+
+2012-08-21 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid direct writes to contents member of struct Lisp_Vector.
+ * lisp.h (vcopy): New function to copy data into vector.
+ * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET.
+ * fns.c (Ffillarray): Use ASET.
+ * keyboard.c (timer_check_2): Use AREF and ASET.
+ (append_tool_bar_item, Frecent_keys): Use vcopy.
+ * lread.c (read_vector): Use ASET.
+ * msdos.c (Frecent_doskeys): Use vcopy.
+ * xface.c (Finternal_copy_lisp_face): Use vcopy.
+ (Finternal_merge_in_global_face): Use ASET and vcopy.
+ * xfont.c (xfont_list_pattern): Likewise.
+
+2012-08-21 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fwindow_point): For the selected window always return
+ the position of its buffer's point.
+ (Fset_window_point): For the selected window always go in its
+ buffer to the specified position.
+
+2012-08-21 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Setter macros for fontsets.
+ * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII)
+ (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE)
+ (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros.
+ Adjust users.
+
+2012-08-20 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
+ Don't assume that `ln -f' works.
+
+2012-08-20 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5
+ and later about non-assignments with no effect. See discussion at
+ http://sourceware.org/ml/gdb-patches/2012-08/msg00518.html for
+ details.
+
+2012-08-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Inline setter functions for Lisp_Objects slots of struct specbinding.
+ * eval.c (set_specpdl_symbol, set_specpdl_old_value): New functions.
+ Adjust users.
+
+2012-08-20 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (select_window): Always make selected window's buffer
+ current.
+
+2012-08-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use AREF and ASET for docstrings of category tables.
+ * category.h (CATEGORY_DOCSTRING): Use AREF.
+ (SET_CATEGORY_DOCSTRING): Use ASET.
+ * category.c (Fdefine_category): Use SET_CATEGORY_DOCSTRING.
+
+2012-08-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Inline setter functions for hash table members.
+ * lisp.h (set_hash_key, set_hash_value, set_hash_next)
+ (set_hash_hash, set_hash_index): Rename with _slot suffix.
+ (set_hash_key_and_value, set_hash_index, set_hash_next)
+ (set_hash_hash): New functions.
+ * charset.c, fns.c: Adjust users.
+
+2012-08-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Inline getter and setter functions for per-buffer values.
+ * buffer.h (per_buffer_default, set_per_buffer_default)
+ (per_buffer_value, set_per_buffer_value): New functions.
+ (PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove.
+ * buffer.c, data.c: Adjust users.
+
+2012-08-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/vm-limit.$(O)): Update dependencies.
+
+2012-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ Rely on <config.h> + <unistd.h> to declare 'environ',
+ as gnulib does this if the system doesn't.
+ * callproc.c, editfns.c, process.c (environ) [!USE_CRT_DLL]:
+ Remove declaration. MS-Windows declares it on stdlib.h which is
+ included by conf_post.h.
+ * emacs.c (environ) [DOUG_LEA_MALLOC]:
+ * vm-limit.c (environ) [ORDINARY_LINK]: Remove decl.
+ * vm-limit.c: Include <unistd.h>, for 'environ'.
+
+ * unexaix.c, unexcoff.c: Include "mem-limits.h".
+ (start_of_data): Remove decl; mem-limits.h provides it.
+
+ * xdisp.c (handle_invisible_prop): Make it a bit faster
+ and avoid a gcc -Wmaybe-uninitialized diagnostic.
+
+2012-08-19 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (handle_invisible_prop): Fix ellipses at overlay string
+ ends (Bug#3874).
+
+2012-08-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * .gdbinit: Use call instead of set when calling a function in the
+ inferior.
+
+ * data.c (set_internal): Don't use set_blv_found.
+ (Fkill_local_variable): Likewise.
+
+2012-08-18 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * nsfont.m (ns_ascii_average_width): Ensure the string
+ ascii_printable is initialized with a null-terminated character
+ array. Otherwise, it can contain undesired extra characters.
+
+2012-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ port new setting code to Sun C 5.8 2005/10/13
+ * chartab.c, lisp.h (char_table_set, char_table_set_range):
+ Return void, not Lisp_Object. Otherwise, the compiler
+ complains about (A?B:C) where B is void and C is Lisp_Object
+ when compiling CHAR_TABLE_SET, due to the recent change to
+ the API of sub_char_table_set_contents.
+
+2012-08-18 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (handle_invisible_prop): Obey TEXT_PROP_MEANS_INVISIBLE
+ for the string case (Bug#3874).
+
+2012-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.h (BSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ (bset_bidi_paragraph_direction, bset_case_canon_table)
+ (bset_case_eqv_table, bset_directory, bset_display_count)
+ (bset_display_time, bset_downcase_table)
+ (bset_enable_multibyte_characters, bset_filename, bset_keymap)
+ (bset_last_selected_window, bset_local_var_alist)
+ (bset_mark_active, bset_point_before_scroll, bset_read_only)
+ (bset_truncate_lines, bset_undo_list, bset_upcase_table)
+ (bset_width_table):
+ * buffer.c (bset_abbrev_mode, bset_abbrev_table)
+ (bset_auto_fill_function, bset_auto_save_file_format)
+ (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
+ (bset_bidi_display_reordering, bset_buffer_file_coding_system)
+ (bset_cache_long_line_scans, bset_case_fold_search)
+ (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
+ (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
+ (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
+ (bset_fringe_indicator_alist, bset_fringes_outside_margins)
+ (bset_header_line_format, bset_indicate_buffer_boundaries)
+ (bset_indicate_empty_lines, bset_invisibility_spec)
+ (bset_left_fringe_width, bset_major_mode, bset_mark)
+ (bset_minor_modes, bset_mode_line_format, bset_mode_name)
+ (bset_name, bset_overwrite_mode, bset_pt_marker)
+ (bset_right_fringe_width, bset_save_length)
+ (bset_scroll_bar_width, bset_scroll_down_aggressively)
+ (bset_scroll_up_aggressively, bset_selective_display)
+ (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
+ (bset_word_wrap, bset_zv_marker):
+ * category.c (bset_category_table):
+ * syntax.c (bset_syntax_table):
+ New setter functions.
+
+ * process.h (PSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (PROCESS_INLINE): New macro.
+ (pset_childp): New setter function.
+ (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function.
+ * process.c (PROCESS_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (pset_buffer, pset_command, pset_decode_coding_system)
+ (pset_decoding_buf, pset_encode_coding_system)
+ (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name)
+ (pset_plist, pset_sentinel, pset_status, pset_tty_name)
+ (pset_type, pset_write_queue): New setter functions.
+
+ * window.h (WSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (WINDOW_INLINE): New macro.
+ (wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev)
+ (wset_redisplay_end_trigger, wset_top_line, wset_total_cols)
+ (wset_total_lines, wset_vertical_scroll_bar)
+ (wset_window_end_pos, wset_window_end_valid)
+ (wset_window_end_vpos): New setter functions.
+ * window.c (WINDOW_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (wset_combination_limit, wset_dedicated, wset_display_table)
+ (wset_hchild, wset_left_fringe_width, wset_left_margin_cols)
+ (wset_new_normal, wset_new_total, wset_next_buffers)
+ (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
+ (wset_prev_buffers, wset_right_fringe_width)
+ (wset_right_margin_cols, wset_scroll_bar_width, wset_start)
+ (wset_temslot, wset_vchild, wset_vertical_scroll_bar_type)
+ (wset_window_parameters):
+ * xdisp.c (wset_base_line_number, wset_base_line_pos)
+ (wset_column_number_displayed, wset_region_showing):
+ New setter functions.
+
+ * termhooks.h (TSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (TERMHOOKS_INLINE): New macro.
+ (tset_charset_list, tset_selection_alist): New setter functions.
+ * terminal.c (TERMHOOKS_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (tset_param_alist): New setter function.
+
+2012-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.h (KSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (KEYBOARD_INLINE): New macro.
+ (kset_default_minibuffer_frame, kset_defining_kbd_macro)
+ (kset_input_decode_map, kset_last_command, kset_last_kbd_macro)
+ (kset_prefix_arg, kset_system_key_alist, kset_window_system):
+ New setter functions.
+ * keyboard.c (KEYBOARD_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (kset_echo_string, kset_kbd_queue)
+ (kset_keyboard_translate_table, kset_last_prefix_arg)
+ (kset_last_repeatable_command, kset_local_function_key_map)
+ (kset_overriding_terminal_local_map, kset_real_last_command)
+ (kset_system_key_syms): New setter functions.
+
+ * frame.h (FSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (FRAME_INLINE): New macro.
+ (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
+ (fset_current_tool_bar_string, fset_desired_tool_bar_string)
+ (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
+ (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
+ (fset_param_alist, fset_root_window, fset_scroll_bars)
+ (fset_selected_window, fset_title, fset_tool_bar_items)
+ (fset_tool_bar_position, fset_tool_bar_window): New functions.
+ * frame.c (FRAME_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
+
+ A few more naming-convention fixes for getters and setters.
+ * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
+ and rename from buffer_overlays_set_before.
+ (set_buffer_overlays_after): Move here from buffer.h, and rename
+ from buffer_overlays_set_after.
+ * buffer.h (buffer_intervals): Rename from buffer_get_intervals.
+ All uses changed.
+ (set_buffer_intervals): Rename from buffer_set_intervals.
+ * intervals.c (set_interval_object): Move here from intervals.h,
+ and rename from interval_set_object.
+ (set_interval_left): Move here from intervals.h, and rename from
+ interval_set_left.
+ (set_interval_right): Move here from intervals.h, and rename from
+ interval_set_right.
+ (copy_interval_parent): Move here from intervals.h, and rename from
+ interval_copy_parent.
+ * intervals.h (set_interval_parent): Rename from interval_set_parent.
+ (set_interval_plist): Rename from interval_set_plist.
+ Return void, not Lisp_Object, since no caller uses the result.
+ * lisp.h (string_intervals): Rename from string_get_intervals.
+ (set_string_intervals): Rename from string_set_intervals.
+
+ * lisp.h (set_char_table_extras): Rename from char_table_set_extras.
+ (set_char_table_contents): Rename from char_table_set_contents.
+ (set_sub_char_table_contents): Rename from sub_char_table_set_contents.
+ All uses changed. See the end of
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00549.html>.
+
+ * lisp.h (CSET): Remove (Bug#12215).
+ (set_char_table_ascii, set_char_table_defalt, set_char_table_parent)
+ (set_char_table_purpose): New functions,
+ replacing CSET. All uses changed. For example, replace
+ "CSET (XCHAR_TABLE (char_table), parent, parent);" with
+ "set_char_table_parent (char_table, parent);".
+ The old version was confusing because it used the same name
+ 'parent' for two different things.
+
+2012-08-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Functions to get and set Lisp_Object fields of buffer-local variables.
+ * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value)
+ (set_blv_where, set_blv_defcell, set_blv_valcell): New functions.
+ (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove.
+ * data.c, eval.c, frame.c: Adjust users.
+
+2012-08-17 Chong Yidong <cyd@gnu.org>
+
+ * xfaces.c (merge_face_vectors): If the target font specfies a
+ font spec, make the font's attributes take precedence over
+ directly-specified attributes.
+ (merge_face_ref): Recognize :font.
+
+2012-08-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not use memcpy for copying intervals.
+ * intervals.c (reproduce_interval): New function.
+ (reproduce_tree, reproduce_tree_obj): Use it.
+ (reproduce_tree_obj): Remove prototype.
+
+2012-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (duration_to_sec_usec): Remove unused decl.
+
+2012-08-17 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * nsfont.m (ns_ascii_average_width): Send initWithFormat selector
+ to an allocated instance of NSString, not to the class itself.
+
+2012-08-17 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (C_CTYPE_H): New macro.
+ (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)):
+ ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)):
+ ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
+
+2012-08-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use ASCII tests for character types.
+ * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c:
+ * xfns.c, xterm.c:
+ Don't include <ctype.h>; was not needed.
+ * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c:
+ * sysdep.c, xfaces.c:
+ Include <c-ctype.h> instead of <ctype.h>.
+ * nsterm.m: Include <c-ctype.h>.
+ * charset.c (read_hex):
+ * doc.c (Fsnarf_documentation):
+ * fileio.c (IS_DRIVE) [WINDOWSNT]:
+ (DRIVE_LETTER) [DOS_NT]:
+ (Ffile_name_directory, Fexpand_file_name)
+ (Fsubstitute_in_file_name):
+ * font.c (font_parse_xlfd, font_parse_fcname):
+ * frame.c (x_set_font_backend):
+ * gtkutil.c (xg_get_font):
+ * image.c (xbm_scan, xpm_scan, pbm_scan_number):
+ * nsimage.m (hexchar):
+ * nsterm.m (ns_xlfd_to_fontname):
+ * sysdep.c (system_process_attributes):
+ * xfaces.c (hash_string_case_insensitive):
+ Use C-locale tests instead of locale-specific tests for character
+ types, since we want the ASCII interpretation here, not the
+ interpretation suitable for whatever happens to be the current locale.
+
+2012-08-16 Martin Rudalics <rudalics@gmx.at>
+
+ Consistently check windows for validity/liveness
+ (Bug#11984, Bug#12025, Bug#12026).
+ * lisp.h (CHECK_VALID_WINDOW): New macro.
+ * window.c (decode_window): Rename to decode_live_window.
+ (decode_valid_window, Fwindow_valid_p): New functions.
+ (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
+ (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
+ (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
+ (Fwindow_prev_sibling, Fwindow_combination_limit)
+ (Fset_window_combination_limit, Fwindow_use_time)
+ (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
+ (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
+ (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
+ (Fwindow_hscroll, Fset_window_hscroll)
+ (Fwindow_redisplay_end_trigger)
+ (Fset_window_redisplay_end_trigger, Fwindow_edges)
+ (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
+ (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
+ (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
+ (Fwindow_end, Fset_window_point, Fset_window_start)
+ (Fpos_visible_in_window_p, Fwindow_line_height)
+ (Fwindow_dedicated_p, Fset_window_dedicated_p)
+ (Fwindow_prev_buffers, Fset_window_prev_buffers)
+ (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
+ (Fset_window_parameter, Fwindow_display_table)
+ (Fset_window_display_table, Fdelete_other_windows_internal)
+ (Fset_window_buffer, Fset_window_new_total)
+ (Fset_window_new_normal, Fdelete_window_internal)
+ (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
+ (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
+ (Fwindow_scroll_bars): Check whether argument window is a valid or
+ live window. Update doc-strings.
+ (syms_of_window): New symbol Qwindow_valid_p.
+ * keyboard.c (Fposn_at_x_y): Check whether argument
+ frame_or_window denotes a valid window.
+
+2012-08-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix previous char table change.
+ * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents.
+ * chartab.c (optimize_sub_char_table): Likewise.
+
+2012-08-16 Chong Yidong <cyd@gnu.org>
+
+ * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228).
+
+ * xfont.c (xfont_open):
+ * xftfont.c (xftfont_open): Set the font's max_width field.
+
+ * nsfont.m (nsfont_open): Similar to the Xft backend, set
+ min_width to space_width and average_width to the average over
+ printable ASCII characters.
+ (ns_char_width): Code cleanup.
+ (ns_ascii_average_width): New utility function.
+
+ * font.h (struct font): Update comments.
+
+2012-08-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simple interface to set Lisp_Object fields of character tables.
+ * lisp.h (CSET): New macro.
+ (char_table_set_extras, char_table_set_contents)
+ (sub_char_table_set_contents): New function.
+ * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c:
+ * syntax.c: Adjust users.
+
+2012-08-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (eval_sub): Bind lexical-binding.
+ * lread.c (Qlexical_binding): Make non-static.
+
+2012-08-15 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (popupSession): Remove.
+ (pop_down_menu): Remove endModalSession.
+ (timeout_handler:): New method.
+ (runDialogAt:): Get next timeout. Start a NSTimer with that timeout.
+ Call runModalForWindow. Check timer_fired when it returns.
+ If not set, cancel timer and break out of loop.
+ Otherwise loop again, with a new timeout.
+
+ * nsterm.m: Include fcntl.h if present.
+ (fd_entry, t_readfds, inNsSelect): Remove.
+ (select_writefds, select_valid, select_timeout, selfds)
+ (select_mutex, apploopnr): Add.
+ (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr.
+ Otherwise call kbd_buffer_store_event.
+ (ns_send_appdefined): Remove release of fd_entry.
+ (ns_read_socket): Always send appdefined. Remove inNsSelect check.
+ Increment and decrement apploopnr.
+ (ns_select): If no file descriptors, just do a NSTimer.
+ Otherwise copy read/write masks and start select thread (fd_handler).
+ Start main loop and wait for application defined event.
+ Inform select thread to stop selecting after main loop is exited.
+ (ns_term_init): Create selfds pipe and set non-blocking.
+ Initialize select_mutex. Start the select thread (fd_handler).
+ (fd_handler:): Loop forever, wait for info from the main thread
+ to either start or stop selecting. When select returns, send
+ and appdefined event.
+ (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set.
+ If not call kbd_buffer_store_event.
+
+ * nsterm.h (EmacsApp): fd_handler takes id argument.
+ (EmacsDialogPanel): Add timer_fired and timeout_handler.
+
+ * gtkutil.c (xg_mark_data): Use FRAME_X_P.
+
+2012-08-15 Eli Zaretskii <eliz@gnu.org>
+
+ * region-cache.c (move_cache_gap): Update gap_len using the actual
+ growth of the boundaries array. Do not change cache_len.
+ (Bug#12196)
+
+2012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Generalize and cleanup font subsystem checks.
+ * font.h (FONT_DEBUG, font_assert): Remove.
+ * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
+ Change font_assert to eassert. Use eassert where appropriate.
+
+2012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * gtkutil.c (xg_get_font): Use pango_units_to_double.
+
+2012-08-15 Chong Yidong <cyd@gnu.org>
+
+ * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
+ When using the new font chooser, use gtk_font_chooser_get_font_desc to
+ extract the font descriptor instead of just the font name.
+ In that case, return a font spec instead of a string.
+ (x_last_font_name): Move to this file from xfns.c.
+
+ * xfns.c (Fx_select_font): The return value can also be a font
+ spec. Move x_last_font_name management to gtkutil.c.
+
+ * xfaces.c: Make font weight and style symbols non-static.
+
+2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only
+ (bug#12117).
+
+2012-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (Fgarbage_collect): Use plural form consistently.
+
+2012-08-14 Eli Zaretskii <eliz@gnu.org>
+
+ * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each
+ iteration through the command loop. Fixes a problem whereby mouse
+ movements are ignored until the first mouse click.
+
+2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool, not int, for Lisp booleans.
+ This is more natural, and on my platform (GCC 4.7.1 x86-64) it
+ makes Emacs a bit smaller and presumably a bit faster.
+ * lisp.h: Include <stdbool.h>.
+ (struct Lisp_Boolfwd, defvar_bool):
+ * lread.c (defvar_bool): Use bool, not int, for Lisp booleans.
+ * regex.c [!emacs]: Include <stdbool.h>.
+ (false, true): Remove; <stdbool.h> does this for us now.
+
+2012-08-14 Chong Yidong <cyd@gnu.org>
+
+ * character.c (Fcharacterp): Doc fix (Bug#12076).
+
+ * data.c (Findirect_variable): Doc fix (Bug#11040).
+
+ * chartab.c (Fmap_char_table): Doc fix (Bug#12061).
+
+ * editfns.c (Fformat): Doc fix (Bug#12059).
+ (Fsave_current_buffer): Doc fix (Bug#11542).
+
+2012-08-14 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
+
+ * keyboard.c (access_keymap_keyremap): Accept anonymous functions
+ (bug#12022).
+
+2012-08-14 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (make_frame_without_minibuffer, make_minibuffer_frame)
+ (delete_frame, Fmake_frame_invisible, Ficonify_frame):
+ * minibuf.c (choose_minibuf_frame, read_minibuf):
+ * w32fns.c (x_create_tip_frame):
+ * xfns.c (x_create_tip_frame): Call set_window_buffer instead of
+ Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026).
+
+2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * intervals.c (offset_intervals): Remove obsolete comment.
+
+2012-08-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP.
+
+2012-08-14 Gergely Risko <gergely@risko.hu>
+
+ * coding.c (decode_coding): Record buffer modification before
+ disabling undo_list (Bug#11773).
+
+2012-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Revert and cleanup some recent overlay changes.
+ * buffer.h (enum overlay_type): Remove.
+ (buffer_get_overlays, buffer_set_overlays): Likewise.
+ (buffer_set_overlays_before, buffer_set_overlays_after):
+ New function. Adjust users.
+ (unchain_both): Add eassert.
+
+2012-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate.
+
+2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gtkutil.c (xg_mark_data): Don't assume C99.
+
+2012-08-13 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_frame_tb_info): New struct.
+ (TB_INFO_KEY): New define.
+ (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present.
+ (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info.
+ (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
+ if not present.
+ (update_frame_tool_bar): Return early if data in xg_frame_tb_info
+ is up to date. Otherwise store new data.
+ (free_frame_tool_bar): Free xg_frame_tb_info if present.
+
+2012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use KSET for write access to Lisp_Object members of struct kboard.
+ * keyboard.h (KSET): New macro.
+ * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
+ * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
+ * xterm.c: Adjust users.
+
+2012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use BSET for write access to Lisp_Object members of struct buffer.
+ * buffer.h (BSET): New macro.
+ * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c:
+ * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c:
+ * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c:
+ * window.c, xdisp.c, xfns.c: Adjust users.
+
+2012-08-11 BT Templeton <bpt@hcoop.net> (tiny change)
+
+ * lread.c (syms_of_lread): Initialize Vlexical_binding.
+
+2012-08-11 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (not_in_argv): New function.
+ (application:openFile, application:openTempFile:):
+ (application:openFileWithoutUI:, application:openFiles:): Open file
+ if not_in_argv returns non-zero (bug#12171).
+
+ * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER)
+ (gtk_font_chooser_set_font, gtk_font_chooser_get_font):
+ Define for Gtk+ versions less than 3.2.
+ (xg_get_font_name): Use those functions/macros here.
+ Reported by Frans Oilinki <moilinki@gmail.com>.
+
+2012-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * unexmacosx.c (copy_data_segment): Copy initialized data in
+ statically linked libraries from input file rather than memory.
+
+ * unexmacosx.c (print_load_command_name): Add cases LC_MAIN,
+ LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS.
+ (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data.
+
+2012-08-10 Glenn Morris <rgm@gnu.org>
+
+ * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h.
+ * lisp.h (IF_LINT, lint_assume): Move to conf_post.h.
+
+2012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix last change to allow compilation with low optimization levels.
+ * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE.
+ Reported by Jan Djärv <jan.h.d@swipnet.se>.
+
+2012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use common inline syntax in intervals.h.
+ * intervals.h (INTERVALS_INLINE): New macro.
+ Change all users from LISP_INLINE.
+
+2012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Define Qnone once for all platforms.
+ * frame.c (Qnone): Define here.
+ (syms_of_frame): DEFSYM it.
+ * lisp.h (Qnone): New declaration.
+ * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c:
+ * xfns.c: Remove duplication. Adjust users.
+
+2012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Remove unused macros from intervals.h.
+ * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove.
+ * intervals.c: Adjust comment.
+
+2012-08-10 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c <w32_unicode_gui>: New static variable.
+ (globals_of_w32fns): Initialize it according to os_subtype.
+ (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of
+ testing os_subtype.
+
+2012-08-10 Joakim HÃ¥rsman <joakim.harsman@gmail.com> (tiny change)
+ Eli Zaretskii <eliz@gnu.org>
+
+ Fix bug #10299 with Unicode characters sent by customized
+ keyboards created by MSKLC.
+ * w32fns.c (INIT_WINDOW_CLASS): New macro.
+ (w32_init_class): Use it to initialize the Emacs class with either
+ ANSI or Unicode API calls.
+ (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and
+ later.
+ (w32_wnd_proc): If the character code sent by WM_CHAR or
+ WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the
+ original message. Call DefWindowProcW on NT and later.
+
+2012-08-10 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (config_h): Fix conf_post.h out-of-tree build location.
+
+ * lisp.h (DIRECTORY_SEP): Let configure set it.
+
+2012-08-09 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use TSET for write access to Lisp_Object slots of struct terminal.
+ * termhooks.h (TSET): New macro.
+ * coding.c, terminal.c, xselect.c: Adjust users.
+
+2012-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xdisp.c (safe_eval_handler): Remove prototype. Receive args describing
+ the failing expression, include them in the error message.
+ * eval.c (internal_condition_case_n): Pass nargs and args to hfun.
+ * lisp.h (internal_condition_case_n): Update declaration.
+
+2012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Inline functions to examine and change buffer overlays.
+ * buffer.c (unchain_both): New function.
+ * buffer.h (buffer_get_overlays, buffer_set_overlays):
+ (buffer_has_overlays): New function.
+ (enum overlay_type): New enum.
+ * alloc.c, buffer.c, editfns.c, fileio.c, indent.c:
+ * insdel.c, intervals.c, print.c, xdisp.c: Adjust users.
+
+2012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Inline functions to examine and change buffer intervals.
+ * alloc.c (mark_interval_tree): Remove.
+ (MARK_INTERVAL_TREE): Simplify.
+ (UNMARK_BALANCE_INTERVALS): Remove. Adjust users.
+ * intervals.c (buffer_balance_intervals): New function.
+ (graft_intervals_into_buffer): Adjust indentation.
+ (set_intervals_multibyte): Simplify.
+ * buffer.h (BUF_INTERVALS): Remove.
+ (buffer_get_intervals, buffer_set_intervals): New function.
+ * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c:
+ * intervals.c, textprop.c: Adjust users.
+
+2012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Inline functions to examine and change string intervals.
+ * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove.
+ (string_get_intervals, string_set_intervals): New function.
+ * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
+ * lread.c, print.c, textprop.c: Adjust users.
+
+2012-08-08 Glenn Morris <rgm@gnu.org>
+
+ * lisp.mk (lisp): Remove language/persian.elc.
+
+2012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup intervals.
+ * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove.
+ (NULL_INTERVAL_P): Likewise. Adjust users.
+ (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P):
+ Adjust comment. Move under #if 0.
+ * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
+ * print.c, syntax.c, textprop.c, xdisp.c: Adjust users.
+
+2012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Check total length of intervals with eassert.
+ * intervals.h (CHECK_TOTAL_LENGTH): Remove.
+ * intervals.c: Change all users to eassert.
+
+2012-08-07 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist):
+ Rename fields to match removal of FGET and WGET and disuse of
+ INTERNAL_FIELD in Lisp_Cons.
+
+2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things.
+ * lisp.h (struct Lisp_Symbol): Change xname to meaningful
+ name since all xname users are fixed long time ago. Do not
+ use INTERNAL_FIELD.
+ (set_symbol_name, set_symbol_function, set_symbol_plist):
+ (set_symbol_next, set_overlay_plist): New function.
+ (struct Lisp_Cons): Do not use INTERNAL_FIELD.
+ (struct Lisp_Overlay): Likewise.
+ (CVAR, MVAR, SVAR): Remove.
+ * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c:
+ * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m:
+ * xterm.c: Adjust users.
+ * .gdbinit: Change to use name field of struct Lisp_Symbol
+ where appropriate.
+
+2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Basic functions to set Lisp_Object and pointer slots of intervals.
+ * intervals.h (interval_set_parent, interval_set_object):
+ (interval_set_left, interval_set_right, interval_set_plist):
+ (interval_copy_parent): New function.
+ (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove.
+ (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE):
+ Adjust indentation.
+ (INTERVAL_SIZE): Remove. Adjust users.
+ * alloc.c, intervals.c, lread.c, textprop.c: Use new functions.
+
+2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.
+ * process.h (PGET): Remove.
+ (struct Lisp_Process): Do not use INTERNAL_FIELD.
+ * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
+
+2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Drop WGET and revert read access to Lisp_Objects slots of struct window.
+ * window.h (WGET): Remove.
+ (struct window): Do not use INTERNAL_FIELD.
+ * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
+ * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
+ * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
+ * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
+ * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
+ Adjust users.
+
+2012-08-07 Chong Yidong <cyd@gnu.org>
+
+ * window.c (Fwindow_edges, Fwindow_pixel_edges)
+ (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
+ (Fdelete_window_internal): Signal an error if the window is not on
+ a live frame (Bug#12025).
+
+2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Drop FGET and revert read access to Lisp_Objects slots of struct frame.
+ * frame.h (FGET): Remove.
+ (struct frame): Do not use INTERNAL_FIELD.
+ * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
+ * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
+ * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
+ * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
+
+2012-08-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * w32.c: Silence compiler warnings.
+ (map_w32_filename): Remove unused variable `is_fat'.
+ (chase_symlinks): Add parentheses around expression.
+
+2012-08-06 Glenn Morris <rgm@gnu.org>
+
+ * sysdep.c: Respect BROKEN_GETWD.
+
+ * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
+ Let configure handle it.
+ (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use GCALIGNMENT where appropriate.
+ * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size):
+ (union aligned_Lisp_Symbol, union aligned_Lisp_Misc):
+ (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT.
+
+2012-08-06 Eli Zaretskii <eliz@gnu.org>
+
+ * w32menu.c (set_frame_menubar, initialize_frame_menubar):
+ Don't use FRAME_MENU_BAR_ITEMS as an lvalue.
+
+2012-08-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * buffer.h (struct buffer): Revert `indirections' to a simple int;
+ that should be sufficient for everyone.
+
+2012-08-06 Jan Djärv <jan.h.d@swipnet.se>
+
+ * keyboard.c (timer_check_2): Add break so timer_check returns next
+ timeout.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix Windows build errors introduced after converting to WGET and WSET.
+ * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET.
+ Reported by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2012-08-06 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_frame_rehighlight): Use FSET.
+
+ * nsmenu.m (ns_update_menubar): Use FSET.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Separate read and write access to Lisp_Object slots of Lisp_Process.
+ * process.h (PGET, PSET): New macros similar to AREF and ASET.
+ * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Separate read and write access to Lisp_Object slots of struct window.
+ * window.h (WGET, WSET): New macros similar to AREF and ASET.
+ * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
+ * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
+ * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
+ * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
+ * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
+ Adjust users.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix Windows build errors introduced after converting to FGET and FSET.
+ * w32term.c (x_frame_rehighlight, x_scroll_bar_create):
+ (w32_condemn_scroll_bars, w32_redeem_scroll_bar):
+ (w32_judge_scroll_bars): Change to use FSET.
+ Reported by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix replacement typo.
+ * window.c (replace_window): Set root_window instead of
+ selected_window. This fixes a total window subsystem
+ malfunction reported by Bastien Guerry <bzg@gnu.org>.
+
+2012-08-06 Glenn Morris <rgm@gnu.org>
+
+ * lisp.mk (lisp): Add language/persian.elc.
+
+2012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Separate read and write access to Lisp_Object slots of struct frame.
+ * frame.h (FGET, FSET): New macros similar to AREF and ASET.
+ * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
+ * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
+ * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
+ * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
+
+2012-08-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT.
+
+2012-08-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Generalize common compile-time constants.
+ * lisp.h (header_size, bool_header_size, word_size): Now here.
+ (struct Lisp_Vector): Add comment.
+ (struct Lisp_Bool_Vector): Move up to define handy constants.
+ (VECSIZE, PSEUDOVECSIZE): Simplify.
+ (SAFE_ALLOCA_LISP): Use new constant. Adjust indentation.
+ * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
+ * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
+ * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
+ * xfont.c, xmenu.c: Use word_size where appropriate.
+
+2012-08-05 Lawrence Mitchell <wence@gmx.li>
+
+ * search.c (Freplace_match): Treat \? in the replacement text
+ literally (Bug#8161).
+
+2012-08-05 Chong Yidong <cyd@gnu.org>
+
+ * term.c (Vsuspend_tty_functions, Vresume_tty_functions):
+ * frame.c (Vdelete_frame_functions):
+ * emacs.c (Vkill_emacs_hook): Doc fix.
+
+2012-08-04 Eli Zaretskii <eliz@gnu.org>
+
+ * xfns.c (x_set_menu_bar_lines): Fix compilation error in
+ --with-x-toolkit=no builds.
+ Reported by Carsten Mattner <carstenmattner@gmail.com>.
+
+2012-08-04 Chong Yidong <cyd@gnu.org>
+
+ * syntax.c (Fmodify_syntax_entry): Doc fix.
+
+2012-08-04 Eli Zaretskii <eliz@gnu.org>
+
+ Fix startup warnings about ../site-lisp on MS-Windows. (Bug#11959)
+ * w32.c (init_environment): Change the default values of many
+ environment variables in dflt_envvars[] to NULL, to avoid pushing
+ them into environment when they were not already defined.
+ Remove the code that deletes site-lisp subdirectories from the default
+ value of EMACSLOADPATH, as it is no longer needed.
+ (check_windows_init_file): Now external, not static.
+ Use Vload_path as is, without adding anything, as this function is now
+ called when Vload_path is already set up.
+
+ * w32.h (check_windows_init_file): Add prototype.
+
+ * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
+ directory, ignore the /*/i386/ tail in Vinvocation_directory, for
+ compatibility with Posix platforms.
+ (main): Move the call to check_windows_init_file to here from
+ w32.c.
+ (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
+ any, in the DEFALT argument into the root of the Emacs build or
+ installation tree, as appropriate.
+
+ * callproc.c (init_callproc_1): Call decode_env_path instead of
+ doing its equivalent by hand.
+ (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
+ the code that sets Vexec_path run on MS-Windows.
+
+ * lread.c (init_lread): Add comments to #ifdef's.
+
+ * msdos.c (dos_set_window_size, IT_update_begin)
+ (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR
+ instead of direct references.
+
+2012-08-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Export DEFAULT_REHASH_* to GDB.
+ * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
+ Now constants, not macros.
+
+2012-08-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove unnecessary casts involving pointers.
+ These casts are no longer needed now that we assume C89 or later,
+ since they involve casting to or from void *.
+ * alloc.c (make_pure_string, make_pure_c_string, pure_cons)
+ (make_pure_float, make_pure_vector):
+ * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
+ * macros.c (Fstart_kbd_macro):
+ * menu.c (find_and_return_menu_selection):
+ * minibuf.c (read_minibuf_noninteractive):
+ * sysdep.c (closedir):
+ * xdisp.c (x_produce_glyphs):
+ * xfaces.c (compare_fonts_by_sort_order):
+ * xfns.c (x_real_positions, select_visual):
+ * xselect.c (x_stop_queuing_selection_requests)
+ (x_get_window_property, x_get_window_property_as_lisp_data):
+ * xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
+ Remove unnecessary pointer casts.
+ * alloc.c (record_xmalloc): New function.
+ * lisp.h (record_xmalloc): New decl.
+ (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
+ more like a function. This is because the pointer cast is not
+ needed. All uses changed.
+ * print.c (print_string, print_error_message): Avoid length recalc.
+
+ Improve fix for macroexp crash with debugging (Bug#12118).
+ * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to
+ ARRAY_MARK_FLAG when checking subscripts, because ASET is
+ not supposed to be invoked from the garbage collector.
+ See Andreas Schwab in <http://bugs.gnu.org/12118#25>.
+ (gc_aset): New function, which is like ASET but can be
+ used in the garbage collector.
+ (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
+ (set_hash_index): Use it instead of ASET.
+
+2012-08-03 Eli Zaretskii <eliz@gnu.org>
+
+ Support symlinks on latest versions of MS-Windows.
+ * w32.c: Include winioctl.h and aclapi.h.
+ (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
+ (revert_to_self): Forward declarations of static functions.
+ <static BOOL g_b_init_get_security_info>:
+ <g_b_init_create_symbolic_link>: New static flags.
+ (globals_of_w32): Initialize them to zero.
+ (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
+ (map_w32_filename): Improve commentary. Simplify switch.
+ (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
+ headers (most versions of MinGW w32api don't).
+ (get_security_info, create_symbolic_link)
+ (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
+ New functions.
+ (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
+ in the argument file name.
+ (sys_access): Call unc_volume_file_attributes only if
+ GetFileAttributes fails with network-related error codes.
+ (sys_rename): Diagnose renaming of a symlink when the user doesn't
+ have the required privileges.
+ (get_file_security_desc_by_name): Rename from
+ get_file_security_desc.
+ (stat_worker): New function, with most of the guts of 'stat', and
+ with addition of handling of symlinks and support for 'lstat'.
+ If possible, get file's attributes and security information by
+ handle, not by name. Produce S_IFLNK bit for symlinks, when
+ called from 'lstat'.
+ (stat, lstat): New functions, call 'stat_worker'.
+ (symlink, readlink, careadlinkat): Rewritten to create and resolve
+ symlinks when the underlying filesystem supports them.
+
+2012-08-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix macroexp crash on Windows with debugging (Bug#12118).
+ * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when
+ checking subscripts; problem introduced with the recent
+ "ASET (a, i, v)" rather than "AREF (a, i) = v" patch.
+ (ARRAY_MARK_FLAG): Now a macro as well as a constant,
+ since it's used in non-static inline functions now.
+
+ * xfaces.c (face_at_buffer_position, face_for_overlay_string):
+ Don't assume buffer size fits in 'int'. Remove unused local.
+
+ Use C99-style 'extern inline' if available.
+ * buffer.h (BUFFER_INLINE):
+ * category.h (CATEGORY_INLINE):
+ * character.h (CHARACTER_INLINE):
+ * charset.h (CHARSET_INLINE):
+ * composite.h (COMPOSITE_INLINE):
+ * dispextern.h (DISPEXTERN_INLINE):
+ * lisp.h (LISP_INLINE):
+ * systime.h (SYSTIME_INLINE):
+ New macro, replacing 'static inline' in this header.
+ * buffer.h, category.h, character.h, charset.h, composite.h:
+ * dispextern.h, lisp.h, systime.h:
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ * alloc.c (LISP_INLINE):
+ * buffer.c (BUFFER_INLINE):
+ * category.c (CATEGORY_INLINE):
+ * character.c (CHARACTER_INLINE):
+ * charset.c (CHARSET_INLINE):
+ * composite.c (COMPOSITE_INLINE):
+ * dispnew.c (DISPEXTERN_INLINE):
+ * sysdep.c (SYSTIME_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
+ (INLINE_HEADER_END): New macros.
+ * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
+ since it's used in non-static inline functions now.
+ (VALMASK) [!USE_LSB_TAG]: Likewise.
+
+2012-08-02 Glenn Morris <rgm@gnu.org>
+
+ * s/: Remove empty directory.
+
+ * s/ms-w32.h: Move to ../nt/inc.
+ * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
+ Update for new ms-w32.h location.
+
+2012-08-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to Solaris 8.
+ * syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
+
+2012-08-02 Glenn Morris <rgm@gnu.org>
+
+ * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than
+ hard-coding the path separator.
+
+2012-08-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
+ This how ASET and AREF are supposed to work, and makes
+ it easier to think about future improvements. See
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
+ * charset.h (set_charset_attr): New function.
+ All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
+ * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
+ (aref_addr): New function. All uses of &AREF(...) changed.
+ (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
+ (set_hash_index): New functions. All lvalue-style uses of
+ HASH_KEY etc. changed.
+ * keyboard.c (set_prop): New function. All lvalue-style uses
+ of PROP changed.
+
+2012-08-01 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
+ (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
+ (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114)
+ * nsfns.m (ns_set_name_as_filename): Likewise.
+ * nsmenu.m (ns_update_menubar): Likewise.
+ * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
+
+2012-08-01 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym):
+ Adapt to latest changes in field names of the corresponding Lisp
+ objects.
+
+ * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code.
+
+2012-08-01 Glenn Morris <rgm@gnu.org>
+
+ * s/msdos.h: Remove file.
+ * conf_post.h [MSDOS]: New section, moved from s/msdos.h.
+ * Makefile.in (S_FILE): Remove.
+ (config_h): Remove S_FILE.
+
+2012-08-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
+ Remove; moved to nt/config.nt.
+
+2012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use INTERNAL_FIELD for conses and overlays.
+ * lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD.
+ Remove obsolete comment.
+ (MVAR): New macro.
+ (struct Lisp_Overlay): Use INTERNAL_FIELD.
+ * alloc.c, buffer.c, buffer.h, fns.c: Adjust users.
+
+2012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use INTERNAL_FIELD for symbols.
+ * lisp.h (SVAR): New macro. Adjust users.
+ * alloc.c, bytecode.c, cmds.c, data.c, doc.c, eval.c:
+ * fns.c, keyboard.c, lread.c, xterm.c: Users changed.
+
+2012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use INTERNAL_FIELD for processes.
+ * process.h (PVAR): New macro. Adjust style.
+ (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD.
+ * print.c, process.c, sysdep.c, w32.c, xdisp.c: Users changed.
+
+2012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use INTERNAL_FIELD for windows.
+ * window.h (WVAR): New macro.
+ (struct window): Change Lisp_Object members to INTERNAL_FIELD.
+ * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
+ * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
+ * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, nsterm.m, print.c:
+ * textprop.c, w32fns.c, w32menu.c, w32term.c, window.c, xdisp.c:
+ * xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
+
+2012-08-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work.
+
+2012-08-01 Glenn Morris <rgm@gnu.org>
+
+ * lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP):
+ Move to configure.ac.
+
+2012-08-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (CONFIG_H): Update dependencies.
+ (CONF_POST_H): New macro.
+
+ * s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
+
+2012-07-31 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (S_FILE): No longer set by configure.
+
+ * conf_post.h (config_opsysfile): Move earlier, so that WINDOWSNT
+ is available.
+ (alloca.h) [WINDOWSNT]: Don't include it on MS Windows.
+
+ * process.h (NULL_DEVICE):
+ * emacs.c (SEPCHAR):
+ * editfns.c (USER_FULL_NAME): Let configure set them.
+
+ * s/README, s/template.h: Remove files.
+
+ * conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT.
+
+ * conf_post.h (AMPERSAND_FULL_NAME, subprocesses):
+ Move to configure.ac.
+
+2012-07-31 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit (xframe): Adapt to introduction of FVAR and the
+ resulting renaming of 'struct frame' members.
+
+ * w32menu.c (w32_menu_show): Revert bogus introduction of FVAR.
+
+ * fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING
+ after introduction of FVAR.
+
+2012-07-31 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (update_frame_tool_bar): Change key from NSObject* to id.
+
+ * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Use drawInRect
+ instead of compositeToPoint.
+ (applicationShouldTerminate): Pass NS String literal to NSRunAlertPanel.
+
+ * nsfns.m, nsmenu.m, nsterm.m: Adopt to struct frame/FVAR changes.
+
+2012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Generalize INTERNAL_FIELD between buffers, keyboards and frames.
+ * lisp.h (INTERNAL_FIELD): New macro.
+ * buffer.h (BUFFER_INTERNAL_FIELD): Remove.
+ (BVAR): Change to use INTERNAL_FIELD.
+ * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
+ (KVAR): Change to use INTERNAL_FIELD.
+ * frame.h (FVAR): New macro.
+ (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
+ * alloc.c, buffer.c, data.c, dispnew.c, dosfns.c, eval.c, frame.c:
+ * fringe.c, gtkutil.c, minibuf.c, nsfns.m, nsterm.m, print.c:
+ * term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
+ * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
+
+2012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Miscellaneous fixes for non-default X toolkits.
+ * xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings.
+ * xterm.c (x_frame_of_widget): Remove redundant prototype.
+ Move under #ifdef USE_LUCID.
+ (x_create_toolkit_scroll_bar): Adjust scroll_bar_name
+ definition and usage to avoid warnings.
+
+2012-07-31 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (openFiles): Fix previous checkin.
+
+2012-07-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ * indent.c (compute_motion): Remove unused local.
+
+2012-07-31 Glenn Morris <rgm@gnu.org>
+
+ * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them.
+
+ * conf_post.h [USG5_4]:
+ Move remaining contents of s/usg5-4-common.h here.
+ * s/usg5-4-common.h: Remove file.
+
+ * conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here.
+ * s/irix6-5.h: Remove file.
+
+ * conf_post.h [DARWIN_OS]: Move remaining contents of s/darwin.h here.
+ * s/darwin.h: Remove file.
+
+ * conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h.
+ * s/hpux10-20.h: Remove file, which is now empty.
+
+2012-07-30 Glenn Morris <rgm@gnu.org>
+
+ * conf_post.h: New, split from configure.ac's AH_BOTTOM.
+ * Makefile.in (config_h): Add conf_post.h.
+ * makefile.w32-in (CONFIG_H): Add conf_post.h.
+
+2012-07-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_do_open_file): New variable.
+ (ns_term_init): Set ns_do_open_file to YES after run returns.
+ (openFile, openTempFile, openFileWithoutUI, openFiles):
+ Open files only if ns_do_open_file.
+
+2012-07-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (SWITCH_ENUM_CAST): Remove. All uses removed.
+ This no-op macro hasn't been needed for many years.
+ * src/regex.c (SWITCH_ENUM_CAST) [!emacs]: Likewise.
+
+ Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
+ * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
+ * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
+ gdb_make_enums_visible.
+ (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
+ (DIRECTORY_SEP): Now a constant, not a macro.
+
+2012-07-30 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to
+ w32_kbd_patch_key as the 2nd arg. (Bug#12082)
+
+ * w32term.c <w32_keyboard_codepage>: Renamed from
+ keyboard_codepage and now external. All users changed.
+
+ * w32term.h: Add declaration of w32_keyboard_codepage.
+
+ * w32inevt.c (w32_kbd_patch_key): Accept an additional argument --
+ the codepage to translate keys to Unicode. If this argument is
+ -1, use the value returned by GetConsoleCP. All callers changed.
+
+2012-07-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Update .PHONY listings in makefiles.
+ * Makefile.in (.PHONY): Add all, mostlyclean, clean,
+ bootstrap-clean, distclean, maintainer-clean, versioclean,
+ extraclean, frc.
+
+ * lisp.h (STRING_BYTES_BOUND): Cast entire result to ptrdiff_t.
+ This is a bit clearer. Fix some commentary typos.
+
+2012-07-30 Glenn Morris <rgm@gnu.org>
+
+ * s/netbsd.h: Let configure include signal.h if needed.
+ Remove file, which is now empty.
+
+ * s/usg5-4-common.h (_longjmp, _setjmp, TIOCSIGSEND):
+ Let configure set them.
+ * s/irix6-5.h (_longjmp, _setjmp, TIOCSIGSEND):
+ No more need to undefine.
+
+2012-07-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * keymap.c (Fkey_description): Don't remove 0x80 bit from
+ non-single-byte char when adding meta modifier. (Bug#12090)
+
+2012-07-30 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Convert safe_call to use variable number of arguments.
+ * xdisp.c (safe_call): Convert to use varargs. Adjust users.
+ (safe_call2): Fix comment.
+ * lisp.h (safe_call): Adjust prototype.
+ * coding.c (encode_coding_object): Change to use safe_call2.
+ * xfaces.c (merge_face_heights): Change to use safe_call1.
+
+2012-07-30 Glenn Morris <rgm@gnu.org>
+
+ * s/aix4-2.h (sigmask): No need to undefine it, since syssignal.h
+ does that unconditionally. Remove file, which is now empty.
+
+ * s/freebsd.h, s/gnu-linux.h, s/sol2-6.h, s/unixware.h:
+ Remove empty files.
+
+2012-07-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Export to GDB most of lisp.h's remaining object-like macros.
+ * lisp.h (min, max): Move earlier, because they're used earlier now.
+ (INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK)
+ (CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0)
+ (CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3)
+ (DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE)
+ (COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING)
+ (COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT)
+ (CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS)
+ (MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA):
+ Now constants, for GDB. They need not be macros.
+ (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND):
+ Now constants, for GDB, as well as macros, for static initializers.
+ (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS):
+ Move to after the definition of struct Lisp_Char_Table,
+ since the former now needs that type defined.
+ (enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS)
+ (enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits)
+ (enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA):
+ New enums, for gdb_make_enums_visible.
+ (GLYPH_MODE_LINE_FACE): Remove; unused.
+ * alloc.c (STRING_BYTES_MAX): Now a constant, not a macro.
+ (gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum
+ CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE,
+ enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled,
+ enum maxargs, enum MAX_ALLOCA.
+ (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove.
+ (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove;
+ no longer needed, now that they are done in lisp.h.
+
+2012-07-30 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup string bytes checking.
+ * alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove. Convert
+ all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES.
+ (check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES.
+ (check_sblock, compact_small_strings): Simplify.
+
+2012-07-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (LISP_INT_TAG, LISP_INT1_TAG, LISP_STRING_TAG): Remove.
+ These macros are confusing and no longer need to be defined, as
+ the enum values now suffice. All uses replaced with definiens.
+ (Lisp_Int1, Lisp_String): Define directly; this is clearer.
+
+2012-07-29 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (LISP_H, $(BLD)/emacs.$(O), $(BLD)/w32inevt.$(O))
+ ($(BLD)/w32console.$(O)): Update dependencies.
+
+2012-07-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check.
+ * lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long
+ time. Adjust users.
+ (CHECK_CONS_LIST): Remove. Convert all users to check_cons_list.
+
+2012-07-29 Jan Djärv <jan.h.d@swipnet.se>
+
+ * lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before
+ setting sitelisp (Bug#12010).
+
+2012-07-29 Eli Zaretskii <eliz@gnu.org>
+
+ * w32heap.h (OS_9X): Rename from OS_WINDOWS_95.
+
+ * w32heap.c (cache_system_info):
+ * w32.c (sys_rename):
+ * w32proc.c (find_child_console, sys_kill): All users changed.
+
+2012-07-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c (Fgarbage_collect): Indent as per usual Emacs style.
+
+2012-07-29 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (LISP_H): Add $(NT_INC)/stdalign.h.
+
+2012-07-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup statistics calculation in Fgarbage_collect.
+ * alloc.c (Fgarbage_collect): Rename t1 to meaningful start.
+ Fix zombies percentage calculation. Simplify elapsed time calculation.
+
+2012-07-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Generalize marker debugging code under MARKER_DEBUG and use eassert.
+ * insdel.c (CHECK_MARKERS, check_markers_debug_flag): Remove.
+ (gap_left, gap_right, adjust_markers_for_delete, insert_1_both)
+ (insert_from_string_1, insert_from_gap, insert_from_buffer_1)
+ (replace_range, replace_range_2, del_range_2): Change to eassert.
+ * marker.c (byte_char_debug_check): Adjust style.
+
+2012-07-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don't use the abbreviation "win" to refer to Windows (Bug#10421).
+ * regex.c (MAX_BUF_SIZE): Remove some incorrect and
+ long-ago-commented-out code that talks about "WIN32".
+ * w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
+ All uses changed.
+
+2012-07-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use Gnulib stdalign module (Bug#9772, Bug#9960).
+ * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
+ Simplify by using alignof.
+ (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
+ * lisp.h: Include <stdalign.h>.
+ (GCALIGNMENT): New macro and constant.
+ (DECL_ALIGN): Remove. All uses replaced by alignas (GCALIGNMENT).
+ (USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
+ (stdalign): New macro, if not already defined.
+
+2012-07-28 Eli Zaretskii <eliz@gnu.org>
+
+ Fix non-ASCII input in non-GUI frames on MS-Windows. (Bug#12055)
+ * w32inevt.c: Include w32inevt.h.
+ (w32_read_console_input): New inline function, calls either
+ ReadConsoleInputA or ReadConsoleInputW, depending on the value of
+ w32_console_unicode_input.
+ (fill_queue): Call w32_read_console_input instead of ReadConsoleInput.
+ (w32_kbd_patch_key, key_event): Use the codepage returned by
+ GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo.
+ (key_event): use uChar.UnicodeChar only if
+ w32_console_unicode_input is non-zero.
+
+ * w32console.c: Include w32heap.h.
+ <w32_console_unicode_input>: New global variable.
+ (initialize_w32_display): Set w32_console_unicode_input to 1 on NT
+ family of Windows, zero otherwise.
+
+ * w32inevt.h: Declare w32_console_unicode_input.
+
+ * xdisp.c (init_iterator): Don't reference tip_frame in a build
+ --without-x. (Bug#11742)
+
+2012-07-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adjust GDB to reflect pvec_type changes (Bug#12036).
+ * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
+ 2012-07-04 changes to pseudovector representation.
+ Problem reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
+
+2012-07-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session
+ bus address.
+ (xd_close_bus, Fdbus_init_bus): Handle reference counter properly.
+
+2012-07-27 Eli Zaretskii <eliz@gnu.org>
+
+ * alloc.c (listn): Fix the order the arguments are consed onto the
+ list.
+
+ * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for
+ enumeration constants, as PURE and HEAP are too general, and clash
+ with other headers and sources, such as gmalloc.c and the
+ MS-Windows system headers. All users changed.
+
+2012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Revert last save_excursion_save and save_excursion_restore changes.
+ * alloc.c, editfns.c, marker.c, lisp.h: Revert.
+ Lots of crashes reported by Chong Yidong <cyd@gnu.org>.
+
+2012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix recently-introduced typos in Windows port.
+ Reported by Martin Rudalics <rudalics@gmx.at>.
+ * w32.c (init_environment): Replace comma with semicolon.
+ * w32fns.c (syms_of_w32fns): Add missing parenthesis.
+
+2012-07-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve GDB symbol export (Bug#12036).
+ * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different
+ arms of an 'if', not using conditional expressions; otherwise GDB
+ complains about the types in the unevaluated arm when the argument
+ is an integer literal.
+ (xgetint): Simplify expression.
+ * alloc.c (gdb_make_enums_visible): New constant. This ports to
+ GCC 3.4.2 the export of symbols to GDB. Problem reported by Eli
+ Zaretskii in <http://bugs.gnu.org/12036#13>.
+ * lisp.h (PUBLISH_TO_GDB): Remove. All uses removed. No longer
+ needed now that we have gdb_make_enums_visible.
+ (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits)
+ (enum enum_USE_LSB_TAG):
+ New enum types, packaging up enums that need to be exported to GDB.
+
+2012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Utility function to make a list from specified amount of objects.
+ * lisp.h (enum constype): New datatype.
+ (listn): New prototype.
+ * alloc.c (listn): New function.
+ (Fmemory_use_count, syms_of_alloc): Use it.
+ * buffer.c (syms_of_buffer): Likewise.
+ * callint.c (syms_of_callint): Likewise.
+ * charset.c (define_charset_internal): Likewise.
+ * coding.c (syms_of_coding): Likewise.
+ * keymap.c (syms_of_keymap): Likewise.
+ * search.c (syms_of_search): Likewise.
+ * syntax.c (syms_of_syntax): Likewise.
+ * w32.c (init_environment): Likewise.
+ * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise.
+ * xdisp.c (syms_of_xdisp): Likewise.
+ * xfns.c (syms_of_xfns): Likewise.
+
+2012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fast save_excursion_save and save_excursion_restore.
+ * lisp.h (struct Lisp_Excursion): New data type.
+ (PVEC_EXCURSION): New pseudovector type.
+ (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros
+ to deal with it. Adjust comments.
+ (init_marker, attach_marker): New prototype.
+ (unchain_marker): Adjust prototype.
+ * marker.c (attach_marker): Change to global.
+ (init_marker): New function.
+ * alloc.c (Fmake_marker, build_marker): Use it.
+ (build_marker): More easserts.
+ (mark_object): Handle struct Lisp_Excursion.
+ * editfns.c (save_excursion_save, save_excursion_restore):
+ Reimplement to use struct Lisp_Excursion. Add comments.
+
+2012-07-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix export of symbols to GDB (Bug#12036).
+ * alloc.c (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL)
+ (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Move these here from
+ emacs.c, as this is a more-suitable home. Had this been done earlier
+ the fix for 12036 would have avoided some of the problems noted in
+ <http://bugs.gnu.org/12036#13> by Eli Zaretskii, as the scope problems
+ would have been more obvious.
+ * emacs.c: Do not include <verify.h>; no longer needed.
+ (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS)
+ (gdb_GCTYPEBITS, gdb_USE_LSB_TAG)
+ (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
+ Remove; now done in lisp.h.
+ * lisp.h (PUBLISH_TO_GDB): New macro.
+ (GCTYPEBITS, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE, enum pvec_type)
+ (DATA_SEG_BITS): Use it.
+ (GCTYPEBITS, USE_LSB_TAG): Now also an enum, for GDB.
+ (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Now just an enum, for GDB.
+ * mem-limits.h (EXCEEDS_LISP_PTR): Redo so that DATA_SEG_BITS need
+ not be usable in #if. This simplifies things.
+
+2012-07-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/emacs.$(O)): Update dependencies.
+
+2012-07-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify export of symbols to GDB (Bug#12036).
+ * .gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix =
+ $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway).
+ (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr):
+ Adjust to changes in lisp.h and emacs.c, by using
+ CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead
+ of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits,
+ INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of
+ gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS
+ instead of gdb_valbits.
+ (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use
+ PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG
+ instead of gdb_array_mark_flag.
+ (xboolvector): Get size from $->size, not $->header.size.
+ Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants.
+ (xreload, hook-run, hookpost-run): Remove.
+ * emacs.c: Include <verify.h>.
+ (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits)
+ (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type):
+ Remove.
+ (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS)
+ (gdb_USE_LSB_TAG): New enum constants.
+ (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
+ Also define these as enum constants, so they're visible to GDB.
+ (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros.
+ (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these
+ as constants, so they're visible to GDB.
+ * lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS)
+ (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR):
+ Now enum constants, not macros, so they're visible to GDB.
+ (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is
+ more convenient now. All uses changed.
+ (VALMASK) [USE_LSB_TAG]: Also define in this case.
+ * mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change.
+
+2012-07-26 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Explicitly free restriction data that are not needed anymore.
+ * editfns.c (save_restriction_restore): Free restriction data.
+
+2012-07-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
+ add argument, tune behavior, and adjust all callers.
+
+2012-07-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use typedef for EMACS_INT, EMACS_UINT.
+ * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather
+ than macros. This simplifies debugging in the usual case, since
+ it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *'
+ and it allows expressions involving EMACS_INT casts.
+ * .gdbinit (xreload): Simplify by using EMACS_INT cast.
+
+2012-07-25 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_read_socket): Return early if there is a modal
+ window (Bug#12043).
+
+2012-07-25 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (Fredirect_frame_focus): In doc-string don't mention
+ that FOCUS-FRAME can be omitted.
+
+2012-07-25 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Adjust buffer text indirection counters at the end of Fkill_buffer.
+ * buffer.c (Fkill_buffer): Adjust indirection counters when the
+ buffer is definitely dead. This should really fix an issue reported
+ by Christoph Scholtes again. (Bug#12007).
+ (init_buffer_once): Initialize indirection counters of
+ buffer_defaults and buffer_local_symbols (for sanity and safety).
+
+2012-07-24 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (init_iterator): Don't compute dimensions of truncation
+ and continuation glyphs on tooltip frames, leave them at zero.
+ Avoids continued lines in tooltips. (Bug#11832)
+
+2012-07-24 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simplify copy_overlay.
+ * buffer.c (copy_overlay): Simplify. Use build_marker.
+ * lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks.
+
+2012-07-23 Eli Zaretskii <eliz@gnu.org>
+
+ * print.c (print_object): Don't crash when a frame's name is nil
+ or invalid. (Bug#12025)
+
+ * window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as
+ it signals an error when a tooltip frame is being created.
+
+2012-07-23 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup miscellaneous objects allocation and initialization.
+ * alloc.c (allocate_misc): Change to static. Add argument to
+ specify the subtype. Adjust comment and users.
+ (build_overlay): New function.
+ * buffer.c (copy_overlays, Fmake_overlay): Use it.
+ * lisp.h (struct Lisp_Overlay): Remove obsolete comment.
+ (allocate_misc): Remove prototype.
+ (build_overlay): Add prototype.
+
+2012-07-23 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Swap buffer text indirection counters in Fbuffer_swap_text.
+ * buffer.c (Fbuffer_swap_text): Swap indirections too.
+ This avoids crash reported by Christoph Scholtes at
+ http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html.
+
+2012-07-22 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (Popdown_data): New struct.
+ (pop_down_menu): p->pointer is Popdown_data. Release the pool and
+ free Popdown_data.
+ (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
+ (initWithContentRect): Make imgView and contentView non-static
+ and autorelease them. Also autorelease img and matrix (Bug#12005).
+ (dealloc): Remove (Bug#12005).
+
+2012-07-22 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Adjust consing_since_gc when objects are explicitly freed.
+ * alloc.c (GC_DEFAULT_THRESHOLD): New macro.
+ (Fgarbage_collect): Use it. Change minimum to 1/10 of default.
+ (free_cons, free_misc): Subtract object size from consing_since_gc.
+
+2012-07-22 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simplify and cleanup markers positioning code.
+ * marker.c (attach_marker): More useful eassert.
+ (live_buffer, set_marker_internal): New function.
+ (Fset_marker, set_marker_restricted): Use set_marker_internal.
+ (set_marker_both, set_marker_restricted_both): Use live_buffer.
+
+2012-07-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int,
+ as it's limited by the amount of memory, not by INT_MAX.
+
+2012-07-21 Eli Zaretskii <eliz@gnu.org>
+
+ * keyboard.c (keys_of_keyboard): Bind language-change to 'ignore'
+ in special-event-map. See the discussion at
+ http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html
+ for the reasons.
+
+ * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning
+ info.dwItemData. Fixes crashes on 64-bit Windows.
+ Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
+
+2012-07-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134).
+ (conversationIdentifier): Return value is NSInteger.
+ * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA.
+
+2012-07-21 Chong Yidong <cyd@gnu.org>
+
+ * window.c (decode_any_window): Signal an error if the window is
+ on a dead frame (Bug#11984).
+
+2012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Add indirection counting to speed up Fkill_buffer.
+ * buffer.h (struct buffer): New member.
+ * buffer.c (Fget_buffer_create): Set indirection counter to 0.
+ (Fmake_indirect_buffer): Set indirection counter to -1, increment
+ base buffer indirection counter.
+ (compact_buffer): If ENABLE_CHECKING, verify indirection counters.
+ (Fkill_buffer): Adjust indirection counters as needed, don't walk
+ through buffer list if indirection counter is 0.
+
+2012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Extend the value returned by Fgarbage_collect with heap statistics.
+ * alloc.c (Qheap): New symbol.
+ (syms_of_alloc): DEFSYM it.
+ (Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data.
+ (Fmemory_free): Remove.
+ (syms_of_alloc): Don't defsubr it.
+ * buffer.c (Fcompact_buffer): Remove.
+ (syms_of_buffer): Don't defsubr it.
+
+2012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Make maybe_gc inline.
+ Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline).
+ * lisp.h (consing_since_gc, gc_relative_threshold)
+ (memory_full_cons_threshold): Revert declaration.
+ (maybe_gc): Remove prototype, define as inline.
+ * alloc.c: Remove old commented-out code.
+ (consing_since_gc, gc_relative_threshold)
+ (memory_full_cons_threshold): Revert to global.
+ (maybe_gc): Remove.
+
+2012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simple wrapper for make_unibyte_string, adjust font_open_by_name.
+ * lisp.h (build_unibyte_string): New function.
+ * dosfns.c, fileio.c, fns.c, ftfont.c, process.c:
+ * sysdep.c, w32fns.c, xfns.c: Use it.
+ * font.c (font_open_by_name): Change 2nd and 3rd args to the only arg
+ of type Lisp_Object to avoid redundant calls to make_unibyte_string.
+ Adjust users accordingly.
+ * font.h (font_open_by_name): Adjust prototype.
+
+2012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup calls to Fgarbage_collect.
+ * lisp.h (maybe_gc): New prototype.
+ (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
+ Remove declarations.
+ * alloc.c (maybe_gc): New function.
+ (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
+ Make them static.
+ * bytecode.c (MAYBE_GC): Use maybe_gc.
+ * eval.c (eval_sub, Ffuncall): Likewise.
+ * keyboard.c (read_char): Likewise. Adjust call to maybe_gc
+ to avoid dependency from auto-save feature.
+
+2012-07-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.
+ (FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from
+ 'for_each_per_buffer_object_at'.
+ All uses changed. It's better to use upper-case for macros that
+ cannot be implemented as functions, to give the reader a clue
+ that they're special.
+
+2012-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (Fgarbage_collect): Tweak docstring.
+
+2012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Tweak the value returned from Fgarbage_collect again.
+ * alloc.c (Fgarbage_collect): New return value, as confirmed in
+ http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
+ Adjust documentation.
+ (total_vector_bytes): Rename to total_vector_slots, adjust
+ accounting.
+ (total_free_vector_bytes): Rename to total_free_vector_slots,
+ adjust accounting.
+ (Qstring_bytes, Qvector_slots): New symbols.
+ (syms_of_alloc): DEFSYM them.
+
+2012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Buffer compaction primitive which may be used from Lisp.
+ * buffer.c (compact_buffer, Fcompact_buffer): New function.
+ (syms_of_buffer): Register Fcompact_buffer.
+ * alloc.c (Fgarbage_collect): Use compact_buffer.
+ * buffer.h (compact_buffer): New prototype.
+ (struct buffer_text): New member.
+
+2012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ New macro to iterate over all buffers, miscellaneous cleanups.
+ * lisp.h (all_buffers): Remove declaration.
+ * buffer.h (all_buffers): Add declaration, with comment.
+ (for_each_buffer): New macro.
+ * alloc.c (Fgarbage_collect, mark_object): Use it.
+ * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte)
+ (init_buffer): Likewise.
+ * data.c (Fset_default): Likewise.
+ * coding.c (code_conversion_restore): Remove redundant check
+ for dead buffer.
+ * buffer.c (Fkill_buffer): Likewise. Remove obsolete comment.
+
+2012-07-18 Andreas Schwab <schwab@linux-m68k.org>
+
+ Fix bug that created negative-length intervals.
+ * intervals.c (merge_interval_right, merge_interval_left):
+ Do not zero out this interval if it is absorbed by its children,
+ as this interval's total length doesn't change in that case. See
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00403.html>.
+
+2012-07-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c (Fmake_bool_vector): Fix off-by-8 bug
+ when invoking (make-bool-vector N t) and N is a positive
+ multiple of 8 -- the last 8 bits were mistakenly cleared.
+
+ Remove some struct layout assumptions in bool vectors.
+ * alloc.c (bool_header_size): New constant.
+ (header_size, word_size): Move earlier, as they're now used earlier.
+ Use 'word_size' in a few more places, where it's appropriate.
+ (Fmake_bool_vector, sweep_vectors): Don't assume that there is no
+ padding before the data member of a bool vector.
+ (sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather
+ than doing the check by hand with an abort ().
+
+2012-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fdefvar): Don't check constants since we only set the var if
+ it's not yet defined anyway (bug#11904).
+
+ * lisp.h (last_undo_boundary): Declare new var.
+ * keyboard.c (command_loop_1): Set it.
+ * cmds.c (Fself_insert_command): Use it to only remove boundaries that
+ were auto-added by the command loop (bug#11774).
+
+2012-07-18 Andreas Schwab <schwab@linux-m68k.org>
+
+ * w32font.c (Qsymbol): Remove local definition.
+ (syms_of_w32font): Don't DEFSYM it.
+
+2012-07-18 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix sweep_vectors to handle large bool vectors correctly.
+ * alloc.c (sweep_vectors): Account total_vector_bytes for
+ bool vectors larger than VBLOCK_BYTES_MAX.
+
+2012-07-18 Chong Yidong <cyd@gnu.org>
+
+ * frame.c (x_set_frame_parameters): Revert bogus change introduced
+ in 2012-05-25 commit by Paul Eggert (Bug#11738).
+
+2012-07-18 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Return more descriptive data from Fgarbage_collect.
+ Suggested by Stefan Monnier in
+ http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
+ * alloc.c (bounded_number): New function.
+ (total_buffers, total_vectors): New variable.
+ (total_string_size): Rename to total_string_bytes, adjust users.
+ (total_vector_size): Rename to total_vector_bytes, adjust users.
+ (sweep_vectors): Account total_vectors and total_vector_bytes.
+ (Fgarbage_collect): New return value. Adjust documentation.
+ (gc_sweep): Account total_buffers.
+ (Fmemory_free, Fmemory_use_counts): Use bounded_number.
+ (VECTOR_SIZE): Remove.
+ * data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
+ (Qinterval, Qmisc): New symbols.
+ (syms_of_data): Initialize them.
+ * lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
+ (Qcons, Qbuffer): New declarations.
+
+2012-07-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c (Fmemory_free): Account for memory-free's own storage.
+ Round up, not down. Improve doc.
+
+2012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Restore old code in allocate_string_data to avoid Faset breakage.
+ Reported by Julien Danjou <julien@danjou.info> in
+ http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html.
+ * alloc.c (allocate_string_data): Restore old code with minor
+ adjustments, fix comment to explain this subtle issue.
+
+2012-07-17 Eli Zaretskii <eliz@gnu.org>
+
+ Remove FILE_SYSTEM_CASE.
+ * s/msdos.h (FILE_SYSTEM_CASE): Don't define.
+
+ * fileio.c (FILE_SYSTEM_CASE): Don't define.
+ (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
+ Fixes problems on MS-DOS with Vtemp_file_name_pattern when
+ call-process-region passes it through expand-file-name.
+
+ * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
+
+2012-07-17 Andreas Schwab <schwab@linux-m68k.org>
+
+ Fix crash when creating indirect buffer (Bug#11917)
+ * buffer.c (buffer_lisp_local_variables): Add argument CLONE.
+ Don't handle unbound variables specially if non-zero.
+ (Fbuffer_local_variables): Pass zero.
+ (clone_per_buffer_values): Pass non-zero.
+
+2012-07-17 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gnutls.c (emacs_gnutls_handshake): Revert last change. Add QUIT
+ to make the loop interruptible.
+
+2012-07-17 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gnutls.c (emacs_gnutls_handshake): Only retry if
+ GNUTLS_E_INTERRUPTED.
+
+2012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup and convert miscellaneous checks to eassert.
+ * alloc.c (mark_interval): Fix comment, partially rephrase
+ old comment from intervals.h (see below).
+ * intervals.c (find_interval, adjust_intervals_for_insertion)
+ (delete_interval, adjust_intervals_for_deletion)
+ (graft_intervals_into_buffer, temp_set_point_both, copy_intervals):
+ Convert to eassert.
+ (adjust_intervals_for_insertion, make_new_interval):
+ Remove obsolete and unused code.
+ * intervals.h (struct interval): Remove obsolete comment.
+ * textprotp.c (erase_properties): Remove unused code.
+ (Fadd_text_properties, set_text_properties_1, Fremove_text_properties)
+ (Fremove_list_of_text_properties): Convert to eassert.
+
+2012-07-17 Chong Yidong <cyd@gnu.org>
+
+ * editfns.c (Finsert_char): Doc fix.
+
+2012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix previous change to make Fmemory_free always accurate.
+ * alloc.c (make_interval): Update total_free_intervals.
+ (make_float): Likewise for total_free_floats.
+ (free_cons, Fcons): Likewise for total_free_conses.
+ (SETUP_ON_FREE_LIST, allocate_vector_from_block):
+ Likewise for total_free_vector_bytes.
+ (Fmake_symbol): Likewise for total_free_symbols.
+ (bytes_free): Remove.
+
+2012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simple free memory accounting feature.
+ * alloc.c (bytes_free, total_free_vector_bytes): New variable.
+ (sweep_vectors): Accumulate size of free vectors.
+ (Fgarbage_collect): Setup bytes_free.
+ (Fmemory_free): New function.
+ (syms_of_alloc): Register it.
+
+2012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup overlays checking.
+ * buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP.
+ * buffer.c (overlay_touches_p, recenter_overlay_lists): Change to
+ eassert and OVERLAYP.
+ (sort_overlays): Change to use OVERLAYP.
+
+2012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (tiny change)
+
+ * editfns.c (Finsert_char): Make it interactive, and make the
+ second arg optional. Copy interactive spec and docstring from
+ ucs-insert.
+
+2012-07-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913).
+ Unlike the other wrapped functions, fabs has an unspecified
+ effect on errno.
+
+2012-07-16 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (keyDown): Interpret flags without left/right bits
+ as the left key (Bug#11670).
+
+2012-07-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Remove empty and useless init functions.
+ * lisp.h (init_character_once, init_fns, init_image)
+ (init_filelock, init_sound): Remove prototype.
+ * character.c (init_character_once): Remove.
+ * filelock.c (init_filelock): Likewise.
+ * fns.c (init_fns): Likewise.
+ * image.c (init_image): Likewise.
+ * sound.c (init_sound): Likewise.
+ * emacs.c (main): Adjust accordingly.
+
+2012-07-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * gtkutil.h: Tiny cleanups.
+ (use_old_gtk_file_dialog): Remove useless declaration.
+ (xg_uses_old_file_dialog): Add suggested const attribute.
+
+2012-07-15 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (MAX_STRONG_CHAR_SEARCH): New macro.
+ (bidi_paragraph_init): Use it to limit search forward for a strong
+ directional character in abnormally large paragraphs full of
+ neutral or weak characters. (Bug#11943)
+
+2012-07-15 Stefano Facchini <stefano.facchini@gmail.com> (tiny change)
+
+ * gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
+ the toolbar (Bug#9451).
+ (xg_make_tool_item): Give the widget event box a transparent
+ background.
+
+2012-07-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup basic allocation variables and functions.
+ * alloc.c (ignore_warnings, init_intervals, init_float)
+ (init_cons, init_symbol, init_marker): Remove.
+ (interval_block_index): Initialize to INTERVAL_BLOCK_SIZE.
+ (float_block_index): Initialize to FLOAT_BLOCK_SIZE.
+ (cons_block_index): Initialize to CONS_BLOCK_SIZE.
+ (symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE.
+ (marker_block_index): Initialize to MARKER_BLOCK_SIZE.
+ (staticidx, init_alloc_once, init_strings, free_ablock):
+ Remove redundant initialization.
+ * fns.c (init_weak_hash_tables): Remove.
+ * lisp.h (init_weak_hash_tables): Remove prototype.
+
+2012-07-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use zero_vector where appropriate.
+ * alloc.c (zero_vector): Define as Lisp_Object. Adjust users
+ accordingly.
+ * lisp.h (zero_vector): New declaration.
+ * font.c (null_vector): Remove.
+ (syms_of_font): Remove initialization and staticpro.
+ (font_list_entities, font_find_for_lface): Change to use zero_vector.
+ * keymap.c (Faccessible_keymaps): Likewise.
+
+2012-07-15 Leo Liu <sdl.web@gmail.com>
+
+ * fringe.c: Fix typo in comments.
+
+2012-07-14 Leo Liu <sdl.web@gmail.com>
+
+ * fringe.c: Add a new bitmap exclamation-mark.
+
+2012-07-14 Eli Zaretskii <eliz@gnu.org>
+
+ * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
+
+ * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
+ (HAVE_MENUS): Don't define, defined by editing config.in with
+ msdos/sed2v2.inp.
+ (GMALLOC_INHIBIT_VALLOC): Don't define.
+ (MODE_LINE_BINARY_TEXT): Remove, not used anymore.
+
+2012-07-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt.
+
+2012-07-14 Glenn Morris <rgm@gnu.org>
+
+ * s/aix4-2.h, s/freebsd.h, s/gnu-linux.h, s/hpux10-20.h:
+ * s/irix6-5.h, s/netbsd.h, s/sol2-6.h, s/unixware.h:
+ Let configure set GC_SETJMP_WORKS, GC_MARK_STACK.
+
+2012-07-13 Glenn Morris <rgm@gnu.org>
+
+ * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.
+
+ * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it.
+ * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it.
+
+2012-07-13 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP.
+ (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE.
+ (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init)
+ (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA
+ where appropriate.
+ (ns_exec_path, ns_load_path, changeFont): Put () around assignment used
+ as boolean expression.
+ (x_set_window_size): Remove unused variable toolbar.
+ (ns_get_color_default, ns_mod_to_lisp): Remove.
+ (ns_mouse_position): Remove unused variables xchar and ychar.
+ (ns_compute_glyph_string_overhangs): Remove unused variable face.
+ (ns_set_vertical_scroll_bar): Remove unused variable count.
+ (ns_delete_terminal): Remove unused variable i.
+ (ns_term_init): Remove unused variables r, g and b.
+ (mouseDown): Remove unused variable window.
+ (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP.
+ (initFrameFromEmacs): Remove unused variable vbextra.
+ (mouseEntered): Remove unused variables p and dpyinfo.
+ (mouseExited): Remove unused variables p and r.
+ (ns_define_frame_cursor, ns_clear_frame_area)
+ (ns_draw_window_cursor, ns_initialize_display_info): Make static.
+ (menuDown): Assign [sender tag] to variable and cast the variable.
+
+ * nsterm.h (menuDown): Add id as type to argument sender.
+ (ns_display_info_for_name): Add Lisp_Object argument.
+ (ns_term_init): Add Lisp_Object argument.
+ (ns_map_event_to_object): Add void argument.
+ (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct
+ prototype with arguments and only declare if __OBJC__.
+ (nxatoms_of_nsselect): Add void argument.
+ (ns_lisp_to_cursor_type): Add Lisp_Object argument.
+ (ns_alloc_autorelease_pool): Add void argument.
+ (ns_release_autorelease_pool): Add void* argument.
+ (ns_get_defaults_value): Add const char* argument.
+
+ * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog)
+ (initFromContents): Use SSDATA where appropriate.
+ (ns_update_menubar): Add braces to ambigous if-else.
+ (initWithTitle): Put () around assignment in if statement.
+ (ns_menu_show): Remove unused variables window and keymap.
+ (update_frame_tool_bar): Remove unused variable selected_p.
+ (initWithContentRect): Remove unused variable this_cmd_name.
+
+ * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where
+ appropriate.
+ (setXBMColor): Remove unused variable len.
+ (setPixmapData): Put () around assignment in loop statement.
+
+ * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script)
+ (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA
+ where appropriate.
+ (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put ()
+ around assignment in loop statement.
+ (nsfont_open): Remove unused variable i.
+ (nsfont_open): Remove unused variable len.
+ (nsfont_draw): Remove unused variable cs.
+
+ * nsfns.m (x_set_icon_name, ns_set_name_internal)
+ (ns_set_name_as_filename, ns_implicitly_set_icon_type)
+ (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name)
+ (Fns_get_resource, Fns_set_resource, Fx_open_connection)
+ (Fns_font_name, Fns_perform_service)
+ (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript)
+ (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate.
+ (ns_set_name): Remove unused variable view.
+ (x_set_menu_bar_lines): Remove unused variable olines.
+ (x_set_tool_bar_lines): Remove unused variable root_window.
+ (Fns_list_colors): Put () around assignment in while statement.
+ (Fns_perform_service): Remove unused variable len.
+ (Fns_display_usable_bounds): Remove unused variable top.
+ (syms_of_nsfns): Remove unused variable i.
+
+ * nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to
+ memcpy (Bug#11907).
+
+2012-07-13 Kalle Kankare <kalle.kankare@iki.fi> (tiny change)
+
+ * image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo
+ and free it with DestroyExceptionInfo (Bug#11558).
+
+2012-07-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * s/ms-w32.h (FIRST_PTY_LETTER, HAVE_SOCKETS): Move to nt/config.nt.
+ (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE___BUILTIN_UNWIND_INIT):
+ Set here, not in nt/config.nt.
+
+2012-07-13 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow
+ cursor overflow into the last glyph on display line when the right
+ fringe is off. (Bug#11832)
+
+2012-07-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xdisp.c (produce_special_glyphs): Now static.
+ * dispextern.h (produce_special_glyphs): Remove decl.
+
+2012-07-13 Glenn Morris <rgm@gnu.org>
+
+ * s/bsd-common.h, s/cygwin.h: Remove empty files.
+ * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h.
+
+ * s/usg5-4-common.h (USG, USG5):
+ * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM):
+ * s/sol2-6.h (SOLARIS2):
+ * s/irix6-5.h (IRIX6_5):
+ * s/hpux10-20.h (USG, USG5, HPUX):
+ * s/gnu-linux.h (USG, GNU_LINUX):
+ * s/freebsd.h (BSD_SYSTEM):
+ * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS):
+ * s/cygwin.h (CYGWIN):
+ * s/bsd-common.h (BSD_SYSTEM, BSD4_2):
+ * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure.
+
+2012-07-13 BT Templeton <bpt@hcoop.net> (tiny change)
+
+ * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853).
+
+2012-07-13 Glenn Morris <rgm@gnu.org>
+
+ * s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it.
+
+ * s/gnu-linux.h, s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE.
+
+ * process.c (init_process_emacs): Replace MIN_PTY_KERNEL_VERSION.
+ * s/darwin.h (MIN_PTY_KERNEL_VERSION): Remove single-use macro.
+
+2012-07-12 Glenn Morris <rgm@gnu.org>
+
+ * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure.
+
+ * process.c (init_process_emacs): Rename from init_process.
+ The old name is also the name of a Mach system call.
+ * lisp.h, emacs.c: Update for this name change.
+ * nsgui.h, sysselect.h, s/darwin.h: Remove workaround that is no
+ longer needed.
+
+2012-07-12 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (insert_left_trunc_glyphs): Fix incorrect size in
+ memmove call that removes glyphs covered by the left truncation
+ glyph. Improve commentary.
+ (display_line): Fix display of continuation glyphs on GUI frames
+ when the right fringe is turned off and variable-size fonts are
+ used in the window. Move the code that appends a stretch glyph to
+ produce_special_glyphs, so that it could be used for truncation
+ and continuation glyphs alike.
+ (produce_special_glyphs) [HAVE_WINDOW_SYSTEM]: Produce a stretch
+ glyph of a suitably computed width, to align the special glyphs at
+ the window margin. Code moved from display_line. (Bug#11832)
+
+2012-07-12 Glenn Morris <rgm@gnu.org>
+
+ * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES.
+
+ * s/gnu-linux.h, s/hpux10-20.h:
+ Do not unconditionally define HAVE_XRMSETDATABASE.
+
+ * s/gnu-linux.h (UNIX98_PTYS): Let configure set it.
+
+2012-07-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix typos that broke OS X build.
+ Reported by Randal L. Schwartz in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00225.html>.
+ * nsterm.m (ns_timeout): Add missing local decl.
+ (ns_get_color): snprintf -> sprintf, to fix typo.
+
+2012-07-12 Glenn Morris <rgm@gnu.org>
+
+ * src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h:
+ * src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h:
+ * src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h:
+ Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure.
+
+ * s/cygwin.h, s/darwin.h, s/gnu-linux.h, s/irix6-5.h:
+ Move PTY_OPEN to configure.
+
+ * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
+ * s/gnu-linux.h, s/hpux10-20.h, s/irix6-5.h, s/template.h:
+ * s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure.
+
+2012-07-12 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use empty_unibyte_string where applicable.
+ * keyboard.c (parse_tool_bar_item): Use empty_unibyte_string.
+ * lread.c (read1): Likewise.
+ * xsettings.c (syms_of_xsettings): Likewise.
+
+2012-07-12 Glenn Morris <rgm@gnu.org>
+
+ * s/cygwin.h (G_SLICE_ALWAYS_MALLOC):
+ * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN):
+ * s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP):
+ * s/hpux10-20.h (RUN_TIME_REMAP):
+ * s/bsd-common.h (TABDLY): Move to configure.
+
+ * s/hpux10-20.h, s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure.
+
+ * s/bsd-common.h, s/darwin.h: Move TAB3 to configure.
+
+ * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
+ (BROKEN_SIGPOLL, BROKEN_GET_CURRENT_DIR_NAME): Let configure set them.
+
+ * s/darwin.h (NO_ABORT, NO_MATHERR): Let configure set them.
+
+ * s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, s/irix6-5.h:
+ * s/template.h: Move NARROWPROTO to configure.
+
+2012-07-11 Glenn Morris <rgm@gnu.org>
+
+ * s/gnu-linux.h, s/sol2-6.h: No longer define POSIX,
+ unused since 2011-01-17 change to systty.h.
+
+ * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h, s/gnu-linux.h:
+ * s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
+ Move HAVE_PTYS and HAVE_SOCKETS to configure.
+
+2012-07-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * s/sol2-6.h (HAVE_LIBKSTAT): Remove. (Bug#11914)
+
+2012-07-11 Glenn Morris <rgm@gnu.org>
+
+ * s/darwin.h, s/gnu-linux.h, s/template.h:
+ Move INTERRUPT_INPUT to configure.
+
+2012-07-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Minor adjustments to interning code.
+ * lisp.h (intern, intern_c_string): Redefine as static inline
+ wrappers for intern_1 and intern_c_string_1, respectively.
+ (intern_1, intern_c_string_1): Rename prototypes.
+ * lread.c (intern_1, intern_c_string_1, oblookup):
+ Simplify Vobarray checking.
+ * font.c (font_intern_prop): Likewise. Adjust comment.
+ * w32font.c (intern_font_name): Likewise.
+
+2012-07-11 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gnutls.c (Fgnutls_boot): Properly parse :keylist argument.
+
+ * coding.c (Fdefine_coding_system_internal): Use XCAR/XCDR instead
+ of Fcar/Fcdr if possible.
+ * font.c (check_otf_features): Likewise.
+ * fontset.c (Fnew_fontset): Likewise.
+ * gnutls.c (Fgnutls_boot): Likewise.
+ * minibuf.c (read_minibuf): Likewise.
+ * msdos.c (IT_set_frame_parameters): Likewise.
+ * xmenu.c (Fx_popup_dialog): Likewise.
+ * w32menu.c (Fx_popup_dialog): Likewise.
+
+2012-07-11 Glenn Morris <rgm@gnu.org>
+
+ * s/bsd-common.h, s/cygwin.h: No need to undefine INTERRUPT_INPUT,
+ since nothing has defined it on these platforms.
+
+ * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h:
+ * s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure.
+
+ * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
+ * s/gnu-linux.h, s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
+ Move CLASH_DETECTION to configure.
+
+ * s/gnu.h: Remove file, which is now empty.
+
+ * s/gnu.h, s/gnu-linux.h:
+ Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
+
+2012-07-11 John Wiegley <johnw@newartisans.com>
+
+ * alloc.c (mark_memory): Guard the "no_address_safety_analysis"
+ function attribute, so we only use it if it exists in the
+ compiler.
+
+2012-07-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid call to strlen in fast_c_string_match_ignore_case.
+ * search.c (fast_c_string_match_ignore_case): Change to use
+ length argument. Adjust users accordingly.
+ * lisp.h (fast_c_string_match_ignore_case): Adjust prototype.
+
+2012-07-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Assume mkdir, rmdir.
+ * sysdep.c (mkdir) [!HAVE_MKDIR]: Remove.
+ * sysdep.c (rmdir) [!HAVE_RMDIR]: Remove.
+
+ Assume rename.
+ * sysdep.c (rename) [!HAVE_RENAME]: Remove.
+
+ Assume perror.
+ * s/hpux10-20.h (HAVE_PERROR): Remove.
+ * sysdep.c (perror) [HPUX && !HAVE_PERROR]:
+ Remove dummy definition, as this problem was obsolete long ago.
+
+ Assume strerror.
+ * sysdep.c (strerror) [!HAVE_STRERROR && !WINDOWSNT]: Remove.
+
+2012-07-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid calls to strlen in font processing functions.
+ * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname)
+ (font_open_by_name): Change to use length argument.
+ Adjust users accordingly.
+ * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd):
+ Adjust prototypes.
+ * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd):
+ Change to return ptrdiff_t.
+ (xfont_list_pattern, xfont_match): Use length returned by
+ xfont_decode_coding_xlfd.
+ * xfns.c (x_default_font_parameter): Omit useless xstrdup.
+
+2012-07-11 Glenn Morris <rgm@gnu.org>
+
+ * s/darwin.h, s/freebsd.h, s/netbsd.h:
+ Move DONT_REOPEN_PTY to configure.
+
+ * sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]:
+ * s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it.
+
+2012-07-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove "#define unix" that is no longer needed (Bug#11905).
+ * s/aix4-2.h (unix): Remove; no longer needed.
+
+ EMACS_TIME simplification (Bug#11875).
+ This replaces macros (which typically do not work in GDB)
+ with functions, typedefs and enums, making the code easier to debug.
+ The functional style also makes code easier to read and maintain.
+ * systime.h: Include <sys/time.h> on all hosts, not just if
+ WINDOWSNT, since 'struct timeval' is needed in general.
+ (EMACS_TIME): Now a typedef, not a macro.
+ (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants,
+ not macros.
+ (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P)
+ (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ)
+ (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT)
+ (EMACS_TIME_LE): Now functions, not macros.
+ (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS)
+ (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros,
+ which are not functions. All uses rewritten to use:
+ (make_emacs_time): New function.
+ (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME)
+ (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are
+ not functions. All uses rewritten to use the following, respectively:
+ (emacs_secs_addr, invalid_emacs_time, get_emacs_time)
+ (add_emacs_time, sub_emacs_time): New functions.
+ * atimer.c: Don't include <sys/time.h>, as "systime.h" does this.
+ * fileio.c (Fcopy_file):
+ * xterm.c (XTflash): Get the current time closer to when it's used.
+ * makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies.
+
+ * bytecode.c (targets): Suppress -Woverride-init warnings.
+
+ Simplify by avoiding confusing use of strncpy etc.
+ * doc.c (Fsnarf_documentation):
+ * fileio.c (Ffile_name_directory, Fsubstitute_in_file_name):
+ * frame.c (Fmake_terminal_frame):
+ * gtkutil.c (get_utf8_string):
+ * lread.c (openp):
+ * nsmenu.m (ns_update_menubar):
+ * regex.c (regerror):
+ Prefer memcpy to strncpy and strncat when either will do.
+ * fileio.c (Fsubstitute_in_file_name):
+ * keyboard.c (MULTI_LETTER_MOD, parse_modifiers_uncached)
+ (menu_separator_name_p):
+ * nsmenu.m (ns_update_menubar):
+ Prefer memcmp to strncmp when either will do.
+ * nsterm.m: Include <ftoastr.h>.
+ (ns_get_color):
+ * s/gnu-linux.h, s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF):
+ Prefer snprintf to strncpy.
+ * nsterm.m (ns_term_init):
+ * widget.c (set_frame_size) [0]: Prefer xstrdup to xmalloc + strncpy.
+ * nsterm.m (ns_term_init):
+ Avoid the need for strncpy, by using build_string or
+ make_unibyte_string directly. Use dtoastr, not snprintf.
+ * process.c (Fmake_network_process): Diagnose service names that
+ are too long, rather than silently truncating them or creating
+ non-null-terminated names.
+ (Fnetwork_interface_info): Likewise, for interface names.
+ * sysdep.c (system_process_attributes) [GNU_LINUX]:
+ Prefer sprintf to strncat.
+ * xdisp.c (debug_method_add) [GLYPH_DEBUG]:
+ Prefer vsnprintf to vsprintf + strncpy.
+
+2012-07-10 Glenn Morris <rgm@gnu.org>
+
+ * dispnew.c (PENDING_OUTPUT_COUNT) [!__GNU_LIBRARY__]:
+ Clarify fallback case.
+
+2012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use XCAR and XCDR instead of Fcar and Fcdr where possible.
+ * callint.c, coding.c, doc.c, editfns.c, eval.c, font.c, fontset.c,
+ * frame.c, gnutls.c, minibuf.c, msdos.c, textprop.c, w32fns.c,
+ * w32menu.c, window.c, xmenu.c: Change to use XCAR and XCDR
+ where argument type is known to be a Lisp_Cons.
+
+2012-07-10 Tom Tromey <tromey@redhat.com>
+
+ * bytecode.c (BYTE_CODE_THREADED): New macro.
+ (BYTE_CODES): New macro. Replaces all old byte-code defines.
+ (enum byte_code_op): New type.
+ (CASE, NEXT, FIRST, CASE_DEFAULT, CASE_ABORT): New macros.
+ (exec_byte_code): Use them. Use token threading when applicable.
+
+2012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Optimize pure C strings initialization.
+ * lisp.h (make_pure_string): Fix prototype.
+ (build_pure_c_string): New function, defined as static inline. This
+ provides a better opportunity to optimize away calls to strlen when
+ the function is called with compile-time constant argument.
+ * alloc.c (make_pure_c_string): Fix comment. Change to add nchars
+ argument, adjust users accordingly. Use build_pure_c_string where
+ appropriate.
+ * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c,
+ * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c,
+ * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate.
+
+2012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid calls to strlen in miscellaneous functions.
+ * buffer.c (init_buffer): Use precalculated len, adjust if needed.
+ * font.c (Ffont_xlfd_name): Likewise. Change to call make_string.
+ * lread.c (openp): Likewise.
+
+2012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid calls to strlen in path processing functions.
+ * fileio.c (file_name_as_directory): Add comment. Change to add
+ srclen argument and return the length of result. Adjust users
+ accordingly.
+ (directory_file_name): Fix comment. Change to add srclen argument,
+ swap 1st and 2nd arguments to obey the common convention.
+ Adjust users accordingly.
+ * filelock.c (fill_in_lock_file_name): Avoid calls to strlen.
+
+2012-07-10 Glenn Morris <rgm@gnu.org>
+
+ * s/cygwin.h, s/darwin.h, s/freebsd.h, s/netbsd.h, s/unixware.h:
+ Move PENDING_OUTPUT_COUNT definition to configure.
+
+ * s/irix6-5.h (DATA_START, DATA_SEG_BITS):
+ * s/hpux10-20.h (DATA_SEG_BITS, DATA_START):
+ * s/gnu.h (DATA_START): Move definitions to configure.
+
+ * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards.
+ We include usg5-4-common.h, which defines them both.
+
+ * s/gnu.h: Don't include fcntl.h (every file in Emacs that uses
+ O_RDONLY already includes it).
+
+ Stop ns builds setting the EMACSLOADPATH environment variable.
+ * nsterm.m (ns_load_path): Rename from ns_init_paths.
+ Now it does not set EMACSLOADPATH, just returns the load-path string.
+ * nsterm.h: Update accordingly.
+ * lread.c [HAVE_NS]: Include nsterm.h.
+ (init_lread) [HAVE_NS]: Use ns_load_path.
+ * emacs.c (main) [HAVE_NS]: No longer call ns_init_paths.
+
+2012-07-09 Glenn Morris <rgm@gnu.org>
+
+ * s/gnu.h (SIGNALS_VIA_CHARACTERS): No need to define it here,
+ since the included bsd-common.h does so.
+
+ Stop ns builds setting the EMACSPATH environment variable.
+ * nsterm.m (ns_exec_path): New function, split from ns_init_paths.
+ (ns_init_paths): Do not set EMACSPATH.
+ * nsterm.h (ns_exec_path): Add it.
+ * callproc.c (init_callproc_1, init_callproc) [HAVE_NS]:
+ Use ns_exec_path.
+
+ * nsterm.m, nsterm.h (ns_etc_directory): Fix type, empty return.
+
+2012-07-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * process.c (wait_reading_process_output): 'waitchannels' was unset
+ when read_kbd || !NILP (wait_for_cell); fix this.
+
+ Add GCC-style 'const' attribute to functions that can use it.
+ * character.h (char_resolve_modifier_mask):
+ * keyboard.h (make_ctrl_char):
+ * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe)
+ (init_character_once, next_almost_prime, init_fns, init_image)
+ (flush_pending_output, init_sound):
+ * mem-limits.h (start_of_data):
+ * menu.h (finish_menu_items):
+ Add ATTRIBUTE_CONST.
+ * emacs.c (DEFINE_DUMMY_FUNCTION):
+ Declare the dummy function with ATTRIBUTE_CONST.
+ * lisp.h (Fbyteorder, Fmax_char, Fidentity):
+ Add decls with ATTRIBUTE_CONST.
+
+ Minor improvements to make_formatted_string.
+ * alloc.c (make_formatted_string): Prefer int to ptrdiff_t
+ where int is good enough, as vsprintf returns an int.
+ * lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF.
+
+2012-07-09 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use make_formatted_string to avoid double length calculation.
+ * lisp.h (make_formatted_string): New prototype.
+ * alloc.c (make_formatted_string): New function.
+ * buffer.c (Fgenerate_new_buffer_name): Use it.
+ * dbus.c (syms_of_dbusbind): Likewise.
+ * editfns.c (Fcurrent_time_zone): Likewise.
+ * filelock.c (get_boot_time): Likewise.
+ * frame.c (make_terminal_frame, set_term_frame_name)
+ (x_report_frame_params): Likewise.
+ * image.c (gs_load): Likewise.
+ * minibuf.c (get_minibuffer): Likewise.
+ * msdos.c (dos_set_window_size): Likewise.
+ * process.c (make_process): Likewise.
+ * xdisp.c (ensure_echo_area_buffers): Likewise.
+ * xsettings.c (apply_xft_settings): Likewise.
+
+2012-07-09 Glenn Morris <rgm@gnu.org>
+
+ Stop ns builds polluting the environment with EMACSDATA, EMACSDOC.
+ * nsterm.m (ns_etc_directory): New function, split from ns_init_paths.
+ (ns_init_paths): Do not set EMACSDATA, EMACSDOC.
+ * nsterm.h (ns_etc_directory): Add it.
+ * callproc.c [HAVE_NS]: Include nsterm.h.
+ (init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory.
+
+2012-07-09 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Move marker debugging code under MARKER_DEBUG.
+ * marker.c (MARKER_DEBUG): Move marker debugging code under
+ #ifdef MARKER_DEBUG because byte_char_debug_check is too slow
+ for bootstrap with --enable-checking (~3x slowdown reported
+ by Juanma Barranquero <lekktu@gmail.com>).
+ (verify_bytepos): Move under #ifdef MARKER_DEBUG.
+
+2012-07-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t.
+ See <http://bugs.gnu.org/11825#29>.
+
+2012-07-08 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (fill_glyphless_glyph_string): If the face of the glyph
+ has no font, use the frame's font. (Bug#11813)
+ (display_line): Add commentary about displaying truncation glyphs
+ on GUI frames.
+ (produce_special_glyphs): Move here from term.c.
+
+ * term.c (produce_special_glyphs): Move to xdisp.c.
+
+ * dispextern.h (produce_special_glyphs): Move prototype to xdisp.c
+ section.
+
+2012-07-07 Andreas Schwab <schwab@linux-m68k.org>
+
+ * xdisp.c (display_line): Avoid warning about implicit declaration
+ of FRAME_FONT.
+
+ * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM.
+
+ * lisp.h: Remove empty conditional.
+
+2012-07-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lread.c (load_path_check): Now static.
+
+ Fix some minor --with-ns problems found by static checking.
+ * frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]:
+ (x_set_font) [!HAVE_X_WINDOWS]:
+ * image.c (xpm_load_image) [HAVE_NS]:
+ (x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]:
+ (x_disable_image) [!HAVE_NS && !HAVE_NTGUI]:
+ Remove unused local.
+ (Fx_parse_geometry) [HAVE_NS]: Don't return garbage.
+ (xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label.
+ * image.c (x_create_bitmap_from_file) [HAVE_NS]:
+ (xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]:
+ * nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal):
+ * xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
+ Fix pointer signedness problem.
+ * xfaces.c (FRAME_X_FONT_TABLE):
+ * xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros.
+
+2012-07-07 Glenn Morris <rgm@gnu.org>
+
+ * lread.c (load_path_check): New function, split from init_lread.
+ (init_lread): Reorganize. Motivation:
+ If EMACSLOADPATH is set, check/warn about that rather than the
+ defaults, which we are not going to use. Hence we can remove
+ the turn_off_warning and WINDOWSNT || HAVE_NS tests.
+ Don't warn if site-lisp directories are missing.
+ If not installed, start from a blank load-path, since
+ PATH_LOADSEARCH refers to the eventual installation directories.
+
+2012-07-07 Eli Zaretskii <eliz@gnu.org>
+
+ Support truncation and continuation glyphs on GUI frames, when
+ fringes are disabled. (Bug#11832)
+ * xdisp.c (init_iterator): Get dimensions of truncation and
+ continuation glyphs even if on GUI frames.
+ Adjust it->last_visible_x on GUI frames when the left or right fringes,
+ or both, are absent.
+ (start_display, move_it_in_display_line_to): Handle the case of a
+ GUI frame without a fringe to display continuation or truncation
+ glyphs.
+ (insert_left_trunc_glyphs): Support GUI frames: make sure
+ truncation glyphs overwrite enough glyphs from the current line to
+ have sufficient space in pixels.
+ (display_line): Support truncation and continuation glyphs on GUI
+ frames. If some spare pixels are left on the line after inserting
+ the truncation glyphs, fill that space with a stretch glyph of a
+ suitably computed width.
+
+ * term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
+ produce_glyphs, to support GUI sessions.
+
+2012-07-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781).
+
+ * sysdep.c (list_system_processes): Port to NetBSD-current (Bug#11797).
+
+ Do not require float-time's arg to fit in time_t (Bug#11825).
+ This works better on hosts where time_t is unsigned, and where
+ float-time is applied to the (negative) difference between two times.
+ * editfns.c (decode_time_components): Last arg is now double *,
+ not int *, and means to store all the result as a double, without
+ worrying about whether the seconds part fits in time_t.
+ All callers changed.
+ (lisp_time_argument): Remove last int * arg, as it's no longer needed.
+ All callers changed.
+ (Ffloat_time): Do not fail merely because the specified time falls
+ outside of time_t range.
+
+2012-07-07 Glenn Morris <rgm@gnu.org>
+
+ * s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV):
+ * s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM):
+ * s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively).
+
+2012-07-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)):
+ Update dependencies.
+
+ * s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp.
+
+2012-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
+ * dispextern.h, nsfns.m, nsterm.m: Include <c-strcase.h>.
+ * dispextern.h (xstrcasecmp): Rewrite using c_strcasecmp.
+ * nsfns.m (x_get_string_resource): Use c_strncasecmp, not strncasecmp.
+ * nsterm.m (ns_default): Use c_strcasecmp, not strcasecmp.
+ * xfaces.c (xstrcasecmp) [!HAVE_STRCASECMP]: Remove.
+
+ * xfont.c (compare_font_names): Redo to omit the need for casts.
+
+2012-07-06 Andreas Schwab <schwab@linux-m68k.org>
+
+ * xfns.c (Fx_change_window_property): Doc fix.
+ * w32fns.c (Fx_change_window_property): Doc fix.
+
+ * w32fns.c (Fx_window_property): Accept the same arguments as the
+ X Windows version. Doc fix.
+ * xfns.c (Fx_window_property): Doc fix. (Bug#11870)
+
+2012-07-06 Juanma Barranquero <lekktu@gmail.com>
+ Eli Zaretskii <eliz@gnu.org>
+
+ * s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt.
+ Windows-specific code from nt/config.nt moved here.
+ Obsolete settings removed.
+
+2012-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * process.c: Avoid unnecessary calls to gettime.
+ (wait_reading_process_output): Don't get the time of day
+ when gobbling data immediately and not waiting, as there's no need
+ for it in that case. This removes a FIXME.
+
+2012-07-06 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3
+ is defined (Bug#11768).
+
+2012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix marker debugging code.
+ * marker.c (byte_char_debug_check): Do not perform the check
+ if buffer is not multibyte.
+ (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
+ Call byte_char_debug_check with correct arguments.
+
+2012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Compile marker debugging code only if ENABLE_CHECKING is defined.
+ * marker.c (byte_char_debug_check, count_markers):
+ Use only if ENABLE_CHECKING is defined.
+ (byte_debug_flag): Remove.
+ (CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos):
+ Always call byte_char_debug_check if ENABLE_CHECKING is defined.
+
+2012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid code repetition in marker-related functions.
+ * marker.c (attach_marker): New function.
+ (Fset_marker, set_marker_restricted, set_marker_both)
+ (set_marker_restricted_both): Use it.
+ (Fset_marker, set_marker_restricted, Fbuffer_has_markers_at):
+ Consistently rename charno to charpos.
+ (marker_position): Add eassert.
+ (marker_byte_position): Convert to eassert.
+
+2012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simplify list operations in unchain_overlay and unchain_marker.
+ * buffer.c (unchain_overlay): Simplify. Add comment.
+ * marker.c (unchain_marker): Simplify. Fix comments.
+
+2012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Introduce fast path for the widely used marker operation.
+ * alloc.c (build_marker): New function.
+ * lisp.h (build_marker): New prototype.
+ * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
+ * composite.c (autocmp_chars): Likewise.
+ * editfns.c (buildmark): Remove.
+ (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
+ (save_restriction_save): Use build_marker.
+ * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
+ * window.c (save_window_save): Likewise.
+
+2012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not use Fdelete_overlay in delete_all_overlays
+ to avoid redundant calls to unchain_overlay.
+ * buffer.c (drop_overlay): New function.
+ (delete_all_overlays, Fdelete_overlay): Use it.
+ * minibuf.c (get_minibuffer): Fix comment.
+
+2012-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to OpenBSD 5.1 amd64.
+ * sysdep.c [BSD_SYSTEM]: Include <sys/param.h> before <sys/sysctl.h>.
+ This is needed for OpenBSD, and should be harmless on all BSD systems.
+ Also, include <sys/sysctl.h>, as it should be available on all
+ BSD_SYSTEM hosts given that we're already calling sysctl in that case.
+ (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but
+ use p_pid member, not kp_proc.pid.
+
+2012-07-06 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows.
+
+2012-07-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ More xmalloc and related cleanup.
+ * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
+ * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
+ * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
+ * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
+ * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
+ * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
+ * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
+ * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
+ * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
+ * xterm.c:
+ Omit needless casts involving void * pointers and allocation.
+ Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
+ as the former is more robust if P's type is changed.
+ Prefer xzalloc to xmalloc + memset 0.
+ Simplify malloc-or-realloc to realloc.
+ Don't worry about xmalloc returning a null pointer.
+ Prefer xstrdup to xmalloc + strcpy.
+ * editfns.c (Fmessage_box): Grow message_text by at least 80 when
+ growing it.
+ * keyboard.c (apply_modifiers_uncached): Prefer local array to
+ alloca of a constant.
+
+2012-07-05 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (display_line): Fix horizontal pixel coordinates when
+ hscroll is larger than the line width. Fixes long and futile
+ looping inside extend_face_to_end_of_line (on a TTY) producing
+ glyphs that are not needed and thrown away.
+
+2012-07-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * marker.c (set_marker_restricted_both): Simplify by using
+ clip_to_bounds.
+
+2012-07-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * editfns.c (region_limit): Simplify by using clip_to_bounds.
+
+2012-07-05 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is
+ not defined (Bug#11768).
+ (xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768).
+ (xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser)
+ (make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new
+ followed by gtk_box_set_homogeneous (Bug#11768).
+ (xg_update_menu_item): Use GTK_IS_BOX (Bug#11768).
+ (update_theme_scrollbar_width, xg_create_scroll_bar):
+ Use gtk_scrollbar_new (Bug#11768).
+ (xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3.
+ (is_box_type): New function (Bug#11768).
+ (xg_tool_item_stale_p): Call is_box_type.
+ (xg_initialize): Get settings by calling gtk_settings_get_for_screen
+ with default display (Bug#11768).
+
+2012-07-05 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (window_hscroll_limited): New function.
+ (pos_visible_p, init_iterator): Use it to avoid overflow of pixel
+ coordinates when window's hscroll is set to insanely large
+ values. (Bug#11857)
+
+2012-07-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo.
+ ($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies.
+
+2012-07-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup xmalloc.
+ * lisp.h (xzalloc): New prototype. Omit needless casts.
+ * alloc.c (xzalloc): New function. Omit needless casts.
+ * charset.c: Omit needless casts. Convert all calls to
+ xmalloc with following memset to xzalloc.
+ * dispnew.c: Likewise.
+ * fringe.c: Likewise.
+ * image.c: Likewise.
+ * sound.c: Likewise.
+ * term.c: Likewise.
+ * w32fns.c: Likewise.
+ * w32font.c: Likewise.
+ * w32term.c: Likewise.
+ * xfaces.c: Likewise.
+ * xfns.c: Likewise.
+ * xterm.c: Likewise.
+ * atimer.c: Omit needless casts.
+ * buffer.c: Likewise.
+ * callproc.c: Likewise.
+ * ccl.c: Likewise.
+ * coding.c: Likewise.
+ * composite.c: Likewise.
+ * doc.c: Likewise.
+ * doprnt.c: Likewise.
+ * editfns.c: Likewise.
+ * emacs.c: Likewise.
+ * eval.c: Likewise.
+ * filelock.c: Likewise.
+ * fns.c: Likewise.
+ * gtkutil.c: Likewise.
+ * keyboard.c: Likewise.
+ * lisp.h: Likewise.
+ * lread.c: Likewise.
+ * minibuf.c: Likewise.
+ * msdos.c: Likewise.
+ * print.c: Likewise.
+ * process.c: Likewise.
+ * region-cache.c: Likewise.
+ * search.c: Likewise.
+ * sysdep.c: Likewise.
+ * termcap.c: Likewise.
+ * terminal.c: Likewise.
+ * tparam.c: Likewise.
+ * w16select.c: Likewise.
+ * w32.c: Likewise.
+ * w32reg.c: Likewise.
+ * w32select.c: Likewise.
+ * w32uniscribe.c: Likewise.
+ * widget.c: Likewise.
+ * xdisp.c: Likewise.
+ * xmenu.c: Likewise.
+ * xrdb.c: Likewise.
+ * xselect.c: Likewise.
+
+2012-07-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fileio.c (time_error_value): Check the right error number.
+ Problem reported by Troels Nielsen in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00095.html>.
+
+2012-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * window.c (set_window_hscroll): Revert the 100000 hscroll limit.
+ This should be fixed in a better way; see Eli Zaretskii in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00088.html>.
+ (HSCROLL_MAX): Remove; this is now internal to set_window_hscroll.
+
+ * fileio.c (time_error_value): Rename from special_mtime.
+ The old name's problems were noted by Eli Zaretskii in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00087.html>.
+
+ * emacs.c (gdb_pvec_type): Change it back to enum pvec_type.
+ This variable's comment says Emacs needs at least one GDB-visible
+ symbol of type enum pvec_type, to work around GDB problems.
+ The symbol's value doesn't matter.
+
+ * alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';'
+ that causes compilation to fail on pre-C99 compilers.
+
+2012-07-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY)
+ (HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete.
+
+2012-07-04 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * buffer.c (init_buffer_once): Fix initialization of
+ headers for buffer_defaults and buffer_local_symbols.
+ Reported by Juanma Barranquero <lekktu@gmail.com>.
+
+2012-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE.
+ * lisp.h (enum pvec_type): Use fewer bits.
+ (PSEUDOVECTOR_SIZE_BITS): New constant.
+ (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it.
+ (XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to
+ change in pvec_type.
+ (PSEUDOVECTOR_TYPEP): New macro.
+ (TYPED_PSEUDOVECTORP): Use it.
+ * fns.c (internal_equal): Adapt code to extract pvectype.
+ * emacs.c (gdb_pvec_type): Update type.
+ * alloc.c (PSEUDOVECTOR_NBYTES): New macro.
+ (VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK).
+ (VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE).
+ (SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE.
+ (sweep_vectors): Use it. Use local var `total_bytes' instead of
+ abusing vector->header.next.nbytes.
+ (live_vector_p): Use PVEC_TYPE.
+ (mark_object): Adapt code to extract pvectype. Use switch.
+
+2012-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doprnt.c (doprnt): Don't assume string length fits in 'int'.
+ Tighten new eassert a bit.
+
+2012-07-04 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix compilation with --enable-gcc-warnings and -O1
+ optimization level.
+ * doprnt.c (doprnt): Change type of tem to int, initialize
+ to avoid compiler warning. Add eassert.
+ * search.c (simple_search): Initialize match_byte to avoid
+ compiler warning. Add eassert.
+
+2012-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid weird behavior with large horizontal scrolls.
+ Without this change, for example, large hscroll values would
+ mess up Emacs's display on Fedora 15 x86, presumably due to
+ overflows in int calculations in the display code.
+ Also, if buffers had long lines, Emacs would freeze.
+ * window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB.
+ (set_window_hscroll): New function, containing the old guts of
+ Fset_window_hscroll. Return the clipped value.
+ (Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it.
+ This avoids the need to check against PTRDIFF_MAX.
+
+ * buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.
+
+2012-07-04 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.
+
+2012-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * regex.c: Suppress GCC warning on RHEL 6. (Bug#11207)
+ Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later,
+ since GCC 4.4.6 issues a bogus warning for them.
+
+ Fix bugs in file timestamp newness comparisons.
+ * fileio.c (Ffile_newer_than_file_p):
+ * lread.c (Fload): Use full timestamp resolution of files,
+ not just the 1-second resolution, so that files that are only
+ slightly newer still count as newer.
+ * fileio.c (Ffile_newer_than_file_p): Don't assume file
+ timestamps fit in 'int'; this fixes a Y2038 bug on most hosts.
+
+2012-07-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fileio.c: Improve handling of file time marker. (Bug#11852)
+ (special_mtime): New function.
+ (Finsert_file_contents, Fverify_visited_file_modtime):
+ Use it to set special mtime values consistently.
+
+2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
+
+ * fileio.c (Finsert_file_contents): Properly handle st_mtime
+ marker for non-existing file. (Bug#11852)
+
+2012-07-03 Glenn Morris <rgm@gnu.org>
+
+ * lisp.h (Fread_file_name): Restore EXFUN (it's not a normal DEFUN
+ and did not make it into globals.h).
+
+2012-07-03 Tom Tromey <tromey@redhat.com>
+
+ * window.c (Fset_window_margins, Fset_window_fringes)
+ (Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
+ * textprop.c (Fprevious_property_change): No longer static.
+ * syntax.c (Fsyntax_table_p): No longer static.
+ * process.c (Fget_process, Fprocess_datagram_address): No longer
+ static.
+ * keymap.c (Flookup_key, Fcopy_keymap): No longer static.
+ * keyboard.c (Fcommand_execute): No longer static.
+ Remove EXFUN.
+ * insdel.c (Fcombine_after_change_execute): No longer static.
+ * image.c (Finit_image_library): No longer static.
+ * fileio.c (Fmake_symbolic_link): No longer static.
+ * eval.c (Ffetch_bytecode): No longer static.
+ * editfns.c (Fuser_full_name): No longer static.
+ * doc.c (Fdocumentation_property, Fsnarf_documentation):
+ No longer static.
+ * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
+ static.
+ * dired.c (Ffile_attributes): No longer static.
+ * composite.c (Fcomposition_get_gstring): No longer static.
+ * callproc.c (Fgetenv_internal): No longer static.
+
+ * ccl.h: Remove EXFUNs.
+ * buffer.h: Remove EXFUNs.
+ * dispextern.h: Remove EXFUNs.
+ * intervals.h: Remove EXFUNs.
+ * fontset.h: Remove EXFUN.
+ * font.h: Remove EXFUNs.
+ * dosfns.c (system_process_attributes): Remove EXFUN.
+ * keymap.h: Remove EXFUNs.
+ * lisp.h: Remove EXFUNs.
+ * w32term.h: Remove EXFUNs.
+ * window.h: Remove EXFUNs.
+ * xsettings.h: Remove EXFUN.
+ * xterm.h: Remove EXFUN.
+
+2012-07-03 Glenn Morris <rgm@gnu.org>
+
+ * lisp.h (Frandom): Make it visible to C.
+ * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new
+ buffer for invisible buffers. (Bug#1229)
+
+2012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
+ values which aren't power of 2.
+ * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.
+ Verify it's value and the value of VECTOR_BLOCK_SIZE. Adjust users
+ accordingly.
+
+2012-07-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.
+
+ * alloc.c (mark_object): Revert part of last patch to use `switch'.
+
+2012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (allocate_vector_block): Remove redundant
+ calls to mallopt if DOUG_LEA_MALLOC is defined.
+ (allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
+ avoid calls to mallopt if zero_vector is returned.
+
+2012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
+ is enabled, avoid dereferencing NULL current_sblock if
+ running undumped.
+
+2012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup basic buffer management.
+ * buffer.h (struct buffer): Change layout to use generic vector
+ marking code. Fix some comments. Change type of 'clip_changed'
+ to bitfield. Remove unused #ifndef old.
+ (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
+ (GET_OVERLAYS_AT): Fix indentation.
+ (for_each_per_buffer_object_at): New macro.
+ * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
+ (Fbuffer_local_variables): Use it.
+ (init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
+ * alloc.c (allocate_buffer): Adjust to match new layout of
+ struct buffer. Fix comment.
+ (mark_overlay): New function.
+ (mark_buffer): Use it. Use mark_vectorlike to mark normal
+ Lisp area of struct buffer.
+ (mark_object): Use it. Adjust marking of misc objects
+ and related comments.
+
+2012-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
+ wrapper that is not needed because the wrapped code is a no-op (zero
+ machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
+ This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.
+
+2012-07-02 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (mark_buffer): Simplify. Remove prototype.
+ (mark_object): Add comment. Reorganize marking of vector-like
+ objects. Use CHECK_LIVE for all vector-like objects except buffers
+ and subroutines when GC_CHECK_MARKED_OBJECTS is defined.
+ Avoid redundant calls to mark_vectorlike for bool vectors.
+
+2012-06-30 Glenn Morris <rgm@gnu.org>
+
+ * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
+
+ * epaths.in (PATH_SITELOADSEARCH): New.
+ * lread.c (init_lread): Use PATH_SITELOADSEARCH.
+ This is rather than relying on --enable-locallisppath elements
+ having "site-lisp" in their names. (Bug#10208#25, 11658)
+
+2012-06-30 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (sys_select): Accept and ignore one more argument.
+
+ * w32.c (emacs_gnutls_pull): Call select with one more argument.
+
+ * sysselect.h [DOS_NT]: Don't include sys/select.h.
+ (pselect) [!MS_DOS]: Redirect to sys_select.
+
+ * sysdep.c: Don't include dos.h and dosfns.h.
+
+ * process.c (sys_select):
+ * msdos.c (sys_select): Accept one more argument and ignore it.
+
+ * msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
+ adapt data types and code to that.
+
+ * dosfns.c:
+ * msdos.c (gettime, settime): Define away the prototypes in dos.h,
+ which clashes with the gnulib function of the same name.
+
+2012-06-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * font.c (font_style_to_value, font_style_symbolic)
+ (font_prop_validate_style): Add type checks for values in
+ font_style_table.
+
+ * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
+ argument.
+ * character.c, charset.c, menu.c, process.c, window.c: Adjust all
+ uses.
+
+2012-06-29 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (try_window_id): Undo last change.
+
+ * w32.c (getwd): Adjust commentary about startup_dir.
+ (init_environment): Always call sys_access, even in non-MSVC
+ builds. Don't chdir to the directory of the Emacs executable.
+ This undoes code from 1997 which was justified by the need to
+ "avoid conflicts when removing and renaming directories". But its
+ downside was that every relative file name was being interpreted
+ relative to the directory of the Emacs executable, which can never
+ be TRT. In particular, it broke sys_access when called with
+ relative file names.
+ (sys_access): Map GetLastError to errno.
+
+2012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Change type of 'fringes_outside_margins'
+ to bitfield. Fix comment. Adjust users accordingly.
+ (struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
+ Adjust comment.
+ * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
+ to ptrdiff_t.
+
+2012-06-29 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gnutls.c (emacs_gnutls_handshake):
+ Add QUIT to make the loop interruptible.
+
+2012-06-29 Glenn Morris <rgm@gnu.org>
+
+ * charset.c (init_charset): Make lack of etc/charsets fatal.
+
+2012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * editfns.c (region_limit): Fix type mismatch.
+
+2012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
+ undefined. Convert from xassert to eassert.
+ * nsmenu.m: Convert from xassert to eassert.
+ * nsterm.m: Likewise.
+
+2012-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * editfns.c (region_limit): Clip to narrowing (bug#11770).
+
+2012-06-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid integer overflow on scroll-left and scroll-right.
+ * window.c (HSCROLL_MAX): New macro.
+ (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
+ overflow when requested scroll falls outside ptrdiff_t range.
+
+2012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Change type of 'hscroll',
+ 'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
+ 'last_modified' and 'last_overlay_modified' to EMACS_INT.
+ Adjust users accordingly.
+ * xdisp.c (try_cursor_movement): Replace type check with eassert.
+ * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
+ from EMACS_INT to ptrdiff_t.
+ (make_window): Omit redundant initialization.
+
+2012-06-28 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
+
+2012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Change type of 'use_time' and
+ 'sequence_number' from Lisp_Object to int.
+ * frame.c (make_frame): Adjust users accordingly.
+ * print.c (print_object): Likewise.
+ * window.c (select_window, Fwindow_use_time, make_parent_window)
+ (make_window): Likewise.
+
+2012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * dispextern.h (GLYPH_DEBUG): Now defined in config.h if
+ enabled with --enable-checking=[all,glyphs] configure option.
+ Fix GLYPH_DEBUG usage assuming that it may be undefined,
+ adjust comments accordingly.
+ * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be
+ undefined, adjust comments accordingly.
+ * image.c: Likewise.
+ * scroll.c: Likewise.
+ * w32fns.c: Likewise.
+ * w32term.c: Likewise.
+ * xdisp.c: Likewise.
+ * xfaces.c: Likewise.
+ * xfns.c: Likewise.
+ * xterm.c: Likewise.
+
+2012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Generalize run-time debugging checks.
+ * dispextern.h (XASSERTS): Remove.
+ * fontset.c (xassert): Remove.
+ Convert from xassert to eassert.
+ * alloc.c: Convert from xassert to eassert.
+ * bidi.c: Likewise.
+ * dispnew.c: Likewise.
+ * fns.c: Likewise.
+ * fringe.c: Likewise.
+ * ftfont.c: Likewise.
+ * gtkutil.c: Likewise.
+ * image.c: Likewise.
+ * keyboard.c: Likewise.
+ * menu.c: Likewise.
+ * process.c: Likewise.
+ * scroll.c: Likewise.
+ * sound.c: Likewise.
+ * term.c: Likewise.
+ * w32console.c: Likewise.
+ * w32fns.c: Likewise.
+ * w32term.c: Likewise.
+ * window.c: Likewise.
+ * xdisp.c: Likewise.
+ * xfaces.c: Likewise.
+ * xfns.c: Likewise.
+ * xselect.c: Likewise.
+ * xterm.c: Likewise.
+
+2012-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * fns.c (maybe_resize_hash_table): Output message when growing the
+ purify-hashtable.
+
+2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (allocate_string_data): Remove dead code.
+ * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
+ avoid GCC warning about unused macro.
+
+2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (allocate_string): Omit intervals initialization.
+ * alloc.c (make_uninit_multibyte_string): Initialize intervals
+ as in make_pure_string and make_pure_c_string.
+
+2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (allocate_string): Fix last change.
+
+2012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (allocate_string): Remove two redundant calls
+ to memset, add explicit initialization where appropriate.
+
+2012-06-27 Glenn Morris <rgm@gnu.org>
+
+ * lisp.mk (lisp): Remove paths.elc.
+
+2012-06-27 Chong Yidong <cyd@gnu.org>
+
+ * doc.c (Fsubstitute_command_keys): Fix punctuation.
+
+2012-06-26 John Wiegley <johnw@newartisans.com>
+
+ * unexmacosx.c (copy_data_segment): Add two section names used
+ on Mac OS X Lion: __mod_init_func and __mod_term_func.
+
+ * alloc.c (mark_memory): Do not check with -faddress-sanitizer
+ when building with Clang.
+
+2012-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fapply): Allow calling it with a single argument.
+
+2012-06-26 Eli Zaretskii <eliz@gnu.org>
+
+ * s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to
+ _stricmp and _strnicmp.
+ (HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1.
+
+2012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (allocate_window): Zero out non-Lisp part of newly
+ allocated window.
+ (allocate_process): Likewise for new process.
+ (allocate_terminal): Change to use offsetof.
+ (allocate_frame): Likewise.
+ * frame.c (make_frame): Omit redundant initialization.
+ * window.c (make_parent_window): Use memset.
+ (make_window): Omit redundant initialization.
+ * process.c (make_process): Omit redundant initialization.
+ * terminal.c (create_terminal): Likewise.
+
+2012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * term.c (delete_tty): Remove redundant call to memset.
+
+2012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c: Remove build_string.
+ * lisp.h: Define build_string as static inline. This provides
+ a better opportunity to optimize away calls to strlen when the
+ function is called with compile-time constant argument.
+ * image.c (imagemagick_error): Convert to build_string.
+ * w32proc.c (sys_spawnve): Likewise.
+ * xterm.c (x_term_init): Likewise.
+
+2012-06-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use sprintf return value instead of invoking strlen on result.
+ In the old days this wasn't portable, since some sprintf
+ implementations returned char *. But they died out years ago and
+ Emacs already assumes sprintf returns int.
+ Similarly for float_to_string.
+ This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64.
+ * ccl.c (ccl_driver):
+ * character.c (string_escape_byte8):
+ * data.c (Fnumber_to_string):
+ * doprnt.c (doprnt):
+ * print.c (print_object):
+ * xdisp.c (message_dolog):
+ * xfns.c (syms_of_xfns):
+ Use sprintf or float_to_string result to avoid need to call strlen.
+ * data.c (Fnumber_to_string):
+ Use make_unibyte_string, since the string must be ASCII.
+ * lisp.h, print.c (float_to_string): Now returns int length.
+ * term.c (produce_glyphless_glyph):
+ Use sprintf result rather than recomputing it.
+
+ Clean out last vestiges of the old HAVE_CONFIG_H stuff.
+ * Makefile.in (ALL_CFLAGS):
+ * makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H.
+ * gmalloc.c, regex.c: Include <config.h> unconditionally.
+
+2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * dispextern.h (xstrcasecmp): Define to library function
+ strcasecmp if available.
+ * xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
+
+2012-06-25 Andreas Schwab <schwab@linux-m68k.org>
+
+ * keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
+ Avoid comma operator.
+ * menu.c (push_submenu_start, push_submenu_end)
+ (push_left_right_boundary, push_menu_pane): Likewise.
+ * msdos.c (dos_rawgetc): Likewise.
+
+2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xfns.c (xic_create_fontsetname): Remove redundant calls
+ to memset.
+
+2012-06-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gtkutil.c (get_utf8_string): Remove redundant assignment.
+ sprintf already null-terminates its output.
+
+ * xfns.c (x_window): Remove redundant cast.
+
+2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xmenu.c (xmenu_show, xdialog_show): Explicit cast from
+ `const char *' to `char *' to avoid compiler warning.
+
+2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string
+ instead of truncating it to 63 (admittedly a generous limit).
+
+ * process.c: Fix spelling and caps in comments.
+
+2012-06-24 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * emacs.c (setpgrp): Remove definition, unused.
+ * sysdep.c (setpgrp): Remove definition, not used in this file.
+
+2012-06-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Update dependencies.
+
+2012-06-24 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h.
+ (SYSTIME_H): Add nt/inc/sys/time.h.
+
+ * systime.h [WINDOWSNT]: Include sys/time.h.
+
+ * s/ms-w32.h (struct timespec): Definition moved from
+ nt/inc/sys/time.h. Suggested by Paul Eggert <eggert@cs.ucla.edu>.
+
+2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
+ * buffer.h (buffer_slot_type_mismatch):
+ * data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
+ * eval.c (unwind_to_catch):
+ * image.c (my_png_error, my_error_exit):
+ * keyboard.c (quit_throw_to_read_char, user_error)
+ (Fexit_recursive_edit, Fabort_recursive_edit):
+ * lisp.h (die, args_out_of_range, args_out_of_range_3)
+ (wrong_type_argument, buffer_overflow, __executable_start)
+ (memory_full, buffer_memory_full, string_overflow, Fthrow)
+ (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error)
+ (error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs)
+ (fatal):
+ (child_setup) [!DOS_NT]:
+ * lread.c (end_of_file_error, invalid_syntax):
+ * process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
+ * puresize.h (pure_write_error):
+ * search.c (matcher_overflow):
+ * sound.c (sound_perror, alsa_sound_perror):
+ * sysdep.c, syssignal.h (croak):
+ * term.c (maybe_fatal, vfatal):
+ * textprop.c (text_read_only):
+ * undo.c (user_error):
+ * unexmacosx.c (unexec_error):
+ * xterm.c (x_ins_del_lines, x_delete_glyphs):
+ Use _Noreturn rather than NO_RETURN.
+ No need for separate decl merely because of _Noreturn.
+ * sound.c (sound_warning, parse_sound):
+ Remove unnecessary forward decls.
+
+2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000).
+ * lisp.h (WAIT_READING_MAX): New macro.
+ * dispnew.c (Fsleep_for, sit_for):
+ * keyboard.c (kbd_buffer_get_event):
+ * process.c (Faccept_process_output):
+ Use it to avoid bogus compiler warnings with obsolescent GCC versions.
+ This improves on the previous patch, which introduced a bug
+ when time_t is unsigned and as wide as intmax_t.
+ See <http://bugs.gnu.org/9000#51>.
+
+2012-06-23 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (sit_for, Fsleep_for):
+ * keyboard.c (kbd_buffer_get_event):
+ * process.c (Faccept_process_output): Avoid compiler warnings when
+ comparing a 32-bit time_t with a 64-bit INTMAX_MAX.
+
+2012-06-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Update dependencies.
+
+ * w32.c (ltime): Add return type and declare static.
+ (w32_get_internal_run_time): Remove usused variable `time_100ns'.
+
+2012-06-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * sysdep.c [__FreeBSD__]: Fix more recently-introduced typos.
+ Privately reported by Herbert J. Skuhra.
+ (make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST.
+ All uses changed.
+ (system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time,
+ not make_lisp_timeval, when the argument is of type EMACS_TIME.
+
+2012-06-23 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in
+ last argument of make_unibyte_string.
+
+ * keyboard.c (kbd_buffer_get_event): Include the codepage and the
+ language ID in the event parameters.
+
+ * w32term.c (w32_read_socket): Put the new keyboard codepage into
+ event.code, not the obscure "character set ID".
+
+2012-06-23 Chong Yidong <cyd@gnu.org>
+
+ * xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select.
+
+2012-06-23 Eli Zaretskii <eliz@gnu.org>
+
+ Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
+ * w32.c (fdutimens): New function.
+
+ * w32proc.c (sys_select): Adapt to change in the EMACS_TIME type.
+
+ * s/ms-w32.h (pselect): Redirect to sys_select.
+
+ * sysselect.h [WINDOWSNT]: Don't include sys/select.h.
+
+ * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
+ in the logic of incrementing and decrementing the value of
+ use_relocatable_buffers.
+
+2012-06-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * sysdep.c [__FreeBSD__]: Fix recently-introduced typos.
+ Privately reported by Herbert J. Skuhra.
+ [__FreeBSD__]: Remove "*/" typo after "#include".
+ (timeval_to_EMACS_TIME) [__FreeBSD__]: New static function.
+ (TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro.
+ (TIMEVAL, system_process_attributes) [__FreeBSD__]:
+ Don't assume EMACS_TIME and struct timeval are the same type.
+
+2012-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Support higher-resolution time stamps (Bug#9000).
+ The time stamps are only nanosecond-resolution at the C level,
+ since that's the best that any real-world system supports now.
+ But they are picosecond-resolution at the Lisp level, as that's
+ easy, and leaves room for future OS improvements.
+
+ * Makefile.in (LIB_CLOCK_GETTIME): New macro.
+ (LIBES): Use it.
+
+ * alloc.c (Fgarbage_collect): Port to higher-res time stamps.
+ Don't get current time unless it's needed.
+
+ * atimer.c: Include <sys/time.h> unconditionally, since gnulib
+ now provides it if it's absent.
+ (start_atimer): Port to higher-res time stamps.
+ Check for time stamp overflow. Don't get current time more
+ often than is needed.
+
+ * buffer.h (struct buffer): Buffer modtime now has high resolution.
+ Include systime.h, not time.h.
+ (NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros.
+
+ * dired.c: Include stat-time.h.
+ (Ffile-attributes): File times now have higher resolution.
+
+ * dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h.
+ (struct image): Timestamp now has higher resolution.
+
+ * dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always
+ has at least microseconds now. All uses removed.
+ (update_frame, update_single_window, update_window, update_frame_1)
+ (Fsleep_for, sit_for): Port to higher-resolution time stamps.
+ (duration_to_sec_usec): Remove; no longer needed.
+
+ * editfns.c (time_overflow): Now extern.
+ (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)
+ (float-time, Fformat_time_string, Fcurrent_time_string)
+ (Fcurrent_time_zone): Accept and generate higher-resolution
+ time stamps.
+ (make_time_tail, make_lisp_time, dissassemble_lisp_time)
+ (decode_time_components, lisp_seconds_argument): New functions.
+ (make_time): Now static.
+ (lisp_time_argument): Now returns EMACS_TIME. New arg ppsec.
+ Report an error if the time is invalid, rather than having the caller
+ do that.
+
+ * fileio.c: Include <stat-time.h>
+ (Fcopy_file): Copy higher-resolution time stamps.
+ Prefer to set the time stamp via a file descriptor if that works.
+ (Fset_file_times, Finsert_file_contents, Fwrite_region)
+ (Fverify_visited_file_modtime, Fclear_visited_file_modtime)
+ (Fvisited_file_modtime, Fset_visited_file_modtime):
+ Support higher-resolution time stamps.
+
+ * fns.c (Frandom): Use nanoseconds, not microseconds, for seed.
+
+ * gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps.
+
+ * image.c (prepare_image_for_display, clear_image_cache)
+ (lookup_image): Port to higer-resolution time stamps.
+
+ * keyboard.c (start_polling, bind_polling_period):
+ Check for time stamp overflow.
+ (read_char, kbd_buffer_get_event, timer_start_idle)
+ (timer_stop_idle, timer_resume_idle, timer_check_2, timer_check)
+ (Fcurrent_idle_time, init_keyboard, set_waiting_for_input):
+ Port to higher-resolution time stamps. Do not assume time_t is signed.
+ (decode_timer): New function. Timers are now vectors of length 9,
+ not 8, to accommodate the picosecond component.
+ (timer_check_2): Use it.
+
+ * nsterm.m (select_timeout, timeval_subtract): Remove.
+ (ns_timeout): Use Emacs's facilities for time stamp arithmetic,
+ as they're a bit more accurate and handle overflow better.
+ (ns_select): Change prototype to be compatible with pselect.
+ (ns_select, ns_term_shutdown): Port to ns-resolution time stamps.
+ * nsterm.h (ns_select): Adjust prototype.
+
+ * msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes
+ us-resolution time stamps.
+ (sys_select): Use the new EMACS_TIME_SIGN macro instead.
+
+ * lread.c (read_filtered_event): Port to ns-resolution time stamps.
+
+ * lisp.h (time_overflow): New decl.
+ (wait_reading_process_output): First arg is now intmax_t, not int,
+ to accommodate larger waits.
+
+ * process.h (struct Lisp_Process.read_output_delay):
+ Now counts nanoseconds, not microseconds.
+ * process.c (ADAPTIVE_READ_BUFFERING): Don't worry about
+ EMACS_HAS_USECS.
+ (READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output)
+ (wait_reading_process_output):
+ Port to ns-resolution time stamps.
+ (Faccept_process_output, wait_reading_process_output):
+ Check for time stamp overflow. Do not assume time_t is signed.
+ (select_wrapper): Remove; we now use pselect.
+ (Fprocess_attributes): Now generates ns-resolution time stamps.
+
+ * sysdep.c: Include utimens.h. Don't include utime.h
+ or worry about struct utimbuf; gnulib does that for us now.
+ (gettimeofday): Remove; gnulib provides a substitute.
+ (make_timeval): New function.
+ (set_file_times): Now sets ns-resolution time stamps.
+ New arg FD; all uses changed.
+ (time_from_jiffies, ltime_from_jiffies, get_up_time)
+ (system_process_attributes):
+ Now returns ns-resolution time stamp. All uses changed.
+ Check for time stamp overflow.
+
+ * sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib
+ provides a substitute now.
+
+ * systime.h: Include timespec.h rather than sys/time.h and time.h,
+ since it guarantees struct timespec.
+ (EMACS_TIME): Now struct timespec, so that we can support
+ ns-resolution time stamps.
+ (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros.
+ (EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now.
+ (EMACS_USECS): Remove.
+ (EMACS_SET_USECS): The underlying time stamp now has ns resolution,
+ so multiply the arg by 1000 before storing it.
+ (EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS):
+ New macros.
+ (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME):
+ Port to ns-resolution time stamps.
+ (EMACS_TIME_NEG_P): Remove; replaced by....
+ (EMACS_TIME_SIGN): New macro.
+ (EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P)
+ (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros.
+ (set_file_times, make_time, lisp_time_argument): Adjust signature.
+ (make_timeval, make_lisp_time, decode_time_components): New decls.
+ (EMACS_TIME_CMP): Remove; no longer used. Plus, it was buggy, in
+ that it mishandled time_t overflow. You can't compare by subtracting!
+ (EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE)
+ (EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp.
+
+ * term.c: Include <sys/time.h>.
+ (timeval_to_Time): New function, for proper overflow wraparound.
+ (term_mouse_position, term_mouse_click): Use it.
+
+ * undo.c (record_first_change): Support higher-resolution time stamps
+ in the undo buffer.
+ (Fprimitive_undo): Use them when restoring time stamps.
+
+ * w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull)
+ (w32_get_internal_run_time):
+ Port to higher-resolution Emacs time stamps.
+ (ltime): Now accepts single 64-bit integer, as that's more convenient
+ for callers.
+
+ * xdisp.c (start_hourglass): Port to ns-resolution time stamps.
+
+ * xgselect.c, xgselect.h (xg_select): Add sigmask argument,
+ for compatibility with pselect. Support ns-resolution time stamps.
+
+ * xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps.
+
+ * xselect.c (wait_for_property_change, x_get_foreign_selection):
+ Check for time stamp overflow, and support ns-resolution time stamps.
+
+ * xterm.c: Don't include sys/time.h; gnulib does that for us now.
+ Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set.
+ (timeval_subtract): Remove; no longer needed.
+ (XTflash, XTring_bell, x_wait_for_event):
+ Port to ns-resolution time stamps. Don't assume time_t is signed.
+
+2012-06-22 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (x_consider_frame_title): Revert last change.
+
+2012-06-22 Eli Zaretskii <eliz@gnu.org>
+
+ * alloc.c (NSTATICS): Enlarge to 0x650. Otherwise, Emacs compiled
+ with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER
+ aborts in staticpro during startup. (Without -DBYTE_CODE_METER,
+ staticidx goes up to 1597 out of 1600 = 0x640.)
+
+2012-06-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fileio.c (Fdefault_file_modes): Block input while fiddling with umask.
+ Otherwise, the umask might be mistakenly 0 while handling input signals.
+
+2012-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuf.c (Fread_string): Bind minibuffer-completion-table.
+
+2012-06-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
+ * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c:
+ * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct
+ access to `contents' member of Lisp_Vector objects with AREF and ASET
+ where appropriate.
+
+2012-06-19 Chong Yidong <cyd@gnu.org>
+
+ * frame.c (delete_frame): When selecting a frame on a different
+ text terminal, do not alter the terminal's top-frame.
+
+ * xdisp.c (format_mode_line_unwind_data): Record the target
+ frame's selected window and its terminal's top-frame.
+ (unwind_format_mode_line): Restore them.
+ (x_consider_frame_title, display_mode_line, Fformat_mode_line):
+ Callers changed.
+ (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
+ since tty frames can be explicitly named.
+ (prepare_menu_bars): Likewise.
+
+ * term.c (Ftty_top_frame): New function.
+
+2012-06-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port byte-code-meter to modern targets.
+ * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume
+ !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG. Problem with
+ CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00282.html>.
+ (METER_1, METER_2): Simplify.
+
+2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * data.c (Fdefalias): Return `symbol' (bug#11686).
+
+2012-06-18 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c (Fkill_buffer): Don't throw an error when the buffer
+ gets killed during executing of this function (Bug#11665).
+ Try to always return Qt when the buffer has been actually killed.
+ (Vkill_buffer_query_functions): In doc-string say that functions
+ run by this hook should not change the current buffer.
+
+2012-06-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix recently-introduced process.c problems found by static checking.
+ * process.c (write_queue_push, write_queue_pop, send_process):
+ Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets.
+ (write_queue_pop): Fix pointer signedness problem.
+ (send_process): Remove unused local.
+
+2012-06-17 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (redisplay_internal): No need to redisplay terminal
+ frames that are not on top.
+
+2012-06-17 Troels Nielsen <bn.troels@gmail.com>
+
+ * process.c (make_process): Initialize write_queue.
+ (write_queue_push, write_queue_pop): New functions.
+ (send_process): Use them to maintain correct ordering of process
+ writes (Bug#10815).
+
+2012-06-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (eassert): Assume C89 or later.
+ This removes the need for CHECK.
+ (CHECK): Remove. Its comments about always evaluating its
+ argument were confusing, as 'eassert' typically does not evaluate
+ its argument.
+
+ * coding.c (produce_chars): Use ptrdiff_t, not int.
+
+ * xterm.c (x_draw_underwave): Check for integer overflow.
+ This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
+
+2012-06-17 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
+ referenced (Bug#11583).
+
+2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
+
+ Implement wave-style variant of underlining.
+ * dispextern.h (face_underline_type): New enum.
+ (face): Add field for underline type.
+ * nsterm.m (ns_draw_underwave): New function.
+ (ns_draw_text_decoration): Use it.
+ * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
+ New functions.
+ (x_draw_glyph_string): Use them.
+ * xfaces.c (Qline, Qwave): New Lisp objects.
+ (check_lface_attrs, merge_face_ref)
+ (Finternal_set_lisp_face_attribute, realize_x_face):
+ Handle wave-style underline face attributes.
+ * xterm.c (x_draw_underwave): New function.
+ (x_draw_glyph_string): Use it.
+
+2012-06-16 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O))
+ ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O))
+ ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O))
+ ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O))
+ ($(BLD)/w32select.$(O)): Update dependencies.
+
+2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
+
+ * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
+ (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
+ * character.c (_fetch_multibyte_char_p): Remove.
+ * alloc.c: Include "character.h" before "buffer.h".
+ * bidi.c: Likewise.
+ * buffer.c: Likewise.
+ * bytecode.c: Likewise.
+ * callint.c: Likewise.
+ * callproc.c: Likewise.
+ * casefiddle.c: Likewise.
+ * casetab.c: Likewise.
+ * category.c: Likewise.
+ * cmds.c: Likewise.
+ * coding.c: Likewise.
+ * composite.c: Likewise.
+ * dired.c: Likewise.
+ * dispnew.c: Likewise.
+ * doc.c: Likewise.
+ * dosfns.c: Likewise.
+ * editfns.c: Likewise.
+ * emacs.c: Likewise.
+ * fileio.c: Likewise.
+ * filelock.c: Likewise.
+ * font.c: Likewise.
+ * fontset.c: Likewise.
+ * fringe.c: Likewise.
+ * indent.c: Likewise.
+ * insdel.c: Likewise.
+ * intervals.c: Likewise.
+ * keyboard.c: Likewise.
+ * keymap.c: Likewise.
+ * lread.c: Likewise.
+ * macros.c: Likewise.
+ * marker.c: Likewise.
+ * minibuf.c: Likewise.
+ * nsfns.m: Likewise.
+ * nsmenu.m: Likewise.
+ * print.c: Likewise.
+ * process.c: Likewise.
+ * regex.c: Likewise.
+ * region-cache.c: Likewise.
+ * search.c: Likewise.
+ * syntax.c: Likewise.
+ * term.c: Likewise.
+ * textprop.c: Likewise.
+ * undo.c: Likewise.
+ * unexsol.c: Likewise.
+ * w16select.c: Likewise.
+ * w32fns.c: Likewise.
+ * w32menu.c: Likewise.
+ * window.c: Likewise.
+ * xdisp.c: Likewise.
+ * xfns.c: Likewise.
+ * xmenu.c: Likewise.
+ * xml.c: Likewise.
+ * xselect.c: Likewise.
+
+2012-06-16 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end.
+ If all the glyphs of the glyph row came from strings, and we have no
+ cursor positioning clues, put the cursor on the first glyph of the
+ row.
+ (handle_face_prop): Use chunk-relative overlay string index when
+ indexing into it->string_overlays array. (Bug#11653)
+ (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
+ the rightmost. (Bug#11720)
+
+2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
+
+ * category.h (CHAR_HAS_CATEGORY): Define as inline.
+ (CATEGORY_MEMBER): Enforce 1/0 value.
+ * category.c (_temp_category_set): Remove.
+
+2012-06-16 Eli Zaretskii <eliz@gnu.org>
+
+ * window.c (Fdelete_other_windows_internal)
+ (Fdelete_window_internal): Don't access frame's mouse highlight
+ info of the initial frame. (Bug#11677)
+
+2012-06-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .gdbinit (xgetint): Fix recently-introduced paren typo.
+ Assume USE_2_TAGS_FOR_INTS.
+ (xreload): Adjust $tagmask width to match recent lisp.h change.
+
+ Simplify lisp.h in minor ways that should not affect code.
+ * lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined.
+ (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P)
+ (LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number):
+ Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined.
+ (INTTYPEBITS): New macro, for clarity.
+ (INTMASK, MOST_POSITIVE_FIXNUM): Use it.
+ (LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P):
+ Simplify now that USE_LSB_TAG is always defined.
+ (TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast.
+ (make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler.
+
+2012-06-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/data.$(O)): Update dependencies.
+
+2012-06-13 Glenn Morris <rgm@gnu.org>
+
+ * s/bsd-common.h (BSD4_3):
+ * s/usg5-4-common.h (USG5_4): No longer define; unused.
+
+2012-06-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
+ instead of union.
+ (XLI, XIL): Define.
+ (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG):
+ Use them.
+ * emacs.c (gdb_use_struct): Rename from gdb_use_union.
+ * .gdbinit: Check gdb_use_struct instead of gdb_use_union.
+ * alloc.c (widen_to_Lisp_Object): Remove.
+ (mark_memory): Use XIL instead of widen_to_Lisp_Object.
+ * frame.c (delete_frame): Remove outdated comment.
+ * w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
+ USE_LISP_UNION_TYPE.
+ (Fw32_unregister_hot_key): Likewise.
+ (Fw32_toggle_lock_key): Likewise.
+ * w32menu.c (add_menu_item): Likewise.
+ (w32_menu_display_help): Use XIL instead of checking
+ USE_LISP_UNION_TYPE.
+ * w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
+ (init_heap): Likewise.
+ * w32term.c (w32_read_socket): Update comment.
+
+2012-06-13 Glenn Morris <rgm@gnu.org>
+
+ * s/usg5-4-common.h, src/s/unixware.h:
+ Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04).
+
+ * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04).
+
+2012-06-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)
+ * alloc.c (make_number) [!defined make_number]:
+ Remove, as lisp.h always defines this now.
+ (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
+ (roundup_size): Verify that it is a power of 2.
+ * data.c (Fmake_variable_buffer_local, Fmake_local_variable):
+ * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
+ * lisp.h (USE_LSB_TAG): Allow the builder to compile with
+ -DUSE_LSB_TAG=0, to override the automatically-selected default.
+ USE_LSB_TAG now is always defined to be either 0 or 1.
+ All uses changed.
+ (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
+ code works fine either way, and efficiency is not a concern here,
+ as the union type is for debugging, not for production.
+ (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]:
+ Use an inline function on all platforms when using the union type,
+ since this is simpler and 'static inline' can be used portably
+ within Emacs now.
+ (LISP_INITIALLY_ZERO): New macro.
+ (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove.
+ (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
+
+2012-06-12 Glenn Morris <rgm@gnu.org>
+
+ * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files.
+
+ * s/gnu-linux.h (HAVE_PROCFS): Move to configure.
+
+ * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h:
+ Move BROKEN_SIGIO to configure.
+
+ * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h:
+ Move NO_TERMIO to configure.
+
+2012-06-12 Chong Yidong <cyd@gnu.org>
+
+ * image.c (imagemagick_load_image): Use MagickFlattenImage if
+ MagickMergeImageLayers is undefined. Use pixel pusher loop if
+ MagickExportImagePixels is undefined.
+
+2012-06-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c (imagemagick_load_image): Remove unused label.
+
+2012-06-11 Glenn Morris <rgm@gnu.org>
+
+ * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
+ * s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h:
+ * s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h:
+ * s/usg5-4-common.h: Move SYSTEM_TYPE to configure.
+
+2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (make_byte_code): New function.
+ (Fmake_byte_code): Use it. Don't purify here.
+ * lread.c (read1): Use it as well to avoid extra allocation.
+
+2012-06-11 Chong Yidong <cyd@gnu.org>
+
+ * image.c (imagemagick_load_image): Implement transparency.
+
+2012-06-10 Andreas Schwab <schwab@linux-m68k.org>
+
+ * regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly
+ account for preceding backslashes. (Bug#11663)
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * term.c: Support italics in capable terminals (Bug#9652).
+ (no_color_bit): Replace unused NC_BLINK with NC_ITALIC.
+ (turn_on_face): Output using TS_enter_italic_mode if available.
+ Don't handle unused blinking and alt-charset cases.
+ (turn_off_face): Handle italic case; discard unused tty_blinking_p
+ and tty_alt_charset_p cases.
+ (tty_capable_p, init_tty): Support italics.
+
+ * termchar.h (struct tty_display_info): Add field for italics.
+ Remove unused blink field.
+
+ * xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
+ Handle slant.
+
+ * dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC.
+ (struct face): Remove unused fields tty_dim_p, tty_blinking_p, and
+ tty_alt_charset_p. Add tty_italic_p.
+
+2012-06-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and
+ dbus_type_is_basic if available.
+ (xd_extract_signed, xd_extract_unsigned): Rename from
+ extract_signed and extract_unsigned, respectively. Adapt callers.
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066).
+
+ * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive
+ case (Bug#9752).
+
+2012-06-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xdisp.c (vmessage): Treat frame message as multibyte.
+ Without this change, (let ((§ 1)) (make-variable-buffer-local '§))
+ would generate the diagnostic "Making \302\247 buffer-local while
+ let-bound!".
+
+2012-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (showing_window_margins_p): Undo last change, which
+ was done due to an inadvertent commit.
+ (adjust_frame_glyphs_for_frame_redisplay): Do call
+ showing_window_margins_p.
+
+2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fmake_var_non_special): New primitive.
+ (syms_of_eval): Defsubr it.
+ * lread.c (syms_of_lread): Mark `values' as lexically scoped.
+
+2012-06-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused
+ function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org).
+
+2012-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ * alloc.c (allocate_vectorlike): Fix last change.
+
+2012-06-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Block-based vector allocation of small vectors.
+ * lisp.h (struct vectorlike_header): New field `nbytes',
+ adjust comment accordingly.
+ * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
+ to denote vector blocks. Adjust users (live_vector_p,
+ mark_maybe_pointer, valid_lisp_object_p) accordingly.
+ (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
+ (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
+ (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX),
+ (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST),
+ (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros.
+ (roundup_size): New constant.
+ (struct vector_block): New data type.
+ (vector_blocks, vector_free_lists, zero_vector): New variables.
+ (all_vectors): Rename to `large_vectors'.
+ (allocate_vector_from_block, init_vectors, allocate_vector_from_block)
+ (sweep_vectors): New functions.
+ (allocate_vectorlike): Return `zero_vector' as the only vector of
+ 0 items. Allocate new vector from block if vector size is less than
+ or equal to VBLOCK_BYTES_MAX.
+ (Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
+ (init_alloc_once): Add call to init_vectors.
+
+2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fmacroexpand): Stop if the macro returns the same form.
-2012-08-12 Jan Djärv <jan.h.d@swipnet.se>
+2012-06-07 Paul Eggert <eggert@cs.ucla.edu>
- * nsterm.m (ns_read_socket): Return early if there is a modal
- window (Bug#12043).
+ * doprnt.c (doprnt): Truncate multibyte char correctly.
+ Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP)
+ would mishandle a string argument "Xc" if X was a multibyte
+ character of length 2: it would truncate after X's first byte
+ rather than including all of X.
- * nsmenu.m (Popdown_data): New struct.
- (pop_down_menu): p->pointer is Popdown_data. Release the pool and
- free Popdown_data.
- (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
- (initWithContentRect): Make imgView and contentView non-static
- and autorelease them. Also autorelease img and matrix (Bug#12005).
- (dealloc): Remove (Bug#12005).
+2012-06-06 Chong Yidong <cyd@gnu.org>
- * nsterm.m (keyDown:): Interpret flags without left/right bits
- as the left key (Bug#11670).
+ * buffer.c (word_wrap): Doc fix.
- * nsmenu.m (ns_update_menubar): Add braces to ambigous if-else.
+2012-06-04 Paul Eggert <eggert@cs.ucla.edu>
-2012-08-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+ * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.
- * unexmacosx.c (copy_data_segment): Copy initialized data in
- statically linked libraries from input file rather than memory.
+2012-06-03 Glenn Morris <rgm@gnu.org>
-2012-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+ * xdisp.c (tool-bar-style): Doc fix.
- * unexmacosx.c (print_load_command_name): Add cases LC_MAIN,
- LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS.
- (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data.
+2012-06-03 Ulrich Müller <ulm@gentoo.org>
-2012-07-19 Chong Yidong <cyd@gnu.org>
+ * Makefile.in (PAXCTL): Define.
+ (temacs$(EXEEXT)): Disable memory randomization for the temacs
+ binary via PaX flags if the paxctl utility is available.
+ (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
+ Restore PaX flags to their default. (Bug#11398)
- * window.c (Fwindow_absolute_pixel_edges)
- (Fdelete_other_windows_internal): Signal an error if the window is
- on a dead frame (Bug#11984).
+2012-06-03 Chong Yidong <cyd@gnu.org>
-2012-07-14 Eli Zaretskii <eliz@gnu.org>
+ * xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
+ buffer (Bug#11226).
- Remove FILE_SYSTEM_CASE.
- * s/msdos.h (FILE_SYSTEM_CASE): Don't define.
+2012-06-03 Chong Yidong <cyd@gnu.org>
- * fileio.c (FILE_SYSTEM_CASE): Don't define.
- (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
- Fixes problems on MS-DOS with Vtemp_file_name_pattern when
- call-process-region passes it through expand-file-name.
+ * xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
+ (note_mode_line_or_margin_highlight): If there is no help echo,
+ use mode-line-default-help-echo. Handle the case where the mouse
+ position is past the end of the mode line string.
- * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
+ * buffer.c (buffer_local_value_1): New function, split from
+ Fbuffer_local_value; can return Qunbound.
+ (Fbuffer_local_value): Use it.
+ (Vmode_line_format): Docstring tweaks.
-2012-07-12 Andreas Schwab <schwab@linux-m68k.org>
+2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
- Fix crash when creating indirect buffer (Bug#11917)
- * buffer.c (buffer_lisp_local_variables): Add argument CLONE.
- Don't handle unbound variables specially if non-zero.
- (Fbuffer_local_variables): Pass zero.
- (clone_per_buffer_values): Pass non-zero.
+ * sysdep.c (system_process_attributes): Improve comment.
-2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
+2012-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
- * gnutls.c (emacs_gnutls_handshake): Revert last change. Add QUIT
- to make the loop interruptible.
+ * keyboard.c: Export real-this-command to Elisp.
+ (syms_of_keyboard): Rename real_this_command to Vreal_this_command
+ and DEFVAR it. Update all users.
-2012-06-26 Andreas Schwab <schwab@linux-m68k.org>
+2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
- * gnutls.c (emacs_gnutls_handshake): Only retry if
- GNUTLS_E_INTERRUPTED.
+ * minibuf.c (Fassoc_string): Remove duplicate declaration.
-2012-06-23 Eli Zaretskii <eliz@gnu.org>
+ * sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
+ Convert pctcpu and pctmem to Lisp float properly.
+ Let the compiler fold better, as 100.0/0x8000 is exact.
- * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
- in the logic of incrementing and decrementing the value of
- use_relocatable_buffers.
+2012-06-02 Andreas Schwab <schwab@linux-m68k.org>
-2012-06-21 Glenn Morris <rgm@gnu.org>
+ * alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
+ cons_block.
- * charset.c (init_charset): Make lack of etc/charsets fatal.
+2012-06-01 Paul Eggert <eggert@cs.ucla.edu>
-2012-06-11 Jan Djärv <jan.h.d@swipnet.se>
+ * xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change.
- * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
- referenced (Bug#11583).
+2012-06-01 Dmitry Antipov <dmantipov@yandex.ru>
-2012-06-01 Chong Yidong <cyd@gnu.org>
+ For a 'struct window', replace some Lisp_Object fields to
+ bitfields where appropriate, remove unused fields.
+ * window.h (struct window): Remove unused 'last_mark_x' and
+ 'last_mark_y' fields. Rename 'mini_p' field to 'mini',
+ change it's type from Lisp_Object to bitfield.
+ Change type of 'force_start', 'optional_new_start',
+ 'last_had_star', 'update_mode_line' and 'start_at_line_beg'
+ fields from Lisp_Object to bitfield. Adjust users accordingly.
- * Version 24.1 released.
+2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
-2012-05-30 Eli Zaretskii <eliz@gnu.org>
+ Pacify gcc -Wdouble-precision when using Xaw.
+ * xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb)
+ [HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]:
+ Use 'float' consistently, rather than 'float' in most places
+ and 'double' in a couple of places.
+
+2012-05-31 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (handle_stop): Detect whether we have overlay strings
loaded by testing it->current.overlay_string_index to be
non-negative, instead of checking whether n_overlay_strings is
positive. (Bug#11587)
-2012-05-30 Chong Yidong <cyd@gnu.org>
+2012-05-31 Chong Yidong <cyd@gnu.org>
* keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169).
* doc.c (Fsubstitute_command_keys): Doc fix.
-2012-05-29 Eli Zaretskii <eliz@gnu.org>
+2012-05-31 Eli Zaretskii <eliz@gnu.org>
* search.c (search_buffer): Remove calls to
r_alloc_inhibit_buffer_relocation, as it is now called by
maybe_unify_char, which was the cause of relocation of buffer text
in bug#11519.
-2012-05-23 Eli Zaretskii <eliz@gnu.org>
+2012-05-31 Eli Zaretskii <eliz@gnu.org>
* charset.c (maybe_unify_char): Inhibit relocation of buffer text
for the duration of call to load_charset, to avoid problems with
decrement the inhibition flag, instead of just setting or
resetting it.
-2012-05-24 Ken Brown <kbrown@cornell.edu>
+2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove obsolete '#define static' cruft.
+ * s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
+ This #undef was "temporary" in 2000; it is no longer needed
+ now that '#define static' has gone away.
+ * xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height)
+ (gray_bitmap_bits): Remove; no longer needed.
+ All uses replaced with definiens.
+ * xterm.c: Include "bitmaps/gray.xbm".
+
+2012-05-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Clean up __executable_start, monstartup when --enable-profiling.
+ The following changes affect the code only when profiling.
+ * dispnew.c (__executable_start): Rename from safe_bcopy.
+ Define only on platforms that need it.
+ * emacs.c: Include <sys/gmon.h> when profiling.
+ (_mcleanup): Remove decl, since <sys/gmon.h> does it now.
+ (__executable_start): Remove decl, since lisp.h does it now.
+ (safe_bcopy): Remove decl; no longer has that name.
+ (main): Coalesce #if into single bit of code, for simplicity.
+ Cast pointers to uintptr_t, since standard libraries want integers
+ and not pointers.
+ * lisp.h (__executable_start): New decl.
+
+2012-05-31 Glenn Morris <rgm@gnu.org>
+
+ * image.c (Fimagemagick_types): Doc fix.
+
+2012-05-30 Jim Meyering <meyering@redhat.com>
+
+ * callproc.c (Fcall_process_region): Include directory component
+ in mkstemp error message (Bug#11586).
+
+2012-05-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c, lisp.h (make_pure_vector): Now static.
+
+2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
+ Move to byte-run.el.
+ (Fautoload): Do the hash-doc more carefully.
+ * data.c (Fdefalias): Purify definition, except for keymaps.
+ (Qdefun): Move from eval.c.
+ * lisp.h (Qdefun): Remove.
+ * lread.c (read1): Tiny simplification.
+
+2012-05-29 Troels Nielsen <bn.troels@gmail.com>
+
+ Do not create empty overlays with the evaporate property (Bug#9642).
+ * buffer.c (Fmove_overlay): Reinstate the earlier fix for
+ Bug#9642, but explicitly check that the buffer the overlay would
+ be moved to is live and rearrange lines to make sure that errors
+ will not put the overlay in an inconsistent state.
+ (Fdelete_overlay): Cosmetics.
+
+2012-05-28 Eli Zaretskii <eliz@gnu.org>
+
+ * w32term.c (my_bring_window_to_top): New function.
+ (x_raise_frame): Use handle returned by DeferWindowPos, which
+ could be different from the original one.
+ Call my_bring_window_to_top instead of my_set_foreground_window.
+ (Bug#11513)
+
+ * w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
+ by calling BringWindowToTop.
+
+ * w32term.h (WM_EMACS_BRINGTOTOP): New message.
+ (WM_EMACS_END): Increase by one.
+
+2012-05-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bidi.c (bidi_mirror_char): Put eassert before conversion to int.
+ This avoids undefined behavior that might cause the eassert
+ to not catch an out-of-range value.
+
+2012-05-28 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)):
+ Update dependencies.
+
+2012-05-27 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_mirror_char): Fix last change.
+
+2012-05-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * unexmacosx.c (copy_data_segment): Truncate after 16 characters
+ when referring to sectname field in printf format.
+
+2012-05-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h [REL_ALLOC]: Omit duplicate prototypes.
+ Only r_alloc_inhibit_buffer_relocation needed to be added;
+ the others were already declared.
+
+ * bidi.c (bidi_mirror_char): Don't possibly truncate the integer
+ before checking whether it's out of range. Put the check inside
+ eassert. See
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
+
+2012-05-27 Ken Brown <kbrown@cornell.edu>
* callproc.c (Fcall_process): Restore a line that was accidentally
commented out in the 2011-02-13 change (bug#11547).
-2012-05-23 Eli Zaretskii <eliz@gnu.org>
+2012-05-27 Eli Zaretskii <eliz@gnu.org>
* lisp.h [REL_ALLOC]: Add prototypes for external functions
defined on ralloc.c.
text while re_search_2 is doing its job, because re_search_2 is
passed C pointers to buffer text. (Bug#11519)
-2012-05-21 Eli Zaretskii <eliz@gnu.org>
-
* msdos.c (internal_terminal_init) <Vwindow_system_version>:
Update value to 24.
-2012-05-19 Eli Zaretskii <eliz@gnu.org>
-
* xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
state after an additional call to move_it_in_display_line_to, keep
the values of it->max_ascent and it->max_descent found for the
was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb.
(Bug#11464)
-2012-05-15 Eli Zaretskii <eliz@gnu.org>
+2012-05-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix coding-related core dumps with gcc -ftrapv.
+ The code was computing A - B, where A and B are pointers, and B is
+ random garbage. This can lead to core dumps on platforms that
+ have special pointer registers, and it also leads to core dumps on
+ x86-64 when compiled with gcc -ftrapv. The fix is to compute
+ A - B only when B is initialized properly.
+ * coding.c (coding_set_source, coding_set_destination): Return void.
+ (coding_change_source, coding_change_destinations): New functions,
+ with the old behaviors of coding_set_source and coding_set_destination.
+ All callers that need an offset changed to use these new functions.
+
+2012-05-26 Glenn Morris <rgm@gnu.org>
+
+ * nsterm.m (ns_init_paths): Don't mess with INFOPATH. (Bug#2791)
+
+2012-05-26 Eli Zaretskii <eliz@gnu.org>
+
+ Extend mouse support on W32 text-mode console.
+ * xdisp.c (draw_row_with_mouse_face):
+ Call tty_draw_row_with_mouse_face for WINDOWSNT as well.
+
+ * w32console.c: Include window.h.
+ (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face):
+ New functions.
+ (initialize_w32_display): Initialize mouse-highlight data.
+
+ * w32inevt.c: Include termchar.h and window.h.
+ (do_mouse_event): Support mouse-autoselect-window. When the mouse
+ moves, call note_mouse_highlight. If help_echo changed, call
+ gen_help_event to produce help-echo message in the echo area.
+ Call clear_mouse_face if mouse_face_hidden is set in the mouse
+ highlight info.
+
+2012-05-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lread.c (read1): Simplify slightly to avoid an overflow warning
+ with GCC 4.7.0 on x86-64.
+
+2012-05-26 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_mirror_char): Revert last change: an int is
+ definitely wide enough here.
+
+2012-05-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix integer width and related bugs (Bug#9874).
+ * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
+ (allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE)
+ (string_bytes, check_sblock, allocate_string_data):
+ (compact_small_strings, Fmake_bool_vector, make_string)
+ (make_unibyte_string, make_multibyte_string)
+ (make_string_from_bytes, make_specified_string)
+ (allocate_vectorlike, Fmake_vector, find_string_data_in_pure)
+ (make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy)
+ (mark_vectorlike):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (allocate_pseudovector):
+ Use int, not EMACS_INT, where int is wide enough.
+ (inhibit_garbage_collection, Fgarbage_collect):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where
+ int might not be wide enough.
+ (bidi_cache_search, bidi_cache_find, bidi_init_it)
+ (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
+ (bidi_at_paragraph_end, bidi_find_paragraph_start)
+ (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
+ (bidi_level_of_next_char, bidi_move_to_visually_next):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * buffer.c (copy_overlays, Fgenerate_new_buffer_name)
+ (Fkill_buffer, Fset_buffer_major_mode)
+ (advance_to_char_boundary, Fbuffer_swap_text)
+ (Fset_buffer_multibyte, overlays_at, overlays_in)
+ (overlay_touches_p, struct sortvec, record_overlay_string)
+ (overlay_strings, recenter_overlay_lists)
+ (adjust_overlays_for_insert, adjust_overlays_for_delete)
+ (fix_start_end_in_overlays, fix_overlays_before, modify_overlay)
+ (Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change)
+ (Foverlay_recenter, last_overlay_modification_hooks_used)
+ (report_overlay_modification, evaporate_overlays, enlarge_buffer_text):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (validate_region): Omit unnecessary test for b <= e,
+ since that's guaranteed by the previous test.
+ (adjust_overlays_for_delete): Avoid pos + length overflow.
+ (Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist)
+ (report_overlay_modification):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change):
+ Omit pointer cast, which isn't needed anyway, and doesn't work
+ after the EMACS_INT -> ptrdiff_t change.
+ (Fmove_overlay): Clip BEG and END to ptrdiff_t to avoid overflow.
+ * buffer.h: Adjust decls to match defn changes elsewhere.
+ (struct buffer_text, struct buffer):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ Use EMACS_INT, not int, where int might not be wide enough.
+ * bytecode.c (unmark_byte_stack, exec_byte_code): Use ptrdiff_t,
+ not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (exec_byte_code): Use tighter memory-full test, one that checks
+ for alloca overflow. Don't compute the address of the object just
+ before an array, as that's not portable. Use EMACS_INT, not
+ ptrdiff_t or int, where ptrdiff_t or int might not be wide enough.
+ * callint.c (Fcall_interactively):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * callproc.c (call_process_kill, Fcall_process):
+ Don't assume pid_t fits into an Emacs fixnum.
+ (call_process_cleanup, Fcall_process, child_setup):
+ Don't assume pid_t fits into int.
+ (call_process_cleanup, Fcall_process, delete_temp_file)
+ (Fcall_process_region):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fcall_process): Simplify handling of volatile integers.
+ Use int, not EMACS_INT, where int will do.
+ * casefiddle.c (casify_object, casify_region, operate_on_word)
+ (Fupcase_word, Fdowncase_word, Fcapitalize_word):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (casify_object): Avoid integer overflow when overallocating buffer.
+ * casetab.c (set_identity, shuffle): Prefer int to unsigned when
+ either works. Use lint_assume to convince GCC 4.6.1 that it's OK.
+ * category.c (Fchar_category_set): Don't assume fixnum fits in int.
+ * category.h (CATEGORYP): Don't assume arg is nonnegative.
+ * ccl.c (GET_CCL_INT): Remove; no longer needed, since the
+ integers are now checked earlier. All uses replaced with XINT.
+ (ccl_driver):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ For CCL_MapSingle, check that content and value are in int range.
+ (ccl_driver, Fregister_code_conversion_map):
+ Check that Vcode_version_map_vector is a vector.
+ (resolve_symbol_ccl_program): Check that vector header is in range.
+ Always copy the vector, so that we can check its contents reliably
+ now rather than having to recheck each instruction as it's being
+ executed. Check that vector words fit in 'int'.
+ (ccl_get_compiled_code, Fregister_ccl_program)
+ (Fregister_code_conversion_map): Use ptrdiff_t, not int, for
+ program indexes, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fccl_execute, Fccl_execute_on_string): Check that initial reg
+ contents are in range.
+ (Fccl_execute_on_string): Check that status is in range.
+ * ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int.
+ * character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers):
+ Accept and return EMACS_INT, not int, because callers can pass values
+ out of 'int' range.
+ (c_string_width, strwidth, lisp_string_width, chars_in_text)
+ (multibyte_chars_in_text, parse_str_as_multibyte)
+ (str_as_multibyte, count_size_as_multibyte, str_to_multibyte)
+ (str_as_unibyte, str_to_unibyte, string_count_byte8)
+ (string_escape_byte8, Fget_byte):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Funibyte_string): Use CHECK_RANGED_INTEGER, not CHECK_NATNUM, to
+ avoid mishandling large integers.
+ * character.h: Adjust decls to match defn changes elsewhere.
+ * charset.c (load_charset_map_from_file, find_charsets_in_text)
+ (Ffind_charset_region):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (load_charset_map_from_file): Redo idx calculation to avoid overflow.
+ (load_charset_map_from_vector, Fdefine_charset_internal):
+ Don't assume fixnum fits in int.
+ (load_charset_map_from_vector, Fmap_charset_chars):
+ Remove now-unnecessary CHECK_NATNUMs.
+ (Fdefine_charset_internal): Check ranges here, more carefully.
+ Don't rely on undefined behavior with signed left shift overflow.
+ Don't assume unsigned int fits into fixnum, or that fixnum fits
+ into unsigned int. Don't require max_code to be a valid fixnum;
+ that's not true for gb10830 4-byte on a 32-bit host. Allow
+ invalid_code to be a cons, for the same reason. Require code_offset
+ to be a character. Avoid int overflow if max_char is close
+ to INT_MAX.
+ (CODE_POINT_TO_INDEX): On 32-bit hosts, return int, not unsigned;
+ this is intended anyway and avoids some undefined behavior.
+ (load_charset_map): Pass unsigned, not int, as 2nd arg of
+ INDEX_TO_CODE_POINT, as that's what it expects.
+ (Funify_charset, encode_char): Don't stuff unsigned vals into int vars.
+ * charset.h (DECODE_CHAR): Return int, not unsigned;
+ this is what was intended anyway, and it avoids undefined behavior.
+ (CHARSET_OFFSET): Remove unused macro, instead of fixing its
+ integer-overflow issues.
+ (ENCODE_CHAR): Return unsigned on all hosts, not just on 32-bit hosts.
+ Formerly, it returned EMACS_INT on 64-bit hosts in the common case
+ where the argument is EMACS_INT, and this behavior is not intended.
+ * chartab.c (Fmake_char_table, Fset_char_table_range)
+ (uniprop_get_decoder, uniprop_get_encoder):
+ Don't assume fixnum fits in int.
+ * cmds.c (move_point): New function, that does the gist of
+ Fforward_char and Fbackward_char, but does so while checking
+ for integer overflow more accurately.
+ (Fforward_char, Fbackward_char): Use it.
+ (Fforward_line, Fend_of_line, internal_self_insert)
+ (internal_self_insert):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ Fix a FIXME, by checking for integer overflow when calculating
+ target_clm and actual_clm.
+ * coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR)
+ (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET, CODING_CHAR_CHARSET_P)
+ (ASSURE_DESTINATION, coding_alloc_by_realloc)
+ (coding_alloc_by_making_gap, alloc_destination)
+ (detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16)
+ (encode_coding_utf_16, detect_coding_emacs_mule)
+ (decode_coding_emacs_mule, encode_coding_emacs_mule)
+ (detect_coding_iso_2022, decode_coding_iso_2022)
+ (encode_invocation_designation, encode_designation_at_bol)
+ (encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
+ (decode_coding_sjis, decode_coding_big5, encode_coding_sjis)
+ (encode_coding_big5, detect_coding_ccl, decode_coding_ccl)
+ (encode_coding_ccl, encode_coding_raw_text)
+ (detect_coding_charset, decode_coding_charset)
+ (encode_coding_charset, detect_eol, decode_eol, produce_chars)
+ (produce_composition, produce_charset, produce_annotation)
+ (decode_coding, handle_composition_annotation)
+ (handle_charset_annotation, consume_chars, decode_coding_gap)
+ (decode_coding_object, encode_coding_object, detect_coding_system)
+ (Ffind_coding_systems_region_internal, Fcheck_coding_systems_region)
+ (code_convert_region, code_convert_string)
+ (Fdefine_coding_system_internal)
+ (coding_set_source, coding_set_destination):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (setup_iso_safe_charsets, consume_chars, Funencodable_char_position)
+ (Fdefine_coding_system_internal):
+ Don't assume fixnums fit in int.
+ (decode_coding_gap, decode_coding_object, encode_coding_object)
+ (Fread_coding_system, Fdetect_coding_region)
+ (Funencodable_char_position, Fcheck_coding_systems_region)
+ (get_translation, handle_composition_annotation, consume_chars):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (consume_chars): Rewrite to not calculate an address outside buffer.
+ (Ffind_operation_coding_system): NATNUMP can eval its arg twice.
+ Don't access memory outside of the args array.
+ (Fdefine_coding_system_internal): Check for charset-id overflow.
+ (ENCODE_ISO_CHARACTER): Use unsigned, not int, to store the unsigned
+ result of ENCODE_CHAR.
+ * coding.h: Adjust decls to match defn changes elsewhere.
+ (struct coding_system):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * composite.c (get_composition_id, find_composition)
+ (run_composition_function, update_compositions)
+ (compose_text, composition_gstring_put_cache)
+ (composition_gstring_p, composition_gstring_width)
+ (fill_gstring_header, fill_gstring_body, autocmp_chars)
+ (composition_compute_stop_pos, composition_reseat_it)
+ (composition_update_it, struct position_record)
+ (find_automatic_composition, composition_adjust_point)
+ (Fcomposition_get_gstring, Ffind_composition_internal):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (update_compositions):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * composite.h: Adjust decls to match defn changes elsewhere.
+ (struct composition):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
+ Do not attempt to compute the address of the object just before a
+ buffer; this is not portable.
+ (Faref, Faset):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Faset): Use int, not EMACS_INT, where int is wide enough.
+ (Fstring_to_number): Don't assume fixnums fit in int.
+ (Frem): Don't assume arg is nonnegative.
+ * dbusbind.c (xd_append_arg): Check for integers out of range.
+ (Fdbus_call_method): Don't overflow the timeout int.
+ (extract_signed, extract_unsigned): New functions.
+ (XD_CHECK_DBUS_SERIAL): Remove; superseded by extract_unsigned.
+ (xd_get_connection_references): Return ptrdiff_t, not int.
+ All uses changed.
+ (xd_signature, xd_append_arg, xd_retrieve_arg, Fdbus_message_internal)
+ (xd_read_message_1):
+ Use int, not unsigned, where the dbus API uses int.
+ (Fdbus_message_internal): Don't overflow mtype.
+ (syms_of_dbusbind): Allocate right-sized buffer for integers.
+ * dired.c (directory_files_internal, file_name_completion, scmp)
+ (file_name_completion_stat):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (file_name_completion): Don't overflow matchcount.
+ (file_name_completion_stat): Use SAFE_ALLOCA, not alloca.
+ * dispextern.h: Adjust decls to match defn changes elsewhere.
+ (struct text_pos, struct glyph, struct bidi_saved_info)
+ (struct bidi_string_data, struct bidi_it, struct composition_it)
+ (struct it):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (struct display_pos, struct composition_it, struct it):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * dispnew.c (increment_matrix_positions)
+ (increment_row_positions, mode_line_string)
+ (marginal_area_string):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (change_frame_size_1, Fredisplay, Fframe_or_buffer_changed_p):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (duration_to_sec_usec): New function, to check for overflow better.
+ (Fsleep_for, sit_for): Use it.
+ * doc.c (get_doc_string, store_function_docstring):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (get_doc_string, Fsnarf_documentation):
+ Use int, not EMACS_INT, where int is wide enough.
+ (get_doc_string):
+ Use SAFE_ALLOCA, not alloca.
+ Check for overflow when converting EMACS_INT to off_t.
+ * doprnt.c (doprnt):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * editfns.c (init_editfns, Fuser_uid, Fuser_real_uid):
+ Don't assume uid_t fits into fixnum.
+ (buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field)
+ (Ffield_string, Ffield_string_no_properties, Ffield_beginning)
+ (Ffield_end, Fconstrain_to_field, Fline_beginning_position)
+ (Fline_end_position, Fprevious_char, Fchar_after, Fchar_before)
+ (general_insert_function)
+ (Finsert_char, make_buffer_string, make_buffer_string_both)
+ (update_buffer_properties, Fbuffer_substring)
+ (Fbuffer_substring_no_properties, Fcompare_buffer_substrings)
+ (Fsubst_char_in_region, check_translation)
+ (Ftranslate_region_internal, save_restriction_restore, Fformat)
+ (transpose_markers, Ftranspose_regions):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (clip_to_bounds): Move to lisp.h as an inline function).
+ (Fconstrain_to_field): Don't assume integers are nonnegative.
+ (Fline_beginning_position, Fsave_excursion, Fsave_current_buffer):
+ (Fsubst_char_in_region, Fsave_restriction):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Femacs_pid): Don't assume pid_t fits into fixnum.
+ (lo_time): Use int, not EMACS_INT, when int suffices.
+ (lisp_time_argument): Check for usec out of range.
+ (Fencode_time): Don't assume fixnum fits in int.
+ (Fuser_login_name, Fuser_full_name): Signal an error
+ if a uid argument is out of range, rather than relying on
+ undefined behavior.
+ (Fformat_time_string): Remove now-unnecessary check.
+ lisp_time_argument checks for out-of-range usec now.
+ Use ptrdiff_t, not size_t, where ptrdiff_t will do.
+ * emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT.
+ (gdb_data_seg_bits): Now uintptr_t, not EMACS_INT.
+ (PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT.
+ (init_cmdargs, Fdump_emacs):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fkill_emacs): Don't assume fixnum fits in int; instead, take just
+ the bottom (typically) 32 bits of the fixnum.
+ * eval.c (specpdl_size, call_debugger):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (when_entered_debugger, Fbacktrace_debug):
+ Don't assume fixnum can fit in int.
+ (Fdefvaralias, Fdefvar): Do not attempt to compute the address of
+ the object just before a buffer; this is not portable.
+ (FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda)
+ (grow_specpdl, unbind_to):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum.
+ (grow_specpdl): Simplify allocation by using xpalloc.
+ (Fprog1, Fprog2): Don't assume list length fits in int. Simplify.
+ * fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file)
+ (Finsert_file_contents, Fwrite_region, Fdo_auto_save):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents)
+ (a_write, e_write):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fcopy_file, non_regular_nbytes, read_non_regular)
+ (Finsert_file_contents):
+ Use int, not EMACS_INT, where int is wide enough.
+ (READ_BUF_SIZE): Verify that it fits in int.
+ (Finsert_file_contents): Check that counts are in proper range,
+ rather than assuming fixnums fit into ptrdiff_t etc.
+ Don't assume fixnums fit into int.
+ * floatfns.c (Fexpt): Avoid undefined signed * signed overflow.
+ * fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec, concat)
+ (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
+ (string_char_to_byte, string_byte_to_char)
+ (string_make_multibyte, string_to_multibyte)
+ (string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte)
+ (Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties)
+ (substring_both, Fdelete, internal_equal, Ffillarray)
+ (Fclear_string, mapcar1)
+ (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1)
+ (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1)
+ (larger_vector, make_hash_table, maybe_resize_hash_table)
+ (hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table)
+ (Fmaphash, secure_hash):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (concat): Check for string index and length overflow.
+ (Fmapconcat): Don't assume fixnums fit into ptrdiff_t.
+ (Frequire):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (larger_vector): New API (vec, incr_min, size_max) replaces old
+ one (vec, new_size, init). This catches size overflow.
+ INIT was removed because it was always Qnil.
+ All callers changed.
+ (INDEX_SIZE_BOUND): New macro, which calculates more precisely
+ the upper bound on a hash table index size.
+ (make_hash_table, maybe_resize_hash_table): Use it.
+ (secure_hash): Computer start_byte and end_byte only after
+ they're known to be in ptrdiff_t range.
+ * font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring)
+ (Ffont_get_glyphs, Ffont_at):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (font_style_to_value, font_prop_validate_style, font_expand_wildcards)
+ (Flist_fonts, Fopen_font):
+ Don't assume fixnum can fit in int.
+ (check_gstring): Don't assume index can fit in int.
+ (font_match_p): Check that fixnum is a character, not a nonnegative
+ fixnum, since the later code needs to stuff it into an int.
+ (font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca.
+ (font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid
+ conversion overflow issues.
+ (Fopen_font): Check for integer out of range.
+ (Ffont_get_glyphs): Don't assume index can fit in int.
+ * font.h: Adjust decls to match defn changes elsewhere.
+ * fontset.c (reorder_font_vector): Redo score calculation to avoid
+ integer overflow.
+ (num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not
+ printmax_t, where ptrdiff_t is wide enough.
+ (Finternal_char_font):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * frame.c (Fset_mouse_position, Fset_mouse_pixel_position)
+ (Fset_frame_height, Fset_frame_width, Fset_frame_size)
+ (Fset_frame_position, x_set_frame_parameters)
+ (x_set_line_spacing, x_set_border_width)
+ (x_set_internal_border_width, x_set_alpha, x_figure_window_size):
+ Check that fixnums are in proper range for system types.
+ (frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fmodify_frame_parameters): Don't assume fixnum fits in int.
+ Use SAFE_ALLOCA_LISP, not alloca.
+ * frame.h (struct frame): Use intptr_t, not EMACS_INT, where
+ intptr_t is wide enough.
+ * fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap)
+ (Fdefine_fringe_bitmap): Don't assume fixnum fits in int.
+ (Ffringe_bitmaps_at_pos): Don't assume index fits in int.
+ Check for fixnum out of range.
+ * ftfont.c (ftfont_list): Don't assume index fits in int.
+ Check that fixnums are in proper range for system types.
+ (ftfont_shape_by_flt):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot):
+ Check that fixnums are in proper range for system types.
+ * gnutls.h: Adjust decls to match defn changes elsewhere.
+ * gtkutil.c (xg_dialog_run):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (update_frame_tool_bar):
+ Check that fixnums are in proper range for system types.
+ * image.c (parse_image_spec): Redo count calculation to avoid overflow.
+ (lookup_image): Check that fixnums are in range for system types.
+ * indent.c (last_known_column, last_known_column_point):
+ (current_column_bol_cache):
+ (skip_invisible, current_column, check_display_width):
+ (check_display_width, scan_for_column, current_column_1)
+ (Findent_to, Fcurrent_indentation, position_indentation)
+ (indented_beyond_p, Fmove_to_column, compute_motion):
+ (Fcompute_motion, Fvertical_motion):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (last_known_column_modified): Use EMACS_INT, not int.
+ (check_display_width):
+ (Fcompute_motion):
+ Check that fixnums and floats are in proper range for system types.
+ (compute_motion): Don't assume index or fixnum fits in int.
+ (compute_motion, Fcompute_motion):
+ Use int, not EMACS_INT, when it is wide enough.
+ (vmotion): Omit local var start_hpos that is always 0; that way
+ we don't need to worry about overflow in expressions involving it.
+ * indent.h: Adjust decls to match defn changes elsewhere.
+ (struct position):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ Use int, not EMACS_INT, where int is wide enough.
+ Remove unused members ovstring_chars_done and tab_offset;
+ all uses removed.
+ * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
+ (adjust_markers_for_delete, adjust_markers_for_insert, adjust_point)
+ (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
+ (make_gap, copy_text, insert, insert_and_inherit)
+ (insert_before_markers, insert_before_markers_and_inherit)
+ (insert_1, count_combining_before, count_combining_after)
+ (insert_1_both, insert_from_string)
+ (insert_from_string_before_markers, insert_from_string_1)
+ (insert_from_gap, insert_from_buffer, insert_from_buffer_1)
+ (adjust_after_replace, adjust_after_insert, replace_range)
+ (replace_range_2, del_range, del_range_1, del_range_byte)
+ (del_range_both, del_range_2, modify_region)
+ (prepare_to_modify_buffer, signal_before_change)
+ (signal_after_change, Fcombine_after_change_execute):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * intervals.c (traverse_intervals, rotate_right, rotate_left)
+ (balance_an_interval, split_interval_right, split_interval_left)
+ (find_interval, next_interval, update_interval)
+ (adjust_intervals_for_insertion, delete_node, delete_interval)
+ (interval_deletion_adjustment, adjust_intervals_for_deletion)
+ (static_offset_intervals, offset_intervals)
+ (merge_interval_right, merge_interval_left, make_new_interval)
+ (graft_intervals_into_buffer, temp_set_point_both)
+ (temp_set_point, set_point, adjust_for_invis_intang)
+ (set_point_both, move_if_not_intangible, get_property_and_range)
+ (get_local_map, copy_intervals, copy_intervals_to_string)
+ (compare_string_intervals, set_intervals_multibyte_1):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * intervals.h: Adjust decls to match defn changes elsewhere.
+ (struct interval):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * keyboard.c (this_command_key_count, this_single_command_key_start)
+ (before_command_key_count, before_command_echo_length, echo_now)
+ (echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse)
+ (command_loop_1, safe_run_hooks, read_char, timer_check_2)
+ (menu_item_eval_property, read_key_sequence, Fread_key_sequence)
+ (Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (last_non_minibuf_size, last_point_position, echo_truncate)
+ (command_loop_1, adjust_point_for_property, read_char, gen_help_event)
+ (make_lispy_position, make_lispy_event, parse_modifiers_uncached)
+ (parse_modifiers, modify_event_symbol, Fexecute_extended_command)
+ (stuff_buffered_input):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (last_auto_save, command_loop_1, read_char):
+ Use EMACS_INT, not int, to avoid integer overflow.
+ (record_char): Avoid overflow in total_keys computation.
+ (parse_modifiers_uncached): Redo index calculation to avoid overflow.
+ * keyboard.h: Adjust decls to match defn changes elsewhere.
+ * keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1)
+ (Fkey_description, Fdescribe_vector, Flookup_key):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (click_position): New function, to check that positions are in range.
+ (Fcurrent_active_maps):
+ (describe_command):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Faccessible_keymaps, Fkey_description):
+ (preferred_sequence_p):
+ Don't assume fixnum can fit into int.
+ (Fkey_description): Use SAFE_ALLOCA_LISP, not alloca.
+ Check for integer overflow in size calculations.
+ (Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to
+ avoid mishandling large integers.
+ * lisp.h: Adjust decls to match defn changes elsewhere.
+ (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String)
+ (struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table)
+ (struct Lisp_Marker):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (clip_to_bounds): Now an inline function, moved here from editfns.c.
+ (GLYPH_CODE_P): Check for overflow in system types, subsuming the
+ need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves.
+ All callers changed.
+ (GLYPH_CODE_CHAR, GLYPH_CODE_FACE):
+ Assume the arg has valid form, since it always does.
+ (TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide
+ unsigned integer system type.
+ (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros.
+ (struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (struct catchtag): Use EMACS_INT, not int, since it may be a fixnum.
+ (duration_to_sec_usec): New decl.
+ * lread.c (read_from_string_index, read_from_string_index_byte)
+ (read_from_string_limit, readchar, unreadchar, openp)
+ (read_internal_start, read1, oblookup):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fload, readevalloop, Feval_buffer, Feval_region):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (openp): Check for out-of-range argument to 'access'.
+ (read1): Use int, not EMACS_INT, where int is wide enough.
+ Don't assume fixnum fits into int.
+ Fix off-by-one error that can read outside a buffer.
+ (read_filtered_event): Use duration_to_sec_usec
+ to do proper overflow checking on durations.
+ * macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow
+ in size calculation.
+ (Fexecute_kbd_macro):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * marker.c (cached_charpos, cached_bytepos, CONSIDER)
+ (byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos)
+ (buf_bytepos_to_charpos, Fset_marker, set_marker_restricted)
+ (set_marker_both, set_marker_restricted_both, marker_position)
+ (marker_byte_position, Fbuffer_has_markers_at):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fset_marker, set_marker_restricted): Don't assume fixnum fits in int.
+ * menu.c (ensure_menu_items): Rename from grow_menu_items.
+ It now merely ensures that the menu is large enough, without
+ necessarily growing it, as this avoids some integer overflow issues.
+ All callers changed.
+ (keymap_panes, parse_single_submenu, Fx_popup_menu):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int.
+ Use SAFE_ALLOCA_LISP, not alloca.
+ (find_and_return_menu_selection): Avoid unnecessary casts of pointers
+ to EMACS_INT. Check that fixnums are in proper range for system types.
+ * minibuf.c (minibuf_prompt_width, string_to_object)
+ (Fminibuffer_contents, Fminibuffer_contents_no_properties)
+ (Fminibuffer_completion_contents, Ftry_completion, Fall_completions):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (get_minibuffer, read_minibuf_unwind):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil;
+ this simplifies overflow checking. All callers changed.
+ (read_minibuf, Fread_buffer, Ftry_completion, Fall_completions)
+ (Ftest_completion):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * nsfns.m (check_ns_display_info): Don't assume fixnum fits in long.
+ (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame):
+ Check that fixnums are in proper range for system types.
+ (Fx_create_frame, Fx_show_tip):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * nsfont.m (ns_findfonts, nsfont_list_family):
+ Don't assume fixnum fits in long.
+ * nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is
+ wide enough.
+ * nsselect.m (ns_get_local_selection, clean_local_selection_data):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte)
+ (PRINTDECLARE, PRINTPREPARE):
+ (strout, print_string):
+ (print, print_preprocess, print_check_string_charset_prop)
+ (print_object):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (PRINTDECLARE):
+ (temp_output_buffer_setup, Fprin1_to_string, print_object):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough.
+ (printchar, strout): Use xpalloc to catch size calculation overflow.
+ (Fexternal_debugging_output): Don't overflow EMACS_INT->int conversion.
+ (print_error_message): Use SAFE_ALLOCA, not alloca.
+ (print_object): Use int, not EMACS_INT, where int is wide enough.
+ (print_depth, new_backquote_output, print_number_index):
+ Use ptrdiff_t, not int, where int might not be wide enough.
+ * process.c (Fdelete_process): Don't assume pid fits into EMACS_INT.
+ (Fset_process_window_size, Fformat_network_address)
+ (get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process)
+ (sigchld_handler):
+ Check that fixnums are in proper range for system types.
+ (Fsignal_process): Simplify by avoiding a goto.
+ Check for process-ids out of pid_t range rather than relying on
+ undefined behavior.
+ (process_tick, update_tick): Use EMACS_INT, not int.
+ (Fformat_network_address, read_process_output, send_process)
+ (Fprocess_send_region, status_notify):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fformat_network_address, Fmake_serial_process, Fmake_network_process)
+ (wait_reading_process_output, read_process_output, exec_sentinel):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (conv_lisp_to_sockaddr): Don't assume fixnums fit into int.
+ (Faccept_process_output): Use duration_to_sec_usec to do proper
+ overflow checking on durations.
+ (emacs_get_tty_pgrp, Fprocess_running_child_p, process_send_signal):
+ Don't assume pid_t fits in int.
+ * process.h (struct Lisp_Process): Members tick and update_tick
+ are now of type EMACS_INT, not int.
+ * puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts
+ configured --with-wide-int.
+ * scroll.c (calculate_scrolling, calculate_direct_scrolling)
+ (line_ins_del): Use int, not EMACS_INT, where int is wide enough.
+ * search.c (looking_at_1, string_match_1):
+ (fast_string_match, fast_c_string_match_ignore_case)
+ (fast_string_match_ignore_case, fast_looking_at, scan_buffer)
+ (scan_newline, find_before_next_newline, search_command)
+ (trivial_regexp_p, search_buffer, simple_search, boyer_moore)
+ (set_search_regs, wordify):
+ (Freplace_match):
+ (Fmatch_data):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (string_match_1, search_buffer, set_search_regs):
+ (Fmatch_data):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (wordify): Check for overflow in size calculation.
+ (Freplace_match): Avoid potential buffer overflow in search_regs.start.
+ (Fset_match_data): Don't assume fixnum fits in ptrdiff_t.
+ Check that fixnums are in proper range for system types.
+ * sound.c (struct sound_device)
+ (wav_play, au_play, vox_write, alsa_period_size, alsa_write):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fplay_sound_internal):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * syntax.c (struct lisp_parse_state, find_start_modiff)
+ (Finternal_describe_syntax_value, scan_lists, scan_sexps_forward):
+ (Fparse_partial_sexp):
+ Don't assume fixnums can fit in int.
+ (struct lisp_parse_state, find_start_pos, find_start_value)
+ (find_start_value_byte, find_start_begv)
+ (update_syntax_table, char_quoted, dec_bytepos)
+ (find_defun_start, prev_char_comend_first, back_comment):
+ (scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment)
+ (scan_lists, Fbackward_prefix_chars, scan_sexps_forward):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Finternal_describe_syntax_value): Check that match_lisp is a
+ character, not an integer, since the code stuffs it into int.
+ (scan_words, scan_sexps_forward):
+ Check that fixnums are in proper range for system types.
+ (Fforward_word):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (scan_sexps_forward):
+ Use CHARACTERP, not INTEGERP, since the value must fit into int.
+ (Fparse_partial_sexp): Fix doc; element 8 is not ignored.
+ * syntax.h: Adjust decls to match defn changes elsewhere.
+ (struct gl_state_s):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (SETUP_SYNTAX_TABLE_FOR_OBJECT): Use PTRDIFF_MAX, not
+ MOST_POSITIVE_FIXNUM.
+ * sysdep.c (wait_for_termination_1, wait_for_termination)
+ (interruptible_wait_for_termination, mkdir):
+ Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit.
+ (emacs_read, emacs_write):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (system_process_attributes): Don't assume uid_t, gid_t, EMACS_INT,
+ and double all fit in int.
+ * term.c (set_tty_color_mode):
+ Check that fixnums are in proper range for system types.
+ * termhooks.h (struct input_event):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * textprop.c (validate_interval_range, interval_of)
+ (Fadd_text_properties, set_text_properties_1)
+ (Fremove_text_properties, Fremove_list_of_text_properties)
+ (Ftext_property_any, Ftext_property_not_all)
+ (copy_text_properties, text_property_list, extend_property_ranges)
+ (verify_interval_modification):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fnext_single_char_property_change)
+ (Fprevious_single_char_property_change):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (copy_text_properties):
+ Check for integer overflow in index calculation.
+ * undo.c (last_boundary_position, record_point, record_insert)
+ (record_delete, record_marker_adjustment, record_change)
+ (record_property_change):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int.
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
+ (Fx_hide_tip, Fx_file_dialog):
+ * w32menu.c (set_frame_menubar):
+ Use ptrdiff_t, not int, for consistency with rest of code.
+ * window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos)
+ (select_window, Fdelete_other_windows_internal)
+ (window_scroll_pixel_based, window_scroll_line_based)
+ (Frecenter, Fset_window_configuration):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (Fset_window_hscroll, run_window_configuration_change_hook)
+ (set_window_buffer, temp_output_buffer_show, scroll_command)
+ (Fscroll_other_window, Frecenter):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right):
+ Don't assume fixnum fits in int.
+ (Fset_window_scroll_bars):
+ Check that fixnums are in proper range for system types.
+ * xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead)
+ (string_pos, c_string_pos, number_of_chars, init_iterator)
+ (in_ellipses_for_invisible_text_p, init_from_display_pos)
+ (compute_stop_pos, next_overlay_change, compute_display_string_pos)
+ (compute_display_string_end, handle_face_prop)
+ (face_before_or_after_it_pos, handle_invisible_prop)
+ (handle_display_prop, handle_display_spec, handle_single_display_spec)
+ (display_prop_intangible_p, string_buffer_position_lim)
+ (string_buffer_position, handle_composition_prop, load_overlay_strings)
+ (get_overlay_strings_1, get_overlay_strings)
+ (iterate_out_of_display_property, forward_to_next_line_start)
+ (back_to_previous_visible_line_start, reseat, reseat_to_string)
+ (get_next_display_element, set_iterator_to_next)
+ (get_visually_first_element, compute_stop_pos_backwards)
+ (handle_stop_backwards, next_element_from_buffer)
+ (move_it_in_display_line_to, move_it_in_display_line)
+ (move_it_to, move_it_vertically_backward, move_it_by_lines)
+ (add_to_log, message_dolog, message_log_check_duplicate)
+ (message2, message2_nolog, message3, message3_nolog
+ (with_echo_area_buffer, display_echo_area_1, resize_mini_window_1)
+ (current_message_1, truncate_echo_area, truncate_message_1)
+ (set_message, set_message_1, store_mode_line_noprop)
+ (hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos)
+ (text_outside_line_unchanged_p, check_point_in_composition)
+ (reconsider_clip_changes)
+ (redisplay_internal, set_cursor_from_row, try_scrolling)
+ (try_cursor_movement, set_vertical_scroll_bar, redisplay_window)
+ (redisplay_window, find_last_unchanged_at_beg_row)
+ (find_first_unchanged_at_end_row, row_containing_pos, try_window_id)
+ (trailing_whitespace_p, find_row_edges, display_line)
+ (RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction)
+ (display_mode_element, store_mode_line_string)
+ (pint2str, pint2hrstr, decode_mode_spec)
+ (display_count_lines, display_string, draw_glyphs)
+ (x_produce_glyphs, x_insert_glyphs)
+ (rows_from_pos_range, mouse_face_from_buffer_pos)
+ (fast_find_string_pos, mouse_face_from_string_pos)
+ (note_mode_line_or_margin_highlight, note_mouse_highlight):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (safe_call, init_from_display_pos, handle_fontified_prop)
+ (handle_single_display_spec, load_overlay_strings)
+ (with_echo_area_buffer, setup_echo_area_for_printing)
+ (display_echo_area, echo_area_display)
+ (x_consider_frame_title, prepare_menu_bars, update_menu_bar)
+ (update_tool_bar, hscroll_window_tree, redisplay_internal)
+ (redisplay_window, dump_glyph_row, display_mode_line)
+ (Fformat_mode_line, decode_mode_spec, on_hot_spot_p):
+ (handle_display_spec, display_prop_string_p):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (handle_single_display_spec, build_desired_tool_bar_string)
+ (redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix)
+ (get_specified_cursor_type):
+ Check that fixnums are in proper range for system types.
+ (struct overlay_entry, resize_mini_window, Fdump_glyph_row)
+ (Flookup_image_map):
+ Don't assume fixnums fit in int.
+ (compare_overlay_entries):
+ Avoid mishandling comparisons due to subtraction overflow.
+ (load_overlay_strings): Use SAFE_NALLOCA, not alloca.
+ (last_escape_glyph_face_id, last_glyphless_glyph_face_id):
+ (handle_tool_bar_click):
+ Use int, not unsigned, since we prefer signed and the signedness
+ doesn't matter here.
+ (get_next_display_element, next_element_from_display_vector):
+ Use int, not EMACS_INT, when int is wide enough.
+ (start_hourglass): Use duration_to_sec_usec to do proper
+ overflow checking on durations.
+ * xfaces.c (Fbitmap_spec_p):
+ Check that fixnums are in proper range for system types.
+ (compare_fonts_by_sort_order):
+ Avoid mishandling comparisons due to subtraction overflow.
+ (Fx_family_fonts, realize_basic_faces):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fx_family_fonts):
+ Don't assume fixnum fits in int.
+ Use SAFE_ALLOCA_LISP, not alloca.
+ (merge_face_heights): Remove unnecessary cast to EMACS_INT.
+ (Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID.
+ (face_at_buffer_position, face_for_overlay_string)
+ (face_at_string_position):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ (merge_faces): Use int, not EMACS_INT, where int is wide enough.
+ * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify)
+ (Fx_show_tip):
+ Check that fixnums are in proper range for system types.
+ (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
+ (Fx_hide_tip, Fx_file_dialog, Fx_select_font):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (Fx_change_window_property): Don't assume fixnums fit in int.
+ * xfont.c (xfont_chars_supported):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * xmenu.c (Fx_popup_dialog, set_frame_menubar)
+ (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * xml.c (parse_region):
+ * xrdb.c (magic_file_p):
+ Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
+ * xselect.c (TRACE1): Don't assume pid_t promotes to int.
+ (x_get_local_selection, x_reply_selection_request)
+ (x_handle_selection_request, wait_for_property_change):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ (selection_data_to_lisp_data): Use short, not EMACS_INT, where
+ short is wide enough.
+ (x_send_client_event): Don't assume fixnum fits in int.
+ * xterm.c (x_x_to_emacs_modifiers):
+ Don't assume EMACS_INT overflows nicely into int.
+ (x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values
+ may come from Lisp.
+ (handle_one_xevent): NATNUMP can eval its arg twice.
+ (x_connection_closed):
+ Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
+ * xterm.h: Adjust decls to match defn changes elsewhere.
+ (struct scroll_bar): Use struct vectorlike_header
+ rather than rolling our own approximation.
+ (SCROLL_BAR_VEC_SIZE): Remove; not used.
+
+2012-05-25 Glenn Morris <rgm@gnu.org>
+
+ * lisp.mk (lisp): Update for more files being compiled now.
+
+2012-05-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lread.c: Remove `read_pure' which makes no difference.
+ (read_pure): Remove var.
+ (unreadpure): Remove function.
+ (readevalloop): Don't call read_list with -1 flag.
+ (read1, read_vector): Don't test read_pure any more.
+ (read_list): Simplify.
+
+ * fileio.c, character.h: Minor style tweaks.
+
+2012-05-24 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (clip_changed): Remove useless declaration.
+
+2012-05-22 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu.
+ (TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h.
+
+2012-05-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove src/m/*.
+ This directory predates autoconf and is no longer needed nowadays.
+ Move its few remaining bits of functionality to where they're needed.
+ * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h:
+ * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h:
+ * m/template.h: Remove.
+ * Makefile.in (M_FILE): Remove. All uses removed.
+ * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
+ * lisp.h (USE_LSB_TAG):
+ * mem-limits.h (EXCEEDS_LISP_PTR):
+ Use VAL_MAX, not VALBITS, in #if.
+ * lisp.h (EMACS_INT_MAX): New macro, useful in #if.
+ (EMACS_UINT): Define unconditionally now.
+ (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
+ (BITS_PER_EMACS_INT): New constants, replacing
+ what used to be in config.h, but not useful in #if.
+ (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
+ define them any more.
+ (VAL_MAX): New macro.
+ (VALMASK): Use it.
+ * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
+ BITS_PER_EMACS_INT, in #if.
+ * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
+ (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
+ * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
+ * s/ms-w32.h (DATA_START):
+ Move here from removed file m/intel386.h.
+ * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
+ * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
+
+2012-05-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Assume C89 or later.
+ * alloc.c, buffer.c, lisp.h: Replace POINTER_TYPE with void.
+ * alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc)
+ (xrealloc):
+ * buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts.
+ * editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL):
+ * textprop.c, tparam.c (NULL): Remove.
+ * ralloc.c, vm-limit.c (POINTER): Assume void * works.
+ * regex.c (SIGN_EXTEND_CHAR): Assume signed char works.
+ * regex.h (_RE_ARGS): Remove. All uses rewritten to use prototypes.
+ * unexelf.c (ElfBitsW): Assume c89 preprocessor or better.
+ * xterm.c (input_signal_count): Assume volatile works.
+
+2012-05-21 Ken Brown <kbrown@cornell.edu>
+
+ * xgselect.c (xg_select): Fix first argument in call to 'select'
+ (bug#11508).
+
+2012-05-20 Ken Brown <kbrown@cornell.edu>
+
+ * gmalloc.c (_free_internal_nolock, _realloc_internal_nolock)
+ [CYGWIN]: Cast ptr to (char *) before comparing to _heapbase.
+
+2012-05-19 Ken Brown <kbrown@cornell.edu>
+
+ * xfns.c (x_in_use): Remove `static' qualifier.
+ * xterm.h (x_in_use): Declare.
+ * xgselect.c: Include xterm.h.
+ (xg_select): Test `x_in_use' instead of `inhibit_window_system'
+ and `display_arg' (bug#9754).
+
+2012-05-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * s/ms-w32.h (HAVE_GETDOMAINNAME): Remove; not needed.
- * xdisp.c (pos_visible_p): Fix last change. (Bug#11464)
+ * m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed.
+ * s/ms-w32.h (HAVE_FTIME): Remove; not needed.
-2012-05-13 Eli Zaretskii <eliz@gnu.org>
+2012-05-18 Eli Zaretskii <eliz@gnu.org>
+
+ Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows.
+
+ * w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font.
+ (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c.
+
+ * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken
+ reference to image_cache->refcount.
+ (x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE.
+
+2012-05-17 Juri Linkov <juri@jurta.org>
+
+ * search.c (Fword_search_regexp, Fword_search_backward)
+ (Fword_search_forward, Fword_search_backward_lax)
+ (Fword_search_forward_lax): Move functions to isearch.el
+ (bug#10145, bug#11381).
+
+2012-05-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xgselect.c (xg_select): Just invoke 'select' if -nw (Bug#9754).
+
+2012-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lread.c (init_obarray): Declare Qt and Qnil as special.
+
+2012-05-14 Glenn Morris <rgm@gnu.org>
+
+ * nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec").
+ Put "libexec" before "bin", for the sake of init_callproc_1.
+
+2012-05-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local.
+
+ * unexaix.c: Port to more-recent AIX compilers.
+ (report_error, report_error_1, make_hdr, copy_sym)
+ (mark_x, adjust_lnnoptrs, unrelocate_symbols):
+ Make arguments const char *, not char *, to avoid violations of C
+ standard and to fix some AIX warnings reported by Gilles Pion.
+
+2012-05-14 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
already have overlays loaded.
stopped at the last line of window, which happens to be scanned
backwards by the bidi iteration. (Bug#11464)
-2012-05-11 Eli Zaretskii <eliz@gnu.org>
+2012-05-14 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (handle_single_display_spec): Return 1 for left-margin
and right-margin display specs even if the spec is invalid or we
- are on a TTY, and thus unable to display on the fringes. That's
- because the text with the property will not be displayed anyway,
+ are on a TTY, and thus unable to display on the fringes.
+ That's because the text with the property will not be displayed anyway,
so we need to signal to the caller that this is a "replacing"
display spec. This fixes display when the spec is invalid or we
are on a TTY.
-2012-05-09 Paul Eggert <eggert@cs.ucla.edu>
+2012-05-14 Paul Eggert <eggert@cs.ucla.edu>
* unexaix.c (make_hdr): Fix typo in prototype.
This bug broke the build on AIX. Problem reported by Gilles Pion.
-2012-05-05 Eli Zaretskii <eliz@gnu.org>
+2012-05-14 Michael Albinus <michael.albinus@gmx.de>
+
+ * keyboard.c (kbd_buffer_get_event): Read special events also in
+ batch mode. (Bug#11415)
+
+2012-05-12 Glenn Morris <rgm@gnu.org>
+
+ * ns.mk: Update for ns_appbindir no longer having trailing "/".
+
+2012-05-12 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp.mk (lisp): Add newcomment.elc.
+
+2012-05-12 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (MKDIR_P): New, set by configure.
+ * ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P.
+
+2012-05-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove unused function hourglass_started.
+ * dispextern.h (hourglass_started):
+ * w32fns.c (hourglass_started):
+ * xdisp.c (hourglass_started): Remove.
+
+2012-05-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/gmalloc.$(O), $(BLD)/w32menu.$(O)):
+ Update dependencies.
+
+2012-05-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xgselect.c (xg_select): Put maxfds+1 into a var.
+ This is slightly clearer, and pacifies Ubuntu 12.04 gcc.
+
+ * sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA.
+
+2012-05-10 Dave Abrahams <dave@boostpro.com>
+
+ * filelock.c (syms_of_filelock): New boolean create-lockfiles.
+ (lock_file): If create_lockfiles is 0, do nothing. (Bug#11227)
+
+2012-05-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (xd_registered_buses): New internal Lisp object.
+ Rename all occurences of Vdbus_registered_buses to xd_registered_buses.
+ (syms_of_dbusbind): Remove declaration of Vdbus_registered_buses.
+ Initialize xd_registered_buses.
+
+2012-05-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ Untag more efficiently if USE_LSB_TAG.
+ This is based on a proposal by YAMAMOTO Mitsuharu in
+ <http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg01876.html>.
+ For an admittedly artificial (nth 8000 longlist) benchmark on
+ Fedora 15 x86-64, this yields a 25% CPU speedup. Also, it shrinks
+ Emacs's overall text size by 1%.
+ * lisp.h (XUNTAG): New macro.
+ (XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW)
+ (XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR)
+ (XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it.
+ * eval.c (Fautoload):
+ * font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT):
+ * frame.h (XFRAME): Use XUNTAG.
+
+ Port recent dbusbind.c changes to 32-bit --with-wide-int.
+ * dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal):
+ Remove unportable assumptions about print widths of types like
+ dbus_uint32_t.
+ (xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to
+ intptr_t when converting between pointer and integer, to avoid GCC
+ warnings about wrong width.
+
+2012-05-09 Eli Zaretskii <eliz@gnu.org>
* w32proc.c (new_child): Force Windows to reserve only 64KB of
stack for each reader_thread, instead of defaulting to 8MB
subprocesses on Windows 7, see the discussion in this thread:
http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html.
-2012-05-02 Jim Meyering <meyering@redhat.com>
+2012-05-07 Jérémy Compostella <jeremy.compostella@gmail.com>
+
+ Fix up display of the *Minibuf-0* buffer in the mini window.
+ * keyboard.c (read_char): Don't clear the echo area if there's no
+ message to clear.
+ * xdisp.c (redisplay_internal): Redisplay the mini window (with the
+ contents of *Minibuf-0*) if there's no message displayed in its stead.
+
+2012-05-07 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (XD_DEBUG_MESSAGE): Don't print message twice in
+ batch mode.
+
+2012-05-06 Chong Yidong <cyd@gnu.org>
+
+ * lisp.mk (lisp): Update.
+
+2012-05-05 Jim Meyering <meyering@redhat.com>
* w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372).
-2012-04-29 Eli Zaretskii <eliz@gnu.org>
+2012-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * data.c (PUT_ERROR): New macro.
+ (syms_of_data): Use it. Add new error type `user-error'.
+ * undo.c (user_error): New function.
+ (Fprimitive_undo): Use it.
+ * print.c (print_error_message): Adjust print style for `user-error'.
+ * keyboard.c (user_error): New function.
+ (Fexit_recursive_edit, Fabort_recursive_edit): Use it.
+
+2012-05-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not limit current-time-string to years 1000..9999.
+ * editfns.c (TM_YEAR_IN_ASCTIME_RANGE): Remove.
+ (Fcurrent_time_string): Support any year that is supported by the
+ underlying localtime representation. Don't use asctime, as it
+ has undefined behavior for years outside the range -999..9999.
+
+2012-05-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix race conditions involving setenv, gmtime, localtime, asctime.
+ Without this fix, interrupts could mess up code that uses these
+ nonreentrant functions, since setting TZ invalidates existing
+ tm_zone or tzname values, and since most of these functions return
+ pointers to static storage.
+ * editfns.c (format_time_string, Fdecode_time, Fencode_time)
+ (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
+ Grow the critical sections to include not just invoking
+ localtime/gmtime, but also accessing these functions' results
+ including their tm_zone values if any, and any related TZ setting.
+ (format_time_string): Last arg is now struct tm *, not struct tm **,
+ so that the struct tm is saved in the critical section.
+ All callers changed. Simplify allocation of initial buffer, partly
+ motivated by the fact that memory allocation needs to be outside
+ the critical section.
+
+2012-05-02 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * intervals.c (adjust_intervals_for_insertion): Initialize `newi'
+ with RESET_INTERVAL.
+
+ * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
+ Remove duplicated buffer name initialization.
+
+2012-05-02 Jim Meyering <jim@meyering.net>
+
+ * xterm.c (x_term_init): Use memcpy instead of strncpy (Bug#11373).
+
+ * xfns.c (x_window): Use xstrdup (Bug#11375).
+
+2012-05-02 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (pos_visible_p): If already at a newline from the
display string before the 'while' loop, don't walk back the glyphs
from it3.glyph_row. Solves assertion violation when the display
string begins with a newline (egg.el). (Bug#11367)
-2012-04-24 Chong Yidong <cyd@gnu.org>
+2012-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings):
+ Move to simple.el.
+
+2012-05-01 Glenn Morris <rgm@gnu.org>
+
+ * syssignal.h: Remove reference to BROKEN_SIGINFO (last used in
+ s/ptx4.h), BROKEN_SIGTSTP (last used in m/ustation.h, m/dpx2.h),
+ and BROKEN_SIGURG (was in s/gnu-linux.h prior to 2008-02-10).
+ All were removed before 23.1.
+
+ * dispnew.c: Remove HAVE_LIBNCURSES test;
+ it is always true on relevant platforms.
+
+ * Makefile.in (LD_SWITCH_X_SITE_RPATH):
+ Rename from LD_SWITCH_X_SITE_AUX_RPATH.
+
+ * Makefile.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used.
+
+2012-04-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * .gdbinit (xpr): Remove checks for no longer existing misc types.
+ (xintfwd, xboolfwd, xobjfwd, xbufobjfwd, xkbobjfwd, xbuflocal):
+ Remove.
+
+2012-04-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not avoid creating empty evaporating overlays (Bug#9642).
+ * buffer.c (Fmove_overlay): Revert the change of 2012-04-23.
+ That is, do not delete an evaporating overlay if it becomes
+ empty after its bounds are adjusted to fit within its buffer.
+ This fix caused other problems, and I'm reverting it until we get
+ to the bottom of them.
+
+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
* 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)
+ * 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 refcounts.
+ (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).
+
+2012-04-20 Teodor Zlatanov <tzz@lifelogs.com>
+2012-04-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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>
- * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n" (bug#11238).
+ * dired.c (Fsystem_users, Fsystem_groups): New functions. (Bug#7900)
+ (syms_of_dired): Add them.
-2012-04-10 Teodor Zlatanov <tzz@lifelogs.com>
+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>
(EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
* nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
- cString and lossyCString on OSX >= 10.4
+ cString and lossyCString on OSX >= 10.4.
* nsmenu.m (fillWithWidgetValue): Don't use deprecated method
sizeToFit on OSX >= 10.2.
* Makefile.in (SETTINGS_LIBS): Fix typo.
-2011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny patch)
+2011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
* coding.c (Fencode_coding_string): Record the last coding system
used, as the function doc string says (bug#8738).
* 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.
#include <config.h>
#include <limits.h>
-#include <setjmp.h>
#include <stdio.h>
#include "lisp.h"
#include "blockinput.h"
#include "xterm.h"
#endif
-struct backtrace
-{
- struct backtrace *next;
- Lisp_Object *function;
- Lisp_Object *args; /* Points to vector of args. */
- ptrdiff_t nargs; /* Length of vector. */
- /* Nonzero means call value of debugger when done with this operation. */
- unsigned int debug_on_exit : 1;
-};
-
-static struct backtrace *backtrace_list;
+struct backtrace *backtrace_list;
#if !BYTE_MARK_STACK
static
int gcpro_level;
#endif
-Lisp_Object Qautoload, Qmacro, Qexit, Qinteractive, Qcommandp, Qdefun;
+Lisp_Object Qautoload, Qmacro, Qexit, Qinteractive, Qcommandp;
Lisp_Object Qinhibit_quit;
Lisp_Object Qand_rest;
static Lisp_Object Qand_optional;
-static Lisp_Object Qdebug_on_error;
+static Lisp_Object Qinhibit_debugger;
static Lisp_Object Qdeclare;
Lisp_Object Qinternal_interpreter_environment, Qclosure;
/* Current number of specbindings allocated in specpdl. */
-EMACS_INT specpdl_size;
+ptrdiff_t specpdl_size;
/* Pointer to beginning of specpdl. */
signal the error instead of entering an infinite loop of debugger
invocations. */
-static int when_entered_debugger;
+static EMACS_INT when_entered_debugger;
/* The function from which the last `signal' was called. Set in
Fsignal. */
Lisp_Object Vsignaling_function;
-/* Set to non-zero while processing X events. Checked in Feval to
- make sure the Lisp interpreter isn't called from a signal handler,
- which is unsafe because the interpreter isn't reentrant. */
-
-int handling_signal;
-
/* If non-nil, Lisp code must not be run since some part of Emacs is
in an inconsistent state. Currently, x-create-frame uses this to
avoid triggering window-configuration-change-hook while the new
Lisp_Object inhibit_lisp_code;
static Lisp_Object funcall_lambda (Lisp_Object, ptrdiff_t, Lisp_Object *);
-static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN;
-static int interactive_p (int);
+static bool interactive_p (void);
static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args);
-static Lisp_Object Ffetch_bytecode (Lisp_Object);
-\f
+
+/* Functions to set Lisp_Object slots of struct specbinding. */
+
+static inline void
+set_specpdl_symbol (Lisp_Object symbol)
+{
+ specpdl_ptr->symbol = symbol;
+}
+
+static inline void
+set_specpdl_old_value (Lisp_Object oldval)
+{
+ specpdl_ptr->old_value = oldval;
+}
+
void
init_eval_once (void)
{
enum { size = 50 };
- specpdl = (struct specbinding *) xmalloc (size * sizeof (struct specbinding));
+ specpdl = xmalloc (size * sizeof *specpdl);
specpdl_size = size;
specpdl_ptr = specpdl;
/* Don't forget to update docs (lispref node "Local Variables"). */
/* Call the Lisp debugger, giving it argument ARG. */
-static Lisp_Object
+Lisp_Object
call_debugger (Lisp_Object arg)
{
- int debug_while_redisplaying;
- int count = SPECPDL_INDEX ();
+ bool debug_while_redisplaying;
+ ptrdiff_t count = SPECPDL_INDEX ();
Lisp_Object val;
EMACS_INT old_max = max_specpdl_size;
specbind (intern ("debugger-may-continue"),
debug_while_redisplaying ? Qnil : Qt);
specbind (Qinhibit_redisplay, Qnil);
- specbind (Qdebug_on_error, Qnil);
+ specbind (Qinhibit_debugger, Qt);
#if 0 /* Binding this prevents execution of Lisp code during
redisplay, which necessarily leads to display problems. */
Lisp_Object val;
register Lisp_Object args_left;
struct gcpro gcpro1, gcpro2;
- register int argnum = 0;
-
- if (NILP (args))
- return Qnil;
args_left = args;
val = Qnil;
GCPRO2 (args, val);
- do
- {
- Lisp_Object tem = eval_sub (XCAR (args_left));
- if (!(argnum++))
- val = tem;
- args_left = XCDR (args_left);
- }
- while (CONSP (args_left));
+ val = eval_sub (XCAR (args_left));
+ while (CONSP (args_left = XCDR (args_left)))
+ eval_sub (XCAR (args_left));
UNGCPRO;
return val;
usage: (prog2 FORM1 FORM2 BODY...) */)
(Lisp_Object args)
{
- Lisp_Object val;
- register Lisp_Object args_left;
- struct gcpro gcpro1, gcpro2;
- register int argnum = -1;
-
- val = Qnil;
-
- if (NILP (args))
- return Qnil;
-
- args_left = args;
- val = Qnil;
- GCPRO2 (args, val);
-
- do
- {
- Lisp_Object tem = eval_sub (XCAR (args_left));
- if (!(argnum++))
- val = tem;
- args_left = XCDR (args_left);
- }
- while (CONSP (args_left));
+ struct gcpro gcpro1;
+ GCPRO1 (args);
+ eval_sub (XCAR (args));
UNGCPRO;
- return val;
+ return Fprog1 (XCDR (args));
}
DEFUN ("setq", Fsetq, Ssetq, 0, UNEVALLED, 0,
use `called-interactively-p'. */)
(void)
{
- return interactive_p (1) ? Qt : Qnil;
+ return interactive_p () ? Qt : Qnil;
}
\(not (or executing-kbd-macro noninteractive)). */)
(Lisp_Object kind)
{
- return ((INTERACTIVE || !EQ (kind, intern ("interactive")))
- && interactive_p (1)) ? Qt : Qnil;
+ return (((INTERACTIVE || !EQ (kind, intern ("interactive")))
+ && interactive_p ())
+ ? Qt : Qnil);
}
-/* Return 1 if function in which this appears was called using
- call-interactively.
+/* Return true if function in which this appears was called using
+ call-interactively and is not a built-in. */
- EXCLUDE_SUBRS_P non-zero means always return 0 if the function
- called is a built-in. */
-
-static int
-interactive_p (int exclude_subrs_p)
+static bool
+interactive_p (void)
{
struct backtrace *btp;
Lisp_Object fun;
/* `btp' now points at the frame of the innermost function that isn't
a special form, ignoring frames for Finteractive_p and/or
Fbytecode at the top. If this frame is for a built-in function
- (such as load or eval-region) return nil. */
+ (such as load or eval-region) return false. */
fun = Findirect_function (*btp->function, Qnil);
- if (exclude_subrs_p && SUBRP (fun))
+ if (SUBRP (fun))
return 0;
/* `btp' points to the frame of a Lisp function that called interactive-p.
}
-DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0,
- doc: /* Define NAME as a function.
-The definition is (lambda ARGLIST [DOCSTRING] BODY...).
-See also the function `interactive'.
-usage: (defun NAME ARGLIST [DOCSTRING] BODY...) */)
- (Lisp_Object args)
-{
- register Lisp_Object fn_name;
- register Lisp_Object defn;
-
- fn_name = Fcar (args);
- CHECK_SYMBOL (fn_name);
- defn = Fcons (Qlambda, Fcdr (args));
- if (!NILP (Vinternal_interpreter_environment)) /* Mere optimization! */
- defn = Ffunction (Fcons (defn, Qnil));
- if (!NILP (Vpurify_flag))
- defn = Fpurecopy (defn);
- if (CONSP (XSYMBOL (fn_name)->function)
- && EQ (XCAR (XSYMBOL (fn_name)->function), Qautoload))
- LOADHIST_ATTACH (Fcons (Qt, fn_name));
- Ffset (fn_name, defn);
- LOADHIST_ATTACH (Fcons (Qdefun, fn_name));
- return fn_name;
-}
-
-DEFUN ("defmacro", Fdefmacro, Sdefmacro, 2, UNEVALLED, 0,
- doc: /* Define NAME as a macro.
-The actual definition looks like
- (macro lambda ARGLIST [DOCSTRING] [DECL] BODY...).
-When the macro is called, as in (NAME ARGS...),
-the function (lambda ARGLIST BODY...) is applied to
-the list ARGS... as it appears in the expression,
-and the result should be a form to be evaluated instead of the original.
-
-DECL is a declaration, optional, which can specify how to indent
-calls to this macro, how Edebug should handle it, and which argument
-should be treated as documentation. It looks like this:
- (declare SPECS...)
-The elements can look like this:
- (indent INDENT)
- Set NAME's `lisp-indent-function' property to INDENT.
-
- (debug DEBUG)
- Set NAME's `edebug-form-spec' property to DEBUG. (This is
- equivalent to writing a `def-edebug-spec' for the macro.)
-
- (doc-string ELT)
- Set NAME's `doc-string-elt' property to ELT.
-
-usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...) */)
- (Lisp_Object args)
-{
- register Lisp_Object fn_name;
- register Lisp_Object defn;
- Lisp_Object lambda_list, doc, tail;
-
- fn_name = Fcar (args);
- CHECK_SYMBOL (fn_name);
- lambda_list = Fcar (Fcdr (args));
- tail = Fcdr (Fcdr (args));
-
- doc = Qnil;
- if (STRINGP (Fcar (tail)))
- {
- doc = XCAR (tail);
- tail = XCDR (tail);
- }
-
- if (CONSP (Fcar (tail))
- && EQ (Fcar (Fcar (tail)), Qdeclare))
- {
- if (!NILP (Vmacro_declaration_function))
- {
- struct gcpro gcpro1;
- GCPRO1 (args);
- call2 (Vmacro_declaration_function, fn_name, Fcar (tail));
- UNGCPRO;
- }
-
- tail = Fcdr (tail);
- }
-
- if (NILP (doc))
- tail = Fcons (lambda_list, tail);
- else
- tail = Fcons (lambda_list, Fcons (doc, tail));
-
- defn = Fcons (Qlambda, tail);
- if (!NILP (Vinternal_interpreter_environment)) /* Mere optimization! */
- defn = Ffunction (Fcons (defn, Qnil));
- defn = Fcons (Qmacro, defn);
-
- if (!NILP (Vpurify_flag))
- defn = Fpurecopy (defn);
- if (CONSP (XSYMBOL (fn_name)->function)
- && EQ (XCAR (XSYMBOL (fn_name)->function), Qautoload))
- LOADHIST_ATTACH (Fcons (Qt, fn_name));
- Ffset (fn_name, defn);
- LOADHIST_ATTACH (Fcons (Qdefun, fn_name));
- return fn_name;
-}
-
-
DEFUN ("defvaralias", Fdefvaralias, Sdefvaralias, 2, 3, 0,
doc: /* Make NEW-ALIAS a variable alias for symbol BASE-VARIABLE.
Aliased variables always have the same value; setting one sets the other.
{
struct specbinding *p;
- for (p = specpdl_ptr - 1; p >= specpdl; p--)
- if (p->func == NULL
+ for (p = specpdl_ptr; p > specpdl; )
+ if ((--p)->func == NULL
&& (EQ (new_alias,
CONSP (p->symbol) ? XCAR (p->symbol) : p->symbol)))
error ("Don't know how to make a let-bound variable an alias");
variable.
To define a user option, use `defcustom' instead of `defvar'.
-The function `user-variable-p' also identifies a variable as a user
-option if its DOCSTRING starts with *, but this behavior is obsolete.
usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
(Lisp_Object args)
{
/* Do it before evaluating the initial value, for self-references. */
XSYMBOL (sym)->declared_special = 1;
- if (SYMBOL_CONSTANT_P (sym))
- {
- /* For upward compatibility, allow (defvar :foo (quote :foo)). */
- Lisp_Object tem1 = Fcar (tail);
- if (! (CONSP (tem1)
- && EQ (XCAR (tem1), Qquote)
- && CONSP (XCDR (tem1))
- && EQ (XCAR (XCDR (tem1)), sym)))
- error ("Constant symbol `%s' specified in defvar",
- SDATA (SYMBOL_NAME (sym)));
- }
-
if (NILP (tem))
Fset_default (sym, eval_sub (Fcar (tail)));
else
{ /* Check if there is really a global binding rather than just a let
binding that shadows the global unboundness of the var. */
- volatile struct specbinding *pdl = specpdl_ptr;
- while (--pdl >= specpdl)
+ struct specbinding *pdl = specpdl_ptr;
+ while (pdl > specpdl)
{
- if (EQ (pdl->symbol, sym) && !pdl->func
+ if (EQ ((--pdl)->symbol, sym) && !pdl->func
&& EQ (pdl->old_value, Qunbound))
{
message_with_string ("Warning: defvar ignored because %s is let-bound",
return sym;
}
-/* Error handler used in Fuser_variable_p. */
-static Lisp_Object
-user_variable_p_eh (Lisp_Object ignore)
+/* Make SYMBOL lexically scoped. */
+DEFUN ("internal-make-var-non-special", Fmake_var_non_special,
+ Smake_var_non_special, 1, 1, 0,
+ doc: /* Internal function. */)
+ (Lisp_Object symbol)
{
+ CHECK_SYMBOL (symbol);
+ XSYMBOL (symbol)->declared_special = 0;
return Qnil;
}
-static Lisp_Object
-lisp_indirect_variable (Lisp_Object sym)
-{
- struct Lisp_Symbol *s = indirect_variable (XSYMBOL (sym));
- XSETSYMBOL (sym, s);
- return sym;
-}
-
-DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0,
- doc: /* Return t if VARIABLE is intended to be set and modified by users.
-\(The alternative is a variable used internally in a Lisp program.)
-
-This function returns t if (i) the first character of its
-documentation is `*', or (ii) it is customizable (its property list
-contains a non-nil value of `standard-value' or `custom-autoload'), or
-\(iii) it is an alias for a user variable.
-
-But condition (i) is considered obsolete, so for most purposes this is
-equivalent to `custom-variable-p'. */)
- (Lisp_Object variable)
-{
- Lisp_Object documentation;
-
- if (!SYMBOLP (variable))
- return Qnil;
-
- /* If indirect and there's an alias loop, don't check anything else. */
- if (XSYMBOL (variable)->redirect == SYMBOL_VARALIAS
- && NILP (internal_condition_case_1 (lisp_indirect_variable, variable,
- Qt, user_variable_p_eh)))
- return Qnil;
-
- while (1)
- {
- documentation = Fget (variable, Qvariable_documentation);
- if (INTEGERP (documentation) && XINT (documentation) < 0)
- return Qt;
- if (STRINGP (documentation)
- && ((unsigned char) SREF (documentation, 0) == '*'))
- return Qt;
- /* If it is (STRING . INTEGER), a negative integer means a user variable. */
- if (CONSP (documentation)
- && STRINGP (XCAR (documentation))
- && INTEGERP (XCDR (documentation))
- && XINT (XCDR (documentation)) < 0)
- return Qt;
- /* Customizable? See `custom-variable-p'. */
- if ((!NILP (Fget (variable, intern ("standard-value"))))
- || (!NILP (Fget (variable, intern ("custom-autoload")))))
- return Qt;
-
- if (!(XSYMBOL (variable)->redirect == SYMBOL_VARALIAS))
- return Qnil;
-
- /* An indirect variable? Let's follow the chain. */
- XSETSYMBOL (variable, SYMBOL_ALIAS (XSYMBOL (variable)));
- }
-}
\f
DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0,
doc: /* Bind variables according to VARLIST then eval BODY.
(Lisp_Object args)
{
Lisp_Object varlist, var, val, elt, lexenv;
- int count = SPECPDL_INDEX ();
+ ptrdiff_t count = SPECPDL_INDEX ();
struct gcpro gcpro1, gcpro2, gcpro3;
GCPRO3 (args, elt, varlist);
{
Lisp_Object *temps, tem, lexenv;
register Lisp_Object elt, varlist;
- int count = SPECPDL_INDEX ();
+ ptrdiff_t count = SPECPDL_INDEX ();
ptrdiff_t argnum;
struct gcpro gcpro1, gcpro2;
USE_SAFE_ALLOCA;
{
/* SYM is not mentioned in ENVIRONMENT.
Look at its function definition. */
+ struct gcpro gcpro1;
+ GCPRO1 (form);
+ def = Fautoload_do_load (def, sym, Qmacro);
+ UNGCPRO;
if (EQ (def, Qunbound) || !CONSP (def))
/* Not defined or definition not suitable. */
break;
- if (EQ (XCAR (def), Qautoload))
- {
- /* Autoloading function: will it be a macro when loaded? */
- tem = Fnth (make_number (4), def);
- if (EQ (tem, Qt) || EQ (tem, Qmacro))
- /* Yes, load it and try again. */
- {
- struct gcpro gcpro1;
- GCPRO1 (form);
- do_autoload (def, sym);
- UNGCPRO;
- continue;
- }
- else
- break;
- }
- else if (!EQ (XCAR (def), Qmacro))
+ if (!EQ (XCAR (def), Qmacro))
break;
else expander = XCDR (def);
}
if (NILP (expander))
break;
}
- form = apply1 (expander, XCDR (form));
+ {
+ Lisp_Object newform = apply1 (expander, XCDR (form));
+ if (EQ (form, newform))
+ break;
+ else
+ form = newform;
+ }
}
return form;
}
catchlist = &c;
/* Call FUNC. */
- if (! _setjmp (c.jmp))
+ if (! sys_setjmp (c.jmp))
c.val = (*func) (arg);
/* Throw works by a longjmp that comes right here. */
/* Unwind the specbind, catch, and handler stacks back to CATCH, and
jump to that CATCH, returning VALUE as the value of that catch.
- This is the guts Fthrow and Fsignal; they differ only in the way
+ This is the guts of Fthrow and Fsignal; they differ only in the way
they choose the catch tag to throw to. A catch tag for a
condition-case form has a TAG of Qnil.
the handler stack as we go, so that the proper handlers are in
effect for each unwind-protect clause we run. At the end, restore
some static info saved in CATCH, and longjmp to the location
- specified in the
+ specified there.
This is used for correct unwinding in Fthrow and Fsignal. */
-static void
+static _Noreturn void
unwind_to_catch (struct catchtag *catch, Lisp_Object value)
{
- register int last_time;
+ bool last_time;
/* Save the value in the tag. */
catch->val = value;
/* Restore certain special C variables. */
set_poll_suppress_count (catch->poll_suppress_count);
- UNBLOCK_INPUT_TO (catch->interrupt_input_blocked);
- handling_signal = 0;
+ unblock_input_to (catch->interrupt_input_blocked);
immediate_quit = 0;
do
}
while (! last_time);
-#if HAVE_X_WINDOWS
- /* If x_catch_errors was done, turn it off now.
- (First we give unbind_to a chance to do that.) */
-#if 0 /* This would disable x_catch_errors after x_connection_closed.
- The catch must remain in effect during that delicate
- state. --lorentey */
- x_fully_uncatch_errors ();
-#endif
-#endif
-
byte_stack_list = catch->byte_stack;
gcprolist = catch->gcpro;
#ifdef DEBUG_GCPRO
backtrace_list = catch->backlist;
lisp_eval_depth = catch->lisp_eval_depth;
- _longjmp (catch->jmp, 1);
+ sys_longjmp (catch->jmp, 1);
}
DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0,
(Lisp_Object args)
{
Lisp_Object val;
- int count = SPECPDL_INDEX ();
+ ptrdiff_t count = SPECPDL_INDEX ();
record_unwind_protect (Fprogn, Fcdr (args));
val = eval_sub (Fcar (args));
usage: (condition-case VAR BODYFORM &rest HANDLERS) */)
(Lisp_Object args)
{
- register Lisp_Object bodyform, handlers;
- volatile Lisp_Object var;
-
- var = Fcar (args);
- bodyform = Fcar (Fcdr (args));
- handlers = Fcdr (Fcdr (args));
+ Lisp_Object var = Fcar (args);
+ Lisp_Object bodyform = Fcar (Fcdr (args));
+ Lisp_Object handlers = Fcdr (Fcdr (args));
return internal_lisp_condition_case (var, bodyform, handlers);
}
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
if (!NILP (h.var))
specbind (h.var, c.val);
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
ptrdiff_t nargs,
Lisp_Object *args,
Lisp_Object handlers,
- Lisp_Object (*hfun) (Lisp_Object))
+ Lisp_Object (*hfun) (Lisp_Object err,
+ ptrdiff_t nargs,
+ Lisp_Object *args))
{
Lisp_Object val;
struct catchtag c;
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
- return (*hfun) (c.val);
+ return (*hfun) (c.val, nargs, args);
}
c.next = catchlist;
catchlist = &c;
\f
static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object);
-static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
- Lisp_Object data);
+static bool maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
+ Lisp_Object data);
void
process_quit_flag (void)
struct handler *h;
struct backtrace *bp;
- immediate_quit = handling_signal = 0;
+ immediate_quit = 0;
abort_on_gc = 0;
if (gc_in_progress || waiting_for_input)
- abort ();
+ emacs_abort ();
#if 0 /* rms: I don't know why this was here,
but it is surely wrong for an error that is handled. */
if requested". */
|| EQ (h->handler, Qerror)))
{
- int debugger_called
+ bool debugger_called
= maybe_call_debugger (conditions, error_symbol, data);
/* We can't return values to code which signaled an error, but we
can continue code which has signaled a quit. */
xsignal (Lisp_Object error_symbol, Lisp_Object data)
{
Fsignal (error_symbol, data);
- abort ();
+ emacs_abort ();
}
/* Like xsignal, but takes 0, 1, 2, or 3 args instead of a list. */
}
-/* Return nonzero if LIST is a non-nil atom or
+/* Return true if LIST is a non-nil atom or
a list containing one of CONDITIONS. */
-static int
+static bool
wants_debugger (Lisp_Object list, Lisp_Object conditions)
{
if (NILP (list))
return 0;
}
-/* Return 1 if an error with condition-symbols CONDITIONS,
+/* Return true if an error with condition-symbols CONDITIONS,
and described by SIGNAL-DATA, should skip the debugger
according to debugger-ignored-errors. */
-static int
+static bool
skip_debugger (Lisp_Object conditions, Lisp_Object data)
{
Lisp_Object tail;
- int first_string = 1;
+ bool first_string = 1;
Lisp_Object error_message;
error_message = Qnil;
= SIG is the error symbol, and DATA is the rest of the data.
= SIG is nil, and DATA is (SYMBOL . REST-OF-DATA).
This is for memory-full errors only. */
-static int
+static bool
maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data)
{
Lisp_Object combined_data;
if (
/* Don't try to run the debugger with interrupts blocked.
The editing loop would return anyway. */
- ! INPUT_BLOCKED_P
+ ! input_blocked_p ()
+ && NILP (Vinhibit_debugger)
/* Does user want to enter debugger for this kind of error? */
&& (EQ (sig, Qquit)
? debug_on_quit
/* Only add entries after dumping, because the ones before are
not useful and else we get loads of them from the loaddefs.el. */
LOADHIST_ATTACH (Fcons (Qautoload, function));
- else
- /* We don't want the docstring in purespace (instead,
- Snarf-documentation should (hopefully) overwrite it).
- We used to use 0 here, but that leads to accidental sharing in
- purecopy's hash-consing, so we use a (hopefully) unique integer
- instead. */
- docstring = make_number (XPNTR (function));
+ else if (EQ (docstring, make_number (0)))
+ /* `read1' in lread.c has found the docstring starting with "\
+ and assumed the docstring will be provided by Snarf-documentation, so it
+ passed us 0 instead. But that leads to accidental sharing in purecopy's
+ hash-consing, so we use a (hopefully) unique integer instead. */
+ docstring = make_number (XUNTAG (function, Lisp_Symbol));
return Ffset (function,
Fpurecopy (list5 (Qautoload, file, docstring,
interactive, type)));
FUNNAME is the symbol which is the function's name.
FUNDEF is the autoload definition (a list). */
-void
-do_autoload (Lisp_Object fundef, Lisp_Object funname)
+DEFUN ("autoload-do-load", Fautoload_do_load, Sautoload_do_load, 1, 3, 0,
+ doc: /* Load FUNDEF which should be an autoload.
+If non-nil, FUNNAME should be the symbol whose function value is FUNDEF,
+in which case the function returns the new autoloaded function value.
+If equal to `macro', MACRO-ONLY specifies that FUNDEF should only be loaded if
+it is defines a macro. */)
+ (Lisp_Object fundef, Lisp_Object funname, Lisp_Object macro_only)
{
- int count = SPECPDL_INDEX ();
- Lisp_Object fun;
+ ptrdiff_t count = SPECPDL_INDEX ();
struct gcpro gcpro1, gcpro2, gcpro3;
+ if (!CONSP (fundef) || !EQ (Qautoload, XCAR (fundef)))
+ return fundef;
+
+ if (EQ (macro_only, Qmacro))
+ {
+ Lisp_Object kind = Fnth (make_number (4), fundef);
+ if (! (EQ (kind, Qt) || EQ (kind, Qmacro)))
+ return fundef;
+ }
+
/* This is to make sure that loadup.el gives a clear picture
of what files are preloaded and when. */
if (! NILP (Vpurify_flag))
error ("Attempt to autoload %s while preparing to dump",
SDATA (SYMBOL_NAME (funname)));
- fun = funname;
CHECK_SYMBOL (funname);
- GCPRO3 (fun, funname, fundef);
+ GCPRO3 (funname, fundef, macro_only);
/* Preserve the match data. */
record_unwind_save_match_data ();
The value saved here is to be restored into Vautoload_queue. */
record_unwind_protect (un_autoload, Vautoload_queue);
Vautoload_queue = Qt;
- Fload (Fcar (Fcdr (fundef)), Qnil, Qt, Qnil, Qt);
+ /* If `macro_only', assume this autoload to be a "best-effort",
+ so don't signal an error if autoloading fails. */
+ Fload (Fcar (Fcdr (fundef)), macro_only, Qt, Qnil, Qt);
/* Once loading finishes, don't undo it. */
Vautoload_queue = Qt;
unbind_to (count, Qnil);
- fun = Findirect_function (fun, Qnil);
-
- if (!NILP (Fequal (fun, fundef)))
- error ("Autoloading failed to define function %s",
- SDATA (SYMBOL_NAME (funname)));
UNGCPRO;
+
+ if (NILP (funname))
+ return Qnil;
+ else
+ {
+ Lisp_Object fun = Findirect_function (funname, Qnil);
+
+ if (!NILP (Fequal (fun, fundef)))
+ error ("Autoloading failed to define function %s",
+ SDATA (SYMBOL_NAME (funname)));
+ else
+ return fun;
+ }
}
\f
If LEXICAL is t, evaluate using lexical scoping. */)
(Lisp_Object form, Lisp_Object lexical)
{
- int count = SPECPDL_INDEX ();
+ ptrdiff_t count = SPECPDL_INDEX ();
specbind (Qinternal_interpreter_environment,
NILP (lexical) ? Qnil : Fcons (Qt, Qnil));
return unbind_to (count, eval_sub (form));
struct backtrace backtrace;
struct gcpro gcpro1, gcpro2, gcpro3;
- if (handling_signal)
- abort ();
-
if (SYMBOLP (form))
{
/* Look up its binding in the lexical environment.
return form;
QUIT;
- if ((consing_since_gc > gc_cons_threshold
- && consing_since_gc > gc_relative_threshold)
- ||
- (!NILP (Vmemory_full) && consing_since_gc > memory_full_cons_threshold))
- {
- GCPRO1 (form);
- Fgarbage_collect ();
- UNGCPRO;
- }
+ maybe_gc ();
if (++lisp_eval_depth > max_lisp_eval_depth)
{
error ("Lisp nesting exceeds `max-lisp-eval-depth'");
}
- original_fun = Fcar (form);
- original_args = Fcdr (form);
+ original_fun = XCAR (form);
+ original_args = XCDR (form);
backtrace.next = backtrace_list;
- backtrace_list = &backtrace;
backtrace.function = &original_fun; /* This also protects them from gc. */
backtrace.args = &original_args;
backtrace.nargs = UNEVALLED;
backtrace.debug_on_exit = 0;
+ backtrace_list = &backtrace;
if (debug_on_next_call)
do_debug_on_call (Qt);
args_left = original_args;
numargs = Flength (args_left);
- CHECK_CONS_LIST ();
+ check_cons_list ();
if (XINT (numargs) < XSUBR (fun)->min_args
|| (XSUBR (fun)->max_args >= 0
is supported by this code. We need to either rewrite the
subr to use a different argument protocol, or add more
cases to this switch. */
- abort ();
+ emacs_abort ();
}
}
}
xsignal1 (Qinvalid_function, original_fun);
if (EQ (funcar, Qautoload))
{
- do_autoload (fun, original_fun);
+ Fautoload_do_load (fun, original_fun, Qnil);
goto retry;
}
if (EQ (funcar, Qmacro))
- val = eval_sub (apply1 (Fcdr (fun), original_args));
+ {
+ ptrdiff_t count = SPECPDL_INDEX ();
+ Lisp_Object exp;
+ /* Bind lexical-binding during expansion of the macro, so the
+ macro can know reliably if the code it outputs will be
+ interpreted using lexical-binding or not. */
+ specbind (Qlexical_binding,
+ NILP (Vinternal_interpreter_environment) ? Qnil : Qt);
+ exp = apply1 (Fcdr (fun), original_args);
+ unbind_to (count, Qnil);
+ val = eval_sub (exp);
+ }
else if (EQ (funcar, Qlambda)
|| EQ (funcar, Qclosure))
val = apply_lambda (fun, original_args);
else
xsignal1 (Qinvalid_function, original_fun);
}
- CHECK_CONS_LIST ();
+ check_cons_list ();
lisp_eval_depth--;
if (backtrace.debug_on_exit)
return val;
}
\f
-DEFUN ("apply", Fapply, Sapply, 2, MANY, 0,
+DEFUN ("apply", Fapply, Sapply, 1, MANY, 0,
doc: /* Call FUNCTION with our remaining args, using our last arg as list of args.
Then return the value FUNCTION returns.
Thus, (apply '+ 1 2 '(3 4)) returns 10.
usage: (apply FUNCTION &rest ARGUMENTS) */)
(ptrdiff_t nargs, Lisp_Object *args)
{
- ptrdiff_t i, numargs;
+ ptrdiff_t i;
+ EMACS_INT numargs;
register Lisp_Object spread_arg;
register Lisp_Object *funcall_args;
Lisp_Object fun, retval;
gcpro1.nvars = 1 + numargs;
}
- memcpy (funcall_args, args, nargs * sizeof (Lisp_Object));
+ memcpy (funcall_args, args, nargs * word_size);
/* Spread the last arg we got. Its first element goes in
the slot that it used to occupy, hence this value of I. */
i = nargs - 1;
DEFUN ("run-hook-with-args", Frun_hook_with_args,
Srun_hook_with_args, 1, MANY, 0,
doc: /* Run HOOK with the specified arguments ARGS.
- HOOK should be a symbol, a hook variable. If HOOK has a non-nil
- value, that value may be a function or a list of functions to be
- called to run the hook. If the value is a function, it is called with
- the given arguments and its return value is returned. If it is a list
- of functions, those functions are called, in order,
- with the given arguments ARGS.
- It is best not to depend on the value returned by `run-hook-with-args',
- as that may change.
+ HOOK should be a symbol, a hook variable. The value of HOOK
+ may be nil, a function, or a list of functions. Call each
+ function in order with arguments ARGS. The final return value
+ is unspecified.
Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.
return run_hook_with_args (nargs, args, funcall_nil);
}
+ /* NB this one still documents a specific non-nil return value.
+ (As did run-hook-with-args and run-hook-with-args-until-failure
+ until they were changed in 24.1.) */
DEFUN ("run-hook-with-args-until-success", Frun_hook_with_args_until_success,
Srun_hook_with_args_until_success, 1, MANY, 0,
doc: /* Run HOOK with the specified arguments ARGS.
- HOOK should be a symbol, a hook variable. If HOOK has a non-nil
- value, that value may be a function or a list of functions to be
- called to run the hook. If the value is a function, it is called with
- the given arguments and its return value is returned.
- If it is a list of functions, those functions are called, in order,
- with the given arguments ARGS, until one of them
- returns a non-nil value. Then we return that value.
- However, if they all return nil, we return nil.
- If the value of HOOK is nil, this function returns nil.
+ HOOK should be a symbol, a hook variable. The value of HOOK
+ may be nil, a function, or a list of functions. Call each
+ function in order with arguments ARGS, stopping at the first
+ one that returns non-nil, and return that value. Otherwise (if
+ all functions return nil, or if there are no functions to call),
+ return nil.
Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.
DEFUN ("run-hook-with-args-until-failure", Frun_hook_with_args_until_failure,
Srun_hook_with_args_until_failure, 1, MANY, 0,
doc: /* Run HOOK with the specified arguments ARGS.
- HOOK should be a symbol, a hook variable. If HOOK has a non-nil
- value, that value may be a function or a list of functions to be
- called to run the hook. If the value is a function, it is called with
- the given arguments. Then we return nil if the function returns nil,
- and t if it returns non-nil.
- If it is a list of functions, those functions are called, in order,
- with the given arguments ARGS, until one of them returns nil.
- Then we return nil. However, if they all return non-nil, we return t.
- If the value of HOOK is nil, this function returns t.
+ HOOK should be a symbol, a hook variable. The value of HOOK
+ may be nil, a function, or a list of functions. Call each
+ function in order with arguments ARGS, stopping at the first
+ one that returns nil, and return nil. Otherwise (if all functions
+ return non-nil, or if there are no functions to call), return non-nil
+ \(do not rely on the precise return value in this case).
Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.
doc: /* Non-nil if OBJECT is a function. */)
(Lisp_Object object)
{
- if (SYMBOLP (object) && !NILP (Ffboundp (object)))
- {
- object = Findirect_function (object, Qt);
-
- if (CONSP (object) && EQ (XCAR (object), Qautoload))
- {
- /* Autoloaded symbols are functions, except if they load
- macros or keymaps. */
- int i;
- for (i = 0; i < 4 && CONSP (object); i++)
- object = XCDR (object);
-
- return (CONSP (object) && !NILP (XCAR (object))) ? Qnil : Qt;
- }
- }
-
- if (SUBRP (object))
- return (XSUBR (object)->max_args != UNEVALLED) ? Qt : Qnil;
- else if (COMPILEDP (object))
+ if (FUNCTIONP (object))
return Qt;
- else if (CONSP (object))
- {
- Lisp_Object car = XCAR (object);
- return (EQ (car, Qlambda) || EQ (car, Qclosure)) ? Qt : Qnil;
- }
- else
- return Qnil;
+ return Qnil;
}
DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,
ptrdiff_t i;
QUIT;
- if ((consing_since_gc > gc_cons_threshold
- && consing_since_gc > gc_relative_threshold)
- ||
- (!NILP (Vmemory_full) && consing_since_gc > memory_full_cons_threshold))
- Fgarbage_collect ();
if (++lisp_eval_depth > max_lisp_eval_depth)
{
}
backtrace.next = backtrace_list;
- backtrace_list = &backtrace;
backtrace.function = &args[0];
- backtrace.args = &args[1];
+ backtrace.args = &args[1]; /* This also GCPROs them. */
backtrace.nargs = nargs - 1;
backtrace.debug_on_exit = 0;
+ backtrace_list = &backtrace;
+
+ /* Call GC after setting up the backtrace, so the latter GCPROs the args. */
+ maybe_gc ();
if (debug_on_next_call)
do_debug_on_call (Qlambda);
- CHECK_CONS_LIST ();
+ check_cons_list ();
original_fun = args[0];
{
if (XSUBR (fun)->max_args > numargs)
{
- internal_args = (Lisp_Object *) alloca (XSUBR (fun)->max_args * sizeof (Lisp_Object));
- memcpy (internal_args, args + 1, numargs * sizeof (Lisp_Object));
+ internal_args = alloca (XSUBR (fun)->max_args
+ * sizeof *internal_args);
+ memcpy (internal_args, args + 1, numargs * word_size);
for (i = numargs; i < XSUBR (fun)->max_args; i++)
internal_args[i] = Qnil;
}
/* If a subr takes more than 8 arguments without using MANY
or UNEVALLED, we need to extend this function to support it.
Until this is done, there is no way to call the function. */
- abort ();
+ emacs_abort ();
}
}
}
val = funcall_lambda (fun, numargs, args + 1);
else if (EQ (funcar, Qautoload))
{
- do_autoload (fun, original_fun);
- CHECK_CONS_LIST ();
+ Fautoload_do_load (fun, original_fun, Qnil);
+ check_cons_list ();
goto retry;
}
else
xsignal1 (Qinvalid_function, original_fun);
}
- CHECK_CONS_LIST ();
+ check_cons_list ();
lisp_eval_depth--;
if (backtrace.debug_on_exit)
val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
apply_lambda (Lisp_Object fun, Lisp_Object args)
{
Lisp_Object args_left;
- ptrdiff_t i, numargs;
+ ptrdiff_t i;
+ EMACS_INT numargs;
register Lisp_Object *arg_vector;
struct gcpro gcpro1, gcpro2, gcpro3;
register Lisp_Object tem;
register Lisp_Object *arg_vector)
{
Lisp_Object val, syms_left, next, lexenv;
- int count = SPECPDL_INDEX ();
+ ptrdiff_t count = SPECPDL_INDEX ();
ptrdiff_t i;
- int optional, rest;
+ bool optional, rest;
if (CONSP (fun))
{
lexenv = Qnil;
}
else
- abort ();
+ emacs_abort ();
i = optional = rest = 0;
for (; CONSP (syms_left); syms_left = XCDR (syms_left))
static void
grow_specpdl (void)
{
- register int count = SPECPDL_INDEX ();
- int max_size =
- min (max_specpdl_size,
- min (max (PTRDIFF_MAX, SIZE_MAX) / sizeof (struct specbinding),
- INT_MAX));
- int size;
+ register ptrdiff_t count = SPECPDL_INDEX ();
+ ptrdiff_t max_size = min (max_specpdl_size, PTRDIFF_MAX);
if (max_size <= specpdl_size)
{
if (max_specpdl_size < 400)
if (max_size <= specpdl_size)
signal_error ("Variable binding depth exceeds max-specpdl-size", Qnil);
}
- size = specpdl_size < max_size / 2 ? 2 * specpdl_size : max_size;
- specpdl = xnrealloc (specpdl, size, sizeof *specpdl);
- specpdl_size = size;
+ specpdl = xpalloc (specpdl, &specpdl_size, 1, max_size, sizeof *specpdl);
specpdl_ptr = specpdl + count;
}
{
struct Lisp_Symbol *sym;
- eassert (!handling_signal);
-
CHECK_SYMBOL (symbol);
sym = XSYMBOL (symbol);
if (specpdl_ptr == specpdl + specpdl_size)
case SYMBOL_PLAINVAL:
/* The most common case is that of a non-constant symbol with a
trivial value. Make that as fast as we can. */
- specpdl_ptr->symbol = symbol;
- specpdl_ptr->old_value = SYMBOL_VAL (sym);
+ set_specpdl_symbol (symbol);
+ set_specpdl_old_value (SYMBOL_VAL (sym));
specpdl_ptr->func = NULL;
++specpdl_ptr;
if (!sym->constant)
{
Lisp_Object ovalue = find_symbol_value (symbol);
specpdl_ptr->func = 0;
- specpdl_ptr->old_value = ovalue;
+ set_specpdl_old_value (ovalue);
eassert (sym->redirect != SYMBOL_LOCALIZED
|| (EQ (SYMBOL_BLV (sym)->where,
if (!NILP (Flocal_variable_p (symbol, Qnil)))
{
eassert (sym->redirect != SYMBOL_LOCALIZED
- || (BLV_FOUND (SYMBOL_BLV (sym))
+ || (blv_found (SYMBOL_BLV (sym))
&& EQ (cur_buf, SYMBOL_BLV (sym)->where)));
where = cur_buf;
}
else if (sym->redirect == SYMBOL_LOCALIZED
- && BLV_FOUND (SYMBOL_BLV (sym)))
+ && blv_found (SYMBOL_BLV (sym)))
where = SYMBOL_BLV (sym)->where;
else
where = Qnil;
let_shadows_buffer_binding_p which is itself only used
in set_internal for local_if_set. */
eassert (NILP (where) || EQ (where, cur_buf));
- specpdl_ptr->symbol = Fcons (symbol, Fcons (where, cur_buf));
+ set_specpdl_symbol (Fcons (symbol, Fcons (where, cur_buf)));
/* If SYMBOL is a per-buffer variable which doesn't have a
buffer-local value here, make the `let' change the global
}
}
else
- specpdl_ptr->symbol = symbol;
+ set_specpdl_symbol (symbol);
specpdl_ptr++;
set_internal (symbol, value, Qnil, 1);
break;
}
- default: abort ();
+ default: emacs_abort ();
}
}
void
record_unwind_protect (Lisp_Object (*function) (Lisp_Object), Lisp_Object arg)
{
- eassert (!handling_signal);
-
if (specpdl_ptr == specpdl + specpdl_size)
grow_specpdl ();
specpdl_ptr->func = function;
- specpdl_ptr->symbol = Qnil;
- specpdl_ptr->old_value = arg;
+ set_specpdl_symbol (Qnil);
+ set_specpdl_old_value (arg);
specpdl_ptr++;
}
Lisp_Object
-unbind_to (int count, Lisp_Object value)
+unbind_to (ptrdiff_t count, Lisp_Object value)
{
Lisp_Object quitf = Vquit_flag;
struct gcpro gcpro1, gcpro2;
(Lisp_Object level, Lisp_Object flag)
{
register struct backtrace *backlist = backtrace_list;
- register int i;
+ register EMACS_INT i;
CHECK_NUMBER (level);
write_string ("(", -1);
if (backlist->nargs == MANY)
{ /* FIXME: Can this happen? */
- int i;
- for (tail = *backlist->args, i = 0;
- !NILP (tail);
- tail = Fcdr (tail), i = 1)
+ bool later_arg = 0;
+ for (tail = *backlist->args; !NILP (tail); tail = Fcdr (tail))
{
- if (i) write_string (" ", -1);
+ if (later_arg)
+ write_string (" ", -1);
Fprin1 (Fcar (tail), Qnil);
+ later_arg = 1;
}
}
else
syms_of_eval (void)
{
DEFVAR_INT ("max-specpdl-size", max_specpdl_size,
- doc: /* *Limit on number of Lisp variable bindings and `unwind-protect's.
+ doc: /* Limit on number of Lisp variable bindings and `unwind-protect's.
If Lisp code tries to increase the total number past this amount,
an error is signaled.
You can safely use a value considerably larger than the default value,
Emacs could run out of memory trying to make the stack bigger. */);
DEFVAR_INT ("max-lisp-eval-depth", max_lisp_eval_depth,
- doc: /* *Limit on depth in `eval', `apply' and `funcall' before error.
+ doc: /* Limit on depth in `eval', `apply' and `funcall' before error.
This limit serves to catch infinite recursions for you before they cause
actual stack overflow in C, which would be fatal for Emacs.
DEFSYM (Qinhibit_quit, "inhibit-quit");
DEFSYM (Qautoload, "autoload");
- DEFSYM (Qdebug_on_error, "debug-on-error");
+ DEFSYM (Qinhibit_debugger, "inhibit-debugger");
DEFSYM (Qmacro, "macro");
DEFSYM (Qdeclare, "declare");
DEFSYM (Qinteractive, "interactive");
DEFSYM (Qcommandp, "commandp");
- DEFSYM (Qdefun, "defun");
DEFSYM (Qand_rest, "&rest");
DEFSYM (Qand_optional, "&optional");
DEFSYM (Qclosure, "closure");
DEFSYM (Qdebug, "debug");
+ DEFVAR_LISP ("inhibit-debugger", Vinhibit_debugger,
+ doc: /* Non-nil means never enter the debugger.
+Normally set while the debugger is already active, to avoid recursive
+invocations. */);
+ Vinhibit_debugger = Qnil;
+
DEFVAR_LISP ("debug-on-error", Vdebug_on_error,
- doc: /* *Non-nil means enter debugger if an error is signaled.
+ doc: /* Non-nil means enter debugger if an error is signaled.
Does not apply to errors handled by `condition-case' or those
matched by `debug-ignored-errors'.
If the value is a list, an error only means to enter the debugger
When you evaluate an expression interactively, this variable
is temporarily non-nil if `eval-expression-debug-on-error' is non-nil.
The command `toggle-debug-on-error' toggles this.
-See also the variable `debug-on-quit'. */);
+See also the variable `debug-on-quit' and `inhibit-debugger'. */);
Vdebug_on_error = Qnil;
DEFVAR_LISP ("debug-ignored-errors", Vdebug_ignored_errors,
- doc: /* *List of errors for which the debugger should not be called.
+ doc: /* List of errors for which the debugger should not be called.
Each element may be a condition-name or a regexp that matches error messages.
If any element applies to a given error, that error skips the debugger
and just returns to top level.
Vdebug_ignored_errors = Qnil;
DEFVAR_BOOL ("debug-on-quit", debug_on_quit,
- doc: /* *Non-nil means enter debugger if quit is signaled (C-g, for example).
+ doc: /* Non-nil means enter debugger if quit is signaled (C-g, for example).
Does not apply if quit is handled by a `condition-case'. */);
debug_on_quit = 0;
Vsignal_hook_function = Qnil;
DEFVAR_LISP ("debug-on-signal", Vdebug_on_signal,
- doc: /* *Non-nil means call the debugger regardless of condition handlers.
+ doc: /* Non-nil means call the debugger regardless of condition handlers.
Note that `debug-on-error', `debug-on-quit' and friends
still determine whether to handle the particular condition. */);
Vdebug_on_signal = Qnil;
- DEFVAR_LISP ("macro-declaration-function", Vmacro_declaration_function,
- doc: /* Function to process declarations in a macro definition.
-The function will be called with two args MACRO and DECL.
-MACRO is the name of the macro being defined.
-DECL is a list `(declare ...)' containing the declarations.
-The value the function returns is not used. */);
- Vmacro_declaration_function = Qnil;
-
/* When lexical binding is being used,
- vinternal_interpreter_environment is non-nil, and contains an alist
+ Vinternal_interpreter_environment is non-nil, and contains an alist
of lexically-bound variable, or (t), indicating an empty
environment. The lisp name of this variable would be
`internal-interpreter-environment' if it weren't hidden.
Every element of this list can be either a cons (VAR . VAL)
specifying a lexical binding, or a single symbol VAR indicating
that this variable should use dynamic scoping. */
- DEFSYM (Qinternal_interpreter_environment, "internal-interpreter-environment");
+ DEFSYM (Qinternal_interpreter_environment,
+ "internal-interpreter-environment");
DEFVAR_LISP ("internal-interpreter-environment",
Vinternal_interpreter_environment,
doc: /* If non-nil, the current lexical environment of the lisp interpreter.
defsubr (&Ssetq);
defsubr (&Squote);
defsubr (&Sfunction);
- defsubr (&Sdefun);
- defsubr (&Sdefmacro);
defsubr (&Sdefvar);
defsubr (&Sdefvaralias);
defsubr (&Sdefconst);
- defsubr (&Suser_variable_p);
+ defsubr (&Smake_var_non_special);
defsubr (&Slet);
defsubr (&SletX);
defsubr (&Swhile);
defsubr (&Scalled_interactively_p);
defsubr (&Scommandp);
defsubr (&Sautoload);
+ defsubr (&Sautoload_do_load);
defsubr (&Seval);
defsubr (&Sapply);
defsubr (&Sfuncall);