]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-24; up to 2012-05-07T21:26:08Z!rgm@gnu.org
authorGlenn Morris <rgm@gnu.org>
Fri, 28 Sep 2012 16:02:31 +0000 (09:02 -0700)
committerGlenn Morris <rgm@gnu.org>
Fri, 28 Sep 2012 16:02:31 +0000 (09:02 -0700)
1  2 
doc/lispref/ChangeLog
doc/lispref/files.texi
lisp/ChangeLog
lisp/ido.el
lisp/pcomplete.el
src/ChangeLog
src/eval.c

diff --combined doc/lispref/ChangeLog
index 82fb5eb4975a466f6d1fa2382d95cf69e63ec426,3423432db544bbcbb944d34e16c94f70bc27cf47..76f06edaacb8fee06ac6662411137ad9fc6db803
 -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.
  
diff --combined doc/lispref/files.texi
index 56971bf0ff0c8be265c583fae5163ff57c7654cd,96708d984e06ee52ae54aecfdc3e767cbe4d784b..9424a6612363e2f86db719a792ad7904598a29e4
@@@ -3,7 -3,9 +3,7 @@@
  @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
@@@ -29,7 -31,7 +29,7 @@@ arguments, except where noted.  @xref{M
    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
@@@ -249,6 -251,7 +249,6 @@@ is permanent local, so it is unaffecte
  @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
@@@ -504,6 -507,7 +504,6 @@@ major modes set it to @code{t} in parti
  Name}).
  
  @node Reading from Files
 -@comment  node-name,  next,  previous,  up
  @section Reading from Files
  @cindex reading from files
  
@@@ -566,6 -570,7 +566,6 @@@ program can read the file, use the func
  @ref{Magic File Names}.
  
  @node Writing to Files
 -@comment  node-name,  next,  previous,  up
  @section Writing to Files
  @cindex writing to files
  
@@@ -722,12 -727,7 +722,12 @@@ system does not support locking
  
    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
@@@ -785,6 -785,7 +785,6 @@@ otherwise noted
  @end menu
  
  @node Testing Accessibility
 -@comment  node-name,  next,  previous,  up
  @subsection Testing Accessibility
  @cindex accessibility of a file
  @cindex file accessibility
@@@ -942,6 -943,7 +942,6 @@@ time as a list of two numbers.  @xref{F
  @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
@@@ -1094,6 -1096,7 +1094,6 @@@ we would have
    @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
@@@ -1846,17 -1849,6 +1846,17 @@@ Note that the @samp{.~3~} in the two la
  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
@@@ -1922,6 -1914,7 +1922,6 @@@ form
  @end defun
  
  @node Directory Names
 -@comment  node-name,  next,  previous,  up
  @subsection Directory Names
  @cindex directory name
  @cindex file name of directory
diff --combined lisp/ChangeLog
index b25a921219eb172a5f0d8a03ce260e8b19a57633,6c19de9e43db44169ef6ce153de23b5d260f0050..4946fe5dd86630bc354c0932d80de26b71e571b1
 -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-disabledallout-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:
diff --combined lisp/ido.el
index d48e7ba858ba6209192b45fbb5b358ec637bac66,53533142e30ebee3435bc704210340c4ccdcee97..f511dbbf8aceb75b8d51a7288ea43c864c292d76
  ;; 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
@@@ -803,39 -803,44 +803,39 @@@ subdirs in the alternatives.
    :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)
  
@@@ -879,7 -884,7 +879,7 @@@ The following variables are available, 
    :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
@@@ -900,14 -905,9 +900,14 @@@ Otherwise, only the current list of mat
    :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.
@@@ -3701,14 -3701,14 +3701,14 @@@ This is to make them appear as if they 
         (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 "/\\'")))
@@@ -4065,7 -4065,8 +4065,7 @@@ their normal keybindings, except for th
  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.
@@@ -4151,7 -4152,8 +4151,7 @@@ except for the following: \\<ido-file-c
  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.
diff --combined lisp/pcomplete.el
index fc05af8c7f5cb0188a26400569da205f772cad2a,60247416bb1c893c9620a17d34c5cddcad3b1870..9e55976a8bd7f148a311ec5655213d26b7360a42
@@@ -28,7 -28,7 +28,7 @@@
  ;; 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
@@@ -164,8 -165,22 +164,8 @@@ A non-nil value is useful if `pcomplete
    :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.
@@@ -355,28 -370,48 +355,28 @@@ modified to be an empty string, or the 
  ;; 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))
@@@ -724,7 -759,6 +724,7 @@@ this is `comint-dynamic-complete-functi
  
  (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
  
@@@ -876,9 -926,9 +876,9 @@@ component, `default-directory' is used 
                  ;; 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."
@@@ -1089,7 -1139,7 +1089,7 @@@ Typing SPC flushes the help buffer.
      (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
@@@ -1129,14 -1179,14 +1129,14 @@@ Returns non-nil if a space was appende
      (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.
diff --combined src/ChangeLog
index 92ab8080c9da0da1e46057f4ea7965826dc6d82e,96546df6638fce6aa3b24641b456864cee47258e..c30c4ed955b66e15524f60ae4a2d30cee506d949
 -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'.
  
@@@ -17979,7 -9965,7 +17984,7 @@@ See ChangeLog.11 for earlier changes
  ;; 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.
  
diff --combined src/eval.c
index d984331ec4142dd2d600c28fa3c7c29ad8a646bb,f6056e33c28ce20c010c997ce1c7181271a86923..851b2bb1129f1d4ebbd91357fe0c044e753ae689
@@@ -19,6 -19,7 +19,6 @@@ along with GNU Emacs.  If not, see <htt
  
  #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
@@@ -54,11 -65,11 +54,11 @@@ struct handler *handlerlist
  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;
  
@@@ -79,7 -90,7 +79,7 @@@ Lisp_Object Vautoload_queue
  
  /* Current number of specbindings allocated in specpdl.  */
  
 -EMACS_INT specpdl_size;
 +ptrdiff_t specpdl_size;
  
  /* Pointer to beginning of specpdl.  */
  
@@@ -100,13 -111,19 +100,13 @@@ static EMACS_INT lisp_eval_depth
     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").  */
@@@ -174,11 -179,11 +174,11 @@@ restore_stack_limits (Lisp_Object data
  
  /* 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.  */
@@@ -374,14 -379,23 +374,14 @@@ usage: (prog1 FIRST BODY...)  */
    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;
@@@ -394,12 -408,31 +394,12 @@@ remaining args, whose values are discar
  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,
@@@ -508,7 -541,7 +508,7 @@@ spec that specifies non-nil uncondition
  use `called-interactively-p'.  */)
    (void)
  {
 -  return interactive_p (1) ? Qt : Qnil;
 +  return interactive_p () ? Qt : Qnil;
  }
  
  
@@@ -533,17 -566,19 +533,17 @@@ non-nil unconditionally (\"p\" is a goo
  \(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.
@@@ -625,8 -763,8 +625,8 @@@ The return value is BASE-VARIABLE.  */
    {
      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");
@@@ -669,6 -807,8 +669,6 @@@ The optional argument DOCSTRING is a do
  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",
@@@ -770,17 -922,71 +770,17 @@@ usage: (defconst SYMBOL INITVALUE [DOCS
    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.
@@@ -792,7 -998,7 +792,7 @@@ usage: (let* VARLIST 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);
@@@ -855,7 -1061,7 +855,7 @@@ usage: (let VARLIST BODY...)  */
  {
    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;
@@@ -982,14 -1188,26 +982,14 @@@ definitions to shadow the loaded ones f
        {
          /* 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;
  }
@@@ -1055,7 -1267,7 +1055,7 @@@ internal_catch (Lisp_Object tag, Lisp_O
    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,
@@@ -1141,7 -1364,7 +1141,7 @@@ usage: (unwind-protect BODYFORM UNWINDF
    (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));
@@@ -1176,9 -1399,12 +1176,9 @@@ See also the function `signal' for mor
  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);
  }
@@@ -1218,7 -1444,7 +1218,7 @@@ internal_lisp_condition_case (volatile 
    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);
@@@ -1273,7 -1499,7 +1273,7 @@@ internal_condition_case (Lisp_Object (*
    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);
      }
@@@ -1311,7 -1537,7 +1311,7 @@@ internal_condition_case_1 (Lisp_Object 
    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);
      }
@@@ -1353,7 -1579,7 +1353,7 @@@ internal_condition_case_2 (Lisp_Object 
    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);
      }
@@@ -1379,9 -1605,7 +1379,9 @@@ internal_condition_case_n (Lisp_Object 
                           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)
@@@ -1459,10 -1683,10 +1459,10 @@@ See also the function `condition-case'
    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.  */
@@@ -1559,7 -1783,7 +1559,7 @@@ voi
  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.  */
@@@ -1617,10 -1841,10 +1617,10 @@@ signal_error (const char *s, Lisp_Objec
  }
  
  
 -/* 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
@@@ -1885,12 -2108,13 +1885,12 @@@ this does nothing and returns nil.  */
      /* 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)));
@@@ -1923,35 -2147,22 +1923,35 @@@ un_autoload (Lisp_Object oldqueue
     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
@@@ -1996,7 -2197,7 +1996,7 @@@ DEFUN ("eval", Feval, Seval, 1, 2, 0
  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));
@@@ -2012,6 -2213,9 +2012,6 @@@ eval_sub (Lisp_Object 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;
@@@ -2351,14 -2551,10 +2351,10 @@@ usage: (run-hooks &rest HOOKS)  */
  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.
@@@ -2368,18 -2564,18 +2364,18 @@@ usage: (run-hook-with-args HOOK &rest A
    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.
@@@ -2398,15 -2594,12 +2394,12 @@@ funcall_not (ptrdiff_t nargs, Lisp_Obje
  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.
@@@ -2688,9 -2881,33 +2681,9 @@@ DEFUN ("functionp", Ffunctionp, Sfuncti
         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,
@@@ -2710,6 -2927,11 +2703,6 @@@ usage: (funcall FUNCTION &rest ARGUMENT
    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)));
@@@ -2859,8 -3077,7 +2852,8 @@@ static Lisp_Objec
  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;
@@@ -2905,9 -3122,9 +2898,9 @@@ funcall_lambda (Lisp_Object fun, ptrdif
                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))
@@@ -3044,8 -3261,12 +3037,8 @@@ DEFUN ("fetch-bytecode", Ffetch_bytecod
  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;
  }
  
@@@ -3077,6 -3300,8 +3070,6 @@@ specbind (Lisp_Object symbol, Lisp_Obje
  {
    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;
@@@ -3259,7 -3486,7 +3252,7 @@@ The debugger is entered when that fram
    (Lisp_Object level, Lisp_Object flag)
  {
    register struct backtrace *backlist = backtrace_list;
 -  register int i;
 +  register EMACS_INT i;
  
    CHECK_NUMBER (level);
  
@@@ -3306,13 -3533,13 +3299,13 @@@ Output stream used is value of `standar
          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
@@@ -3398,7 -3625,7 +3391,7 @@@ voi
  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,
@@@ -3406,7 -3633,7 +3399,7 @@@ if that proves inconveniently small.  H
  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.
@@@ -3433,7 -3660,7 +3426,7 @@@ before making `inhibit-quit' nil.  */)
  
    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
@@@ -3463,11 -3685,11 +3456,11 @@@ if one of its condition symbols appear
  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.
@@@ -3476,7 -3698,7 +3469,7 @@@ It does not apply to errors handled by 
    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;
  
@@@ -3505,21 -3727,28 +3498,21 @@@ The Edebug package uses this to regain 
    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.
@@@ -3550,10 -3779,12 +3543,10 @@@ alist of active lexical bindings.  */)
    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);