]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge with trunk
authorMartin Rudalics <rudalics@gmx.at>
Mon, 25 Oct 2010 15:26:24 +0000 (17:26 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Mon, 25 Oct 2010 15:26:24 +0000 (17:26 +0200)
24 files changed:
1  2  3 
doc/lispref/ChangeLog
doc/lispref/elisp.texi
doc/lispref/frames.texi
lisp/ChangeLog
lisp/bindings.el
lisp/cus-start.el
lisp/dired.el
lisp/files.el
lisp/help-mode.el
lisp/help.el
lisp/loadup.el
lisp/progmodes/python.el
lisp/simple.el
lisp/window.el
src/ChangeLog
src/buffer.c
src/dispnew.c
src/frame.c
src/indent.c
src/minibuf.c
src/w32fns.c
src/window.c
src/xdisp.c
src/xfns.c

index 4b0305e393b2a2079d7803ac7228623ab7b87208,102866b0a82453861176f2e3a172c1ad35a0bbb9,53e1a77bab806de6f66f9910977a69595781cc4f..f35986255b3a617d5e2a8148dac138fdb5ec63c4
++ 2010-10-24  Eli Zaretskii  <eliz@gnu.org>
++ 
++      * display.texi (Window Systems): Deprecate use of window-system as
++      a predicate.
++ 
++ 2010-10-23  Glenn Morris  <rgm@gnu.org>
++ 
++      * help.texi (Documentation Basics): Remove mentions of digest-doc and
++      sorted-doc.
++ 
++ 2010-10-15  Eli Zaretskii  <eliz@gnu.org>
++ 
++      * os.texi (Dynamic Libraries): New node, with slightly modified
++      text deleted from "Image Formats".
++      (System Interface): Add @menu entry for "Dynamic Libraries".
++ 
++      * display.texi (Image Formats): Remove description of
++      image-library-alist.  (Renamed in 2010-10-13T14:50:06Z!lekktu@gmail.com.)
++ 
++ 2010-10-12  Glenn Morris  <rgm@gnu.org>
++ 
++      * book-spine.texinfo: Rename to book-spine.texi.
++ 
++ 2010-10-11  Glenn Morris  <rgm@gnu.org>
++ 
++      * Makefile.in (MAKEINFO): Add explicit -I$srcdir.
++ 
++      * Makefile.in (DVIPS): New variable.
++      (.PHONY): Add html, ps.
++      (html, elisp.html, ps, elisp.ps): New targets.
++      (clean): Delete html, ps files.
++      ($(infodir)/elisp): Remove unnecessary includes.
++ 
++ 2010-10-09  Eli Zaretskii  <eliz@gnu.org>
++ 
++      * makefile.w32-in (emacsdir): New variable.
++      (srcs): Add emacsver.texi.
++      ($(infodir)/elisp, elisp.dvi): Add -I$(emacsdir).
++ 
++ 2010-10-09  Glenn Morris  <rgm@gnu.org>
++ 
++      * Makefile.in (VPATH): Remove.
++      (infodir): Make it absolute.
++      (mkinfodir, $(infodir)/elisp, infoclean): No need to cd $srcdir.
++ 
++      * Makefile.in (dist): Anchor regexps.
++ 
++      * Makefile.in (srcs): Put elisp.texi first.
++      ($(infodir)/elisp, elisp.dvi, elisp.pdf): Use $<.
++ 
++      * Makefile.in (infoclean): Remove harmless, long-standing error.
++ 
++      * Makefile.in ($(infodir)): Delete rule.
++      (mkinfodir): New.
++      ($(infodir)/elisp): Use $mkinfodir instead of infodir.
++ 
++      * Makefile.in (dist): Remove reference to emacsver.texi.in.
++      Also copy emacsver.texi, and edit $emacsdir.
++ 
++ 2010-10-09  Glenn Morris  <rgm@gnu.org>
++ 
++      * Makefile.in (emacsdir): New variable.
++      (MAKEINFO): Add -I $emacsdir.
++      (dist): Copy emacsver.texi.
++      (srcs): Add emacsver.texi.
++ 
++      * book-spine.texinfo, elisp.texi, vol2.texi, vol1.texi:
++      Set EMACSVER by including emacsver.texi.
++ 
++      * Makefile.in (.PHONY): Declare info, dvi, pdf, dist.
++ 
+  2010-10-07  Glenn Morris  <rgm@gnu.org>
+  
+       * Makefile.in (version): New, set by configure.
+       (clean): Delete dist tar file.
+       (dist): Use version in tar name.
+  
+  2010-10-06  Glenn Morris  <rgm@gnu.org>
+  
+       * Makefile.in: Rearrange to more closely resemble doc/emacs/Makefile.
+       (INSTALL_INFO): Remove unused variable.
+       (mostlyclean, infoclean, dist): New rules.
+       (clean): Delete dvi and pdf files.
+       (maintainer-clean): Remove elisp.oaux, use infoclean.
+       ($(infodir)): Add parallel build workaround.
+  
+  2010-10-04  Glenn Morris  <rgm@gnu.org>
+  
+       * Makefile.in (dvi, pdf, $(infodir)): New targets.
+       ($(infodir)/elisp): Ensure target directory exists.  Use $@.
+       Fix -I typo.
+       (clean): No 'make.out' or 'core' files.
+       (.PHONY): Declare clean rules.
+       (maintainer-clean): Delete pdf file.  Guard against cd failures.
+  
+  2010-10-03  Glenn Morris  <rgm@gnu.org>
+  
+       * files.texi (File Name Components): Remove ignored section about
+       deleted variable directory-sep-char.
+  
+  2010-10-03  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * files.texi (Magic File Names): New defopt
+       remote-file-name-inhibit-cache.
+  
+  2010-10-02  Glenn Morris  <rgm@gnu.org>
+  
+       * os.texi (Killing Emacs): Hook now runs in batch mode.
+  
+  2010-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * text.texi (Special Properties): Clarify when modification-hooks run.
+  
+  2010-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * syntax.texi (Syntax Flags): Document new `c' flag.
+  
+  2010-09-09  Glenn Morris  <rgm@gnu.org>
+  
+       * display.texi (ImageMagick Images): General cleanup.
+  
+  2010-09-06  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
+  
+       * files.texi (Directory Names): Use \` rather than ^.
+  
+  2010-09-02  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * text.texi (Low-Level Kill Ring):
+       * frames.texi (Window System Selections): Remove cut buffer
+       documentation.
+  
+  2010-08-28  Eli Zaretskii  <eliz@gnu.org>
+  
+       * display.texi (Fringe Size/Pos): Add a cross-reference to "Layout
+       Parameters", where the default fringe width is described.
+  
+       * frames.texi (Window Frame Parameters, Basic Parameters)
+       (Position Parameters, Layout Parameters, Management Parameters)
+       (Cursor Parameters, Font and Color Parameters): Add indexing for
+       frame parameters.  (Bug#6929)
+  
+  2010-08-25  Tom Tromey  <tromey@redhat.com>
+  
+       * vol2.texi (Top): Update.
+       * vol1.texi (Top): Update.
+       * tips.texi (Library Headers): Mention Package-Version and
+       Package-Requires.
+       * package.texi: New file.
+       * os.texi (System Interface): Update pointers.
+       * elisp.texi (Top): Link to new nodes.  Include package.texi.
+       * anti.texi (Antinews): Update pointers.
+  
+  2010-08-25  Eli Zaretskii  <eliz@gnu.org>
+  
+       * processes.texi (Filter Functions): Fix last change.
+  
+  2010-08-24  Markus Triska  <triska@gmx.at>
+  
+       * processes.texi (Filter Functions): Use `buffer-live-p' instead
+       of `buffer-name' in the main text as well as in the example
+       (Bug#3098).
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * nonascii.texi (Text Representations):
+       * loading.texi (Loading Non-ASCII):
+       * compile.texi (Byte Compilation): Don't mention obsolete
+       --unibyte command-line argument.
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * modes.texi (Defining Minor Modes): Doc fix (Bug#6880).
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * objects.texi (Bool-Vector Type): Minor definition tweak (Bug#6878).
+  
+  2010-08-20  Eli Zaretskii  <eliz@gnu.org>
+  
+       * commands.texi (Misc Events): Add cross-references to where
+       POSITION of a mouse event is described in detail.
+  
+  2010-08-08  Christoph  <cschol2112@googlemail.com>
+  
+       * control.texi (Handling Errors) <error-message-string>: Fix arg name.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * modes.texi (Defining Minor Modes): Use C-backspace, not C-delete.
+       Suggested by Štěpán Němec <stepnem@gmail.com>.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * minibuf.texi (High-Level Completion): Document args of
+       `read-buffer-function' (bug#5625).
+  
 ++2010-07-31  Martin Rudalics  <rudalics@gmx.at>
 ++
 ++     * windows.texi (Buffers and Windows): Describe lists of previous
 ++     and next buffers for windows.  Describe new commands
 ++     switch-to-prev-buffer and switch-to-next-buffer and their impact
 ++     on replace-buffer-in-windows.
 ++
   2010-07-29  Jan Djärv  <jan.h.d@swipnet.se>
   
        * frames.texi (Layout Parameters): Add doc for tool-bar-position.
Simple merge
index 931521a5ecdb112c86b47a70dea65d6cb49f8fa7,d27010d209680ef3c1379f798ad74a34f29629c9,4c44d0a6439a2e41d88d1dfc4b1707ceaf9168af..d7467782cf797707b0e45689bbd6cb4c28d97768
@@@@ -775,14 -823,14 -823,14 +821,16 @@@@ it and see if it works.
   
   @node Cursor Parameters
   @subsubsection Cursor Parameters
+  @cindex cursor, and frame parameters
   
 --  This frame parameter controls the way the cursor looks.
 ++This frame parameter controls the way the cursor looks like in the
 ++selected window, see @ref{Selecting Windows}.
   
   @table @code
+  @vindex cursor-type, a frame parameter
   @item cursor-type
 --How to display the cursor.  Legitimate values are:
 ++How to display the cursor in the selected window.  Legitimate values
 ++are:
   
   @table @code
   @item box
diff --cc lisp/ChangeLog
index d6f449203adc76c4aa244c3b66da37fc855be328,c8cc564831f89819f52b52a8f766bbde4868a9d7,e62729555c2006b62d6e3e41d0a05ffb77b8c147..f3e696b7b209369795c44eb6ba40780565c206fa
 -      * net/tramp-sh.el (tramp-sh-file-name-handler-alist): Use
 -      `tramp-handle-find-backup-file-name'.
++ 2010-10-25  Glenn Morris  <rgm@gnu.org>
++ 
++      * term/common-win.el (x-handle-switch): Simplify with pop.
++      Optionally handle numeric switches.
++      (x-handle-numeric-switch): Just call x-handle-switch.
++      (x-handle-initial-switch, x-handle-xrm-switch, x-handle-geometry)
++      (x-handle-name-switch, x-handle-display, x-handle-args):
++      Simplify with pop.
++ 
++      * term/ns-win.el: Do not require easymenu.
++      (menu-bar-edit-menu) <copy, paste, paste-from-menu, separator-undo>:
++      <spell>: Move adjustments to menu-bar.el.
++      * menu-bar.el (menu-bar-edit-menu) <copy, paste, paste-from-menu>:
++      <separator-undo, spell>: Move ns-win's adjustments here.
++      * loadup.el [ns]: Do not load easymenu.
++ 
++ 2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * image.el (image-checkbox-checked, image-checkbox-unchecked):
++      Delete (Bug#7222).
++ 
++      * startup.el (fancy-startup-tail): Instead of using inline images,
++      refer to image files from etc/.
++ 
++      * wid-edit.el (checkbox): Likewise.
++      (widget-image-find): Center image specs.
++ 
++ 2010-10-24  Glenn Morris  <rgm@gnu.org>
++ 
++      * term/ns-win.el (x-select-text): Doc fix.
++      * w32-fns.el (x-alternatives-map, x-setup-function-keys)
++      (x-select-text): Move to term/common-win.
++      * term/w32-win.el (xw-defined-colors): Move to common-win.
++      * term/x-win.el (xw-defined-colors, x-alternatives-map)
++      (x-setup-function-keys, x-select-text): Move to common-win.
++      * term/common-win.el (x-select-text, x-alternatives-map)
++      (x-setup-function-keys, xw-defined-colors): Merge x- and w32-
++      definitions here.
++ 
++ 2010-10-24  T.V. Raman  <tv.raman.tv@gmail.com>  (tiny change)
++ 
++      * net/mairix.el (mairix-searches-mode-map):
++      * mail/mspools.el (mspools-mode-map): Fix 2010-10-10 change.
++ 
++ 2010-10-24  Michael McNamara  <mac@mail.brushroad.com>
++ 
++      * verilog-mode.el (verilog-directive-re): Make this variable
++      auto-built for efficiency of execution and updating.
++      (verilog-extended-complete-re): Support 'pure' fucntion & task
++      declarations (these have no bodies).
++      (verilog-beg-of-statement): general cleanup to enable support of
++      'pure' fucntion & task declarations (these have no bodies).  These
++      efforts together fix Verilog bug210 from veripool; which was also
++      noticed by Steve Pearlmutter.
++      (verilog-directive-re, verilog-directive-begin, verilog-indent-re)
++      (verilog-directive-nest-re, verilog-set-auto-endcomments): Support
++      `elsif.  Reported by Shankar Giri.
++      (verilog-forward-ws&directives, verilog-in-attribute-p): Fixes for
++      attribute handling for lining up declarations and assignments.
++      (verilog-beg-of-statement-1): Fix issue where continued declaration
++      is indented differently if it is after a begin..end clock.
++      (verilog-in-attribute-p, verilog-skip-backward-comments)
++      (verilog-skip-forward-comment-p): Support proper treatment of
++      attributes by indent code. Reported by Jeff Steele.
++      (verilog-in-directive-p): Fix comment to correctly describe
++      function.
++      (verilog-backward-up-list, verilog-in-struct-region-p)
++      (verilog-backward-token, verilog-in-struct-p)
++      (verilog-in-coverage-p, verilog-do-indent)
++      (verilog-pretty-declarations): Use verilog-backward-up-list as
++      wrapper around backward-up-list inorder to properly skip comments.
++      Reported by David Rogoff.
++      (verilog-property-re, verilog-endcomment-reason-re)
++      (verilog-beg-of-statement, verilog-set-auto-endcomments)
++      (verilog-calc-1 ): Fix for assert a; else b; indentation (new form
++      of if). Reported by Max Bjurling and
++      (verilog-calc-1): Fix for clocking block in modport
++      declaration. Reported by Brian Hunter.
++ 
++ 2010-10-24  Wilson Snyder  <wsnyder@wsnyder.org>
++ 
++      * verilog-mode.el (verilog-auto-inst, verilog-gate-ios)
++      (verilog-gate-keywords, verilog-read-sub-decls)
++      (verilog-read-sub-decls-gate, verilog-read-sub-decls-gate-ios)
++      (verilog-read-sub-decls-line, verilog-read-sub-decls-sig): Support
++      AUTOINST for gate primitives, bug284.  Reported by Mark Johnson.
++      (verilog-read-decls): Fix spaces in V2K module parameters causing
++      mis-identification as interfaces, bug287.
++      (verilog-read-decls): Fix not treating "parameter string" as a
++      parameter in AUTOINSTPARAM.
++      (verilog-read-always-signals-recurse, verilog-read-decls): Fix not
++      treating `elsif similar to `endif inside AUTOSENSE.
++         (verilog-do-indent): Implement correct automatic or static task or
++      function end comment highlight. Reported by Steve Pearlmutter.
++      (verilog-font-lock-keywords-2): Fix highlighting of single
++      character pins, bug264.  Reported by Michael Laajanen.
++      (verilog-auto-inst, verilog-read-decls, verilog-read-sub-decls)
++      (verilog-read-sub-decls-in-interfaced, verilog-read-sub-decls-sig)
++      (verilog-subdecls-get-interfaced, verilog-subdecls-new): Support
++      interfaces with AUTOINST, bug270.  Reported by Luis Gutierrez.
++      (verilog-pretty-expr): Fix interactive arguments, bug272. Reported
++      by Mark Johnson.
++      (verilog-auto-tieoff, verilog-auto-tieoff-ignore-regexp): Add
++      'verilog-auto-tieoff-ignore-regexp' for AUTOTIEOFF,
++      bug269. Suggested by Gary Delp.
++      (verilog-mode-map, verilog-preprocess, verilog-preprocess-history)
++      (verilog-preprocessor, verilog-set-compile-command): Create
++      verilog-preprocess and verilog-preprocessor to show preprocessed
++      output.
++      (verilog-get-beg-of-line, verilog-get-end-of-line)
++      (verilog-modi-file-or-buffer, verilog-modi-name)
++      (verilog-modi-point, verilog-within-string): Move defmacro's
++      before first use to avoid warning. Reported by Steve Pearlmutter.
++      (verilog-colorize-buffer, verilog-colorize-include-files-buffer)
++      (verilog-colorize-region, verilog-highlight-buffer)
++      (verilog-highlight-includes, verilog-highlight-modules)
++      (verilog-highlight-region, verilog-mode): Rename colorize to
++      highlight to match other packages.  Disable module highlighting,
++      as received speed complaints, reenable for experimentation only
++      using new verilog-highlight-modules.
++      (verilog-read-decls): Fix regexp stack overflow in very large
++      AUTO_TEMPLATEs, bug250.
++      (verilog-auto, verilog-delete-auto, verilog-save-buffer-state)
++      (verilog-scan): Create verilog-save-buffer-state to standardize
++      making insignificant changes that shouldn't call hooks.
++      (verilog-save-no-change-functions, verilog-save-scan-cache)
++      (verilog-scan, verilog-scan-cache-ok-p, verilog-scan-region):
++      Create verilog-save-no-change-functions to wrap verilog-scan
++      preservation, and fix to work with nested preserved calls.
++      (verilog-auto-inst, verilog-auto-inst-dot-name): Support .name
++      port syntax for AUTOWIRE, and with new verilog-auto-inst-dot-name
++      generate .name with AUTOINST, bug245.  Suggested by David Rogoff.
++      (verilog-submit-bug-report): Update variable list to be complete.
++      (verilog-auto, verilog-colorize-region): Fix AUTO expansion
++      breaking on-the-fly font-locking.
++      (verilog-colorize-buffer, verilog-colorize-include-files)
++      (verilog-colorize-include-files-buffer, verilog-colorize-region)
++      (verilog-load-file-at-mouse, verilog-load-file-at-point)
++      (verilog-mode, verilog-read-inst-module-matcher): With point on a
++      AUTOINST cell instance name, middle mouse button now finds-file on
++      it.  Suggested by Brad Dobbie.
++      (verilog-alw-get-temps, verilog-auto-reset)
++      (verilog-auto-sense-sigs, verilog-read-always-signals)
++      (verilog-read-always-signals-recurse): Fix loop indexes being
++      AUTORESET. AUTORESET now assumes any variables in the
++      initialization section of a for() should be ignored.  Reported by
++      Dan Dever.
++      (verilog-error-font-lock-keywords)
++      (verilog-error-regexp-emacs-alist)
++      (verilog-error-regexp-xemacs-alist): Fix error detection of
++      Cadence HAL, reported by David Asher.  Repair drift between the
++      three similar error variables.
++      (verilog-modi-lookup, verilog-modi-lookup-cache)
++      (verilog-modi-lookup-last-current, verilog-modi-lookup-last-mod)
++      (verilog-modi-lookup-last-modi, verilog-modi-lookup-last-tick):
++      Fix slow verilog-auto expansion on very large files.
++      (verilog-read-sub-decls-expr, verilog-read-sub-decls-line): Fix
++      AUTOOUTPUT treating "1*2" as a signal name in submodule connection
++      "{1*2{...".  Broke in last revision.
++      (verilog-read-sub-decls-expr): Fix AUTOOUTPUT not detecting
++      submodule connections with replications "{#{a},#{b}}".
++ 
++ 2010-10-24  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * progmodes/dcl-mode.el (dcl-electric-reindent-regexps):
++      Fix typo in docstring.
++ 
++ 2010-10-24  Kenichi Handa  <handa@m17n.org>
++ 
++      * face-remap.el (text-scale-adjust): Call read-event with a proper
++      prompt.
++ 
++ 2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * emacs-lisp/unsafep.el: Don't mark functions that display
++      messages as safe.  Suggested by Johan Bockgård.
++ 
++ 2010-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * emacs-lisp/regexp-opt.el (regexp-opt-group, regexp-opt-charset):
++      Turn comments into docstrings.
++ 
++      * minibuffer.el (completion--replace): Move point where it belongs
++      when there's a common suffix (bug#7215).
++ 
++ 2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      Merge read-color and facemenu-read-color (Bug#7242).
++ 
++      * faces.el (read-color): Use the completion code from
++      facemenu-read-color.  Require match in completion.  Doc fix.
++ 
++      * facemenu.el (facemenu-read-color): Alias for read-color.
++      (facemenu-set-foreground, facemenu-set-background): Use
++      read-color.
++ 
++      * frame.el (set-background-color, set-foreground-color)
++      (set-cursor-color, set-mouse-color, set-border-color): Use
++      read-color.
++ 
++ 2010-10-24  Leo  <sdl.web@gmail.com>
++ 
++      * eshell/em-unix.el (eshell-remove-entries): Use the TRASH
++      argument of delete-file and delete-directory (Bug#7011).
++ 
++ 2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * emacs-lisp/package.el (package-menu-mode-map): Inherit from
++      button-buffer-map.
++ 
++ 2010-10-24  Ralf Angeli  <angeli@caeruleus.net>
++ 
++      * emacs-lisp/package.el (package--generate-package-list): Make the
++      *Packages* buffer read-only.
++ 
++ 2010-10-24  Alan Mackenzie  <acm@muc.de>
++ 
++      * progmodes/cc-fonts.el (c-font-lock-declarations): Cache the
++      result of `c-beginning-of-decl-1' between invocations of a lambda
++      function (Bug #7265).
++ 
++ 2010-10-24  Daiki Ueno  <ueno@unixuser.org>
++ 
++      * epg-config.el (epg-gpg-program): Try to use "gpg2" if "gpg"
++      executable is not available on the system (Bug#7268).
++ 
++ 2010-10-24  Glenn Morris  <rgm@gnu.org>
++ 
++      * select.el (selection-coding-system, next-selection-coding-system):
++      Sync doc with C versions.
++ 
++      * w32-vars.el (x-select-enable-clipboard):
++      * term/x-win.el (x-select-enable-clipboard): Move to common-win.
++      * term/common-win.el (x-select-enable-clipboard): Move here.
++ 
++      * term/tty-colors.el (tty-defined-color-alist): Remove duplicate
++      definition of C variable.
++ 
++      * frame.el (show-trailing-whitespace, auto-hscroll-mode)
++      (display-hourglass, hourglass-delay, cursor-in-non-selected-windows):
++      Don't redefine things that are defined in C.
++      * cus-start.el: Also handle :risky, :safe, :set, and :tag.
++      (show-trailing-whitespace, auto-hscroll-mode)
++      (display-hourglass, hourglass-delay, cursor-in-non-selected-windows):
++      Set up the appropriate custom properties.
++ 
++ 2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      Bind "C-c ]" to ...
++      * progmodes/f90.el (f90-mode-map): ... f90-insert-end.
++      * nxml/nxml-mode.el (nxml-mode-map): ... nxml-finish-element.
++      * textmodes/tex-mode.el (tex-mode-map): ... latex-close-block.
++      * textmodes/sgml-mode.el (sgml-mode-map): ... sgml-close-tag.
++ 
++ 2010-10-23  Glenn Morris  <rgm@gnu.org>
++ 
++      * textmodes/flyspell.el (flyspell-mode): If there was an error,
++      say what it was.
++ 
++      * frame.el (auto-hscroll-mode, cursor-in-non-selected-windows):
++      Sync docs with C version.
++ 
++      * term/ns-win.el (xw-defined-colors):
++      * term/x-win.el (xw-defined-colors): Make docs identical to w32-win.
++ 
++      * term/pc-win.el (x-select-enable-clipboard):
++      * term/x-win.el (x-select-enable-clipboard):
++      * w32-vars.el (x-select-enable-clipboard): Make doc-strings identical.
++ 
++      * comint.el (comint-password-prompt-regexp): Make it less vague.
++      Bump version.
++ 
++      * help-fns.el (doc-file-to-man, doc-file-to-info): New commands.
++ 
++      * help.el (finder-by-keyword): Remove unnecessary autoload.
++ 
++ 2010-10-22  Glenn Morris  <rgm@gnu.org>
++ 
++      * loadup.el: Unconditionally load float-sup.
++      * paren.el (show-paren-delay):
++      * emacs-lisp/float-sup.el:
++      * emulation/cua-base.el (cua-prefix-override-inhibit-delay):
++      * obsolete/lazy-lock.el (lazy-lock-defer-time, lazy-lock-stealth-nice)
++      (lazy-lock-stealth-verbose): Assume float support.
++      * ps-print.el: Assume float support on Emacs.
++      * emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
++      Remove non-float branch.
++ 
++      * emacs-lisp/autoload.el (batch-update-autoloads): Update for
++      src/Makefile no longer being pre-processed.
++ 
++ 2010-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * emacs-lisp/find-func.el (find-library): Use test-completion.
++ 
++ 2010-10-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++ 
++      * newcomment.el (comment-dwim): Fix the intentation in the doc string.
++ 
++ 010-10-21  Michael Albinus  <michael.albinus@gmx.de>
++ 
++      * net/tramp-sh.el (tramp-do-file-attributes-with-stat): Do not use
++      space in stat format string.
++      (tramp-send-command): Unset $PS1 when using here documents, in
++      order not to get several prompts.
++      (tramp-get-inline-coding): Return `nil' in case of errors.
++ 
++ 2010-10-21  Daiki Ueno  <ueno@unixuser.org>
++ 
++      * hexl.el (hexl-mode, hexl-mode-exit):
++      Tweak revert-buffer-function to inhibit auto-mode-alist (Bug#7252).
++      (hexl-revert-buffer-function): New function.
++      (hexl-before-revert-hook, hexl-after-revert-hook): Abolish.
++ 
++ 2010-10-19  Alan Mackenzie  <acm@muc.de>
++ 
++      * progmodes/cc-langs.el (c-type-decl-prefix-key): C++ bit:
++      Move "\(const\|throw\|volatile\)\>" nearer the start of the regexp, so
++      that these keywords aren't wrongly matched as identifiers.
++ 
++      * progmodes/cc-mode.el (c-before-change, c-after-change): Move the
++      setting of c-new-BEG and c-new-END from c-before-change to
++      c-after-change.  (Bug#7181)
++ 
++ 2010-10-19  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change.
++      Don't mark as safe.
++ 
++      * custom.el (custom-theme-set-variables): Likewise.
++      (load-theme): Add custom-theme-set-faces and
++      custom-theme-set-variables to safe-functions while loading.
++      (custom-enabled-themes): Mark as risky.
++ 
++ 2010-10-18  Julien Danjou  <julien@danjou.info>
++ 
++      * bindings.el: Remove end dashes in default mode-line-format.
++ 
++ 2010-10-19  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * bindings.el (global-map): Bind C-d to delete-char and deletechar
++      to delete-forward-char.
++ 
++      * simple.el (normal-erase-is-backspace-mode): Remap delete to
++      deletechar, and hence delete-forward-char.
++ 
++ 2010-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * repeat.el (repeat): Use read-key (bug#6256).
++ 
++ 2010-10-19  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * emacs-lisp/unsafep.el: Don't mark functions that display
++      messages as safe.  Suggested by Johan Bockgård.
++ 
++ 2010-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * minibuffer.el (completion--replace): Move point where it belongs
++      when there's a common suffix (bug#7215).
++ 
++ 2010-10-19  Kenichi Handa  <handa@m17n.org>
++ 
++      * international/characters.el: Add category '|' (word breakable)
++      to fullwidth characters.
++ 
++ 2010-10-19  Michael Albinus  <michael.albinus@gmx.de>
++ 
++      * net/tramp-sh.el (tramp-do-file-attributes-with-stat)
++      (tramp-do-directory-files-and-attributes-with-stat): Use "e0" in
++      order to make stat results a float.  Patch by Andreas Schwab
++      <schwab@linux-m68k.org>.
++ 
++ 2010-10-18  Julien Danjou  <julien@danjou.info>
++ 
++      * avoid.el (mouse-avoidance-ignore-p): Ignore mouse when it is
++      hidden by `make-pointer-invisible'.
++ 
++ 2010-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * files.el (locate-file-completion-table): Strip non-matching elements
++      before checking length of list (bug#7238).
++ 
++ 2010-10-18  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * custom.el (custom-theme-set-variables): Mark as a safe function.
++      (load-theme): Check forms using unsafep.
++ 
++      * cus-face.el (custom-theme-set-faces): Mark as a safe function.
++ 
++ 2010-10-17  Agustín Martín  <agustin.martin@hispalinux.es>
++ 
++      * textmodes/ispell.el (ispell-aspell-find-dictionary):
++      Fix aspell data file searching (bug#7230).
++ 
++ 2010-10-16  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-theme.el (custom-theme--migrate-settings): New var.
++      (customize-create-theme): Allow editing the `user' theme.
++      (custom-theme-add-variable, custom-theme-add-var-1)
++      (custom-theme-add-face, custom-theme-add-face-1): Add a checkbox
++      to the front of each variable or face widget.
++      (custom-theme-write): Save theme settings in the correct order.
++      Optionally, remove saved settings from user customizations.
++      (custom-theme-write-variables, custom-theme-write-faces):
++      Save only the checked widgets.
++      (customize-themes): Add a link for migrating custom settings.
++ 
++      * custom.el (custom-declare-theme, provide-theme):
++      Use custom-theme-name-valid-p.
++      (custom-theme-name-valid-p): Remove checks that are now
++      unnecessary since themes no longer obey load-path.
++ 
++      * cus-edit.el (custom-variable-value-create): For the simple
++      style, hide documentation string when hidden.
++ 
++ 2010-10-16  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-edit.el (custom-variable, custom-face): Combine the
++      :inhibit-magic and :display-style properties into a single
++      :custom-style property.
++      (custom-toggle-hide-variable, custom-toggle-hide-face):
++      New functions.  If hiding an edited value, save it to :shown-value.
++      (custom-variable-value-create, custom-face-value-create): Use them.
++      (custom-magic-reset): Allow magic property to be unset.
++ 
++      * custom.el: Custom themes no longer use load-path.
++      (custom-theme-load-path): New option.  Change built-in theme
++      directory to etc/.
++      (custom-enabled-themes): Add custom-theme-load-path dependency.
++      (custom-theme--load-path): New function.
++      (load-theme, custom-available-themes): Use it.
++ 
++      * cus-theme.el (describe-theme-1): Use custom-theme--load-path.
++      (customize-themes): Link to custom-theme-load-path variable.
++      (custom-theme-add-var-1, custom-theme-add-face-1): Use the
++      :custom-style property.
++ 
++      * themes/*.el: Moved to etc/.
++ 
++ 2010-10-16  Ralf Angeli  <angeli@caeruleus.net>
++ 
++      * textmodes/reftex-cite.el
++      (reftex-extract-bib-entries-from-thebibliography): Do not move
++      point when searching for \bibitem entries.  Match entries with
++      spaces or tabs in front of arguments.
++ 
++ 2010-10-16  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-theme.el (customize-create-theme): Delete overlays after
++      erasing.  If given a THEME arg, display only the faces of that arg
++      instead of custom-theme--listed-faces.
++      (custom-theme-variable-menu, custom-theme-variable-action)
++      (custom-variable-reset-theme, custom-theme-delete-variable): Delete.
++      (custom-theme-add-variable, custom-theme-add-face): Apply value
++      from the theme settings, instead of the current value.
++      (custom-theme-add-var-1, custom-theme-add-face-1): New functions.
++      (custom-theme-visit-theme): Allow calling outside theme buffers.
++      (custom-theme-merge-theme): Don't enable the theme when merging.
++      (custom-theme-write-variables, custom-theme-write-faces): Use the
++      :shown-value properties to save buffer values, not global ones.
++      (customize-themes): Display a warning about user customizations.
++ 
++      * cus-edit.el (custom-variable-value-create)
++      (custom-face-value-create): Obey new special properties
++      :shown-value and :inhibit-magic.
++ 
++ 2010-10-15  Michael Albinus  <michael.albinus@gmx.de>
++ 
++      * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
++      Suppress expansion of tabs to spaces.  Reported by Dale Sedivec
++      <dale@codefu.org>.
++ 
++ 2010-10-14  Kenichi Handa  <handa@m17n.org>
++ 
++      * mail/rmail.el (rmail-show-message-1): Catch an error of
++      base64-decode-region and just show an error message (bug#7165).
++ 
++      * ps-mule.el (ps-mule-font-spec-list): Delete it.  Not used anymore.
++      (ps-mule-begin-job): Fix for the case that only ENCODING is set in
++      a font-spec (bug#7197).
++ 
++ 2010-10-14  Glenn Morris  <rgm@gnu.org>
++ 
++      * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org.
++ 
++ 2010-10-14  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * international/mule.el (define-coding-system):
++      * international/titdic-cnv.el (quail-cxterm-package-ext-info):
++      * composite.el (compose-region): Fix typo in docstring.
++ 
++ 2010-10-14  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-face.el (custom-theme-set-faces): Call custom-push-theme
++      only after checking the theme-face property.
++ 
++      * faces.el (face-spec-reset-face): Reset all attributes in one
++      single call to set-face-attribute.
++      (face-spec-match-p): Make it a defsubst.
++      (frame-set-background-mode): New arg KEEP-FACE-SPECS.
++      (x-create-frame-with-faces, tty-create-frame-with-faces)
++      (tty-set-up-initial-frame-faces): Don't recompute face specs in
++      frame-set-background-mode, since they are recomputed immediately
++      afterwards in face-set-after-frame-default.
++      (face-set-after-frame-default): Minor optimization.
++      (cursor): Provide non-trivial defface spec.
++ 
++      * custom.el (custom-theme-recalc-face): Simplify.
++ 
++ 2010-10-14  Jay Belanger  <jay.p.belanger@gmail.com>
++ 
++      * calc/calc-alg.el (math-var): Rename from `var'.
++      (math-is-polynomial, math-is-poly-rec): Replace `var'
++      with `math-var'.
++ 
++      * calc/calcalg2.el (math-var): Rename from `var'.
++      (calcFunc-table, math-scan-for-limits): Replace `var'
++      with `math-var'.
++ 
++ 2010-10-13  Glenn Morris  <rgm@gnu.org>
++ 
++      * subr.el (last): Deal with dotted lists (reported in bug#7174).
++ 
++ 2010-10-13  Stephen Berman  <stephen.berman@gmx.net>
++ 
++      * subr.el (last): Use `safe-length' instead of `length' (bug#7206).
++ 
++ 2010-10-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++ 
++      * net/tls.el (tls-program): Remove spurious %s from openssl.
++      (tls-starttls-switches): Remove starttls hack.
++      (open-tls-stream): Ditto.
++      (tls-find-starttls-argument): Ditto.
++ 
++ 2010-10-13  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * image.el (image-library-alist): Declare as obsolete alias.
++      (image-type-available-p): Use `dynamic-library-alist'.
++ 
++      * term/w32-win.el (dynamic-library-alist):
++      Use instead of `image-library-alist'.
++ 
++ 2010-10-13  IRIE Shinsuke  <irieshinsuke@yahoo.co.jp>  (tiny change)
++ 
++      * subr.el (last): Make it faster.  (Bug#7174)
++ 
++ 2010-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>  (tiny change)
++ 
++      * Makefile.in (compile-clean): Use `` instead of $().  (Bug#7178)
++ 
++ 2010-10-12  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-theme.el (custom-theme--listed-faces): Add cursor face.
++      (describe-theme-1): Extract doc from unloaded themes.
++ 
++      * custom.el (custom-theme-name-valid-p): Don't list color-themes.
++ 
++      * themes/tango-theme.el:
++      * themes/tango-dark-theme.el:
++      * themes/wheatgrass-theme.el: New files.
++ 
++ 2010-10-12  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-theme.el (describe-theme, customize-themes)
++      (custom-theme-save): New commands.
++      (custom-new-theme-mode-map): Bind C-x C-s.
++      (custom-new-theme-mode): Use custom--initialize-widget-variables.
++      (customize-create-theme): New optional arg THEME.
++      (custom-theme-revert): Use it.
++      (custom-theme-visit-theme): Remove dead code.
++      (custom-theme-merge-theme): Use custom-available-themes.
++      (custom-theme-write): Make interactive.
++      (custom-theme-write): Use custom-theme-name-valid-p.
++      (describe-theme-1, custom-theme-choose-revert)
++      (custom-theme-checkbox-toggle, custom-theme-selections-toggle):
++      New funs.
++      (custom-theme-allow-multiple-selections): New option.
++      (custom-theme-choose-mode): New major mode.
++ 
++      * custom.el (custom-theme-set-variables): Remove dead code.
++      Obey custom--inhibit-theme-enable.
++      (custom--inhibit-theme-enable): New var.
++      (provide-theme): Obey it.
++      (load-theme): Replace load with manual read/eval, in order to
++      check for correctness.  Use custom-theme-name-valid-p.
++      (custom-theme-name-valid-p): New function.
++      (custom-available-themes): Use it.
++ 
++      * cus-edit.el (custom--initialize-widget-variables): New function.
++      (Custom-mode): Use it.
++ 
++      * cus-face.el (custom-theme-set-faces): Remove dead code.
++      Obey custom--inhibit-theme-enable.
++ 
++      * help-mode.el (help-theme-def, help-theme-edit): New buttons.
++ 
++ 2010-10-12  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * net/telnet.el (telnet-mode-map): Fix previous change (bug#7193).
++ 
++ 2010-10-12  Jan Djärv  <jan.h.d@swipnet.se>
++ 
++      * term/ns-win.el (ns-right-alternate-modifier): New defvar.
++      (ns-right-option-modifier): New alias for ns-right-alternate-modifier.
++      (mac-right-option-modifier): New alias for ns-right-option-modifier.
++ 
++      * cus-start.el (all): ns-right-alternate-modifier is new.
++ 
++ 2010-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * emacs-lisp/lisp.el (lisp-completion-at-point):
++      Use emacs-lisp-mode-syntax-table for the whole function.
++ 
++ 2010-10-12  David Koppelman  <koppel@ece.lsu.edu>
++ 
++      * hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
++      instead of font-lock-mode before adding keywords.
++      Remove hi-lock-mode off code.  Remove inhibit hack.
++      (hi-lock-set-pattern): Only add keywords if font-lock-fontified
++      non-nil; removed hook inhibit hack.
++ 
++ 2010-10-12  Glenn Morris  <rgm@gnu.org>
++ 
++      * emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
++      (load-path-shadows-find): ... to this.
++      (list-load-path-shadows): Update for above change.
++ 
++      * mail/mail-utils.el (mail-mbox-from): Also try return-path.
++ 
++ 2010-10-11  Katsumi Yamaoka  <yamaoka@jpl.org>
++ 
++      * mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el:
++      Fix comment for declare-function.
++ 
++ 2010-10-11  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * custom.el (custom-fix-face-spec): New function; code moved from
++      custom-face-edit-fix-value.
++      (custom-push-theme): Use it when checking if a face has been
++      changed outside customize.
++      (custom-available-themes): New function.
++      (load-theme): Use it.
++ 
++      * cus-edit.el (custom-face-edit-fix-value): Use custom-fix-face-spec.
++ 
++      * custom.el (custom-push-theme): Cleanup (use cond).
++      (disable-theme): Recompute the saved-face property.
++      (custom-theme-recalc-face): Follow face alias before setting prop.
++ 
++      * image.el (image-checkbox-checked, image-checkbox-unchecked):
++      New variables, containing checkbox images.
++ 
++      * startup.el (fancy-startup-tail):
++      * wid-edit.el (checkbox): Use them.
++ 
++ 2010-10-10  Dan Nicolaescu  <dann@ics.uci.edu>
++ 
++      * shell.el (shell-mode-map):
++      * progmodes/modula2.el (m2-mode-map):
++      * progmodes/inf-lisp.el (inferior-lisp-mode-map):
++      * play/mpuz.el (mpuz-mode-map):
++      * play/landmark.el (lm-mode-map):
++      * play/decipher.el (decipher-mode-map):
++      * play/5x5.el (5x5-mode-map):
++      * net/telnet.el (telnet-mode-map):
++      * net/quickurl.el (quickurl-list-mode-map):
++      * net/mairix.el (mairix-searches-mode-map):
++      * net/eudc-hotlist.el (eudc-hotlist-mode-map):
++      * net/dig.el (dig-mode-map):
++      * mail/mspools.el (mspools-mode-map):
++      * hexl.el (hexl-mode-map):
++      * emulation/ws-mode.el (wordstar-C-k-map, wordstar-mode-map)
++      (wordstar-C-o-map, wordstar-C-q-map):
++      * emacs-lisp/edebug.el (edebug-eval-mode-map):
++      * emacs-lisp/chart.el (chart-map):
++      * edmacro.el (edmacro-mode-map):
++      * erc/erc-list.el (erc-list-menu-mode-map):
++      * array.el (array-mode-map): Declare and define in one step.
++ 
++      * vc/log-view.el (log-view-mode-map): Bind revert-buffer.
++ 
++ 2010-10-10  Daiki Ueno  <ueno@unixuser.org>
++ 
++      * epa.el (epa-passphrase-callback-function): Display filename
++      passed as the 3rd arg.
++      * epa-file.el (epa-file-passphrase-callback-function):
++      Pass filename to epa-passphrase-callback-function.
++ 
++ 2010-10-09  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-edit.el (custom-face-widget-to-spec)
++      (custom-face-get-current-spec, custom-face-state): New functions.
++      (custom-face-set, custom-face-mark-to-save)
++      (custom-face-value-create, custom-face-state-set): Use them.
++ 
++      * cus-theme.el (custom-theme--listed-faces): New var.
++      (customize-create-theme): Use *Custom Theme* as the buffer name.
++      Set revert-buffer-function.  Optional arg BUFFER.  Insert all
++      faces listed in custom-theme--listed-faces.
++      (custom-theme-revert): New function.
++      (custom-theme-add-variable, custom-theme-add-face): Insert at the
++      bottom of the list.
++      (custom-theme-write): Prompt for theme name if empty.
++      (custom-theme-write-variables): Use dolist.
++      (custom-theme-write-faces): Handle hidden (collapsed) widgets.
++ 
++ 2010-10-09  Alan Mackenzie  <acm@muc.de>
++ 
++      Enhance fontification of declarators to take account of the
++      presence/absence of "typedef".
++ 
++      * cc-engine.el (c-forward-type): New &optional param
++      "brace-block-too".
++      (c-forward-decl-or-cast-1): cdr of return value now indicates the
++      presence of either or both of a "struct"-like keyword and "typedef".
++ 
++      * cc-fonts.el (c-complex-decl-matchers): Remove the heuristic
++      fontification of declarators which follow a "}".
++      (c-font-lock-declarations): Fontify declarators according to the
++      presence/absence of "typedef".
++ 
++      * cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable
++      for "typedef".
++      (c-typedef-decl-key): New lang variable built from
++      c-typedef-decl-kwds.
++ 
++ 2010-10-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++ 
++      * ibuffer.el (ibuffer-mode-map): Don't redefine the cursor keys,
++      since that's too annoying.  Move the filter groups commands to
++      TAB/backtab.
++ 
++      * epa.el (epa-passphrase-callback-function): Say what we're
++      querying the password for.
++ 
++      * ibuffer.el (ibuffer-visit-buffer): To mimick list-buffers
++      behaviour, don't bury the ibuffer buffer when visiting other buffers.
++ 
++ 2010-10-08  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-edit.el (custom-commands, custom-buffer-create-internal)
++      (custom-magic-value-create): Pad button tags with spaces.
++      (custom-face-edit): New variable.
++      (custom-face-value-create): Determine whether to use the usual
++      face editor here, instead of using custom-face-selected.
++      Pass face defaults to custom-face-edit widget.
++      (custom-face-selected, custom-display-unselected): Delete widgets.
++      (custom-display-unselected-match): Function removed.
++      (custom-face-set, custom-face-mark-to-save):
++      Accept custom-face-edit widgets as the direct widget child.
++ 
++      * wid-edit.el (widget--completing-widget): New var.
++      (widget-default-complete): Bind it when doing completion.
++      (widget-string-complete, widget-file-complete): Use it.
++ 
++ 2010-10-09  Glenn Morris  <rgm@gnu.org>
++ 
++      * calendar/cal-hebrew.el (holiday-hebrew-rosh-hashanah)
++      (holiday-hebrew-passover, holiday-hebrew-tisha-b-av)
++      (holiday-hebrew-misc): Small simplifications.
++ 
++      * emacs-lisp/authors.el (authors-valid-file-names): Add b2m.c.
++ 
++      * net/browse-url.el: Don't require thingatpt, term, dired,
++      executable, or w3-auto when compiling.
++      (dired-get-filename, term-char-mode, term-send-down, term-send-string):
++      Declare.
++      (browse-url-text-emacs): Require term.
++ 
++ 2010-10-08  Andreas Schwab  <schwab@linux-m68k.org>
++ 
++      * net/browse-url.el (browse-url-xdg-open): Remove use of /bin/sh.
++ 
++ 2010-10-08  Glenn Morris  <rgm@gnu.org>
++ 
++      * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/.
++ 
++      * emacs-lisp/shadow.el (lisp-shadow): Change prefix.
++      (shadows-compare-text-p): Make it an obsolete alias for...
++      (load-path-shadows-compare-text): ... new name.
++      (find-emacs-lisp-shadows): Update for above name change.
++      (load-path-shadows-same-file-or-nonexistent): New name for the old
++      shadow-same-file-or-nonexistent.
++ 
++ 2010-10-08  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * minibuffer.el (completion--some, completion--do-completion)
++      (minibuffer-complete-and-exit, minibuffer-completion-help)
++      (completion-basic-try-completion)
++      (completion-basic-all-completions)
++      (completion-pcm--find-all-completions): Use lexical-let to
++      avoid some false matches in variable completion (Bug#7056)
++ 
++ 2010-10-08  Olof Ohlsson Sax  <olof.ohlsson.sax@gmail.com>  (tiny change)
++ 
++      * vc-svn.el (vc-svn-merge-news): Use --non-interactive.  (Bug#7152)
++ 
++ 2010-10-08  Leo  <sdl.web@gmail.com>
++ 
++      * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
++      return non-nil if the file exists (Bug#7090).
++ 
++ 2010-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * minibuffer.el (completion--replace):
++      Better preserve markers (bug#7138).
++ 
++ 2010-10-08  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * server.el (server-process-filter): Doc fix.
++ 
++ 2010-10-08  Drew Adams  <drew.adams@oracle.com>
++ 
++      * dired.el (dired-save-positions): Doc fix.  (Bug#7119)
++ 
++ 2010-10-08  Andreas Schwab  <schwab@linux-m68k.org>
++ 
++      * Makefile.in (ELCFILES): Update.
++ 
++ 2010-10-08  Glenn Morris  <rgm@gnu.org>
++ 
++      * vc/ediff-wind.el (ediff-setup-control-frame):
++      * vc/ediff-ptch.el (ediff-default-backup-extension):
++      * vc/ediff-diff.el (ediff-shell, ediff-diff-options)
++      (ediff-exec-process): Remove system-types emx, windows-95.
++ 
++      * net/browse-url.el (browse-url-xdg-open): Shell-quote url.  (Bug#7166)
++ 
++ 2010-10-07  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cus-edit.el (custom-variable, custom-face): Doc fix.
++      (custom-face-edit): Add value-create attribute.
++      (custom-face-edit-value-create)
++      (custom-face-edit-value-visibility-action): New functions.
++      Hide unused face attributes by default, and add a visibility toggle.
++      (custom-face-edit-deactivate): Show empty values with shadow face.
++      (custom-face-selected): Only use this for face specs with default
++      attributes.
++      (custom-face-value-create): Cleanup.
++ 
++      * wid-edit.el (widget-checklist-value-create): Use dolist.
++      (widget-checklist-match-find): Make second arg optional.
++ 
++ 2010-10-07  Glenn Morris  <rgm@gnu.org>
++ 
++      * hilit-chg.el (hilit-chg-get-diff-info, hilit-chg-get-diff-list-hk):
++      Prefix things.
++ 
++      * emacs-lisp/shadow.el (shadow-font-lock-keywords)
++      (load-path-shadows-mode, list-load-path-shadows): Rename shadow-mode to
++      load-path-shadows-mode, update references.
++      (load-path-shadows-font-lock-keywords, load-path-shadows-find-file):
++      Rename variable and button.
++      (list-load-path-shadows): Update button caller.
++ 
++ 2010-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
++ 
++      * emacs-lisp/smie.el (smie-bnf-classify): New function.
++      (smie-bnf-precedence-table): Use it to remember the closers/openers.
++      (smie-merge-prec2s): Handle those new entries.
++      (smie-prec2-levels): Only set precedence to nil for actual
++      openers/closers.
++      * progmodes/octave-mod.el (octave-smie-op-levels): Remove dummy entry
++      that is now unnecessary.
++ 
++ 2010-10-07  Miles Bader  <miles@gnu.org>
++ 
++      * emacs-lisp/regexp-opt.el (regexp-opt): Add `symbols' mode.
++ 
+  2010-10-07  Glenn Morris  <rgm@gnu.org>
+  
+       * mail/rmail.el (mail-sendmail-delimit-header, mail-header-end)
+       (mail-position-on-field): Remove declarations.
+       (mail-position-on-field): Autoload it.
+       (rmail-retry-failure): Replace use of mail-sendmail-delimit-header
+       and mail-header-end.  Don't require sendmail.
+  
+       * emacs-lisp/shadow.el (shadow-font-lock-keywords): New variable.
+       (shadow-mode): New mode.
+       (shadow-find-file): New button.
+       (list-load-path-shadows): Use shadow-mode and buttons.
+  
+       * iimage.el (iimage-version): Remove.
+       (iimage-mode-image-search-path, iimage-mode-image-regex-alist):
+       Turn into defcustoms.
+       (iimage-mode-map): Give it a doc string.
+  
+       * calendar/appt.el (appt-activate): Give a warning rather than an error
+       if there is no diary-file.
+  
+  2010-10-06  Michael Albinus  <michael.albinus@gmx.de>
+  
 -      (tramp-set-process-query-on-exit-flag): Removed.
++      * net/tramp-sh.el (tramp-sh-file-name-handler-alist):
++      Use `tramp-handle-find-backup-file-name'.
+  
+  2010-10-06  Glenn Morris  <rgm@gnu.org>
+  
+       * font-core.el (font-lock-defaults-alist): Remove variable.
+       (font-lock-mode): Doc fix.
+       (font-lock-default-function): Do not consult font-lock-defaults-alist.
+       * font-lock.el (font-lock-refresh-defaults): Doc fix.
+       (font-lock-set-defaults): Doc fix.
+       Do not consult font-lock-defaults-alist.
+  
+       * hilit-chg.el (hilit-chg-get-diff-list-hk): Declare `e' for compiler.
+  
+       * emacs-lisp/cl.el: No longer provide cl-19.
+  
+  2010-10-05  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp.el (tramp-handle-directory-files-and-attributes)
+       (tramp-handle-file-exists-p, tramp-handle-file-newer-than-file-p):
+       New defuns, taken from tramp-smb.el.
+       (tramp-coding-system-change-eol-conversion)
 -      * net/tramp-compat.el (top): Do not check for byte-compiler
 -      objects.
++      (tramp-set-process-query-on-exit-flag): Remove.
+  
 -      * net/tramp-imap.el (tramp-imap-file-name-handler-alist): Use
 -      `tramp-handle-directory-files-and-attributes',
++      * net/tramp-compat.el (top): Do not check for byte-compiler objects.
+       (tramp-compat-coding-system-change-eol-conversion)
+       (tramp-compat-set-process-query-on-exit-flag): New defuns, taken
+       from tramp.el.
+  
+       * net/tramp-gvfs.el:
+       * net/tramp-gw.el: Replace `tramp-set-process-query-on-exit-flag'
+       by `tramp-compat-set-process-query-on-exit-flag'.
+  
 -      (tramp-imap-handle-file-newer-than-file-p): Removed.
++      * net/tramp-imap.el (tramp-imap-file-name-handler-alist):
++      Use `tramp-handle-directory-files-and-attributes',
+       `tramp-handle-file-exists-p' and
+       `tramp-handle-file-newer-than-file-p'.
+       (tramp-imap-handle-file-exists-p)
+       (tramp-imap-handle-file-executable-p)
+       (tramp-imap-handle-file-readable-p)
+       (tramp-imap-handle-directory-files-and-attributes)
 -      * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use
 -      `tramp-handle-directory-files-and-attributes',
++      (tramp-imap-handle-file-newer-than-file-p): Remove.
+  
+       * net/tramp-sh.el: Replace `tramp-set-process-query-on-exit-flag'
+       by `tramp-compat-set-process-query-on-exit-flag' and
+       `tramp-coding-system-change-eol-conversion' by
+       `tramp-compat-coding-system-change-eol-conversion'.
+  
 -      (tramp-smb-handle-file-newer-than-file-p): Removed.
 -      (tramp-smb-maybe-open-connection): Replace
 -      `tramp-set-process-query-on-exit-flag' by
++      * net/tramp-smb.el (tramp-smb-file-name-handler-alist):
++      Use `tramp-handle-directory-files-and-attributes',
+       `tramp-handle-file-exists-p' and
+       `tramp-handle-file-newer-than-file-p'.
+       (tramp-smb-handle-directory-files-and-attributes)
+       (tramp-smb-handle-file-exists-p)
 -      (tramp-make-tramp-temp-file): Moved from tramp-sh.el.
++      (tramp-smb-handle-file-newer-than-file-p): Remove.
++      (tramp-smb-maybe-open-connection):
++      Replace `tramp-set-process-query-on-exit-flag' by
+       `tramp-compat-set-process-query-on-exit-flag'.
+  
+  2010-10-05  Glenn Morris  <rgm@gnu.org>
+  
+       * obsolete/rnews.el, obsolete/rnewspost.el: Remove files.
+  
+  2010-10-04  Michael Albinus  <michael.albinus@gmx.de>
+  
+       Continue reorganization of load dependencies.  (Bug#7156)
+  
+       * net/tramp.el (tramp-handle-file-local-copy-hook)
+       (tramp-delete-temp-file-function): Move down.
+       (tramp-exists-file-name-handler): Move up.
+       (tramp-register-file-name-handlers): Simplify autoload.
+       (tramp-handle-write-region-hook, tramp-handle-directory-file-name)
+       (tramp-handle-directory-files, tramp-handle-dired-uncache)
+       (tramp-handle-file-modes, tramp-handle-file-name-as-directory)
+       (tramp-handle-file-name-completion)
+       (tramp-handle-file-name-directory)
+       (tramp-handle-file-name-nondirectory, tramp-handle-file-regular-p)
+       (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
+       (tramp-handle-find-backup-file-name)
+       (tramp-handle-insert-file-contents, tramp-handle-load)
+       (tramp-handle-substitute-in-file-name)
+       (tramp-handle-unhandled-file-name-directory)
+       (tramp-mode-string-to-int, tramp-local-host-p)
 -      `gnutls-negotiate' (formerly `starttls-negotiate').  Remove
 -      trivial wrapper `starttls-open-stream'.
++      (tramp-make-tramp-temp-file): Move from tramp-sh.el.
+  
+       * net/tramp-gvfs.el (top):
+       * net/tramp-smb.el (top): Do not require 'tramp-sh.
+  
+       * net/tramp-sh.el (all): Move several objects to tramp.el, see
+       there.  Rename `tramp-handle-*' to `tramp-sh-handle-*'.
+  
+  2010-10-04  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/appt.el (appt-add): Ensure reminders are enabled.
+       (appt-activate): Give status messages.
+  
+  2010-10-03  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * net/gnutls.el: Improve docs.  Remove starttls and ssl emulation.
+       Provide only `open-gnutls-stream' (formerly `open-ssl-stream') and
 -      `gnutls-boot'.  Make TYPE the only required parameter.  Allow
 -      TRUSTFILES and KEYFILES to be lists.
++      `gnutls-negotiate' (formerly `starttls-negotiate').
++      Remove trivial wrapper `starttls-open-stream'.
+  
+  2010-10-03  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Make 'g' (AKA revert-buffer) rerun the VC log, log-incoming and
+       log-outgoing commands.
+       * vc/vc.el (vc-log-internal-common): Add a new argument and use it
+       to create a buffer local revert-buffer-function variable.
+       (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
+       revert-buffer-function lambda.
+  
+  2010-10-03  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * net/gnutls.el (starttls-negotiate): Use the plist interface to
 -      * emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove
 -      obsolete use of binary-overwrite-mode (Bug#7001).
++      `gnutls-boot'.  Make TYPE the only required parameter.
++      Allow TRUSTFILES and KEYFILES to be lists.
+       (open-ssl-stream): Use it.
+  
+  2010-10-03  Glenn Morris  <rgm@gnu.org>
+  
+       * subr.el (directory-sep-char): Remove obsolete variable.
+       * net/tramp-compat.el: Don't mess about with the byte-compiler unless
+       it is "necessary".
+  
+       * vc/vc-hooks.el (vc-header-alist): Remove obsolete variable.
+       * vc/vc.el (vc-static-header-alist): Doc fix.
+       * vc/vc-cvs.el (vc-cvs-header):
+       * vc/vc-rcs.el (vc-rcs-header):
+       * vc/vc-sccs.el (vc-sccs-header):
+       * vc/vc-svn.el (vc-svn-header): Do not consult vc-header-alist.
+       * obsolete/vc-mcvs.el (vc-mcvs-header):
+       * progmodes/cperl-mode.el (cperl-mode): Only set vc-header-alist
+       on XEmacs.
+  
+  2010-10-03  Chong Yidong  <cyd@stupidchicken.com>
+  
 -      * server.el (server-process-filter, server-return-error): Give
 -      emacsclient time to shut down after receiving an error string.
++      * emacs-lisp/bytecomp.el (byte-compile-from-buffer):
++      Remove obsolete use of binary-overwrite-mode (Bug#7001).
+  
+  2010-10-03  Glenn Morris  <rgm@gnu.org>
+  
+       * obsolete/x-menu.el: Remove file, obsolete since 21.1
+  
+       * textmodes/rst.el (rst-font-lock-keywords-function):
+       Drop Emacs 20 code.
+  
+       * textmodes/artist.el (artist-replace-char): Drop Emacs 20 code.
+  
+       * printing.el: Drop Emacs 20 code.
+  
+       * calendar/appt.el (appt-delete): Don't autoload it (you can't use it
+       without having used appt.el already).
+  
+       * subr.el (make-local-hook): Remove function obsolete since 21.1.
+       * progmodes/cc-mode.el (make-local-hook): Don't do cc-bytecomp stuff.
+       (c-basic-common-init, c-font-lock-init): Only call make-local-hook on
+       XEmacs.
+       * progmodes/cc-styles.el (make-local-hook): Don't do cc-bytecomp stuff.
+       (c-make-styles-buffer-local): Only call make-local-hook on XEmacs.
+  
+       * ps-def.el (leading-code-private-22, charset-bytes, charset-id)
+       (charset-width, find-charset-region, chars-in-region, forward-point)
+       (encode-coding-string, coding-system-p, ccl-execute-on-string)
+       (define-ccl-program, multibyte-string-p, string-make-multibyte):
+       Remove compatibility cruft (none of these are used by ps*.el).
+  
+  2010-10-03  Kevin Rodgers  <kevin.d.rodgers@gmail.com>
+  
+       * subr.el (booleanp): Return t instead of a list (Bug#7086).
+  
+  2010-10-03  Chong Yidong  <cyd@stupidchicken.com>
+  
 -      * time.el (display-time-file-nonempty-p): Use
 -      `remote-file-name-inhibit-cache'.
++      * server.el (server-process-filter, server-return-error):
++      Give emacsclient time to shut down after receiving an error string.
+  
+  2010-10-02  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * files.el (remote-file-name-inhibit-cache): New defcustom.
+  
 -      * net/tramp.el (tramp-completion-reread-directory-timeout): Fix
 -      docstring.
++      * time.el (display-time-file-nonempty-p):
++      Use `remote-file-name-inhibit-cache'.
+  
 -      (tramp-handle-vc-registered): Use
 -      `remote-file-name-inhibit-cache'.
 -      (tramp-open-connection-setup-interactive-shell): Call
 -      `tramp-cleanup-connection' directly.
++      * net/tramp.el (tramp-completion-reread-directory-timeout):
++      Fix docstring.
+  
+       * net/tramp-cache.el (tramp-cache-inhibit-cache): Remove.
+       (tramp-get-file-property): Replace `tramp-cache-inhibit-cache' by
+       `remote-file-name-inhibit-cache'.  Check also for an integer
+       value.  Add/increase counter when `tramp-verbose' >= 10.
+       (tramp-set-file-property): Add/increase counter when
+       `tramp-verbose' >= 10.
+  
+       * net/tramp-cmds.el (tramp-cleanup-all-connections)
+       (tramp-cleanup-all-buffers): Set tramp-autoload cookie.
+       (tramp-bug): Set tramp-autoload cookie.  Report all interned
+       tramp-* variables.  Report also `remote-file-name-inhibit-cache'.
+       (tramp-reporter-dump-variable): Fix docstring.  Mask non-7bit
+       characters only in strings.
+  
+       * net/tramp-compat.el (remote-file-name-inhibit-cache): Define due
+       to backward compatibility.
+  
+       * net/tramp-sh.el (tramp-handle-verify-visited-file-modtime)
+       (tramp-handle-file-name-all-completions)
++      (tramp-handle-vc-registered): Use `remote-file-name-inhibit-cache'.
++      (tramp-open-connection-setup-interactive-shell):
++      Call `tramp-cleanup-connection' directly.
+  
+  2010-10-02  Glenn Morris  <rgm@gnu.org>
+  
+       * emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.
+  
+       * subr.el (char-bytes): Remove obsolete function.
+  
+       * isearch.el (isearch-return-char): Remove obsolete function.
+  
+       * mouse.el: No longer provide mldrag.
+       (mldrag-drag-mode-line, mldrag-drag-vertical-line):
+       Remove obsolete aliases.
+  
+       * comint.el (comint-kill-output): Remove obsolete alias.
+  
+       * composite.el (decompose-composite-char): Remove obsolete function.
+       * ps-def.el (decompose-composite-char): Remove unused function.
+  
+       * iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.
+  
+       * outline.el (outline-visible): Remove obsolete function.
+  
+       * term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
+       * faces.el (internal-find-face, internal-get-face)
+       (frame-update-faces, frame-update-face-colors)
+       (x-frob-font-weight, x-frob-font-slant)
+       (internal-frob-font-weight, internal-frob-font-slant)
+       (x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
+       (x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
+       (x-make-font-bold-italic): Remove functions and aliases, obsolete
+       since Emacs 21.1.
+       * emulation/viper-util.el (viper-get-face):
+       * obsolete/lucid.el (find-face, get-face): Use facep.
+       * vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
+       Remove unused functions.
+       * vc/ediff-util.el (ediff-submit-report): Doc fix.
+  
+       * emacs-lisp/bytecomp.el (byte-compile-file): Use kill-emacs-hook to
+       delete tempfile if interrupted during compilation.
+  
+  2010-10-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/tls.el (tls-starttls-switches): Give up on using starttls with
+       gnutls-cli.
+       (tls-program): Add --insecure to be consistent with the defaults from
+       openssl s_client.  Now all three commands are insecure.
+  
+  2010-10-01  Eli Zaretskii  <eliz@gnu.org>
+  
+       * makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake)
+       (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH)
+       (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets.
+  
+  2010-10-01  Glenn Morris  <rgm@gnu.org>
+  
+       * obsolete/sc.el: Remove file.
+  
+       * files.el (temporary-file-directory): On darwin, also try
+       DARWIN_USER_TEMP_DIR (see discussion in bug#7135).
+  
+  2010-10-01  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * server.el (server-start): Revert part of 2010-09-30T02:53:26Z!lekktu@gmail.com.
+       Let's not break compatibility gratuitously, shall we?
+  
+  2010-09-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/tls.el (tls-starttls-switches): New variable.
+       (tls-find-starttls-argument): Use it.
+       (open-tls-stream): Ditto.
+  
+       * net/netrc.el (netrc-credentials): Return the value of the "default"
+       entry.
+       (netrc-machine): Ditto.
+  
+  2010-09-30  Eli Zaretskii  <eliz@gnu.org>
+  
+       * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
+  
+  2010-09-30  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * server.el (server-start): Don't write pid to the authentication file.
+       (server-create-tty-frame): Don't send pid.
+       (server-process-filter): Send pid at the start of every connection.
+  
+  2010-09-30  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/diary-lib.el (view-diary-entries, list-diary-entries)
+       (show-all-diary-entries): Remove obsolete function aliases.
+  
+       * calendar/appt.el (appt-issue-message, appt-visible, appt-msg-window):
+       Remove options, obsolete since 22.1.
+       (appt-display-format, appt-display-message): Remove
+       backwards-compatibility code.
+       (appt-check): No longer check appt-issue-message.
+       (appt-make-list): No longer autoload it.  Doc fix.  No longer
+       activate the package.
+  
+  2010-09-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/gnutls.el (starttls-negotiate): Loop a lot longer.
+       (starttls-negotiate): Just call boot, and let the handshake be
+       triggered from the read loop.
+  
+  2010-09-29  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/diary-lib.el (diary-list-entries): Use temp buffers when
+       not displaying the diary.
+       (diary-add-to-list): If no buffer-file-name, fall back to diary-file.
+       * calendar/appt.el (appt-check): No longer need to kill diary.
+  
+       * calendar/diary-lib.el (diary-list-entries): Move the
+       "Preparing..." message entirely here.
+       (diary-simple-display, diary-fancy-display): Move "Preparing..."
+       messages to diary-list-entries.
+       (diary-include-other-diary-files): Use LIST-ONLY rather than setting
+       diary-display-function.
+  
+       * calendar/diary-lib.el (diary-include-other-diary-files):
+       Trap some recursive includes.
+  
+       * calendar/appt.el (appt-activate): Check diary file.
+  
+  2010-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
+  
+       * pgg.el (pgg-run-at-time-1): Define it for XEmacs only; fix if/else
+       construction.
+  
+       * calendar/time-date.el: No need to require cl for Emacs 21.
+  
+  2010-09-28  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/appt.el (appt-check): Minor simplification.
+  
+  2010-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
+  
+       * mail/sendmail.el (mail-citation-prefix-regexp): Remove "}" from
+       citation prefix.
+  
+  2010-09-27  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       Avoid infinite recursion on erroneous lambda form.  (Bug#7114)
+  
+  2010-09-27  Kenichi Handa  <handa@m17n.org>
+  
+       * tar-mode.el (tar-header-block-tokenize): Decode filenames in
+       "ustar" format.
+  
+  2010-09-27  Kenichi Handa  <handa@m17n.org>
+  
+       * international/mule.el (define-coding-system): Docstring fixed.
+  
+       * international/mule-diag.el (describe-character-set): Use princ
+       with proper print-length and print-level instead of insert.
+  
+  2010-09-27  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * window.el (walk-windows): Doc fix (bug#7105).
+  
+  2010-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/float-sup.el (e): Remove.
+  
+  2010-09-27  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * net/gnutls.el (gnutls, gnutls-log-level): Add group and custom
+       variable.
+       (starttls-negotiate): Use it.
+  
+  2010-09-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/gnutls.el (starttls-negotiate): Stop looping when we get a t
+       back.
+  
+  2010-09-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/pcase.el (pcase-let*, pcase-let): plet -> pcase-let.
+  
+  2010-09-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/gnutls.el (starttls-negotiate): Avoid the cl.el decf function.
+  
+       * net/netrc.el (netrc-store-data): New function.
+  
+  2010-09-26  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * net/gnutls.el: GnuTLS glue code to set up a connection.
+  
+  2010-09-25  Julien Danjou  <julien@danjou.info>
+  
+       * notifications.el: Call dbus-register-signal only if it is bound.
+  
+  2010-09-25  Glenn Morris  <rgm@gnu.org>
+  
+       * 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/esh-cmd.el, eshell/esh-ext.el, eshell/esh-io.el:
+       * eshell/esh-mode.el, eshell/esh-proc.el, eshell/esh-test.el:
+       * eshell/esh-util.el, eshell/esh-var.el:
+       Remove leading `*' from docs of faces and defcustoms.
+  
+  2010-09-25  Ulrich Mueller  <ulm@gentoo.org>
+  
+       * eshell/em-ls.el (eshell-ls-archive-regexp):
+       * eshell/esh-util.el (eshell-tar-regexp):
+       * ibuffer.el (ibuffer-compressed-file-name-regexp):
+       * info.el (Info-suffix-list):
+       * international/mule.el (auto-coding-alist):
+       * woman.el (woman-file-regexp, woman-file-compression-regexp):
+       * progmodes/etags.el (tags-compression-info-list):
+       Support xz compression.
+  
+  2010-09-25  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * files.el (get-free-disk-space): Don't assume the "df" output
+       columns line up (Bug#6995).
+  
+  2010-09-25  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * finder.el (finder-unknown-keywords):
+       * progmodes/gdb-mi.el (gdb-jsonify-buffer, gdb-running-threads-count):
+       * progmodes/etags.el (tags-table-including): Fix typos in docstrings.
+  
+  2010-09-25  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * server.el (server-start): Revert part of 2010-08-08 change.  Using
+       address 127.0.0.1 for local host is now done in Fmake_network_process.
+  
+  2010-09-24  Glenn Morris  <rgm@gnu.org>
+  
+       * image-mode.el, progmodes/compile.el, progmodes/gud.el:
+       * progmodes/mixal-mode.el, textmodes/bibtex-style.el:
+       * textmodes/css-mode.el, textmodes/dns-mode.el:
+       Move autoloaded auto-mode-alist entries to files.el.
+       * files.el (auto-mode-alist): Move entries here.
+  
+  2010-09-23  Glenn Morris  <rgm@gnu.org>
+  
+       * isearch.el (isearch-lazy-highlight-cleanup)
+       (isearch-lazy-highlight-initial-delay)
+       (isearch-lazy-highlight-interval)
+       (isearch-lazy-highlight-max-at-a-time, isearch-lazy-highlight-face):
+       * net/net-utils.el (ipconfig-program-options):
+       Move aliases to options before the associated definitions.
+  
+  2010-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * newcomment.el (comment-normalize-vars): Better test validity of
+       comment-end-skip.
+  
+  2010-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/float-sup.el (float-pi): New name for `pi'.
+       (float-e): New name for `e'.
+       (degrees-to-radians, radians-to-degrees):
+       * calendar/solar.el (solar-longitude):
+       * calculator.el (calculator-registers, calculator-funcall):
+       * textmodes/artist.el (artist-spray-random-points):
+       * play/bubbles.el (bubbles--initialize-images): Use new names.
+  
+  2010-09-23  Eric M. Ludlam  <zappo@gnu.org>
+  
+       Update to CEDET 1.0's version of EIEIO.
+  
+       * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key):
+       New function.
+       (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it.
+       (eieio-default-eval-maybe): Eval val instead of unquoting only.
+       (class-precedence-list): If class is nil, return nil.
+       (eieio-generic-call): If class of first input arg is nil, don't
+       look up static methods, and do check for primary methods.
+       (initialize-instance): See if the default needs to be evaluated
+       during the constructor.
+       (eieio-perform-slot-validation-for-default): Don't do the check
+       for values that will eventually be evaluated.
+       (eieio-eval-default-p): New function.
+       (eieio-default-eval-maybe): Use it.
+  
+  2010-09-23  Jan Moringen  <jan.moringen@uni-bielefeld.de>
+  
+       * emacs-lisp/eieio.el (eieio-defclass): Allow :c3
+       method-invocation-order.
+       (eieio-c3-candidate, eieio-c3-merge-lists): New functions.
+       (eieio-class-precedence-dfs): Compute class precedence list using
+       dfs algorithm.
+       (eieio-class-precedence-bfs): Compute class precedence list using
+       bfs algorithm.
+       (eieio-class-precedence-c3): Compute class precedence list using
+       c3 algorithm.
+       (class-precedence-list): New function.
+       (eieiomt-method-list, eieiomt-sym-optimize): Use it.
+       (inconsistent-class-hierarchy): New error symbol.
+       (call-next-method): Stow the replacement argument list for future
+       call-next-method invocations.
+  
+  2010-09-23  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/appt.el (appt-check): If not displaying the diary,
+       use (diary 1) to only get the entries we need.
+       (appt-make-list): Sort diary-list-entries, if we cannot guarantee
+       that it is in day order.  (Bug#7019)
+  
+       * calendar/appt.el (appt-check): Rather than showing the diary,
+       just turn off invisible display, and only if needed.
+  
+       * calendar/diary-lib.el (diary-list-entries): Doc fix.  (Bug#7019)
+  
+  2010-09-23  Glenn Morris  <rgm@gnu.org>
+  
+       * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar):
+       (byte-compile-defvar, byte-compile-cl-warn):
+       Start warnings with lower-case, like the majority.
+  
+       * files.el (auto-mode-alist): Add .xa, .xw, .xsw for ld-script-mode.
+  
+       * files.el (auto-mode-alist): Prefer C-mode for .xs.  (Bug#7071)
+  
+       * progmodes/ld-script.el (auto-mode-alist): Move to files.el.
+       * files.el (auto-mode-alist): Move ld-script entries here, further down
+       the list.
+  
+       * vc/add-log.el: Don't require timezone when compiling.
+       (timezone-make-date-sortable): Autoload it.
+       (change-log-sortable-date-at): Don't require timezone.
+       Use `ignore-errors'.
+  
+       * comint.el (comint-use-prompt-regexp-instead-of-fields):
+       Move alias before definition, so it does not need autoloading.
+  
+       * emulation/crisp.el, emulation/cua-base.el, emulation/edt.el:
+       * emulation/pc-select.el, emulation/vip.el, international/iso-ascii.el:
+       * international/kkc.el, international/ogonek.el, mail/feedmail.el:
+       * net/browse-url.el, net/eudc-vars.el, net/net-utils.el:
+       * net/rcompile.el, net/rlogin.el, textmodes/enriched.el:
+       * textmodes/makeinfo.el, textmodes/page-ext.el, textmodes/picture.el:
+       * textmodes/refer.el, textmodes/spell.el, textmodes/table.el:
+       * textmodes/tex-mode.el, textmodes/two-column.el:
+       Remove leading `*' from docs of defcustoms etc.
+  
+  2010-09-23  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * net/netrc.el (netrc-parse): Remove encrypt.el mentions.
+  
+  2010-09-22  Dan Christensen  <jdc@uwo.ca>
+  
+       * calendar/time-date.el (date-to-time): Try using parse-time-string
+       first before using the slower timezone-make-date-arpa-standard.
+  
+  2010-09-22  Katsumi Yamaoka  <yamaoka@jpl.org>
+  
+       * calendar/time-date.el (format-seconds): Comment fix.
+  
+  2010-09-22  Glenn Morris  <rgm@gnu.org>
+  
+       * emacs-lisp/package.el (package-menu-mode): `revert-buffer-function'
+       is not automatically buffer-local.
+  
+  2010-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/smie.el (smie-debug--describe-cycle): Fix typo.
+       (smie-indent-comment): Be more careful with comment-start-skip.
+       (smie-indent-comment-close, smie-indent-comment-inside): New funs.
+       (smie-indent-functions): Use them.
+  
+  2010-09-21  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/ange-ftp.el (ange-ftp-skip-msgs): Add "^504 ..." message.
+  
+  2010-09-21  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * menu-bar.el (menu-bar-set-tool-bar-position): customize-set-variable
+       tool-bar-position.  Don't modify frame parameters here.
+       (menu-bar-options-save): Add tool-bar-position.
+  
+       * tool-bar.el (tool-bar-position): New defcustom (Bug#7049).
+  
+  2010-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * textmodes/reftex-parse.el (reftex-what-macro)
+       (reftex-context-substring): Let-bind forward-sexp-function to nil
+       since we don't need/want to treat \begin...\end as a block (bug#7053).
+  
+       * emacs-lisp/lisp.el (up-list): Don't do nothing silently.
+  
+       * simple.el (blink-matching-open): Use syntax-class.
+  
+       * progmodes/pascal.el (pascal-mode): Use define-derived-mode.
+       Set invisibility spec for pascal's outline mode.
+       (pascal-outline-change): Clean up calling convention.
+       (pascal-show-all, pascal-hide-other-defuns): Update callers.
+  
+       * progmodes/prolog.el (prolog-smie-forward-token)
+       (prolog-smie-backward-token): New functions.
+       (prolog-mode-variables): Use them to parse "!," correctly.
+       Set up smie-blink-matching for ".".
+  
+       * textmodes/ispell.el (ispell-start, ispell-end): Rename from `start'
+       and `end'.
+       (ispell-region, ispell-process-line): Update users.
+  
+       * textmodes/reftex-parse.el (reftex-what-macro): Don't hardcode
+       point-min==1.
+  
+       * textmodes/ispell.el: Fix commenting convention.
+       (ispell-parse-output): Simplify, use push.
+       (ispell-region): Use match-string-no-properties.
+       (ispell-begin-skip-region-regexp): Use mapconcat to simplify.
+       (ispell-minor-mode): Use define-minor-mode.
+       (ispell-message): Remove unused var `skip-regexp'.
+       (ispell-add-per-file-word-list): Use dynamic let-binding.
+       Try and use the proper comment marker.
+  
+       * mail/sendmail.el: Fix commenting convention.
+       (sendmail-send-it): Use line-beginning-position.
+  
+       * help-fns.el (describe-variable): Add original value, if applicable.
+  
+  2010-09-20  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * subr.el (y-or-n-p): Remove leftover code from 2010-09-17T13:30:30Z!monnier@iro.umontreal.ca.
+  
+       * emacs-lisp/smie.el (smie-indent--hanging-p): Use `smie-indent--bolp'.
+  
+  2010-09-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/smie.el (smie-bnf-precedence-table): Improve error message.
+       (smie-debug--prec2-cycle, smie-debug--describe-cycle): New functions.
+       (smie-prec2-levels): Use them to better diagnose precedence cycles.
+       (smie-blink-matching-check): Don't signal a mismatch if car is t.
+       (smie-blink-matching-open): Rewrite to remove assumptions, so that
+       something like "." can also be a closer.
+       (smie--associative-p, smie-indent--hanging-p, smie-indent--bolp)
+       (smie-indent--offset, smie-indent--offset-rule, smie-indent--column):
+       Rename internal functions to use "--".  Update callers.
+  
+       * frame.el (make-frame-names-alist): Don't list frames on other displays.
+  
+       * fringe.el (fringe-styles): New var.
+       (fringe-mode, fringe-query-style): Use it.
+  
+  2010-09-18  Michael R. Mauger  <mmaug@yahoo.com>
+  
+       * progmodes/sql.el: Version 2.8
+       (sql-login-params): Update widget structure; changes still needed.
+       (sql-product-alist): Add :list-all and :list-table features for
+       SQLite, Postgres and MySQL products.
+       (sql-redirect): Handle default value.
+       (sql-execute, sql-execute-feature): New functions.
+       (sql-read-table-name): New function.
+       (sql-list-all, sql-list-table): New functions.  User API.
+       (sql-mode-map, sql-interactive-mode-map): Add key definitions
+       for above functions.
+       (sql-mode-menu, sql-interactive-mode-menu): Add menu definitions
+       for above functions.
+       (sql-postgres-login-params): Add user and database defaults.
+       (sql-buffer-live-p): Bug fix.
+       (sql-product-history): New variable.
+       (sql-read-product): New function. Use it.
+       (sql-set-product, sql-product-interactive): Use it.
+       (sql-connection-history): New variable.
+       (sql-read-connection): New function.  Use it.
+       (sql-connect): New function.
+       (sql-for-each-login): Redesign function interface.
+       (sql-make-alternate-buffer-name, sql-save-connection): Use it.
+       (sql-get-login-ext, sql-get-login): Use it.  Handle default values.
+       (sql-comint): Check for program.  Existing live buffer.
+       (sql-comint-postgres): Add port parameter.
+  
+  2010-09-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/warnings.el: Fix commenting convention.
+       (display-warning): Use special mode and make the buffer read-only.
+  
+  2010-09-18  Jay Belanger  <jay.p.belanger@gmail.com>
+  
+       * calc/calc-prog.el (calc-read-parse-table-part): Don't "fix" the
+       empty string when it follows a repeated or optional pattern.
+  
+  2010-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * indent.el (indent-according-to-mode): Apply syntax-propertize.
+       (indent-region): Use indent-according-to-mode.
+  
+  2010-09-18  Eli Zaretskii  <eliz@gnu.org>
+  
+       * fringe.el (fringe-mode): Doc fix.
+  
+  2010-09-14  Kan-Ru Chen  <kanru@kanru.info>  (tiny change)
+  
+       * textmodes/nroff-mode.el (nroff-view): Kill old buffer before
+       refreshing the preview buffer.
+  
+  2010-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * textmodes/tex-mode.el (tex-syntax-propertize-rules)
+       (latex-syntax-propertize-rules): New consts; replace
+       tex-font-lock-syntactic-keywords.
+       (tex-env-mark, latex-env-before-change): New functions.
+       (latex-electric-env-pair-mode): New minor mode.
+       (tex-font-lock-verb): Change arguments; do move point.
+       (tex-font-lock-syntactic-face-function): Adjust to new verbatim
+       representation as a form of comment.
+       (tex-font-lock-keywords-1): Remove workaround, now unneeded.
+       (doctex-syntax-propertize-rules): New const; replaces
+       doctex-font-lock-syntactic-keywords.
+       (tex-common-initialization, doctex-mode): Use syntax-propertize-rules.
+  
+       * progmodes/fortran.el (fortran--font-lock-syntactic-keywords): Remove.
+       (fortran-make-syntax-propertize-function): New function; replaces
+       fortran-font-lock-syntactic-keywords.
+       (fortran-mode): Use it.
+       (fortran-line-length): Use it.  Improve interactive spec.
+  
+       * emacs-lisp/syntax.el (syntax-propertize-precompile-rules): New macro.
+       (syntax-propertize-rules): Add var-ref case.  Fix offset computation
+       when adding surrounding \(..\).
+  
+       * progmodes/js.el (js-mode): Fix last change (bug#7054).
+  
+  2010-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * obsolete/old-whitespace.el (whitespace-rescan-files-in-buffers):
+       Use with-current-buffer.
+  
+       * isearch.el (isearch-face): Rename from `isearch'.
+       (isearch-highlight): Use new name.
+  
+  2010-09-17  Eli Zaretskii  <eliz@gnu.org>
+  
+       * fringe.el (fringe-mode, fringe-query-style): Use 4 pixels, not
+       5, for `half' width fringes.  (Bug#6933)
+  
+  2010-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar)
+       (byte-compile-defvar): "foo/bar" does not lack a prefix.
+  
+       * subr.el (y-or-n-p): Add the "(y or n)" that was lost somehow.
+  
+  2010-09-17  Stephen Berman  <stephen.berman@gmx.net>
+  
+       * dframe.el (dframe-reposition-frame-emacs): Use tool-bar-pixel-width
+       in calculating new frame position.  Add more space between new and
+       parent on the left (Bug#7048).
+  
+  2010-09-17  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp-compat.el (tramp-compat-with-temp-message): Make it a
+       defmacro.
+  
+  2010-09-16  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * mail/sendmail.el: Add "*unsent mail*" to same-window-buffer-names.
+  
+       * term/x-win.el (x-cut-buffer-or-selection-value): Define as
+       obsolete alias for x-selection-value.
+  
+       * ido.el (ido-make-buffer-list): Fix error in 2010-08-22 merge.
+  
+  2010-09-16  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp-cmds.el (tramp-cleanup-connection): Set tramp-autoload
+       cookie.
+  
+  2010-09-15  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp-compat.el (tramp-compat-with-temp-message)
+       (tramp-compat-font-lock-add-keywords, tramp-compat-process-get)
+       (tramp-compat-process-put): New defuns.
+  
+       * net/tramp.el (top):
+       * net/tramp-gvfs.el (top):
+       * net/tramp-cache.el (top): Use `tramp-compat-font-lock-add-keywords'.
+  
+       * net/tramp.el (tramp-progress-reporter-update):
+       Use `tramp-compat-funcall'.
+  
+       * net/tramp.el (tramp-process-actions):
+       * net/tramp-gvfs.el (tramp-handle-vc-registered):
+       * net/tramp-sh.el (tramp-gvfs-handler-askquestion)
+       (tramp-get-remote-stat, tramp-get-remote-readlink):
+       Use `tramp-compat-with-temp-message'.
+  
+       * net/tramp-sh.el (top): Require 'cl.
+       (tramp-handle-start-file-process): Use `tramp-compat-process-get'.
+       (tramp-open-connection-setup-interactive-shell):
+       Use `tramp-compat-process-put'.
+  
+  2010-09-15  Alan Mackenzie  <acm@muc.de>
+  
+       * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Correct the
+       indentation.
+       (c-forward-<>-arglist-recur): Fix an infinite recursion.
+  
+  2010-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/bytecomp.el (byte-compile-warning-types): New type
+       `lexical' for warnings related to lexical scoping.
+       (byte-compile-file-form-defvar, byte-compile-defvar): Warn about
+       global vars which don't have a prefix and could hence affect lexical
+       scoping in unrelated files.
+  
+  2010-09-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/imap.el: Revert back to version
+       cb950ed8ff3e0f40dac437a51b269166f9ffb60d, since some of the changes
+       seem problematic.
+  
+  2010-09-14  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * obsolete/old-whitespace.el (whitespace-unload-function):
+       Explicitly pass `obarray' to `unintern' to avoid a warning.
+  
+  2010-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/byte-run.el (set-advertised-calling-convention):
+       Add `when' argument.  Update callers.
+  
+       * subr.el (unintern): Declare the obarray arg mandatory.
+  
+  2010-09-14  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/diary-lib.el (diary-list-entries-hook, diary-sort-entries):
+       Doc fixes.
+  
+       * calendar/diary-lib.el (diary-included-files): New variable.
+       (diary-list-entries): Maybe initialize diary-included-files.
+       (diary-include-other-diary-files): Append to diary-included-files.
+       * calendar/appt.el (appt-update-list): Also check the members of
+       diary-included-files.  (Bug#6999)
+       (appt-check): Doc fix.
+  
+  2010-09-14  David Reitter  <david.reitter@gmail.com>
+  
+       * simple.el (line-move-visual): Do not truncate goal column to
+       integer size.  (Bug#7020)
+  
+  2010-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * repeat.el (repeat): Allow repeating when the last event is a click.
+       Suggested by Drew Adams (bug#6256).
+  
+  2010-09-14  Sascha Wilde  <wilde@sha-bang.de>
+  
+       * vc/vc-hg.el (vc-hg-state,vc-hg-working-revision):
+       Replace setting HGRCPATH to "" by some less invasive --config options.
+  
+  2010-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * font-lock.el (font-lock-beginning-of-syntax-function):
+       Mark as obsolete.
+  
+  2010-09-14  Glenn Morris  <rgm@gnu.org>
+  
+       * menu-bar.el (menu-bar-options-save): Fix handling of menu-bar
+       and tool-bar modes.  (Bug#6211)
+       (menu-bar-mode): Move setting of standard-value after the
+       minor-mode definition, otherwise it seems to have no effect.
+  
+  2010-09-14  Masatake YAMATO  <yamato@redhat.com>
+  
+       * progmodes/antlr-mode.el (antlr-font-lock-additional-keywords):
+       Fix typo.  (Bug#6976)
+  
+  2010-09-14  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+  
+       * whitespace.el: Allow cleaning up blanks without blank
+       visualization (Bug#6651).  Adjust help window for
+       whitespace-toggle-options (Bug#6479).  Allow to use fill-column
+       instead of whitespace-line-column (from EmacsWiki).  New version 13.1.
+       (whitespace-style): Add new value 'face.  Adjust docstring.
+       (whitespace-space, whitespace-hspace, whitespace-tab):
+       Adjust foreground property face.
+       (whitespace-line-column): Adjust docstring and type declaration.
+       (whitespace-style-value-list, whitespace-toggle-option-alist)
+       (whitespace-help-text): Adjust const initialization.
+       (whitespace-toggle-options, global-whitespace-toggle-options):
+       Adjust docstring.
+       (whitespace-display-window, whitespace-interactive-char)
+       (whitespace-style-face-p, whitespace-color-on): Adjust code.
+       (whitespace-help-scroll): New fun.
+  
+  2010-09-14  Katsumi Yamaoka  <yamaoka@jpl.org>
+  
+       * calendar/time-date.el (format-seconds): Comment fix.
+  
+  2010-09-13  Michael R. Mauger  <mmaug@yahoo.com>
+  
+       * progmodes/sql.el: Version 2.7.
+       (sql-buffer-live-p): Improve detection.
+       (sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
+       (sql-set-sqli-buffer): Use it.
+       (sql-product-interactive): Run `sql-set-sqli-hook'.
+       (sql-rename-buffer): Code cleanup.
+       (sql-redirect, sql-redirect-value): New functions.  More to come.
+  
+  2010-09-13  Juanma Barranquero  <lekktu@gmail.com>
+  
+       Port tramp-related Makefile changes of 2010-09-08T14:42:54Z!michael.albinus@gmx.de, 2010-09-13T15:17:01Z!michael.albinus@gmx.de to Windows.
+       * makefile.w32-in (LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el.
+       (TRAMP_SRC): New macro.
+       ($(lisp)/net/tramp-loaddefs.el): New target.
+  
+  2010-09-13  Michael Albinus  <michael.albinus@gmx.de>
+  
+       Major code cleanup.  Split tramp.el into tramp.el and tramp-sh.el.
+  
+       * Makefile.in (TRAMP_SRC): Remove tramp-fish.el.  Add tramp-sh.el.
+  
+       * net/tramp.el (top): Don't show loading message.  Require just
+       'tramp-compat, everything else is required there.
+       Use `ignore-errors' where appropriate.
+       (tramp-inline-compress-start-size, tramp-copy-size-limit)
+       (tramp-terminal-type, tramp-end-of-output)
+       (tramp-initial-end-of-output, tramp-completion-function-alist-rsh)
+       (tramp-completion-function-alist-ssh)
+       (tramp-completion-function-alist-telnet)
+       (tramp-completion-function-alist-su)
+       (tramp-completion-function-alist-putty, tramp-remote-path)
+       (tramp-remote-process-environment, tramp-sh-extra-args)
+       (tramp-actions-before-shell, tramp-uudecode)
+       (tramp-perl-file-truename, tramp-perl-file-name-all-completions)
+       (tramp-perl-file-attributes)
+       (tramp-perl-directory-files-and-attributes)
+       (tramp-perl-encode-with-module, tramp-perl-decode-with-module)
+       (tramp-perl-encode, tramp-perl-decode)
+       (tramp-vc-registered-read-file-names, tramp-file-mode-type-map)
+       (tramp-file-name-handler-alist, tramp-make-tramp-temp-file)
+       (tramp-handle-make-symbolic-link, tramp-handle-load)
+       (tramp-handle-file-name-as-directory)
+       (tramp-handle-file-name-directory)
+       (tramp-handle-file-name-nondirectory, tramp-handle-file-truename)
+       (tramp-handle-file-exists-p, tramp-handle-file-attributes)
+       (tramp-do-file-attributes-with-ls)
+       (tramp-do-file-attributes-with-perl)
+       (tramp-do-file-attributes-with-stat)
+       (tramp-handle-set-visited-file-modtime)
+       (tramp-handle-verify-visited-file-modtime)
+       (tramp-handle-set-file-modes, tramp-handle-set-file-times)
+       (tramp-set-file-uid-gid, tramp-remote-selinux-p)
+       (tramp-handle-file-selinux-context)
+       (tramp-handle-set-file-selinux-context)
+       (tramp-handle-file-executable-p, tramp-handle-file-readable-p)
+       (tramp-handle-file-newer-than-file-p, tramp-handle-file-modes)
+       (tramp-handle-file-directory-p, tramp-handle-file-regular-p)
+       (tramp-handle-file-symlink-p, tramp-handle-file-writable-p)
+       (tramp-handle-file-ownership-preserved-p)
+       (tramp-handle-directory-file-name, tramp-handle-directory-files)
+       (tramp-handle-directory-files-and-attributes)
+       (tramp-do-directory-files-and-attributes-with-perl)
+       (tramp-do-directory-files-and-attributes-with-stat)
+       (tramp-handle-file-name-all-completions)
+       (tramp-handle-file-name-completion, tramp-handle-add-name-to-file)
+       (tramp-handle-copy-file, tramp-handle-copy-directory)
+       (tramp-handle-rename-file, tramp-do-copy-or-rename-file)
+       (tramp-do-copy-or-rename-file-via-buffer)
+       (tramp-do-copy-or-rename-file-directly)
+       (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-handle-make-directory, tramp-handle-delete-directory)
+       (tramp-handle-delete-file)
+       (tramp-handle-dired-recursive-delete-directory)
+       (tramp-handle-dired-compress-file, tramp-handle-dired-uncache)
+       (tramp-handle-insert-directory)
+       (tramp-handle-unhandled-file-name-directory)
+       (tramp-handle-expand-file-name)
+       (tramp-handle-substitute-in-file-name)
+       (tramp-handle-executable-find, tramp-process-sentinel)
+       (tramp-handle-start-file-process, tramp-handle-process-file)
+       (tramp-handle-call-process-region, tramp-handle-shell-command)
+       (tramp-handle-file-local-copy, tramp-handle-file-remote-p)
+       (tramp-handle-insert-file-contents)
+       (tramp-handle-insert-file-contents-literally)
+       (tramp-handle-find-backup-file-name)
+       (tramp-handle-make-auto-save-file-name, tramp-handle-write-region)
+       (tramp-vc-registered-file-names, tramp-handle-vc-registered)
+       (tramp-sh-file-name-handler, tramp-vc-file-name-handler)
+       (tramp-maybe-send-script, tramp-set-auto-save, tramp-run-test)
+       (tramp-run-test2, tramp-find-executable, tramp-set-remote-path)
+       (tramp-find-file-exists-command, tramp-open-shell)
+       (tramp-find-shell, tramp-barf-if-no-shell-prompt)
+       (tramp-open-connection-setup-interactive-shell)
+       (tramp-local-coding-commands, tramp-remote-coding-commands)
+       (tramp-find-inline-encoding, tramp-call-local-coding-command)
+       (tramp-inline-compress-commands, tramp-find-inline-compress)
+       (tramp-compute-multi-hops, tramp-maybe-open-connection)
+       (tramp-send-command, tramp-wait-for-output)
+       (tramp-send-command-and-check, tramp-barf-unless-okay)
+       (tramp-send-command-and-read, tramp-mode-string-to-int)
+       (tramp-convert-file-attributes, tramp-check-cached-permissions)
+       (tramp-file-mode-from-int, tramp-file-mode-permissions)
+       (tramp-shell-case-fold, tramp-make-copy-program-file-name)
+       (tramp-method-out-of-band-p, tramp-local-host-p)
+       (tramp-get-remote-path, tramp-get-remote-tmpdir)
+       (tramp-get-ls-command, tramp-get-ls-command-with-dired)
+       (tramp-get-test-command, tramp-get-test-nt-command)
+       (tramp-get-file-exists-command, tramp-get-remote-ln)
+       (tramp-get-remote-perl, tramp-get-remote-stat)
+       (tramp-get-remote-readlink, tramp-get-remote-trash)
+       (tramp-get-remote-id, tramp-get-remote-uid, tramp-get-remote-gid)
+       (tramp-get-local-uid, tramp-get-local-gid)
+       (tramp-get-inline-compress, tramp-get-inline-coding): Move to
+       tramp-sh.el.
+       (tramp-methods, tramp-default-method-alist)
+       (tramp-default-user-alist, tramp-foreign-file-name-handler-alist):
+       Move initialization to tramp-sh.el.
+       (tramp-temp-name-prefix): Make it a defconst.
+       (tramp-dissect-file-name): Don't check anymore for multi-hop
+       methods.
+       (tramp-debug-outline-regexp): Add a docstring.
+       (tramp-debug-outline-level): Rename from `tramp-outline-level'.
+       (tramp-get-debug-buffer): Use it.
+  
+       * net/tramp-cache.el (top): Set tramp-autoload cookie for
+       initialization forms.
+       (tramp-set-connection-property): Don't protect `tramp-message'
+       call, it isn't necessary any longer.
+       (tramp-dump-connection-properties): Use `ignore-errors'.
+  
+       * net/tramp-compat.el (top): Require 'advice, 'format-spec,
+       'password-cache and 'auth-source.
+  
+       * net/tramp-gvfs.el (top):
+       * net/tramp-smb.el (top): Require 'tramp-sh.
+  
+       * net/tramp-gw.el (tramp-gw-open-network-stream): Use `ignore-errors'.
+  
+       * net/tramp-sh.el: New file, derived from tramp.el.
+       (top): Initialize `tramp-methods', `tramp-default-method-alist',
+       `tramp-default-user-alist', `tramp-foreign-file-name-handler-alist'.
+       Remove "scp1_old", "scp2_old", "ssh1_old", "ssh2_old".
+       Use `ignore-errors' where appropriate.
+       (tramp-sh-file-name-handler-alist): Rename from
+       `tramp-file-name-handler-alist'.
+       (tramp-send-command-and-check): Return t or nil.  Remove all
+       `zerop' checks, where called.
+       (tramp-handle-set-file-modes)
+       (tramp-do-copy-or-rename-file-directly)
+       (tramp-handle-delete-directory, tramp-handle-delete-file)
+       (tramp-maybe-send-script): Use `tramp-barf-unless-okay'.
+       (tramp-sh-file-name-handler, tramp-send-command-and-check)
+       (tramp-get-remote-ln): Set tramp-autoload cookie.
+  
+       * net/tramp-fish.el: Remove file.
+  
+  2010-09-13  Daiki Ueno  <ueno@unixuser.org>
+  
+       * epa-file.el (epa-file-insert-file-contents): If visiting, bind
+       buffer-file-name to avoid file-locking.  (Bug#7026)
+  
+  2010-09-13  Julien Danjou  <julien@danjou.info>
+  
+       * notifications.el (notifications-notify): Add support for
+       image-path and sound-name.
+       (notifications-specification-version): Add this variable.
+  
+  2010-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * subr.el (y-or-n-p): New function, moved from src/fns.c; use read-key.
+  
+  2010-09-12  Leo  <sdl.web@gmail.com>
+  
+       * net/rcirc.el (rcirc-server-commands, rcirc-client-commands)
+       (rcirc-completion-start): New variables.
+       (rcirc-nick-completions): Rename to rcirc-completions.
+       (rcirc-nick-completion-start-offset): Delete.
+       (rcirc-completion-at-point): New function for constructing
+       completion data for both nicks and irc commands.  Add to
+       completion-at-point-functions in rcirc mode.
+       (rcirc-complete): Rename from rcirc-nick-complete; use
+       rcirc-completion-at-point.
+       (defun-rcirc-command): Update rcirc-client-commands.
+  
+  2010-09-11  Glenn Morris  <rgm@gnu.org>
+  
+       * emacs-lisp/bytecomp.el (byte-compile-file): Create .elc files
+       atomically, to avoid parallel build errors.  (Bug#4196)
+  
+  2010-09-11  Michael R. Mauger  <mmaug@yahoo.com>
+  
+       * progmodes/sql.el: Version 2.6
+       (sql-dialect): Synonym for "sql-product".
+       (sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
+       (sql-set-sqli-buffer, sql-show-sqli-buffer, sql-interactive-mode):
+       Set "sql-buffer" to buffer name not buffer object so multiple sql
+       interactive buffers work properly.  Reverts misguided changes in
+       earlier work.
+       (sql-comint): Make sure different buffer name is used if "*SQL*"
+       buffer is for a different product.
+       (sql-make-alternate-buffer-name): Fix bug with "sql-database"
+       login param.
+       (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
+       (sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
+       (sql-db2, sql-linter, sql-product-interactive, sql-rename-buffer):
+       Accept new buffer name or prompt for one.
+       (sql-port): Default to zero.
+       (sql-comint-mysql): Handle "sql-port" as a numeric.
+       (sql-port-history): Delete unused variable.
+       (sql-get-login): Default "sql-port" to a number.
+       (sql-product-alist): Correct Postgres prompt and terminator regexp.
+       (sql-sqlite-program): Dynamically detect presence of "sqlite" or
+       "sqlite3" executables.
+       (sql-sqlite-login-params): Add "*.sqlite[23]?" database name pattern.
+       (sql-buffer-live-p): New function.
+       (sql-mode-menu, sql-send-string): Use it.
+       (sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
+       syntax pattern.
+       (sql-mode-postgres-font-lock-keywords): Support Postgres V9.
+       (sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.
+  
+  2010-09-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/netrc.el (netrc-credentials): New convenience function.
+  
+  2010-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun
+       to replace texinfo-font-lock-syntactic-keywords.
+       (texinfo-mode): Use it.
+  
+       * textmodes/tex-mode.el (tex-common-initialization, doctex-mode):
+       Use syntax-propertize-function.
+  
+       * textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to
+       replace sgml-font-lock-syntactic-keywords.
+       (sgml-mode): Use it.
+  
+       * textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare
+       since we don't use it.
+  
+       * textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function.
+  
+       * progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function
+       if available.
+       (vhdl-fontify-buffer): Adjust.
+  
+       * progmodes/tcl.el (tcl-syntax-propertize-function): New var to
+       replace tcl-font-lock-syntactic-keywords.
+       (tcl-mode): Use it.
+  
+       * progmodes/simula.el (simula-syntax-propertize-function): New var to
+       replace simula-font-lock-syntactic-keywords.
+       (simula-mode): Use it.
+  
+       * progmodes/sh-script.el (sh-st-symbol): Remove.
+       (sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg.
+       (sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove.
+       (sh-font-lock-quoted-subshell): Assume we've already matched $(.
+       (sh-font-lock-paren): Set syntax-multiline.
+       (sh-font-lock-syntactic-keywords): Remove.
+       (sh-syntax-propertize-function): New function to replace it.
+       (sh-mode): Use it.
+  
+       * progmodes/ruby-mode.el (ruby-here-doc-beg-re):
+       Define while compiling.
+       (ruby-here-doc-end-re, ruby-here-doc-beg-match)
+       (ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
+       (syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p)
+       (ruby-here-doc-find-end, ruby-here-doc-beg-syntax)
+       (ruby-here-doc-end-syntax): Only define when
+       syntax-propertize is not available.
+       (ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc):
+       New functions.
+       (ruby-in-ppss-context-p): Update to new syntax of heredocs.
+       (electric-indent-chars): Silence bytecompiler.
+       (ruby-mode): Use prog-mode, syntax-propertize-function, and
+       electric-indent-chars.
+  
+       * progmodes/python.el (python-syntax-propertize-function): New var to
+       replace python-font-lock-syntactic-keywords.
+       (python-mode): Use it.
+       (python-quote-syntax): Simplify and adjust to new use.
+  
+       * progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to
+       replace perl-font-lock-syntactic-keywords.
+       (perl-syntax-propertize-special-constructs): New fun to replace
+       perl-font-lock-special-syntactic-constructs.
+       (perl-font-lock-syntactic-face-function): New fun.
+       (perl-mode): Use it.
+  
+       * progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function
+       to replace octave-font-lock-close-quotes.
+       (octave-syntax-propertize-function): New function to replace
+       octave-font-lock-syntactic-keywords.
+       (octave-mode): Use it.
+  
+       * progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var;
+       replaces mixal-font-lock-syntactic-keywords.
+       (mixal-mode): Use it.
+  
+       * progmodes/make-mode.el (makefile-syntax-propertize-function):
+       New var; replaces makefile-font-lock-syntactic-keywords.
+       (makefile-mode): Use it.
+       (makefile-imake-mode): Adjust.
+  
+       * progmodes/js.el (js--regexp-literal): Define while compiling.
+       (js-syntax-propertize-function): New var; replaces
+       js-font-lock-syntactic-keywords.
+       (js-mode): Use it.
+  
+       * progmodes/gud.el (gdb-script-syntax-propertize-function): New var;
+       replaces gdb-script-font-lock-syntactic-keywords.
+       (gdb-script-mode): Use it.
+  
+       * progmodes/fortran.el (fortran-mode): Use syntax-propertize-function.
+       (fortran--font-lock-syntactic-keywords): New var.
+       (fortran-line-length): Update syntax-propertize-function and
+       fortran--font-lock-syntactic-keywords.
+  
+       * progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function.
+  
+       * progmodes/cfengine.el (cfengine-mode):
+       Use syntax-propertize-function.
+       (cfengine-font-lock-syntactic-keywords): Remove.
+  
+       * progmodes/autoconf.el (autoconf-mode):
+       Use syntax-propertize-function.
+       (autoconf-font-lock-syntactic-keywords): Remove.
+  
+       * progmodes/ada-mode.el (ada-set-syntax-table-properties)
+       (ada-after-change-function, ada-initialize-syntax-table-properties)
+       (ada-handle-syntax-table-properties): Only define when
+       syntax-propertize is not available.
+       (ada-mode): Use syntax-propertize-function.
+  
+       * font-lock.el (font-lock-syntactic-keywords): Make obsolete.
+       (font-lock-fontify-syntactic-keywords-region): Move handling of
+       font-lock-syntactically-fontified to...
+       (font-lock-default-fontify-region): ...here.
+       Let syntax-propertize-function take precedence.
+       (font-lock-fontify-syntactically-region): Cal syntax-propertize.
+  
+       * emacs-lisp/syntax.el (syntax-propertize-function)
+       (syntax-propertize-chunk-size, syntax-propertize--done)
+       (syntax-propertize-extend-region-functions): New vars.
+       (syntax-propertize-wholelines, syntax-propertize-multiline)
+       (syntax-propertize--shift-groups, syntax-propertize-via-font-lock)
+       (syntax-propertize): New functions.
+       (syntax-propertize-rules): New macro.
+       (syntax-ppss-flush-cache): Set syntax-propertize--done.
+       (syntax-ppss): Call syntax-propertize.
+  
+       * emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups.
+  
+  2010-09-10  Agustín Martín  <agustin.martin@hispalinux.es>
+  
+       * textmodes/ispell.el (ispell-init-process): Improve comments.
+       XEmacs compatibility changes regarding (add-hook) 'local option
+       and (set-process-query-on-exit-flag).
+  
+  2010-09-09  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp-cache.el (tramp-parse-connection-properties):
+       Set tramp-autoload cookie.
+  
+  2010-09-09  Glenn Morris  <rgm@gnu.org>
+  
+       * image.el (imagemagick-types-inhibit): Add :type, :version, :group.
+       (imagemagick-register-types): Doc fix.
+  
+  2010-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * progmodes/octave-mod.el (electric-indent-chars): Silence bytecomp.
+  
+       * progmodes/js.el (require): Require is already "eval-and-compile".
+       (js--re-search-forward): Avoid `eval'.  Preserve the error data.
+       (js--re-search-backward): Use js--re-search-forward.
+  
+       * progmodes/fortran.el (fortran-line-length): Don't recompute
+       syntactic keywords redundantly a second time.
+  
+       * progmodes/ada-mode.el: Replace "(set '" with setq.
+       (ada-mode): Simplify.
+       (ada-create-case-exception, ada-adjust-case-interactive)
+       (ada-adjust-case-region, ada-format-paramlist, ada-indent-current)
+       (ada-search-ignore-string-comment, ada-move-to-start)
+       (ada-move-to-end): Use with-syntax-table.
+  
+       * font-lock.el (save-buffer-state): Remove `varlist' arg.
+       (font-lock-unfontify-region, font-lock-default-fontify-region):
+       Update usage correspondingly.
+       (font-lock-fontify-syntactic-keywords-region):
+       Set parse-sexp-lookup-properties buffer-locally here.
+       (font-lock-fontify-syntactically-region): Remove unused `ppss' arg.
+  
+       * simple.el (blink-matching-open): Don't burp if we can't find a match.
+  
+  2010-09-08  Glenn Morris  <rgm@gnu.org>
+  
+       * emacs-lisp/bytecomp.el (byte-compile-report-ops):
+       Error if not compiled with -DBYTE_CODE_METER.
+  
+       * emacs-lisp/bytecomp.el (byte-recompile-directory):
+       Ignore dir-locals-file.
+  
+  2010-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * progmodes/compile.el (compilation-error-regexp-alist-alist):
+       Not a const.
+       (compilation-error-regexp-alist-alist): Rule out ": " in file names
+       for the `gnu' messages.
+       (compilation-set-skip-threshold): New command.
+       (compilation-start): Use \' rather than $.
+       (compilation-forget-errors): Use clrhash.
+  
+  2010-09-08  Agustín Martín  <agustin.martin@hispalinux.es>
+  
+       * textmodes/ispell.el (ispell-valid-dictionary-list):
+       Simplify logic.
+  
+  2010-09-08  Michael Albinus  <michael.albinus@gmx.de>
+  
+       Migrate to Tramp 2.2.  Rearrange load dependencies.
+       (Bug#1529, Bug#5448, Bug#5705)
+  
+       * Makefile.in (TRAMP_DIR, TRAMP_SRC): New variables.
+       ($(TRAMP_DIR)/tramp-loaddefs.el): New target.
+       (LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el.
+  
+       * net/tramp.el (top): Remove all other tramp-* loads except
+       tramp-compat.el.  Remove all changes to tramp-unload-hook for
+       other tramp-* packages.  Rearrange defun order.  Change calls of
+       `tramp-compat-call-process', `tramp-compat-decimal-to-octal',
+       `tramp-compat-octal-to-decimal' to new function names.
+       (tramp-terminal-type, tramp-initial-end-of-output)
+       (tramp-methods, tramp-foreign-file-name-handler-alist)
+       (tramp-tramp-file-p, tramp-completion-mode-p)
+       (tramp-send-command-and-check, tramp-get-remote-path)
+       (tramp-get-remote-tmpdir, tramp-get-remote-ln)
+       (tramp-shell-quote-argument): Set tramp-autoload cookie.
+       (with-file-property, with-connection-property): Move to
+       tramp-cache.el.
+       (tramp-local-call-process, tramp-decimal-to-octal)
+       (tramp-octal-to-decimal): Move to tramp-compat.el.
+       (tramp-handle-shell-command): Do not require 'shell.
+       (tramp-compute-multi-hops): No special handling for tramp-gw-*
+       symbols.
+       (tramp-unload-tramp): Do not call `tramp-unload-file-name-handlers'.
+  
+       * net/tramp-cache.el (top): Require 'tramp.  Add to
+       `tramp-unload-hook'.
+       (tramp-cache-data, tramp-get-file-property)
+       (tramp-set-file-property, tramp-flush-file-property)
+       (tramp-flush-directory-property, tramp-get-connection-property)
+       (tramp-set-connection-property, tramp-flush-connection-property)
+       (tramp-cache-print, tramp-list-connections): Set tramp-autoload
+       cookie.
+       (with-file-property, with-connection-property): New defuns, moved
+       from tramp.el.
+       (tramp-flush-file-function): Use `with-parsed-tramp-file-name'
+       macro.
+  
+       * net/tramp-cmds.el (top): Add to `tramp-unload-hook'.
+       (tramp-version): Set tramp-autoload cookie.
+  
+       * net/tramp-compat.el (top): Require 'tramp-loaddefs.  Remove all
+       changes to tramp-unload-hook for other tramp-* packages.  Add to
+       `tramp-unload-hook'.
+       (tramp-compat-decimal-to-octal, tramp-compat-octal-to-decimal)
+       (tramp-compat-call-process): New defuns, moved from tramp.el.
+  
+       * net/tramp-fish.el (top) Require just 'tramp.  Add objects to
+       `tramp-methods' and `tramp-foreign-file-name-handler-alist'.  Add
+       to `tramp-unload-hook'.  Change call of
+       `tramp-compat-decimal-to-octal' to new function name.
+       (tramp-fish-method): Make it a defconst.
+       (tramp-fish-file-name-p): Make it a defsubst.
+       (tramp-fish-method, tramp-fish-file-name-handler)
+       (tramp-fish-file-name-p): Set tramp-autoload cookie.
+  
+       * net/tramp-ftp.el (top) Add objects to `tramp-methods' and
+       `tramp-foreign-file-name-handler-alist'.  Add to
+       `tramp-unload-hook'.
+       (tramp-ftp-method): Make it a defconst.
+       (tramp-ftp-file-name-p): Make it a defsubst.
+       (tramp-ftp-method, tramp-ftp-file-name-handler)
+       (tramp-ftp-file-name-p): Set tramp-autoload cookie.
+  
+       * net/tramp-gvfs.el (top) Add objects to `tramp-methods' and
+       `tramp-foreign-file-name-handler-alist'.  Add to
+       `tramp-unload-hook'.  Change checks, whether package can be
+       loaded.
+       (tramp-gvfs-file-name-p): Make it a defsubst.
+       (tramp-gvfs-methods, tramp-gvfs-file-name-handler)
+       (tramp-gvfs-file-name-p): Set tramp-autoload cookie.
+       (tramp-gvfs-handle-file-directory-p): New defun.
+       (tramp-gvfs-file-name-handler-alist): Use it.
+  
+       * net/tramp-gw.el (top) Add objects to `tramp-methods' and
+       `tramp-foreign-file-name-handler-alist'.  Add to
+       `tramp-unload-hook'.
+       (tramp-gw-tunnel-method, tramp-gw-default-tunnel-port)
+       (tramp-gw-socks-method, tramp-gw-default-socks-port): Make it a
+       defconst.
+       (tramp-gw-tunnel-method, tramp-gw-socks-method)
+       (tramp-gw-open-connection): Set tramp-autoload cookie.
+  
+       * net/tramp-imap.el (top) Require just 'tramp.  Add objects to
+       `tramp-methods' and `tramp-foreign-file-name-handler-alist'.  Add
+       to `tramp-unload-hook'.  Change checks, whether package can be
+       loaded.
+       (tramp-imap-file-name-p): Make it a defsubst.
+       (tramp-imap-method, tramp-imaps-method)
+       (tramp-imap-file-name-handler)
+       (tramp-imap-file-name-p): Set tramp-autoload cookie.
+  
+       * net/tramp-smb.el (top) Require just 'tramp.  Add objects to
+       `tramp-methods' and `tramp-foreign-file-name-handler-alist'.  Add
+       to `tramp-unload-hook'.  Change checks, whether package can be
+       loaded.  Change call of `tramp-compat-decimal-to-octal' to new
+       function name.
+       (tramp-smb-tunnel-method): Make it a defconst.
+       (tramp-smb-file-name-p): Make it a defsubst.
+       (tramp-smb-method, tramp-smb-file-name-handler)
+       (tramp-smb-file-name-p): Set tramp-autoload cookie.
+  
+       * net/tramp-uu.el (top) Add to `tramp-unload-hook'.
+       (tramp-uuencode-region): Set tramp-autoload cookie.
+  
+       * net/trampver.el (top) Add to `tramp-unload-hook'.
+       (tramp-version, tramp-bug-report-address): Set tramp-autoload
+       cookie.  Update release number.
+  
+  2010-09-07  Agustín Martín  <agustin.martin@hispalinux.es>
+  
+       * textmodes/ispell.el (ispell-start-process): Make sure original
+       arg list is properly initialized (Bug#6993, Bug#6994).
+  
+  2010-09-06  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
+  
+       * files.el (directory-abbrev-alist): Use \` as default regexp.
+  
+       * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in special
+       chars like - or ] (bug#6984).
+       (rx-any-condense-range): Explode 2-char ranges.
+  
+  2010-09-06  Glenn Morris  <rgm@gnu.org>
+  
+       * desktop.el (desktop-path): Bump :version after 2009-09-15 change.
+  
+  2010-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * textmodes/bibtex.el:
+       * proced.el: Update to new email for Roland Winkler <winkler@gnu.org>.
+  
+  2010-09-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/imap.el (imap-message-map): Remove optional buffer parameter,
+       since no callers use it.
+       (imap-message-get): Ditto.
+       (imap-message-put): Ditto.
+       (imap-mailbox-map): Ditto.
+       (imap-mailbox-put): Ditto.
+       (imap-mailbox-get): Ditto.
+       (imap-mailbox-get): Revert last change for this function.
+  
+  2010-09-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/imap.el (imap-fetch-safe): Remove function, and alter all
+       callers to use `imap-fetch' instead.  According to the comments, this
+       should be safe, since all other IMAP clients use the 1:* syntax.
+       (imap-enable-exchange-bug-workaround): Remove.
+       (imap-debug): Remove -- doesn't seem very useful.
+  
+  2010-09-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * net/imap.el (imap-log): New convenience function used throughout
+       instead of repeating the same code all over the place.
+  
+  2010-09-05  David De La Harpe Golden  <david@harpegolden.net>
+  
+       * mouse.el (mouse-save-then-kill): Save region to kill-ring
+       when mouse-drag-copy-region is non-nil (Bug#6956).
+  
+  2010-09-05  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * dired.el (dired-ls-sorting-switches, dired-sort-by-name-regexp):
+       Improve regexps (Bug#6987).
+       (dired-sort-toggle): Search more robustly for -t flag.
+  
+       * files.el (get-free-disk-space): Search more robustly for
+       "available" column.  Suggested by Ehud Karni
+       <ehud@unix.mvs.co.il>.
+  
+  2010-09-05  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * international/uni-bidi.el:
+       * international/uni-category.el:
+       * international/uni-combining.el:
+       * international/uni-decimal.el:
+       * international/uni-mirrored.el:
+       * international/uni-name.el: Regenerate.
+  
+  2010-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * electric.el (electric-indent-post-self-insert-function):
+       Don't reindent with a sloppy indentation function.
+  
+       * emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch
+       border case in change-log-mode.
+  
+  2010-09-04  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * progmodes/compile.el (compilation-error-regexp-alist-alist):
+       Remove ruby regexp; handle Ruby errors with gcc-include and gnu.
+       Recognize leading tab in gcc-include regexp.  Ignore names with
+       leading "from" or "in" in gnu regexp (Bug#6937).
+  
+  2010-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       Avoid global recursive calls to kill-buffer-hooks; fit into 80 cols.
+       * textmodes/ispell.el (ispell-process-buffer-name): Remove.
+       (ispell-start-process): Avoid setq and simplify logic.
+       (ispell-init-process): Setup kill-buffer-hook locally when needed.
+       (kill-buffer-hook): Don't use it globally with code that uses
+       expand-file-name since that may call kill-buffer via
+       code_conversion_restore.
+  
+  2010-09-04  Noorul Islam K M  <noorul@noorul.com>  (tiny change)
+  
+       * emacs-lisp/package.el (package-directory-list): Only call
+       file-name-nondirectory on a string.
+  
+  2010-09-02  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/package.el (package--download-one-archive):
+       Ensure that archive-contents is valid before saving it.
+       (package-activate-1, package-mark-obsolete, define-package)
+       (package-compute-transaction, package-list-maybe-add): Use push.
+  
+  2010-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       Use SMIE's blink-paren for octave-mode.
+       * progmodes/octave-mod.el (octave-font-lock-close-quotes):
+       Backslashes do not escape single-quotes, single-quotes do.
+       (octave-block-else-regexp, octave-block-end-regexp)
+       (octave-block-match-alist): Remove.
+       (octave-smie-bnf-table): New var, with old content.
+       (octave-smie-op-levels): Use it.
+       (octave-smie-closer-alist): New var.
+       (octave-mode): Use it.  Setup smie-blink-matching and electric-indent.
+       (octave-blink-matching-block-open): Remove.
+       (octave-reindent-then-newline-and-indent, octave-electric-semi)
+       (octave-electric-space): Let self-insert-command run expand-abbrev and
+       blink parens.
+  
+       * electric.el (electricity): New group.
+       (electric-indent-chars): New var.
+       (electric-indent-post-self-insert-function): New fun.
+       (electric-indent-mode): New minor mode.
+       (electric-pair-skip-self): New custom.
+       (electric-pair-post-self-insert-function): New function.
+       (electric-pair-mode): New minor mode.
+  
+       * calc/calc-aent.el (calcAlg-blink-matching-check): New fun, to replace
+       calcAlg-blink-matching-open.
+       (calc-alg-ent-map, calc-alg-ent-esc-map): Initialize in the declaration.
+       (calc-do-alg-entry): Only touch the part of the keymap that varies.
+       Use the new blink-matching-check-function.
+  
+       Provide blink-matching support to SMIE.
+       * emacs-lisp/smie.el (smie-bnf-closer-alist): New function.
+       (smie-blink-matching-triggers, smie-blink-matching-inners): New vars.
+       (smie-blink-matching-check, smie-blink-matching-open): New functions.
+  
+       * simple.el (newline): Fix last change to properly remove itself from
+       the hook.
+  
+  2010-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * simple.el (newline): Eliminate optimization.
+       Use post-self-insert-hook to set hard-newline and things before
+       running post-self-insert-hook.
+       (blink-matching-check-mismatch): New function.
+       (blink-matching-check-function): New variable.
+       (blink-matching-open): Use them.
+       Skip back forward over prefix chars skipped by forward-sexp.
+       Don't check if the parens are backslash escaped.
+       (blink-paren-post-self-insert-function): Check backslash escaping here.
+  
+  2010-09-02  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/package.el (package-menu-mode-map):
+       Change package-menu-revert bindings to revert-buffer.
+       (package-menu-mode): Set revert-buffer-function.
+       (package-menu-revert): Doc fix.
+  
+  2010-09-02  Agustín Martín  <agustin.martin@hispalinux.es>
+  
+       * textmodes/ispell.el (ispell-init-process): Use "~/" as
+       `default-directory' unless using Ispell per-directory personal
+       dictionaries and not in a mini-buffer under XEmacs.
+       (kill-buffer-hook): Do not kill ispell process on exit when
+       `ispell-process-directory' is "~/".  (Bug#6143)
+  
+  2010-09-02  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * simple.el (kill-new): Call interprogram-cut-function with only
+       one argument.
+  
+       * term.el (term-mouse-paste): Don't call x-get-cutbuffer.
+       Remove cut buffer from error message.
+  
+       * term/x-win.el (x-select-text):
+       * term/pc-win.el (x-selection-value):
+       * term/ns-win.el (x-selection-value):
+       * eshell/em-term.el:
+       * w32-fns.el (x-get-selection-value):
+       * mouse-sel.el (mouse-sel-set-selection-function):
+       * frame.el (display-selections-p): Remove cut-buffer in documentation.
+  
+       * term/x-win.el: Update documentation for x-last-selected-text-*.
+       (x-last-selected-text-cut, x-last-selected-text-cut-encoded)
+       (x-last-cut-buffer-coding, x-cut-buffer-max): Remove.
+       (x-select-text): Remove argument PUSH, update documentation.  Remove
+       cut-buffer code.
+       (x-selection-value-internal): Was previously x-selection-value.
+       (x-selection-value): Rename from x-cut-buffer-or-selection-value.
+       Update documentation, remove cut-buffer code.  Call
+       x-selection-value-internal.
+       (x-clipboard-yank): Call x-selection-value-internal.
+       (x-initialize-window-system): Remove setting of x-cut-buffer-max.
+  
+       * term/pc-win.el (x-last-selected-text):
+       x-cut-buffer-or-selection-value renamed to x-selection-value
+       (x-select-text): Remove argument PUSH, update documentation.
+  
+       * term/ns-win.el (x-setup-function-keys, ns-last-selected-text):
+       x-cut-buffer-or-selection-value renamed to x-selection-value
+       (x-selection-value): Renamed from x-cut-buffer-or-selection-value.
+       (x-select-text): Remove argument PUSH, update documentation.
+  
+       * emacs-lisp/cl-macs.el (x-get-cutbuffer, x-get-cut-buffer): Remove.
+  
+       * w32-fns.el (x-last-selected-text):
+       x-cut-buffer-or-selection-value renamed to x-selection-value.
+       (x-cut-buffer-max): Remove.
+       (x-select-text): Remove argument PUSH, update documentation.
+  
+       * simple.el (interprogram-cut-function): Remove mention of PUSH.
+  
+       * select.el (x-get-cut-buffer, x-set-cut-buffer): Remove.
+  
+       * mouse-sel.el (mouse-sel-get-selection-function):
+       x-cut-buffer-or-selection-value renamed to x-selection-value.
+       (x-select-text): Remove optional push.
+  
+  2010-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * simple.el (blink-paren-function): Move from C to here.
+       (blink-paren-post-self-insert-function): New function.
+       (post-self-insert-hook): Use it.
+  
+       * emacs-lisp/pcase.el (pcase-split-memq):
+       Fix overenthusiastic optimisation.
+       (pcase-u1): Handle the case of a lambda pred.
+  
+  2010-08-31  Kenichi Handa  <handa@m17n.org>
+  
+       * international/mule-cmds.el (standard-display-european-internal):
+       Setup standard-display-table for 8-bit characters by storing 8-bit
+       characters in the element vector.
+  
+       * disp-table.el (standard-display-8bit):
+       Setup standard-display-table for 8-bit characters by storing 8-bit
+       characters in the element vector.
+       (standard-display-european): Likewise.
+  
+  2010-08-31  Masatake YAMATO  <yamato@redhat.com>
+  
+       * textmodes/nroff-mode.el (nroff-view): New command.
+       (nroff-mode-map): Bind it to C-c C-c.
+  
+  2010-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/smie.el (smie-down-list): New command.
+  
+       Remove old indentation and navigation code on octave-mode.
+       * progmodes/octave-mod.el (octave-mode-map): Remap down-list to
+       smie-down-list rather than add a binding for octave-down-block.
+       (octave-mark-block, octave-blink-matching-block-open):
+       Rely on forward-sexp-function.
+       (octave-fill-paragraph): Don't narrow, so you can use
+       indent-according-to-mode.
+       (octave-block-begin-regexp, octave-block-begin-or-end-regexp): Remove.
+       (octave-in-block-p, octave-re-search-forward-kw)
+       (octave-re-search-backward-kw, octave-indent-calculate)
+       (octave-end-as-array-index-p, octave-block-end-offset)
+       (octave-scan-blocks, octave-forward-block, octave-backward-block)
+       (octave-down-block, octave-backward-up-block, octave-up-block)
+       (octave-before-magic-comment-p, octave-indent-line): Remove.
+  
+  2010-08-31  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/package.el (package--read-archive-file): Just use
+       `read', to avoid copying an additional string.
+       (package-menu-mode): Set header-line-format here.
+       (package-menu-refresh, package-menu-revert): Signal an error if
+       not in the Package Menu.
+       (package-menu-package-list): New var.
+       (package--generate-package-list): Operate on the current buffer;
+       don't assume that it is *Packages*, since the user may rename it.
+       Allow persistent package listings and sort keys using
+       package-menu-package-list and package-menu-package-sort-key.
+       (package-menu--version-predicate): Fix version calculation.
+       (package-menu-sort-by-column): Don't select the window.
+       (package--list-packages): Create the *Packages* buffer.
+       Set package-menu-package-list-key.
+       (list-packages): Sorting by status is now the default.
+       (package-buffer-info): Use match-string-no-properties.
+       (define-package): Add a &rest argument for future proofing, but
+       don't use it yet.
+       (package-install-from-buffer, package-install-buffer-internal):
+       Merge into a single function, package-install-from-buffer.
+       (package-install-file): Change caller.
+  
+       * finder.el: Load finder-inf using `require'.
+       (finder-list-matches): Sorting by status is now the default.
+       (finder-compile-keywords): Simpify printing.
+  
+  2010-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt.
+       (octave-mode-map): Remove special bindings for forward/backward-block
+       and octave-backward-up-block.  Use smie-close-block.
+       (octave-continuation-marker-regexp): New var.
+       (octave-continuation-regexp): Use it.
+       (octave-operator-table, octave-smie-op-levels)
+       (octave-operator-regexp, octave-smie-indent-rules): New vars.
+       (octave-smie-backward-token, octave-smie-forward-token): New funs.
+       (octave-mode): Use SMIE.
+       (octave-close-block): Delete.
+  
+  2010-08-30  Eli Zaretskii  <eliz@gnu.org>
+  
+       * menu-bar.el (menu-bar-edit-menu) <"Paste">: Check selection in
+       CLIPBOARD, not in PRIMARY.  (Bug#6944)
+  
+  2010-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/smie.el (smie-indent-offset-rule): Let :parent take
+       a list of parents.
+       (smie-indent-column): Allow indirection through variables.
+  
+       * composite.el (save-buffer-state): Delete, unused.
+       * font-lock.el (save-buffer-state): Use with-silent-modifications.
+       (font-lock-default-fontify-region): Use with-syntax-table.
+       * jit-lock.el (with-buffer-unmodified): Remove.
+       (with-buffer-prepared-for-jit-lock): Use with-silent-modifications.
+  
+       Use `declare' in defmacros.
+       * window.el (save-selected-window):
+       * subr.el (with-temp-file, with-temp-message, with-syntax-table):
+       * progmodes/python.el (def-python-skeleton):
+       * net/dbus.el (dbus-ignore-errors):
+       * jka-cmpr-hook.el (with-auto-compression-mode):
+       * international/mule.el (with-category-table):
+       * emacs-lisp/timer.el (with-timeout):
+       * emacs-lisp/lisp-mnt.el (lm-with-file):
+       * emacs-lisp/eieio.el (with-slots):
+       * emacs-lisp/easymenu.el (easy-menu-define):
+       * emacs-lisp/debug.el (debugger-env-macro):
+       * emacs-lisp/cl-compat.el (Multiple-value-bind, Multiple-value-setq)
+       (Multiple-value-call, Multiple-value-prog1):
+       * emacs-lisp/cl-seq.el (cl-parsing-keywords, cl-check-key)
+       (cl-check-test-nokey, cl-check-test, cl-check-match): Move indent and
+       edebug rule to definition.
+       * emacs-lisp/lisp-mode.el (save-selected-window)
+       (with-current-buffer, combine-after-change-calls)
+       (with-output-to-string, with-temp-file, with-temp-buffer)
+       (with-temp-message, with-syntax-table, read-if, eval-after-load)
+       (dolist, dotimes, when, unless):
+       * emacs-lisp/byte-run.el (inline): Remove indent rule, redundant.
+  
+  2010-08-29  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * finder.el: Require `package'.
+       (finder-known-keywords): Tweak descriptions.  Retire `oop' keyword.
+       (finder-package-info): Var deleted.
+       (finder-keywords-hash, finder--builtins-alist): New vars.
+       (finder-compile-keywords): Compute package--builtins and
+       finder-keywords-hash instead of finder-keywords-hash, respecting
+       the "Package" header.
+       (finder-unknown-keywords, finder-list-matches):
+       Use finder-keywords-hash and package--list-packages.
+       (finder-mode): Don't set font-lock-defaults.
+       (finder-exit): We don't use "*Finder-package*" and "*Finder
+       Category*" buffers anymore.
+  
+       * emacs-lisp/package.el (package--builtins-base): Var deleted.
+       (package--builtins): Set default value to nil.
+       (package-initialize): Load precomputed value of package--builtins
+       from finder-inf.el.
+       (package-alist, package-compute-transaction)
+       (package-download-transaction): Improve docstring.
+       (package-read-all-archive-contents): Do not change
+       package--builtins here.
+       (list-packages): Make package-list-packages an alias for this.
+       Sort by status by default.
+       (package--list-packages): Add optional PACKAGES arg.
+       (describe-package-1): Use font-lock-face property.  For built-in
+       packages, insert file commentary.
+       (package--generate-package-list): Rename from
+       package-list-packages-internal; all callers changed.  Add optional
+       PACKAGES arg.  Add alphabetical sort fallbacks.
+       (package-menu--version-predicate, package-menu--status-predicate)
+       (package-menu--description-predicate)
+       (package-menu--name-predicate): New functions.
+  
+       * info.el (Info-finder-find-node): Search package-alist instead of
+       finder-package-info.
+  
+  2010-08-29  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * subr.el (version-regexp-alist): Don't use "a" and "b" for
+       "alpha" and "beta".
+       (version-to-list): Handle versions like "10.3d".
+  
+  2010-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/macroexp.el (macroexpand-all-1): Use pcase.
+       (macroexp-accumulate): Use `declare'.
+  
+  2010-08-27  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+  
+       * whitespace.el (whitespace-style): Adjust type declaration.
+  
+  2010-08-26  Magnus Henoch  <magnus.henoch@gmail.com>
+  
+       * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass
+       empty argument to gvfs-copy.
+  
+  2010-08-26  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to
+       handle new TRASH arg of `delete-file'.
+  
+  2010-08-26  Christian Lynbech  <christian.lynbech@tieto.com>  (tiny change)
+  
+       * net/tramp.el (tramp-handle-insert-directory): Don't use
+       `forward-word', its default syntax could be changed.
+  
+  2010-08-26  Toru TSUNEYOSHI  <t_tuneyosi@hotmail.com>
+              Michael Albinus  <michael.albinus@gmx.de>
+  
+       Implement compression for inline methods.
+  
+       * net/tramp.el (tramp-inline-compress-start-size): New defcustom.
+       (tramp-copy-size-limit): Allow also nil.
+       (tramp-inline-compress-commands): New defconst.
+       (tramp-find-inline-compress, tramp-get-inline-compress)
+       (tramp-get-inline-coding): New defuns.
+       (tramp-get-remote-coding, tramp-get-local-coding): Remove,
+       replaced by `tramp-get-inline-coding'.
+       (tramp-handle-file-local-copy, tramp-handle-write-region)
+       (tramp-method-out-of-band-p): Use `tramp-get-inline-coding'.
+  
+  2010-08-26  Noah Lavine  <noah549@gmail.com>  (tiny change)
+  
+       Detect ssh 'ControlMaster' argument automatically in some cases.
+  
+       * net/tramp.el (tramp-detect-ssh-controlmaster): New defun.
+       (tramp-default-method): Use it.
+  
+  2010-08-26  Karel Klíč  <kklic@redhat.com>
+  
+       * net/tramp.el (tramp-file-name-for-operation):
+       Add file-selinux-context.
+  
+  2010-08-26  Łukasz Stelmach  <lukasz.stelmach@iem.pw.edu.pl>  (tiny change)
+  
+       * play/cookie1.el (read-cookie): Fix off-by-one error (bug#6921).
+  
+  2010-08-26  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * simple.el (beginning-of-buffer, end-of-buffer): Doc fix
+       (Bug#6907).
+  
+  2010-08-26  Nathan Weizenbaum  <nweiz@cressida.sea.corp.google.com>  (tiny change)
+  
+       * progmodes/js.el: Make indentation more customizable (Bug#6914).
+       (js-paren-indent-offset, js-square-indent-offset)
+       (js-curly-indent-offset): New options.
+       (js--proper-indentation): Use them.
+  
+  2010-08-26  Daniel Colascione  <dan.colascione@gmail.com>
+  
+       * progmodes/sh-script.el (sh-get-indent-info): Use syntax-ppss
+       instead of inspecting font-lock properties (Bug#6916).
+  
+  2010-08-26  David Reitter  <david.reitter@gmail.com>
+  
+       * server.el (server-visit-files): Run pre-command-hook and
+       post-command-hook for each buffer while it is current (Bug#6910).
+       (server-execute): Do not run hooks here.
+  
+  2010-08-26  Michael Albinus  <michael.albinus@gmx.de>
+  
+       Sync with Tramp 2.1.19.
+  
+       * net/tramp-cmds.el (tramp-cleanup-all-connections)
+       (tramp-reporter-dump-variable, tramp-load-report-modules)
+       (tramp-append-tramp-buffers): Use `tramp-compat-funcall'.
+       (tramp-bug): Recommend setting of `tramp-verbose' to 9.
+  
+       * net/tramp-compat.el (top): Do not autoload
+       `tramp-handle-file-remote-p'.  Load tramp-util.el and tramp-vc.el
+       only when `start-file-process' is not bound.
+       (byte-compile-not-obsolete-vars): Define if not bound.
+       (tramp-compat-funcall): New defmacro.
+       (tramp-compat-line-beginning-position)
+       (tramp-compat-line-end-position)
+       (tramp-compat-temporary-file-directory)
+       (tramp-compat-make-temp-file, tramp-compat-file-attributes)
+       (tramp-compat-copy-file, tramp-compat-copy-directory)
+       (tramp-compat-delete-file, tramp-compat-delete-directory)
+       (tramp-compat-number-sequence, tramp-compat-process-running-p):
+       Use it.
+       (tramp-advice-file-expand-wildcards): Do not use
+       `tramp-handle-file-remote-p'.
+       (tramp-compat-make-temp-file): Simplify fallback implementation.
+       (tramp-compat-copy-file): Add PRESERVE-SELINUX-CONTEXT.
+       (tramp-compat-copy-tree): Remove function.
+       (tramp-compat-delete-file): New defun.
+       (tramp-compat-delete-directory): Provide implementation for older
+       Emacsen.
+       (tramp-compat-file-attributes): Handle only
+       `wrong-number-of-arguments' error.
+  
+       * net/tramp-fish.el (tramp-fish-handle-copy-file):
+       Add PRESERVE_SELINUX_CONTEXT.
+       (tramp-fish-handle-delete-file): Add TRASH arg.
+       (tramp-fish-handle-directory-files-and-attributes):
+       Do not use `tramp-fish-handle-file-attributes.
+       (tramp-fish-handle-file-local-copy)
+       (tramp-fish-handle-insert-file-contents)
+       (tramp-fish-maybe-open-connection): Use `with-progress-reporter'.
+  
+       * net/tramp-gvfs.el (top): Require url-util.
+       (tramp-gvfs-mount-point): Remove.
+       (tramp-gvfs-file-name-handler-alist): Add `file-selinux-context'
+       and `set-file-selinux-context'.
+       (tramp-gvfs-stringify-dbus-message, tramp-gvfs-send-command)
+       (tramp-gvfs-handle-file-selinux-context)
+       (tramp-gvfs-handle-set-file-selinux-context): New defuns.
+       (with-tramp-dbus-call-method): Format trace message.
+       (tramp-gvfs-handle-copy-file): Handle PRESERVE-SELINUX-CONTEXT.
+       (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file):
+       Implement backup call, when operation on local files fails.
+       Use progress reporter.  Flush properties of changed files.
+       (tramp-gvfs-handle-delete-file): Add TRASH arg.  Use
+       `tramp-compat-delete-file'.
+       (tramp-gvfs-handle-expand-file-name): Expand "~/".
+       (tramp-gvfs-handle-make-directory): Make more traces.
+       (tramp-gvfs-handle-write-region): Protect deleting tmpfile.
+       (tramp-gvfs-url-file-name): Hexify file name in url.
+       (tramp-gvfs-fuse-file-name): Take also prefix (like dav shares)
+       into account for the resulting file name.
+       (tramp-gvfs-handler-askquestion): Preserve current message, in
+       order to let progress reporter continue afterwards.  (Bug#6257)
+       Return dummy mountpoint, when the answer is "no".
+       See `tramp-gvfs-maybe-open-connection'.
+       (tramp-gvfs-handler-mounted-unmounted)
+       (tramp-gvfs-connection-mounted-p): Test also for new mountspec
+       attribute "default_location".  Set "prefix" property.
+       Handle default-location.
+       (tramp-gvfs-mount-spec): Return both prefix and mountspec.
+       (tramp-gvfs-maybe-open-connection): Test, whether mountpoint
+       exists.  Raise an error, if not (due to a corresponding answer
+       "no" in interactive questions, for example).
+       Use `tramp-compat-funcall'.
+  
+       * net/tramp-imap.el (top): Autoload `epg-make-context'.
+       (tramp-imap-handle-copy-file): Add PRESERVE-SELINUX-CONTEXT.
+       (tramp-imap-do-copy-or-rename-file)
+       (tramp-imap-handle-insert-file-contents)
+       (tramp-imap-handle-file-local-copy): Use `with-progress-reporter'.
+       (tramp-imap-handle-delete-file): Add TRASH arg.
+  
+       * net/tramp-smb.el (tramp-smb-handle-copy-file):
+       Add PRESERVE-SELINUX-CONTEXT.
+       (tramp-smb-handle-copy-file)
+       (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
+       (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
+       Use `with-progress-reporter'.
+       (tramp-smb-handle-delete-file): Add TRASH arg.
+  
+       * net/tramp.el (tramp-methods): Move hostname to the end in all
+       ssh `tramp-login-args'.  Add `tramp-async-args' attribute where
+       appropriate.
+       (tramp-verbose): Describe verbose level 9.
+       (tramp-completion-function-alist)
+       (tramp-file-name-regexp, tramp-chunksize)
+       (tramp-local-coding-commands, tramp-remote-coding-commands)
+       (with-connection-property, tramp-completion-mode-p)
+       (tramp-action-process-alive, tramp-action-out-of-band)
+       (tramp-check-for-regexp, tramp-file-name-p, tramp-equal-remote)
+       (tramp-exists-file-name-handler): Fix docstring.
+       (tramp-remote-process-environment): Use `format' instead of
+       `concat'.  Protect version string by apostroph.
+       (tramp-shell-prompt-pattern): Do not use a shy group in case of
+       XEmacs.
+       (tramp-file-name-regexp-unified)
+       (tramp-completion-file-name-regexp-unified): On W32 systems, do
+       not regard the volume letter as remote filename.  (Bug#5447)
+       (tramp-perl-file-attributes)
+       (tramp-perl-directory-files-and-attributes): Don't pass "$3".
+       (tramp-vc-registered-read-file-names): Read input as
+       here-document, otherwise the command could exceed maximum length
+       of command line.
+       (tramp-file-name-handler-alist): Add `file-selinux-context' and
+       `set-file-selinux-context'.
+       (tramp-debug-message): Add `tramp-compat-funcall' to ignored
+       backtrace functions.
+       (tramp-error-with-buffer): Don't show the connection buffer when
+       we are in completion mode.
+       (tramp-progress-reporter-update, tramp-remote-selinux-p)
+       (tramp-handle-file-selinux-context)
+       (tramp-handle-set-file-selinux-context, tramp-process-sentinel)
+       (tramp-connectable-p, tramp-open-shell, tramp-get-remote-trash):
+       New defuns.
+       (with-progress-reporter): New defmacro.
+       (tramp-debug-outline-regexp): New defconst.
+       (top, tramp-rfn-eshadow-setup-minibuffer)
+       (tramp-rfn-eshadow-update-overlay, tramp-handle-set-file-times)
+       (tramp-handle-dired-compress-file, tramp-handle-shell-command)
+       (tramp-completion-mode-p, tramp-check-for-regexp)
+       (tramp-open-connection-setup-interactive-shell)
+       (tramp-compute-multi-hops, tramp-read-passwd, tramp-clear-passwd)
+       (tramp-time-diff, tramp-coding-system-change-eol-conversion)
+       (tramp-set-process-query-on-exit-flag, tramp-unload-tramp):
+       Use `tramp-compat-funcall'.
+       (tramp-handle-make-symbolic-link): Flush file properties.
+       (tramp-handle-load, tramp-handle-file-local-copy)
+       (tramp-handle-insert-file-contents, tramp-handle-write-region)
+       (tramp-handle-vc-registered, tramp-maybe-send-script)
+       (tramp-find-shell): Use `with-progress-reporter'.
+       (tramp-do-file-attributes-with-stat): Add space in format string,
+       in order to work around a bug in pdksh.  Reported by Gilles Pion
+       <gpion@lfdj.com>.
+       (tramp-handle-verify-visited-file-modtime): Do not send a command
+       when the connection is not established.
+       (tramp-handle-set-file-times): Simplify the check for utc.
+       (tramp-handle-directory-files-and-attributes)
+       (tramp-get-remote-path): Use `copy-tree'.
+       (tramp-completion-handle-file-name-all-completions): Ensure, that
+       non remote files are still checked.  Oops.
+       (tramp-handle-copy-file, tramp-do-copy-or-rename-file):
+       Handle PRESERVE-SELINUX-CONTEXT.
+       (tramp-do-copy-or-rename-file): Add progress reporter.
+       (tramp-do-copy-or-rename-file-directly): Do not use
+       `tramp-handle-file-remote-p'.
+       (tramp-do-copy-or-rename-file-out-of-band):
+       Use `tramp-compat-delete-directory'.
+       (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-compute-multi-hops, tramp-maybe-open-connection):
+       Use `format-spec-make'.
+       (tramp-handle-delete-file): Add TRASH arg.
+       (tramp-handle-dired-uncache): Flush directory cache, not only file
+       cache.
+       (tramp-handle-expand-file-name)
+       (tramp-completion-handle-file-name-all-completions)
+       (tramp-completion-handle-file-name-completion):
+       Use `tramp-connectable-p'.
+       (tramp-handle-start-file-process): Set connection property "vec".
+       Use it, in order to invalidate file caches.  Check only for
+       `remote-tty' process property.
+       Implement tty setting.  (Bug#4604, Bug#6360)
+       (tramp-file-name-for-operation): Add `call-process-region' and
+       `set-file-selinux-context'.
+       (tramp-find-foreign-file-name-handler)
+       (tramp-advice-make-auto-save-file-name)
+       (tramp-set-auto-save-file-modes): Remove superfluous check for
+       `stringp'.  This is done inside `tramp-tramp-file-p'.
+       (tramp-file-name-handler): Trace 'quit.  Catch the error for some
+       operations when we are in completion mode.  This gives the user
+       the chance to correct the file name in the minibuffer.
+       (tramp-completion-mode-p): Use `non-essential'.
+       (tramp-handle-file-name-all-completions): Backward/ XEmacs
+       compatibility: Use `completion-ignore-case' if
+       `read-file-name-completion-ignore-case' does not exist.
+       (tramp-get-debug-buffer): Use `tramp-debug-outline-regexp'.
+       (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
+       `tramp-open-shell'.
+       (tramp-action-password): Hide password prompt before next run.
+       (tramp-process-actions): Widen connection buffer for the trace.
+       (tramp-open-connection-setup-interactive-shell): Set `remote-tty'
+       process property.  Trace stty settings if `tramp-verbose' >= 9.
+       Apply workaround for IRIX64 bug.  Move argument of last
+       `tramp-send-command' where it belongs to.
+       (tramp-maybe-open-connection): Use `async-args' and `gw-args' in
+       front of `login-args'.
+       (tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests
+       on "/dev/null" instead of "/".
+       (tramp-get-ls-command-with-dired): Make test for "--dired"
+       stronger.
+       (tramp-set-auto-save-file-modes): Adapt version check.
+       (tramp-set-process-query-on-exit-flag): Fix wrong parentheses.
+       (tramp-handle-process-file): Call the program in a subshell, in
+       order to preserve working directory.
+       (tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but
+       `tramp-remote-sh' from `tramp-methods'.
+       (tramp-get-ls-command): Make test for "--color=never" stronger.
+       (tramp-check-for-regexp): Use (forward-line 1).
+  
+       * net/trampver.el: Update release number.
+  
+  2010-08-26  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * help.el (help-map): Bind `C-h P' to describe-package.
+  
+       * menu-bar.el (menu-bar-describe-menu): Add describe-package.
+  
+       * emacs-lisp/package.el (package-refresh-contents): Catch errors
+       when downloading archives.
+       (describe-package-1): Add package commentary.
+       (package-install-button-action): New function.
+       (package-menu-mode-map): Bind ? to package-menu-describe-package.
+       (package-menu-view-commentary): Function removed.
+       (package-list-packages-internal): Hide the `package' package too.
+  
+  2010-08-25  Kenichi Handa  <handa@m17n.org>
+  
+       * language/misc-lang.el ("Arabic"): New language environment.
+       Setup composition-function-table for Arabic characters.
+  
+       * international/fontset.el (setup-default-fontset): Fix typo for
+       arabic OTF spec (fini->fina).
+  
+  2010-08-25  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * menu-bar.el (menu-bar-set-tool-bar-position): Set frame parameter
+       on all frames.
+  
+  2010-08-24  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+  
+       * whitespace.el: Allow cleaning up blanks without blank
+       visualization (Bug#6651).  Adjust help window for
+       whitespace-toggle-options (Bug#6479).  Allow to use fill-column
+       instead of whitespace-line-column (from EmacsWiki).  New version
+       13.1.
+       (whitespace-style): Added new value 'face.  Adjust docstring.
+       (whitespace-space, whitespace-hspace, whitespace-tab): Adjust
+       foreground property face.
+       (whitespace-line-column): Adjust docstring and type declaration.
+       (whitespace-style-value-list, whitespace-toggle-option-alist)
+       (whitespace-help-text): Adjust const initialization.
+       (whitespace-toggle-options, global-whitespace-toggle-options):
+       Adjust docstring.
+       (whitespace-display-window, whitespace-interactive-char)
+       (whitespace-style-face-p, whitespace-color-on): Adjust code.
+       (whitespace-help-scroll): New fun.
+  
+  2010-08-24  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/package.el (list-packages): Alias for
+       package-list-packages.
+  
+  2010-08-24  Kevin Ryde  <user42@zip.com.au>
+  
+       * textmodes/flyspell.el (flyspell-check-tex-math-command): Doc fix
+       (Bug#5651).
+  
+       * progmodes/ruby-mode.el (ruby): Add defgroup.
+  
+  2010-08-24  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * progmodes/python.el: Add Ipython support (Bug#5390).
+       (python-shell-prompt-alist)
+       (python-shell-continuation-prompt-alist): New options.
+       (python--set-prompt-regexp): New function.
+       (inferior-python-mode, run-python, python-shell): Require
+       ansi-color.  Use python--set-prompt-regexp to set the comint
+       prompt based on the Python interpreter.
+       (python--prompt-regexp): New var.
+       (python-check-comint-prompt)
+       (python-comint-output-filter-function): Use it.
+       (run-python): Use a pipe (Bug#5694).
+  
+  2010-08-24  Fabian Ezequiel Gallina  <galli.87@gmail.com>  (tiny change)
+  
+       * progmodes/python.el (python-send-region): Send a different
+       Python command if Ipython is in use.
+       (python-check-version): Use a Python command to find the version.
+  
+  2010-08-24  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * mouse.el (mouse-yank-primary): Avoid setting primary when
+       deactivating the mark (Bug#6872).
+  
+  2010-08-23  Chris Foote  <chris@foote.com.au>  (tiny change)
+  
+       * progmodes/python.el (python-block-pairs): Allow use of "finally"
+       with "else" (Bug#3991).
+  
+  2010-08-23  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/dbus.el: Accept UNIX domain sockets as bus address.
+       (top): Don't initialize `dbus-registered-objects-table' anymore,
+       this is done in dbusbind,c.
+       (dbus-check-event): Adapt test for bus.
+       (dbus-return-values-table, dbus-unregister-service)
+       (dbus-event-bus-name, dbus-introspect, dbus-register-property):
+       Adapt doc string.
+  
+  2010-08-23  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * ido.el (ido-use-virtual-buffers): Fix typo in docstring.
+  
+  2010-08-22  Juri Linkov  <juri@jurta.org>
+  
+       * simple.el (read-extended-command): New function with the logic
+       for `completing-read' moved to Elisp from `execute-extended-command'.
+       Use `function-called-at-point' in `minibuffer-default-add-function'
+       to get a command name for M-n (bug#5364, bug#5214).
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * startup.el (command-line-1): Issue warning for ignored arguments
+       --unibyte, etc (Bug#6886).
+  
+  2010-08-22  Leo  <sdl.web@gmail.com>
+  
+       * net/rcirc.el (rcirc-add-or-remove): Accept a list of elements.
+       (ignore, bright, dim, keyword): Split list of nicknames before
+       passing to rcirc-add-or-remove (Bug#6894).
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880).
+  
+  2010-08-22  Leo  <sdl.web@gmail.com>
+  
+       Fix buffer-list rename&refresh after killing a buffer in ido.
+       * ido.el: Revert Óscar's.
+       (ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh.
+       Remember the buffers at head, rather than their name.
+       * iswitchb.el (iswitchb-kill-buffer): Re-make the list.
+  
+  2010-08-22  Kirk Kelsey  <kirk.kelsey@0x4b.net>  (tiny change)
+              Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * progmodes/make-mode.el (makefile-fill-paragraph): Account for the
+       extra backslash added to each line (bug#6890).
+  
+  2010-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * subr.el (read-key): Don't echo keystrokes (bug#6883).
+  
+  2010-08-22  Glenn Morris  <rgm@gnu.org>
+  
+       * menu-bar.el (menu-bar-games-menu): Add landmark.
+  
+  2010-08-22  Glenn Morris  <rgm@gnu.org>
+  
+       * align.el (align-regexp): Make group and spacing arguments
+       use the interactive defaults when non-interactive.  (Bug#6698)
+  
+       * mail/rmail.el (rmail-forward): Replace mail-text-start with its
+       expansion, so as not to need sendmail.
+       (mail-text-start): Remove declaration.
+       (rmail-retry-failure): Require sendmail.
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * subr.el (read-key): Don't hide the menu-bar entries (bug#6881).
+  
+  2010-08-22  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * progmodes/flymake.el (flymake-start-syntax-check-process):
+       Use `start-file-process' in order to let it run also on remote hosts.
+  
+  2010-08-22  Kenichi Handa  <handa@m17n.org>
+  
+       * files.el: Add `word-wrap' as safe local variable.
+  
+  2010-08-22  Glenn Morris  <rgm@gnu.org>
+  
+       * woman.el (woman-translate): Case matters.  (Bug#6849)
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * simple.el (kill-region): Doc fix (Bug#6787).
+  
+  2010-08-22  Glenn Morris  <rgm@gnu.org>
+  
+       * calendar/diary-lib.el (diary-header-line-format):
+       Fit it to the window, not the frame.
+  
+  2010-08-22  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * subr.el (ignore-errors): Add debug declaration.
+  
+  2010-08-22  Geoff Gole  <geoffgole@gmail.com>  (tiny change)
+  
+       * whitespace.el (whitespace-color-off): Remove post-command-hook
+       locally.
+  
+  2010-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * vc/add-log.el (add-log-file-name): Don't get confused by symlinks.
+  
+  2010-08-21  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * cus-edit.el (custom-group-value-create): Add extra newline
+       before end line (Bug#6876).
+  
+  2010-08-21  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * mouse.el (mouse-save-then-kill): Don't save region to kill ring
+       when extending it.  Before killing on the second click, check if
+       the buffer is the correct one.  Doc fix.
+       (mouse-secondary-save-then-kill): Allow usage without first
+       calling mouse-start-secondary, by defaulting to point.  Don't save
+       an empty secondary selection.  Doc fix.
+  
+  2010-08-21  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+  
+       * whitespace.el: Fix slow cursor movement (Bug#6172).  Reported by
+       Christoph Groth <cwg@falma.de> and Liu Xin <x_liu@neusoft.com>.
+       New version 13.0.
+       (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp):
+       Adjust initialization.
+       (whitespace-bob-marker, whitespace-eob-marker)
+       (whitespace-buffer-changed): New vars.
+       (whitespace-cleanup, whitespace-color-on, whitespace-color-off)
+       (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp)
+       (whitespace-post-command-hook, whitespace-display-char-on):
+       Adjust code.
+       (whitespace-looking-back, whitespace-buffer-changed): New funs.
+       (whitespace-space-regexp, whitespace-tab-regexp): Fun eliminated.
+  
+  2010-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * files.el (locate-file-completion-table): Only list the .el and .elc
+       extensions if there's no other choice (bug#5955).
+  
+       * facemenu.el (facemenu-self-insert-data): New var.
+       (facemenu-post-self-insert-function, facemenu-set-self-insert-face):
+       New functions.
+       (facemenu-add-face): Use them.
+  
+       * simple.el (blink-matching-open): Obey forward-sexp-function.
+  
+  2010-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * simple.el (prog-mode-map): New var.
+       (prog-indent-sexp): New command.
+  
+       * progmodes/octave-mod.el (octave-mode-menu): Make toggle buttons.
+  
+       * progmodes/prolog.el (smie): Require.
+  
+       * emacs-lisp/smie.el (smie-default-backward-token)
+       (smie-default-forward-token): Strip properties.
+       (smie-next-sexp): Be more careful with associative operators.
+       (smie-forward-sexp-command): Generalize.
+       (smie-backward-sexp-command): Simplify.
+       (smie-closer-alist): New var.
+       (smie-close-block): New command.
+       (smie-indent-debug-log): New var.
+       (smie-indent-offset-rule): Add a few more cases.
+       (smie-indent-column): New function.
+       (smie-indent-after-keyword): Use it.
+       (smie-indent-keyword): Use it.
+       Fix up the opener code's point position.
+       (smie-indent-comment): Only applies at BOL.
+       (smie-indent-debug): New command.
+  
+       * emacs-lisp/autoload.el (make-autoload): Preload the macros's
+       declarations that are useful before running the macro.
+  
+  2010-08-18  Joakim Verona  <joakim@verona.se>
+  
+       * image.el (imagemagick-types-inhibit): New variable.
+       (imagemagick-register-types): New function.
+       * image-mode.el (image-transform-properties): New function.
+       (image-transform-set-scale, image-transform-fit-to-height)
+       (image-transform-set-rotation, image-transform-set-resize)
+       (image-transform-fit-to-width, image-transform-fit-to-height):
+       New functions.
+       (image-toggle-display-image): Support image transforms.
+  
+  2010-08-18  Katsumi Yamaoka  <yamaoka@jpl.org>
+  
+       * image.el (create-animated-image): Don't add heuristic mask to image
+       (Bug#6839).
+  
+  2010-08-18  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard):
+       Use QCLIPBOARD instead of QPRIMARY (Bug#6677).
+  
+  2010-08-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/lisp.el (up-list): Obey forward-sexp-function if set.
+  
+       Font-lock '...' strings, plus various simplifications and fixes.
+       * progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt.
+       (octave-font-lock-close-quotes): New function.
+       (octave-font-lock-syntactic-keywords): New var.
+       (octave-mode): Use it.  Set beginning-of-defun-function.
+       (octave-mode-map): Don't override the <foo>-defun commands.
+       (octave-mode-menu): Pass it directly to easy-menu-define;
+       remove (now generic) <foo>-defun commands; use info-lookup-symbol.
+       (octave-block-match-alist): Fix up last change so that
+       octave-close-block uses the more specific keyword.
+       (info-lookup-mode): Silence byte-compiler.
+       (octave-beginning-of-defun): Not interactive any more.
+       Optimize slightly.
+       (octave-end-of-defun, octave-mark-defun, octave-in-defun-p): Remove.
+       (octave-indent-defun, octave-send-defun): Use mark-defun instead.
+       (octave-completion-at-point-function): Make sure point is within
+       beg..end.
+       (octave-reindent-then-newline-and-indent):
+       Use reindent-then-newline-and-indent.
+       (octave-add-octave-menu): Remove.
+  
+  2010-08-17  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * mail/emacsbug.el (report-emacs-bug-insert-to-mailer)
+       (report-emacs-bug-can-use-xdg-email): New functions.
+       (report-emacs-bug): Set can-xdg-email to result of
+       report-emacs-bug-can-use-xdg-email.  If can-xdg-email bind
+       \C-cm to report-emacs-bug-insert-to-mailer and add help text
+       about it.
+  
+       * net/browse-url.el (browse-url-default-browser): Add cond
+       for browse-url-xdg-open.
+       (browse-url-can-use-xdg-open, browse-url-xdg-open): New functions.
+  
+  2010-08-17  Glenn Morris  <rgm@gnu.org>
+  
+       * progmodes/cc-engine.el (c-new-BEG, c-new-END)
+       (c-fontify-recorded-types-and-refs): Define for compiler.
+       * progmodes/cc-mode.el (c-new-BEG, c-new-END): Move definitions
+       before use.
+  
+       * calendar/icalendar.el (icalendar--convert-recurring-to-diary):
+       Fix format call.
+  
+  2010-08-17  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp.el (tramp-handle-make-symbolic-link): Flush file
+       properties.
+       (tramp-handle-process-file): Call the program in a subshell, in
+       order to preserve working directory.
+       (tramp-action-password): Hide password prompt before next run.
+       (tramp-process-actions): Widen connection buffer for the trace.
+  
+  2010-08-16  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
+  
+       * net/rcirc.el (rcirc-log-process-buffers): New option.
+       (rcirc-print): Use it.
+       (rcirc-generate-log-filename): New function.
+       (rcirc-log-filename-function): Change default to
+       rcirc-generate-log-filename (Bug#6828).
+  
+  2010-08-16  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * simple.el (deactivate-mark): If select-active-regions is `only',
+       only set selection for temporarily active regions.
+  
+       * cus-start.el: Change defcustom for select-active-regions.
+  
+  2010-08-15  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * mouse.el (mouse--drag-set-mark-and-point): New function.
+       (mouse-drag-track): Use LOCATION arg to push-mark.
+       Use mouse--drag-set-mark-and-point to take click-count into
+       consideration when updating point and mark (Bug#6840).
+  
+  2010-08-15  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * progmodes/compile.el (compilation-error-regexp-alist-alist):
+       Give the Ruby rule a lower priority than Gnu (Bug#6778).
+  
+  2010-08-14  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+  
+       * font-lock.el (lisp-font-lock-keywords-2):
+       Add combine-after-change-calls, condition-case-no-debug,
+       with-demoted-errors, and with-silent-modifications (Bug#6025).
+  
+  2010-08-14  Kevin Ryde  <user42@zip.com.au>
+  
+       * emacs-lisp/copyright.el (copyright-update-year)
+       (copyright-update): Temporary switch-to-buffer to ensure the
+       buffer change being queried is visible (Bug#5394).
+  
+  2010-08-14  Tom Tromey  <tromey@redhat.com>
+  
+       * progmodes/etags.el (tags-file-name): Mark safe if stringp
+       (Bug#6733).
+  
+  2010-08-14  Eli Zaretskii  <eliz@gnu.org>
+  
+       * mouse.el (mouse-yank-primary): Fix mouse-2 on MS-Windows and
+       MS-DOS.  (Bug#6689)
+  
+  2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * menu-bar.el (menu-bar-set-tool-bar-position): New function.
+       (menu-bar-showhide-tool-bar-menu-customize-enable-left)
+       (menu-bar-showhide-tool-bar-menu-customize-enable-right)
+       (menu-bar-showhide-tool-bar-menu-customize-enable-top)
+       (menu-bar-showhide-tool-bar-menu-customize-enable-bottom):
+       Call menu-bar-set-tool-bar-position.
+  
+  2010-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * progmodes/octave-mod.el (octave-mode-syntax-table): Use the new "c"
+       comment style (bug#6834).
+       * progmodes/scheme.el (scheme-mode-syntax-table):
+       * emacs-lisp/lisp-mode.el (lisp-mode-syntax-table): Remove spurious
+       "b" flag in "' 14b" syntax.
+  
+       * progmodes/octave-mod.el (octave-mode-map): Remove special bindings
+       for (un)commenting the region and performing completion.
+       (octave-mode-menu): Use standard commands for help and completion.
+       (octave-mode-syntax-table): Support %{..%} comments (sort of).
+       (octave-mode): Use define-derived-mode.
+       Set completion-at-point-functions and don't set columns.
+       Don't disable adaptive-fill-regexp.
+       (octave-describe-major-mode, octave-comment-region)
+       (octave-uncomment-region, octave-comment-indent)
+       (octave-indent-for-comment): Remove.
+       (octave-indent-calculate): Rename from calculate-octave-indent.
+       (octave-indent-line, octave-fill-paragraph): Update caller.
+       (octave-initialize-completions): No need to make an alist.
+       (octave-completion-at-point-function): New function.
+       (octave-complete-symbol): Use it.
+       (octave-insert-defun): Use define-skeleton.
+  
+       * progmodes/octave-mod.el (octave-mode): Set comment-add.
+       (octave-mode-map): Use comment-dwim (bug#6829).
+  
+  2010-08-12  Antoine Levitt  <antoine.levitt@gmail.com>  (tiny change)
+  
+       * cus-edit.el (custom-save-variables, custom-save-faces): Fix up
+       indentation of inserted comment.
+  
+  2010-08-11  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * faces.el (region): Add type gtk that uses gtk colors.
+  
+       * dynamic-setting.el (dynamic-setting-handle-config-changed-event):
+       Handle theme-name change.
+  
+  2010-08-10  Michael R. Mauger  <mmaug@yahoo.com>
+  
+       * progmodes/sql.el: Version 2.5
+       (sql-product-alist): Add :prompt-cont-regexp property for several
+       database products.
+       (sql-prompt-cont-regexp): New variable.
+       (sql-output-newline-count, sql-output-by-send):
+       New variables.  Record number of newlines in input text.
+       (sql-send-string): Handle multiple filters and count newlines.
+       (sql-send-magic-terminator): Count terminator newline.
+       (sql-interactive-remove-continuation-prompt): Filters output to
+       remove continuation prompts; one for each newline.
+       (sql-interactive-mode): Set up new variables, prompt regexp and
+       output filter.
+       (sql-mode-sqlite-font-lock-keywords): Correct some keywords.
+       (sql-make-alternate-buffer-name): Correct buffer name in edge cases.
+  
+  2010-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * emacs-lisp/pcase.el: New file.
+  
+  2010-08-10  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp.el (tramp-vc-registered-read-file-names): Read input
+       as here-document, otherwise the command could exceed maximum
+       length of command line.
+       (tramp-handle-vc-registered): Call script accordingly.
+       Reported by Toru TSUNEYOSHI <t_tuneyosi@hotmail.com>.
+  
+  2010-08-10  Kenichi Handa  <handa@m17n.org>
+  
+       * language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the
+       composable pattern.
+  
+  2010-08-09  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/package.el (package-version-split)
+       (package--version-first-nonzero, package-version-compare):
+       Functions removed.
+       (package-directory-list, package-load-all-descriptors)
+       (package--built-in, package-activate, define-package)
+       (package-installed-p, package-compute-transaction)
+       (package-read-all-archive-contents)
+       (package--add-to-archive-contents, package-buffer-info)
+       (package-tar-file-info, package-list-packages-internal):
+       Use version-to-list and version-list-*.
+  
+       * emacs-lisp/package-x.el (package-upload-buffer-internal):
+       Use version-to-list.
+       (package-upload-buffer-internal): Use version-list-<=.
+  
+  2010-08-09  Kenichi Handa  <handa@m17n.org>
+  
+       * language/hebrew.el: Exclude U+05BD (Hebrew MAQAF) from the
+       composable pattern.
+  
+  2010-08-08  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * tutorial.el (tutorial--default-keys): C-d is now bound to
+       delete-forward-char (Bug#6826).
+  
+       * mouse.el (mouse-drag-track): Remove accidentally-removed check
+       for `double' value of mouse-1-click-follows-link (Bug#6807).
+  
+  2010-08-08  Johan Bockgård  <bojohan@gnu.org>
+  
+       * replace.el (replace-highlight): Bind isearch-forward and
+       isearch-error, ensuring that highlighting is updated if the user
+       switches the search direction (Bug#6808).
+  
+       * isearch.el (isearch-lazy-highlight-forward): New var.
+       (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
+       (isearch-lazy-highlight-update): Use it.
+  
+  2010-08-08  Kenichi Handa  <handa@m17n.org>
+  
+       * international/mule.el (define-charset): Store NAME as :base property.
+       (ctext-non-standard-encodings-table): Pay attention to charset aliases.
+       (ctext-pre-write-conversion): Sort ctext-standard-encodings by the
+       current priority.  Force using the designation of the specific
+       charset by adding `charset' text property.  Improve the whole algorithm.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * emulation/pc-select.el (pc-selection-mode-hook)
+       (copy-region-as-kill-nomark, beginning-of-buffer-mark)
+       (pc-selection-mode): Fix typos in docstrings.
+  
+  2010-08-08  Kenichi Handa  <handa@m17n.org>
+  
+       * language/cyrillic.el: Don't add "microsoft-cp1251" to
+       ctext-non-standard-encodings-alist here.
+  
+       * international/mule.el (ctext-non-standard-encodings-alist):
+       Add "koi8-r" and "microsoft-cp1251".
+       (ctext-standard-encodings): New variable.
+       (ctext-non-standard-encodings-table): List only elements for
+       non-standard encodings.
+       (ctext-pre-write-conversion): Adjust for the above change.
+       Check ctext-standard-encodings.
+  
+       * international/mule-conf.el (compound-text): Doc fix.
+       (ctext-no-compositions): Doc fix.
+       (compound-text-with-extensions): Doc fix.
+  
+  2010-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * simple.el (exchange-dot-and-mark): Mark obsolete, finally.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * progmodes/which-func.el (which-func-format): Split help-echo text
+       into lines, like other mode-line tooltips.
+  
+       * server.el (server-start): When using TCP sockets, force IPv4
+       and use a literal 127.0.0.1 for localhost.  (Related to bug#6781.)
+  
+  2010-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * bindings.el (complete-symbol): Run completion-at-point as a fallback.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * term.el (term-delimiter-argument-list): Reflow docstring.
+       (term-read-input-ring, term-write-input-ring, term-send-input)
+       (term-bol, term-erase-in-display, serial-supported-or-barf):
+       Fix typos in docstrings.
+  
+  2010-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * bindings.el (function-key-map): Add a S-tab => backtab fallback.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * dabbrev.el (dabbrev-completion): Fix typo in docstring.
+  
+  2010-08-08  MON KEY  <monkey@sandpframing.com>  (tiny change)
+  
+       * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos):
+       Fix typo in docstring (bug#6747).
+  
+  2010-08-08  Leo  <sdl.web@gmail.com>
+  
+       * eshell/esh-io.el (eshell-get-target): Better detection of
+       read-only file (Bug#6762).
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * align.el (align-default-spacing): Doc fix.
+       (align-region-heuristic, align-regexp): Fix typos in docstrings.
+  
+  2010-08-08  Stephen Peters  <speters@itasoftware.com>
+  
+       * calendar/icalendar.el
+       (icalendar--split-value): Fix splitting regexp.  (Bug#6766)
+       (icalendar--get-weekday-numbers): New.
+       (icalendar--convert-recurring-to-diary): Handle multiple byday
+       values in weekly rules.  (Bug#6766)
+  
+  2010-08-08  Ulf Jasper  <ulf.jasper@web.de>
+  
+       * calendar/icalendar.el (icalendar-uid-format): Doc fix.
+       (icalendar--create-uid, icalendar-export-region)
+       (icalendar--parse-summary-and-rest): Code formatting.
+  
+  2010-08-08  Jay Belanger  <jay.p.belanger@gmail.com>
+  
+       * calc/calc.el (calc-trail-mode,calc-refresh): Use `face' property
+       to italicize headers.
+       (calc-highlight-selections-with-faces): New variable.
+       (calc-selected-face, calc-nonselected-face): New faces.
+  
+       * calc/calccomp.el (math-comp-highlight-string): Use
+       `calc-highlight-selections-with-faces' to determine how to highlight
+       sub-formulas.
+  
+       * calc/calc-sel.el (calc-show-selections): Change message to when
+       using faces to highlight selections.
+  
+  2010-08-07  Michael R. Mauger  <mmaug@yahoo.com>
+  
+       * progmodes/sql.el (sql-mode-sqlite-font-lock-keywords):
+       Add SQLite 3 keywords, functions and datatypes.
+       (sql-interactive-mode): Remove `comint-process-echoes' set to t
+       (Bug#6686).
+  
+  2010-08-07  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * simple.el (select-active-regions): Move to keyboard.c.
+       (deactivate-mark): Used saved-region-selection.
+       (select-active-region): Function removed.
+       (activate-mark, set-mark, push-mark-command)
+       (handle-shift-selection): Don't call it.
+       (keyboard-quit): Avoid adding the region to the window selection.
+  
+       * mouse.el (mouse-drag-track): Remove hacks to deal with old
+       select-active-regions implementation.
+       (mouse-yank-at-click): Doc fix.
+  
+       * cus-start.el: Add custom declaration for select-active-regions.
+  
+  2010-08-07  Eli Zaretskii  <eliz@gnu.org>
+  
+       * simple.el (delete-forward-char): Doc fix.
+  
+       * tutorial.el (help-with-tutorial): Hack safe file-local variables
+       after reading the tutorial.
+  
+  2010-08-06  Alan Mackenzie  <bug-cc-mode@gnu.org>
+  
+       * progmodes/cc-cmds.el (c-mask-paragraph, c-fill-paragraph): Fix
+       for the case that a C style comment has its delimiters alone on
+       their respective lines.
+  
+  2010-08-06  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp.el (tramp-handle-start-file-process): Set connection
+       property "vec".
+       (tramp-process-sentinel): Use it for flushing the cache.  We
+       cannot do it via the process buffer, the buffer could be deleted
+       already when running the sentinel.
+  
+  2010-08-06  Jürgen Hötzel  <juergen@archlinux.org>  (tiny change)
+  
+       * comint.el (comint-mode): Make directory tracking functions
+       functional on remote files.  (Bug#6764)
+  
+  2010-08-06  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * vc/diff-mode.el (diff-mode-shared-map): Bind g to revert-buffer.
+  
+  2010-08-05  Eli Zaretskii  <eliz@gnu.org>
+  
+       * emacs-lisp/find-gc.el (find-gc-source-files): Rename
+       unexec.c => unexcoff.c.
+  
+       * emacs-lisp/authors.el (authors-fixed-entries): Rename
+       unexec.c => unexcoff.c.
+  
+  2010-08-05  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * net/tramp.el (tramp-handle-dired-uncache): Flush directory
+       cache, not only file cache.
+       (tramp-process-sentinel): New defun.
+       (tramp-handle-start-file-process): Use it, in order to invalidate
+       file caches.
+  
+  2010-08-03  Leo  <sdl.web@gmail.com>
+  
+       * server.el (server-start): Simplify loop.
+  
+  2010-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * frame.el (screen-height, screen-width, set-screen-width)
+       (set-screen-height): Remove ancient compatibility aliases.
+  
+       * textmodes/fill.el (justify-current-line): Don't add 1 to nspaces
+       when justifying.  It seems useless and harmful for ncols=1 (bug#6738).
+  
+       * emacs-lisp/timer.el (timer-event-handler): Protect against timers
+       that change current buffer.
+  
+  2010-08-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+  
+       * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the
+       beginning of the string.  Use `string-match-p'.  (Bug#6765)
+  
+  2010-08-01  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * cus-start.el (x-gtk-use-system-tooltips): New variable.
+  
+  2010-08-01  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs-lisp/package.el (package--list-packages): Fix column alignment.
+       (package--builtins): Tweak descriptions.
+       (package-print-package): Upcase descriptions if necessary.
+       Show all built-in packages in font-lock-builtin-face.
+       (package-list-packages-internal): Omit "emacs" package.
+       Show status of built-in packages as "built-in".
+  
+  2010-07-31  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * mouse.el (mouse-save-then-kill): Doc fix.  Deactivate mark
+       before killing to preserve the primary selection (Bug#6701).
+  
+       * term/x-win.el (x-select-text): Doc fix.
+  
+  2010-07-31  Nathaniel Flath  <flat0103@gmail.com>
+  
+       Enhance Java Mode to handle Java 5.0 (Tiger) and Java 6 (Mustang).
+       The following functions were modified or created:
+  
+       * progmodes/cc-vars.el (c-offsets-alist, c-inside-block-syms)
+       (objc-font-lock-extra-types):
+       * progmodes/cc-mode.el (c-basic-common-init):
+       * progmodes/cc-langs.el (c-make-mode-syntax-table)
+       (c++-make-template-syntax-table)
+       (c-identifier-syntax-modifications, c-symbol-start, c-operators)
+       (c-<-op-cont-regexp, c->-op-cont-regexp, c-class-decl-kwds)
+       (c-brace-list-decl-kwds, c-modifier-kwds, c-prefix-spec-kwds-re)
+       (c-type-list-kwds, c-decl-prefix-re, c-opt-type-suffix-key):
+       * progmodes/cc-fonts.el (c-make-inverse-face)
+       (c-basic-matchers-after):
+       * progmodes/cc-engine.el (c-forward-keyword-clause)
+       (c-forward-<>-arglist, c-forward-<>-arglist-recur)
+       (c-forward-name, c-forward-type, c-forward-decl-or-cast-1)
+       (c-guess-continued-construct, c-guess-basic-syntax):
+  
+  2010-07-31  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * faces.el (face-all-attributes): Improve documentation (Bug#6767).
+  
+  2010-07-31  Eli Zaretskii  <eliz@gnu.org>
+  
+       * files.el (bidi-paragraph-direction): Define safe local values.
+  
+       * language/hebrew.el ("Hebrew"): Add TUTORIAL.he to
+       language-info-alist.  Remove outdated FIXME in a comment.
+  
+  2010-07-31  Alan Mackenzie  <acm@muc.de>
+  
+       * progmodes/cc-cmds.el (c-mask-paragraph): Fix bug #6688:
+       Auto-fill broken in C/C++ modes.
+  
 ++2010-07-30  Martin Rudalics  <rudalics@gmx.at>
 ++
 ++     * help.el (temp-buffer-max-height, temp-buffer-resize-mode)
 ++     (resize-temp-buffer-window): Move back from window.el to avoid
 ++     calling define-minor-mode in window.el and choke in bootstrap.
 ++
 ++2010-07-29  Martin Rudalics  <rudalics@gmx.at>
 ++
 ++     * loadup.el (top-level): Load window before files for the sake
 ++     of replace-buffer-in-windows.
 ++
 ++     * simple.el (get-next-valid-buffer, last-buffer, next-buffer)
 ++     (previous-buffer): Move to window.el.
 ++
 ++     * bindings.el (unbury-buffer): Move to window.el.
 ++
 ++     * window.el (display-buffer): Move group definition to front of
 ++     display buffer section.
 ++     (record-window-buffer, unrecord-window-buffer)
 ++     (set-window-buffer-start-and-point, switch-to-prev-buffer)
 ++     (switch-to-next-buffer): New functions.
 ++     (get-next-valid-buffer, last-buffer): Move here from simple.el.
 ++     (next-buffer): Move here from simple.el.  Call
 ++     switch-to-next-buffer.
 ++     (previous-buffer): Move here from simple.el.  Call
 ++     switch-to-prev-buffer.
 ++     (bury-buffer, quit-restore-window): Switch to previous buffer
 ++     when window cannot be deleted.
 ++     (unbury-buffer): Move here from bindings.el.
 ++     (delete-windows-on): Switch to previous buffer if window cannot
 ++     be deleted.  Unrecord buffer argument in all live windows.
 ++     (replace-buffer-in-windows): Move here from window.c.  Switch to
 ++     previous buffer if window cannot be deleted.  Unrecord argument
 ++     buffer in all live windows.
 ++     (switch-to-buffer): In doc-string warning suggest using
 ++     with-current-buffer instead of set-buffer.
 ++
   2010-07-29  Jan Djärv  <jan.h.d@swipnet.se>
   
        * menu-bar.el (menu-bar-showhide-tool-bar-menu-customize-enable-left)
        (tar-header-block-tokenize): Decode the username and groupname.
        (tar-chown-entry, tar-chgrp-entry): Encode the names (bug#4730).
   
-  2009-10-17  Chong Yidong  <cyd@stupidchicken.com>
-  
-       * cedet/srecode/srt.el:
-       * cedet/srecode/compile.el:
-       * cedet/semantic/mru-bookmark.el:
-       * cedet/semantic/debug.el:
-       * cedet/semantic/complete.el:
-       * cedet/semantic/analyze.el: Require CL when compiling.
-  
 + 2009-10-17  Eric Ludlam  <zappo@gnu.org>
 + 
-       * cedet/semantic/scope.el
-       (semantic-analyze-scoped-inherited-tag-map): Wrap calculation of
-       tmpscope so that the regular scope will continue to work.
-  
-       * cedet/semantic/idle.el (semantic-idle-tag-highlight):
-       Use semantic-idle-summary-highlight-face as the highlighting.
-  
 +      * emacs-lisp/eieio-base.el (eieio-persistent-save): If buffer
 +      contains multibyte characters, choose first applicable coding
 +      system automatically.
 + 
-       * cedet/ede/project-am.el (project-run-target): New method.
-       (project-run-target): New method.
-  
-       * cedet/ede.el (ede-target): Add run target menu item.
-       (ede-project, ede-minor-keymap): Add ede-run-target binding.
-       (ede-run-target): New function.
-       (ede-target::project-run-target): New method.
-  
-       * cedet/ede/proj.el (project-run-target): New method.
-  
-       * cedet/ede/proj-shared.el (ede-gcc-libtool-shared-compiler)
-       (ede-g++-libtool-shared-compiler): Remove SHELL.  Remove COMMANDS.
-       Add :rules.
-       (ede-proj-target-makefile-shared-object): Only libtool compilers
-       now available.  Add linkers for libtool.
-       (ede-cc-linker-libtool, ede-g++-linker-libtool): New.
-       (ede-proj-makefile-target-name): Always use .la extension.
-  
-       * cedet/ede/proj-prog.el (project-run-target): New method.
-  
-       * cedet/ede/proj-obj.el (ede-cc-linker): Rename from ede-gcc-linker.
-       (ede-g++-linker): Change Change link lines.
-  
-       * cedet/ede/pmake.el (ede-pmake-insert-variable-shared):
-       When searching for old variables, go to the end of the buffer and
-       search backward from there.
-       (ede-proj-makefile-automake-insert-subdirs)
-       (ede-proj-makefile-automake-insert-extradist): New methods.
-       (ede-proj-makefile-create): Use them.
-  
-       * cedet/ede/pconf.el (ede-proj-configure-test-required-file):
-       Force FILE to expand to the current target.  Use file-exists-p to
-       check that it exists.
-  
-       * cedet/ede/linux.el (ede-linux-version): Don't call "head".
-       (ede-linux-load): Wrap dir in file-name-as-directory.
-       Set :version slot.
-  
-       * cedet/ede/files.el (ede-get-locator-object): When enabling
-       locate, do so on "top".
-  
-       * cedet/ede/emacs.el (ede-emacs-file-existing): Wrap "dir" in
-       file-name-as-directory during compare.
-       (ede-emacs-version): Return Emacs/XEmacs differentiator.
-       Get version number from different places.  Don't call egrep.
-       (ede-emacs-load): Set :version slot.  Call file-name-as-directory
-       to set the directory.
-  
-       * cedet/ede/shell.el: New file.
-  
-       * cedet/inversion.el (inversion-decoders): Allow for stray . in
-       alpha/beta variants.
-  
   2009-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
   
        * international/mule-cmds.el (select-safe-coding-system): If the file
        * term/w32-win.el (setup-default-fontset, set-fontset-font):
        Remove unused declarations.
   
-  2009-10-01  Juanma Barranquero  <lekktu@gmail.com>
-  
-       * cedet/semantic/wisent/javat-wy.el
-       (wisent-java-tags-wy--keyword-table): Use \000 instead of literal ^@.
-  
-  2009-09-30  Juanma Barranquero  <lekktu@gmail.com>
-  
-       * cedet/srecode/expandproto.el: Fix provide statement.
-  
 + 2009-09-30  Eric Ludlam  <zappo@gnu.org>
 + 
 +      * emacs-lisp/eieio.el (boolean-p): Delete.
 + 
-  2009-09-30  Sascha Wilde  <wilde@sha-bang.de>
-  
-       * cedet/ede/srecode.el: Fix provide statement.
-  
   2009-09-30  Glenn Morris  <rgm@gnu.org>
   
-       * cedet/ede/proj.el (ede-proj-target-makefile-miscelaneous):
-       * cedet/ede/proj-aux.el (ede-aux-source):
-       * cedet/ede/proj-misc.el (ede-proj-target-makefile-miscelaneous)
-       (ede-misc-source):
-       * cedet/semantic/mru-bookmark.el (semantic-mrub-completing-read)
-       (semantic-mrub-switch-tags): Fix doc typos.
-  
-       * cedet/semantic/db-global.el (data-debug-new-buffer)
-       (data-debug-insert-thing): Remove unneeded declarations (one broken).
-       (semanticdb-enable-gnu-global-databases): Fix prompt typo.
-  
-       * cedet/semantic/analyze/fcn.el (semantic-scope-find): Fix declaration.
-  
-       * cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Replace runtime
-       use of CL function `remove-if-not'.
-  
        * emacs-lisp/authors.el (authors-ignored-files): Add "js2-mode.el".
   
        * emacs-lisp/elint.el (elint-init-form): Report declarations where the
   
        * net/tramp-imap.el: New package.
   
-       * cedet/cedet-cscope.el:
-       * cedet/cedet-files.el:
-       * cedet/cedet-global.el:
-       * cedet/cedet-idutils.el:
-       * cedet/data-debug.el:
-       * cedet/inversion.el:
-       * cedet/mode-local.el:
-       * cedet/pulse.el: New files.
-  
 + 2009-09-28  Eric Ludlam  <zappo@gnu.org>
 + 
 +      * emacs-lisp/chart.el:
 +      * emacs-lisp/eieio-base.el:
 +      * emacs-lisp/eieio-comp.el:
 +      * emacs-lisp/eieio-custom.el:
 +      * emacs-lisp/eieio-datadebug.el:
 +      * emacs-lisp/eieio-opt.el:
 +      * emacs-lisp/eieio-speedbar.el:
 +      * emacs-lisp/eieio.el: New files.
 + 
   2009-09-27  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
   
        * whitespace.el (whitespace-trailing-regexp)
Simple merge
index 31e22c1e3d2604fb904e4d98fcc93cb6e01b6846,161de5e78ec63e89572cce6354bde880d79aa0e2,ceb7bcdfd1a339ab9462c5fe807288ea07a79747..b3dfd9e655183eef483e9fe1dc7268a4a42bfc83
@@@@ -304,17 -312,13 -325,15 +323,19 @@@@ since it could result in memory overflo
                       (const :tag "Off (nil)" :value nil)
                       (const :tag "Full screen (t)" :value t)
                       (other :tag "Always" 1)) "22.1")
 --          (recenter-redisplay windows
 --                              (choice
 --                               (const :tag "Never (nil)" :value nil)
 --                               (const :tag "Only on ttys" :value tty)
 --                               (other :tag "Always" t))
 --                              "23.1")
 ++          (recenter-redisplay
 ++           windows (choice
 ++                    (const :tag "Never (nil)" :value nil)
 ++                    (const :tag "Only on ttys" :value tty)
 ++                    (other :tag "Always" t)) "23.1")
 ++          (window-splits
 ++           windows (choice
 ++                    (const :tag "Standard" :value nil)
 ++                    (const :tag "Nest" :value nest)
 ++                    (const :tag "Resize" :value resize)) "24.1")
             ;; xdisp.c
++           (show-trailing-whitespace whitespace-faces boolean nil nil
++                                     :safe booleanp)
             (scroll-step windows integer)
             (scroll-conservatively windows integer)
             (scroll-margin windows integer)
diff --cc lisp/dired.el
Simple merge
diff --cc lisp/files.el
index 341fd45540cfd6a6a792618067551a76ffb27e6a,bb49f44fda52f853925ebe7b2bb77c8681223a45,d5f60b7817d39bd1108134531b0d4ce498147bfd..5c3e01a2df39b89a5ea8a3f6c589d381a136f07d
@@@@ -762,16 -788,29 -788,30 +788,30 @@@@ one or more of those symbols.
          (string-dir (file-name-directory string))
             (string-file (file-name-nondirectory string)))
         (dolist (dir dirs)
-       (unless dir
-         (setq dir default-directory))
-       (if string-dir (setq dir (expand-file-name string-dir dir)))
-       (when (file-directory-p dir)
-         (dolist (file (file-name-all-completions
-                        string-file dir))
-           (push file names)
-           (when (string-match suffix file)
-             (setq file (substring file 0 (match-beginning 0)))
-                (push file names)))))
+          (unless dir
+            (setq dir default-directory))
+          (if string-dir (setq dir (expand-file-name string-dir dir)))
+          (when (file-directory-p dir)
+            (dolist (file (file-name-all-completions
+                           string-file dir))
+              (if (not (string-match suffix file))
+                  (push file names)
+                (push file fullnames)
+                (push (substring file 0 (match-beginning 0)) names)))))
+        ;; Switching from names to names+fullnames creates a non-monotonicity
+        ;; which can cause problems with things like partial-completion.
+        ;; To minimize the problem, filter out completion-regexp-list, so that
 -       ;; M-x load-library RET t/x.e TAB finds some files.
 -       (if completion-regexp-list
 -           (setq names (all-completions "" names)))
++       ;; M-x load-library RET t/x.e TAB finds some files.  Also remove elements
++       ;; from `names' which only matched `string' when they still had
++       ;; their suffix.
++       (setq names (all-completions string names))
+        ;; Remove duplicates of the first element, so that we can easily check
+        ;; if `names' really only contains a single element.
+        (when (cdr names) (setcdr names (delete (car names) (cdr names))))
+        (unless (cdr names)
+          ;; There's no more than one matching non-suffixed element, so expand
+          ;; the list by adding the suffixed elements as well.
+          (setq names (nconc names fullnames)))
         (completion-table-with-context
          string-dir names string-file pred action)))))
   
Simple merge
diff --cc lisp/help.el
index a3f1ad8d9b029723fdb736bfe8c6cec3f2aa8b3d,a2e721dd6b3f907b18405678f6a9ebdc5ec89f8e,6c6bd76ec4b4fc80e13c506745fd5fa9c279db8b..eb9ad94a9f81e31522ddccf7406961632c48d4a4
       (message "%s"
        (substitute-command-keys (concat quit-part scroll-part)))))
   
 --(defun help-window-setup-finish (window &optional reuse keep-frame)
 --  "Finish setting up help window WINDOW.
 --Select WINDOW according to the value of `help-window-select'.
 --Display message telling how to scroll and eventually quit WINDOW.
  -
  -Optional argument REUSE non-nil means WINDOW has been reused by
  -`display-buffer'.  Optional argument KEEP-FRAME non-nil means
  -that quitting should not delete WINDOW's frame."
  -  (let ((number-of-windows
  -      (length (window-list (window-frame window) 'no-mini window))))
  -    (cond
  -     ((eq window (selected-window))
  -      ;; The help window is the selected window, probably the
  -      ;; `pop-up-windows' nil case.
  -      (help-window-display-message
  -       (if reuse
  -        "Type \"q\" to restore this window"
  -      ;; This should not be taken.
  -      "Type \"q\" to quit") window))
  -     ((= number-of-windows 1)
  -      ;; The help window is alone on a frame and not the selected
  -      ;; window, could be the `pop-up-frames' t case.
  -      (help-window-display-message
  -       (cond
  -     (keep-frame "Type \"q\" to delete this window")
  -     (reuse "Type \"q\" to restore this window")
  -     (view-remove-frame-by-deleting "Type \"q\" to delete this frame")
  -     (t "Type \"q\" to iconify this frame"))
  -       window))
  -     ((and (= number-of-windows 2)
  -        (eq (window-frame window) (window-frame (selected-window))))
  -      ;; There are two windows on the help window's frame and the other
  -      ;; window is the selected one.
  -      (if (memq help-window-select '(nil other))
  -       ;; Do not select the help window.
  -       (help-window-display-message
  -        (if reuse
  -            ;; Offer `display-buffer' for consistency with
  -            ;; `help-print-return-message'.  This is hardly TRT when
  -            ;; the other window and the selected window display the
  -            ;; same buffer but has been handled this way ever since.
  -            "Type \\[display-buffer] RET to restore the other window"
  -          ;; The classic "two windows" configuration.
  -          "Type \\[delete-other-windows] to delete the help window")
  -        window t)
  -     ;; Select help window and tell how to quit.
  -     (select-window window)
  -     (help-window-display-message
  -      (if reuse
  -          "Type \"q\" to restore this window"
  -        "Type \"q\" to delete this window") window)))
  -     (help-window-select
  -      ;; Issuing a message with 3 or more windows on the same frame
  -      ;; without selecting the help window doesn't make any sense.
  -      (select-window window)
  -      (help-window-display-message
  -       (if reuse
  -        "Type \"q\" to restore this window"
  -      "Type \"q\" to delete this window") window)))))
  -
  -(defun help-window-setup (list-of-frames list-of-window-tuples)
  -  "Set up help window.
  -LIST-OF-FRAMES and LIST-OF-WINDOW-TUPLES are the lists of frames
  -and window quadruples built by `with-help-window'.  The help
  -window itself is specified by the variable `help-window'."
  -  (let* ((help-buffer (window-buffer help-window))
  -      ;; `help-buffer' now denotes the help window's buffer.
  -      (view-entry
  -       (assq help-window
  -             (buffer-local-value 'view-return-to-alist help-buffer)))
  -      (help-entry (assq help-window list-of-window-tuples)))
  -
  -    ;; Handle `help-window-point-marker'.
  -    (when (eq (marker-buffer help-window-point-marker) help-buffer)
  -      (set-window-point help-window help-window-point-marker)
  -      ;; Reset `help-window-point-marker'.
  -      (set-marker help-window-point-marker nil))
 ++;; No matter what we do down here: There will be always a case that
 ++;; defeats our best intentions ;-)
 ++(defun help-window-setup ()
 ++  "Set up help window."
 ++  (let* ((help-window (car-safe display-buffer-window-and-buffer))
 ++      (help-buffer (when (window-live-p help-window)
 ++                     (window-buffer help-window)))
 ++      (help-value (cdr-safe display-buffer-window-and-buffer))
 ++      (number-of-windows
 ++       ;; FIXME: This is intuitvely wrong for compound windows.  What
 ++       ;; we need is the number of windows eligible by `other-window'
 ++       ;; on this frame.
 ++       (length (window-list (window-frame help-window) 'no-mini))))
 ++    (when help-buffer
 ++      ;; Handle `help-window-point-marker'.
 ++      (when (eq (marker-buffer help-window-point-marker) help-buffer)
 ++     (set-window-point help-window help-window-point-marker)
 ++     ;; Reset `help-window-point-marker'.
 ++     (set-marker help-window-point-marker nil))
   
 - Optional argument REUSE non-nil means WINDOW has been reused by
 - `display-buffer'.  Optional argument KEEP-FRAME non-nil means
 - that quitting should not delete WINDOW's frame."
 -   (let ((number-of-windows
 -       (length (window-list (window-frame window) 'no-mini window))))
 -     (cond
 -      ((eq window (selected-window))
 -       ;; The help window is the selected window, probably the
 -       ;; `pop-up-windows' nil case.
 -       (help-window-display-message
 -        (if reuse
 -         "Type \"q\" to restore this window"
 -       ;; This should not be taken.
 -       "Type \"q\" to quit") window))
 -      ((= number-of-windows 1)
 -       ;; The help window is alone on a frame and not the selected
 -       ;; window, could be the `pop-up-frames' t case.
 -       (help-window-display-message
 -        (cond
 -      (keep-frame "Type \"q\" to delete this window")
 -      (reuse "Type \"q\" to restore this window")
 -      (view-remove-frame-by-deleting "Type \"q\" to delete this frame")
 -      (t "Type \"q\" to iconify this frame"))
 -        window))
 -      ((and (= number-of-windows 2)
 -         (eq (window-frame window) (window-frame (selected-window))))
 -       ;; There are two windows on the help window's frame and the other
 -       ;; window is the selected one.
 -       (if (memq help-window-select '(nil other))
 -        ;; Do not select the help window.
 -        (help-window-display-message
 -         (if reuse
 -             ;; Offer `display-buffer' for consistency with
 -             ;; `help-print-return-message'.  This is hardly TRT when
 -             ;; the other window and the selected window display the
 -             ;; same buffer but has been handled this way ever since.
 -             "Type \\[display-buffer] RET to restore the other window"
 -           ;; The classic "two windows" configuration.
 -           "Type \\[delete-other-windows] to delete the help window")
 -         window t)
 -      ;; Select help window and tell how to quit.
 -      (select-window window)
 -      (help-window-display-message
 -       (if reuse
 -           "Type \"q\" to restore this window"
 -         "Type \"q\" to delete this window") window)))
 -      (help-window-select
 -       ;; Issuing a message with 3 or more windows on the same frame
 -       ;; without selecting the help window doesn't make any sense.
 -       (select-window window)
 -       (help-window-display-message
 -        (if reuse
 -         "Type \"q\" to restore this window"
 -       "Type \"q\" to delete this window") window)))))
 - 
 - (defun help-window-setup (list-of-frames list-of-window-tuples)
 -   "Set up help window.
 - LIST-OF-FRAMES and LIST-OF-WINDOW-TUPLES are the lists of frames
 - and window quadruples built by `with-help-window'.  The help
 - window itself is specified by the variable `help-window'."
 -   (let* ((help-buffer (window-buffer help-window))
 -       ;; `help-buffer' now denotes the help window's buffer.
 -       (view-entry
 -        (assq help-window
 -              (buffer-local-value 'view-return-to-alist help-buffer)))
 -       (help-entry (assq help-window list-of-window-tuples)))
 - 
 -     ;; Handle `help-window-point-marker'.
 -     (when (eq (marker-buffer help-window-point-marker) help-buffer)
 -       (set-window-point help-window help-window-point-marker)
 -       ;; Reset `help-window-point-marker'.
 -       (set-marker help-window-point-marker nil))
 - 
 --    (cond
 --     (view-entry
 --      ;; `view-return-to-alist' has an entry for the help window.
         (cond
 --       ((eq help-window (selected-window))
 --     ;; The help window is the selected window, probably because the
 --     ;; user followed a backward/forward button or a cross reference.
 --     ;; In this case just purge stale entries from
 --     ;; `view-return-to-alist' but leave the entry alone and don't
 --     ;; display a message.
 --     (view-return-to-alist-update help-buffer))
 --       ((and help-entry (eq (cadr help-entry) help-buffer))
 --     ;; The help window was not selected but displayed the help
 --     ;; buffer.  In this case reuse existing exit information but try
 --     ;; to get back to the selected window when quitting.  Don't
 --     ;; display a message since the user must have seen one before.
 --     (view-return-to-alist-update
 --      help-buffer (cons help-window
 --                        (cons (selected-window) (cddr view-entry)))))
 --       (help-entry
 --     ;; The help window was not selected, did display the help buffer
 --     ;; earlier, but displayed another buffer when help was invoked.
 --     ;; Set up things so that quitting will show that buffer again.
 --     (view-return-to-alist-update
 --      help-buffer (cons help-window
 --                        (cons (selected-window) (cdr help-entry))))
 --     (help-window-setup-finish help-window t))
 ++       ;; Don't say anything if the help window displayed the same
 ++       ;; buffer before.
 ++       ((or (not help-value) (eq help-buffer help-value)))
 ++       ;; The following does not handle the case where the help window
 ++       ;; fills its frame, is not selected, but does get selected
 ++       ;; afterwards by external intervention.
 ++       ((or (eq help-window (selected-window))
 ++         (and (eq help-window-select t)
 ++              (select-window help-window)))
 ++     ;; The help window is or gets selected ...
 ++     (help-window-display-message
 ++      (cond
 ++       ((buffer-live-p help-value)
 ++        ;; ... and displayed some other buffer before, ...
 ++        "Type \"q\" to restore previous buffer")
 ++       ((eq (frame-root-window (window-frame help-window))
 ++            help-window)
 ++        (if view-remove-frame-by-deleting
 ++            ;; ... is on a new deletable frame, ...
 ++            "Type \"q\" to delete this frame"
 ++          ;; ... is on a new non-deletable frame, ...
 ++          "Type \"q\" to iconify this frame"))
 ++       (t
 ++        ;; ... is new.
 ++        "Type \"q\" to delete this window"))
 ++      help-window t))
 ++       ((and (= number-of-windows 2)
 ++          (eq (window-frame help-window)
 ++              (window-frame (selected-window))))
 ++     ;; There are two windows on the help window's frame and the
 ++     ;; other one is the selected one.
 ++     (if (memq help-window-select '(nil other))
 ++         ;; Do not select the help window.
 ++         (help-window-display-message
 ++          (if (buffer-live-p help-value)
 ++              ;; Offer `display-buffer' for consistency with
 ++              ;; `help-print-return-message'.  This is not TRT but
 ++              ;; handled this way ever since.
 ++              "Type \\[display-buffer] RET to restore previous buffer"
 ++            ;; The classic "two windows" configuration.
 ++            "Type \\[delete-other-windows] to delete the help window")
 ++          help-window 'other)
 ++       ;; Select help window and tell how to quit.
 ++       (select-window help-window)
 ++       (help-window-display-message
 ++        (if (buffer-live-p help-value)
 ++            "Type \"q\" to restore previous buffer"
 ++          "Type \"q\" to delete this window") help-window t)))
          (t
 --     ;; The help window is new but `view-return-to-alist' had an
 --     ;; entry for it.  This should never happen.
 --     (view-return-to-alist-update
 --      help-buffer (cons help-window
 --                        (cons (selected-window) 'quit-window)))
 --     (help-window-setup-finish help-window t))))
 --     (help-entry
 --      ;; `view-return-to-alist' does not have an entry for help window
 --      ;; but `list-of-window-tuples' does.  Hence `display-buffer' must
 --      ;; have reused an existing window.
 --      (if (eq (cadr help-entry) help-buffer)
 --       ;; The help window displayed `help-buffer' before but no
 --       ;; `view-return-to-alist' entry was found probably because the
 --       ;; user manually switched to the help buffer.  Set up things
 --       ;; for `quit-window' although `view-exit-action' should be
 --       ;; able to handle this case all by itself.
 --       (progn
 --         (view-return-to-alist-update
 --          help-buffer (cons help-window
 --                            (cons (selected-window) 'quit-window)))
 --         (help-window-setup-finish help-window t))
 --     ;; The help window displayed another buffer before.  Set up
 --     ;; things in a way that quitting can orderly show that buffer
 --     ;; again.  The window-start and window-point information from
 --     ;; `list-of-window-tuples' provide the necessary information.
 --     (view-return-to-alist-update
 --      help-buffer (cons help-window
 --                        (cons (selected-window) (cdr help-entry))))
 --     (help-window-setup-finish help-window t)))
 --     ((memq (window-frame help-window) list-of-frames)
 --      ;; The help window is a new window on an existing frame.  This
 --      ;; case must be handled specially by `help-window-setup-finish'
 --      ;; and `view-mode-exit' to ascertain that quitting does _not_
 --      ;; inadvertently delete the frame.
 --      (view-return-to-alist-update
 --       help-buffer (cons help-window
 --                      (cons (selected-window) 'keep-frame)))
 --      (help-window-setup-finish help-window nil t))
 --     (t
 --      ;; The help window is shown on a new frame.  In this case quitting
 --      ;; shall handle both, the help window _and_ its frame.  We changed
 --      ;; the default of `view-remove-frame-by-deleting' to t in order to
 --      ;; intuitively DTRT here.
 --      (view-return-to-alist-update
 --       help-buffer (cons help-window (cons (selected-window) t)))
 --      (help-window-setup-finish help-window)))))
 ++     ;; Not much to say here.
 ++     (help-window-display-message
 ++      "Type \"q\" in help window to quit" help-window))))))
   
   ;; `with-help-window' is a wrapper for `with-output-to-temp-buffer'
   ;; providing the following additional twists:
diff --cc lisp/loadup.el
Simple merge
Simple merge
diff --cc lisp/simple.el
Simple merge
diff --cc lisp/window.el
Simple merge
diff --cc src/ChangeLog
index 6ef541cb1a6439898f85ac28e4e2d06cee582a52,6f388cd72831bce2784572b224bf8fb3fea47d67,529677cb5f475571e8e182a0292a5d5470e4f327..341530d31d74695b7a86315a814b7c934b855515
++ 2010-10-25  Glenn Morris  <rgm@gnu.org>
++ 
++      * Makefile.in (SOME_MACHINE_LISP): Remove easymenu.elc.
++ 
++ 2010-10-24  Glenn Morris  <rgm@gnu.org>
++ 
++      * w32fns.c (Fx_synchronize, Fx_change_window_property)
++      (Fx_window_property, Fx_file_dialog):
++      * xfns.c (Fx_synchronize, Fx_change_window_property)
++      (Fx_window_property, Fx_file_dialog): Sync docs between w32 and X.
++ 
++ 2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * xterm.c (x_connection_closed): Kill Emacs unconditionally.
++ 
++ 2010-10-24  Eli Zaretskii  <eliz@gnu.org>
++ 
++      * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate.
++ 
++      * dispnew.c (syms_of_display) <initial-window-system, window-system>:
++      Deprecate use as a boolean flag.
++ 
++ 2010-10-24  Jim Meyering  <jim@meyering.net>
++ 
++      * emacs.c (argmatch): Don't treat "--" as "--chdir".
++ 
++ 2010-10-24  Glenn Morris  <rgm@gnu.org>
++ 
++      * w16select.c (syms_of_win16select) <selection-coding-system>:
++      <next-selection-coding-system>:
++      * w32select.c (syms_of_w32select) <selection-coding-system>:
++      <next-selection-coding-system>:
++      Sync docs with select.el.
++ 
++      * xfaces.c (syms_of_xfaces) <tty-defined-color-alist>: Sync doc with
++      Lisp version.
++ 
++      * w32term.c (syms_of_w32term) <x-use-underline-position-properties>:
++      Sync doc with the xterm.c version.
++ 
++      * w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
++      * xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Sync docs.
++ 
++ 2010-10-23  Glenn Morris  <rgm@gnu.org>
++ 
++      * buffer.c (syms_of_buffer) <cursor-in-non-selected-windows>:
++      * frame.c (syms_of_frame) <menu-bar-mode>:
++      * xdisp.c (syms_of_xdisp) <auto-hscroll-mode, display-hourglass>:
++      <hourglass-delay>: Sync docs with Lisp.
++ 
++ 2010-10-23  Eli Zaretskii  <eliz@gnu.org>
++ 
++      Implement mouse highlight for bidi-reordered lines.
++ 
++      * xdisp.c (fast_find_string_pos): #ifdef away, not used anymore.
++      (mouse_face_from_string_pos): New function, replaces
++      fast_find_string_pos.
++      (note_mouse_highlight): Call it instead of fast_find_string_pos.
++      (note_mode_line_or_margin_highlight): Support bidi-reordered
++      strings and R2L glyph rows.  Fix comments.
++      (note_mouse_highlight): When bidi reordering is turned on in a
++      buffer, call next-single-property-change and
++      previous-single-property-change with last argument nil.  Clear
++      mouse highlight when mouse pointer is in a R2L row on the stretch
++      glyph that stands for no text beyond the line end.
++      (row_containing_pos): Don't return too early when CHARPOS is in a
++      bidi-reordered continued line.  Return immediately when the first
++      hit is found in a line that is not continued, or when an exact
++      match for CHARPOS is found.
++      (rows_from_pos_range): New function.
++      (mouse_face_from_buffer_pos): Use it instead of calling
++      row_containing_pos for START_CHARPOS and END_CHARPOS.  Rewrite the
++      function to support mouse highlight in bidi-reordered lines and
++      not to assume that START_CHARPOS is always in mouse_face_beg_row.
++      If necessary, swap mouse_face_beg_row and mouse_face_end_row so
++      that the former is always above the latter or identical to it.
++      (show_mouse_face): Support drawing highlighted R2L lines.
++      (coords_in_mouse_face_p): New function, bidi-aware.
++      (cursor_in_mouse_face_p, note_mouse_highlight, erase_phys_cursor):
++      Call it instead of comparing with mouse-face members of dpyinfo.
++      (note_mode_line_or_margin_highlight): Fix confusingly swapped
++      usage of hpos and vpos.
++ 
++ 2010-10-22  Jan Djärv  <jan.h.d@swipnet.se>
++ 
++      * xrdb.c: Include keyboard.h for MOTIF.
++ 
++      * xmenu.c: Revert 2010-07-27 change: lwlib.h is needed for
++      MOTIF (Bug#7263).
++ 
++      * xfns.c: Include Xm/TextF and Xm/List.
++      (file_dialog_cb, file_dialog_unmap_cb, clean_up_file_dialog): Make
++      ANSI prototypes.
++ 
++ 2010-10-22  Glenn Morris  <rgm@gnu.org>
++ 
++      * Makefile.in (SOME_MACHINE_LISP): Add w32-vars.
++      Remove ccl and duplicate mouse.
++ 
++ 2010-10-21  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * insdel.c (prepare_to_modify_buffer): Don't set
++      saved-region-selection if modification hooks are disabled.
++ 
++ 2010-10-19  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * cmds.c (Fdelete_char): Doc fix.
++ 
++ 2010-10-19  Ken Brown  <kbrown@cornell.edu>
++ 
++      * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225).
++ 
++ 2010-10-19  Kenichi Handa  <handa@m17n.org>
++ 
++      Fix incorrect font metrics when the same font is opened with
++      different pixelsizes.
++ 
++      * xftfont.c: Include composite.h.
++      (xftfont_shape): New function.
++      (syms_of_xftfont): Set xftfont_driver.shape.
++ 
++ 2010-10-18  Julien Danjou  <julien@danjou.info>
++ 
++      * frame.c (Fframe_pointer_visible_p):
++      Add `frame-pointer-visible-p' to get the pointer visibility.
++ 
++ 2010-10-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++ 
++      * gnutls.c (emacs_gnutls_read): Return 0 if we get a
++      non-"EAGAIN"-like error to signal to Emacs that the socket should
++      be closed.
++ 
++ 2010-10-15  Eli Zaretskii  <eliz@gnu.org>
++ 
++      * unexcoff.c (make_hdr): Fix prototype according to changes in
++      2010-10-03T13:59:56Z!dann@ics.uci.edu.
++ 
++      * image.c (tiff_load): Cast 3rd argument to avoid compiler warning.
++ 
++ 2010-10-15  Tassilo Horn  <tassilo@member.fsf.org>
++ 
++      * Makefile.in (really-oldXMenu): Fix typo in variable name that
++      made building the X menu fail.
++      (really-oldXMenu): Fix my previous fix.
++ 
++ 2010-10-14  Damyan Pepper  <damyanp@gmail.com>
++ 
++      Fix handling of font properties on Windows (bug#6303).
++      * font.c (font_filter_properties): New function, refactored from
++      ftfont_filter_properties.
++      * font.h (font_filter_properties): Declare.
++      * ftfont.c (ftfont_filter_properties): Use font_filter_properties.
++      * w32font.c (w32font_booleans, w32font_non_booleans): New variables.
++      (w32font_filter_properties): New function.
++      (w32font_driver): Add w32font_filter_properties.
++ 
++ 2010-10-14  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * font.c (Ffont_variation_glyphs):
++      * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
++ 
++ 2010-10-14  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * w32fns.c (w32_wnd_proc, file_dialog_callback):
++      * w32font.c (w32_generic_family):
++      * w32inevt.c (key_event):
++      * w32menu.c (fill_in_menu):
++      * w32proc.c (reader_thread, w32_executable_type, compare_env)
++      (merge_and_sort_env, int_from_hex, enum_locale_fn, enum_codepage_fn):
++      * w32term.c (w32_read_socket): Make static.
++ 
++ 2010-10-13  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * image.c (DEF_IMGLIB_FN): Add argument to adapt to strict
++      prototypes; all callers changed.
++ 
++ 2010-10-13  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * makefile.w32-in (TLIB2): Rename from TLIBW32.
++      (OBJ2): New macro.
++      (WIN32OBJ, FONTOBJ): Remove.
++      (OBJ1): Redistribute object files with OBJ2.
++      (LIBS, $(TEMACS)): Use TLIB2.
++      (make-buildobj-CMD, make-buildobj-SH): Use OBJ2.
++      ($(TLIB2), TAGS, TAGS-LISP, TAGS-gmake): Depend on OBJ2.
++ 
++ 2010-10-13  Juanma Barranquero  <lekktu@gmail.com>
++ 
++      * emacs.c (Vdynamic_library_alist)
++      (syms_of_emacs) <dynamic-library-alist>: Move from image.c and rename.
++      Doc fix.
++ 
++      * lisp.h (Vdynamic_library_alist): Declare extern.
++ 
++      * image.c (Vimage_library_alist)
++      (syms_of_image) <image-library-alist>: Move to emacs.c and rename.
++      (lookup_image_type): Use Vdynamic_library_alist.
++      (Finit_image_library): Doc fix.
++ 
++ 2010-10-12  Dan Nicolaescu  <dann@ics.uci.edu>
++ 
++      * Makefile.in (lispsource, libsrc, etc, oldxmenudir, lwlibdir)
++      (lispdir): Remove trailing /, update all uses.
++ 
++ 2010-10-12  Jan Djärv  <jan.h.d@swipnet.se>
++ 
++      * nsterm.m (Qleft): Declare.
++      (ns_right_alternate_modifier): New variable
++      (NSRightAlternateKeyMask): New define.
++      (EV_MODIFIERS): Parse NSRightAlternateKeyMask if
++      ns_right_alternate_modifier isn't Qleft.
++      (keyDown): If ns_right_alternate_modifier isn't Qleft, use it
++      as emacs modifier for NSRightAlternateKeyMask.
++      (syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier.
++ 
++ 2010-10-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++ 
++      * gnutls.c (emacs_gnutls_write): If we're trying to write before
++      gnutls is ready, return EAGAIN as the errno.
++ 
++ 2010-10-10  Dan Nicolaescu  <dann@ics.uci.edu>
++ 
++      * vm-limit.c:
++      * unexhp9k800.c:
++      * unexelf.c:
++      * unexaix.c:
++      * termcap.c: Remove #ifdef emacs / #ifndef emacs code, unused.
++ 
++      * Makefile.in (temacs): Use $(ALL_CFLAGS) on the link line.
++      (PROFILING_LDFLAGS): Remove, not needed anymore.
++ 
++      * Makefile.in: Use $(...) everywhere instead of ${...}
++      (CRT_DIR): Move near potential user.
++      (START_FILE): Move near CRT_DIR, it might use it.
++ 
++      * sysdep.c (LPASS8): Remove, unused.
++      (emacs_ospeed): Change from being a global to a local in the only
++      user: init_baud_rate.
++ 
++ 2010-10-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
++ 
++      * gnutls.c (syms_of_gnutls): All the bootprops are keywords.
++      (emacs_gnutls_write): Remove the debuggin fsync call.
++      (emacs_gnutls_read): Return -1 if we got an error from
++      gnutls_read.  This allows us to actually read lots of data from
++      the GnuTLS stream.
++      (emacs_gnutls_write): Check for GNUTLS_E_AGAIN and not EINTR.
++      According to the documentation, this is correct, and it seems to
++      make things work.
++ 
++ 2010-10-09  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * xterm.c (x_draw_relief_rect): Clear corner pixels.
++ 
++ 2010-10-08  Michael Albinus  <michael.albinus@gmx.de>
++ 
++      * keyboard.c: Revert last change; it was not intended to be
++      synchronized with the trunk.
++ 
++ 2010-10-08  Kenichi Handa  <handa@m17n.org>
++ 
++      * coding.c (complement_process_encoding_system): Fix previous change.
++ 
++ 2010-10-08  Michael Albinus  <michael.albinus@gmx.de>
++ 
++      * dbusbind.c (syms_of_dbusbind): Move putenv call ...
++      (Fdbus_init_bus): ... here.  (Bug#7113)
++ 
++ 2010-10-08  Glenn Morris  <rgm@gnu.org>
++ 
++      * buffer.c (before-change-functions, after-change-functions):
++      Three-year overdue doc fix following 2007-08-13 change.
++ 
++ 2010-10-08  Kenichi Handa  <handa@m17n.org>
++ 
++      * coding.c (coding_inherit_eol_type): If parent doesn't specify
++      eol-format, inherit from the system's default.
++      (complement_process_encoding_system): Make a new coding system
++      inherit the original eol-format.
++ 
++ 2010-10-08  Kenichi Handa  <handa@m17n.org>
++ 
++      * coding.c (complement_process_encoding_system): New function.
++ 
++      * coding.h (complement_process_encoding_system): Extern it.
++ 
++      * callproc.c (Fcall_process): Complement the coding system for
++      encoding arguments.
++      (Fcall_process_region): Complement the coding system for encoding
++      the input to the process.
++ 
++      * process.c (Fstart_process): Complement the coding system for
++      encoding arguments.
++      (send_process): Complement the coding system for encoding what
++      sent to the process.
++ 
++ 2010-10-08  Kenichi Handa  <handa@m17n.org>
++ 
++      * xfont.c (xfont_open): Fix setting of font->average_width from
++      :avgwidth property (Bug#7123).
++ 
++ 2010-10-08  Michael Albinus  <michael.albinus@gmx.de>
++ 
++      * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it
++      is more portable.
++ 
++      * keyboard.c (gobble_input): Move call of xd_read_queued_messages ...
++      (kbd_buffer_get_event): ... here. This is needed for cygwin, which
++      has not defined SIGIO.
++ 
++ 2010-10-08  Chong Yidong  <cyd@stupidchicken.com>
++ 
++      * xterm.c (x_draw_relief_rect): If box width is larger than 1,
++      draw the outermost line using the black relief, for legibility.
++      Omit drawing the four corner pixels.
++ 
+  2010-10-04  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * keyboard.c (echo_prompt): Function moved into read_key_sequence.
+       (read_key_sequence): Inline echo_prompt.
+       (echo_dash): Add a dash only if key is continued (Bug#7137).
+  
+  2010-10-04  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Remove O_RDONLY, O_WRONLY definitions, not needed.
+       * unexcoff.c:
+       * lread.c:
+       * fileio.c:
+       * doc.c:
+       * callproc.c:
+       * alloc.c:
+       * termcap.c: Remove O_RDONLY O_WRONLY definitions.
+  
+  2010-10-03  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * gnutls.h (GNUTLS_LOG2): Convenience macro.
+  
+       * gnutls.c: Add property list symbol holders.
+       (emacs_gnutls_handshake): Clarify how sockets are passed to
+       GnuTLS.
+       (gnutls_log_function2): Convenience function using GNUTLS_LOG2.
+       (Fgnutls_boot): Get all parameters from a plist.  Require trustfiles
+       and keyfiles to be a list of file names.  Default to "NORMAL" for
+       the priority string.  Improve logging.
+  
+  2010-10-03  Glenn Morris  <rgm@gnu.org>
+  
+       * fileio.c (Vdirectory_sep_char): Remove.
+  
+  2010-10-03  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * termhooks.h: Remove #ifdef CONSP.
+  
+       * xterm.c (NO_INLINE, noinline): Move definitions to ../configure.in.
+  
+       Include <fcntl.h> unconditionally.
+       * termcap.c:
+       * sysdep.c:
+       * lread.c:
+       * keyboard.c:
+       * filelock.c:
+       * fileio.c:
+       * doc.c:
+       * callproc.c:
+       * alloc.c: Remove include guards for <fcntl.h>, process.c already
+       does it.
+  
+       * process.c: Do not include <sys/wait.h>, syswait.h does it.
+  
+       * sysdep.c (flush_pending_output): Remove code, does not do
+       anything on any platform.
+  
+       Remove unused code.
+       * sysdep.c (select_alarm, sys_select, read_input_waiting): Remove
+       select emulation, all systems support select.
+       (set_exclusive_use): Remove, the only user is in an #if 0 block.
+       * process.c (create_process): Remove #if 0 code.
+  
+       Remove unused arguments for unexec.
+       The third one is never used, and the last two are always passed as zero.
+       * emacs.c (unexec): Add declaration.
+       (Fdump_emacs): Only pass the first two arguments to unexec.
+       Simplify #ifdef.
+       * unexw32.c (unexec):
+       * unexsol.c (unexec):
+       * unexhp9k800.c (unexec):
+       * unexcw.c (unexec): Remove the last 3 arguments, unused.
+       * unexelf.c (unexec): Remove the last 3 arguments, unused.
+       (find_section): Use const.
+       * unexmacosx.c (unexec): Remove the last 3 arguments, unused.
+       (unexec_error): Declare it NO_RETURN.
+       * unexcoff.c (make_hdr): Assume bss_start is always zero, remove
+       it as an argument, remove data_start and entry_address arguments, unused.
+       (unexec): Remove bss_start, data_start and
+       entry_address arguments.
+       * unexaix.c (make_hdr): Assume bss_start is always zero, remove
+       it as an argument, remove data_start and entry_address arguments, unused.
+       (unexec): Remove bss_start, data_start and
+       entry_address arguments.
+  
+  2010-10-03  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * makefile.w32-in (TAGS, TAGS-LISP, TAGS-gmake): Add $(FONTOBJ).
+  
+       * gnutls.c (emacs_gnutls_handshake, gnutls_make_error)
+       (gnutls_emacs_global_init, gnutls_emacs_global_deinit): Make static.
+       (Fgnutls_get_initstage, Fgnutls_deinit, Fgnutls_boot, Fgnutls_bye):
+       Fix typos in docstrings.
+       (Fgnutls_error_fatalp, Fgnutls_error_string): Doc fixes.
+       (Fgnutls_errorp): Doc fix; use ERR for the argument name.
+  
+  2010-10-03  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * keyboard.c (command_loop_1): Make sure the mark is really alive
+       before using it (Bug#7044).
+  
+  2010-10-02  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * makefile.w32-in (tags): Rename target to full-tags.
+  
+  2010-10-02  Eli Zaretskii  <eliz@gnu.org>
+  
+       * emacs.c (main): Remove !WINDOWSNT conditional.
+       (Fkill_emacs): Don't mention exemption on MS-Windows.
+  
+  2010-10-02  Glenn Morris  <rgm@gnu.org>
+  
+       * character.c (Fchar_bytes): Remove obsolete function.
+       (syms_of_character): Remove Schar_bytes.
+  
+       * emacs.c (fatal_error_signal): Also run Fkill_emacs on SIGINT.
+       (main) [!WINDOWSNT]: Handle SIGINT with fatal_error_signal
+       in batch-mode.
+       (Fkill_emacs): Doc fix.  Also run the hook in batch mode.
+       (kill-emacs-hook): Doc fix.
+  
+  2010-10-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * xml.c (Flibxml_parse_xml_region, Flibxml_parse_html_region)
+       (parse_region): Reworked to take regions instead of strings, and
+       renamed to reflect that these are the libxml functions.
+  
+  2010-10-01  Eli Zaretskii  <eliz@gnu.org>
+  
+       * term.c (init_tty) [DOS_NT]: Don't call Wcm_clear after setting
+       screen dimensions in tty->Wcm.
+  
+       * xdisp.c (set_cursor_from_row): When the row is truncated and
+       point is outside the range of displayed characters, position the
+       cursor inside the scroll margin.  (Bug#6349)
+  
+  2010-10-01  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Do not include stdlib.h and string.h, config.h does it.
+       * xfont.c:
+       * w32term.c:
+       * w32reg.c:
+       * w32inevt.c:
+       * w32heap.c:
+       * w32console.c:
+       * w16select.c:
+       * unexsol.c:
+       * term.c:
+       * sound.c:
+       * scroll.c (m):
+       * gtkutil.c:
+       * font.c:
+       * filelock.c:
+       * fileio.c:
+       * dosfns.c:
+       * dbusbind.c:
+       * bidi.c:
+       * callproc.c:
+       * process.c:
+       * msdos.c:
+       * charset.c: Do not include stdlib.h and string.h, config.h does it.
+  
+       * callproc.c (SIGCHLD): Remove conditional definition, syssignal.h defines it.
+  
+       * process.c: Move #include <pty.h> earlier.
+       (SIGCHLD): Remove conditional definition, syssignal.h defines it.
+       (pty_name): Move definition later.
+  
+       * nsselect.m (syms_of_nsselect):
+       * nsmenu.m (syms_of_nsmenu):
+       * nsfns.m (syms_of_nsfns):
+       * msdos.c (syms_of_msdos):
+  
+       * image.c (syms_of_image):
+       * charset.c (syms_of_charset): Use intern_c_string instead of intern.
+  
+       * point.h: Remove, unused.
+  
+  2010-10-01  Eli Zaretskii  <eliz@gnu.org>
+  
+       * makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags)
+       (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake)
+       (nt-TAGS-gmake, nt-TAGS-nmake): New targets.
+  
+  2010-09-30  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * xml.c (parse_string): Use const.
+  
+  2010-09-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * eval.c (Fbacktrace): Don't overwrite print-level on exit.  Also
+       only override Vprint_level if it isn't already bound, and increase
+       the level to 8 to produce more useful backtraces for bug reports.
+  
+  2010-09-30  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * Makefile.in: ecrt0.c does not exist anymore, do not mention it.
+  
+  2010-09-30  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * w32console.c (vga_stdcolor_name): Remove unused function;
+       presumed dead after 2007-11-30T13:57:21Z!jasonr@gnu.org.
+  
+  2010-09-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * gnutls.c (emacs_gnutls_handshake): Made into internal function.
+       (Fgnutls_boot): Start the handshake.
+       (emacs_gnutls_read): Perform the handshake from the reader loop.
+       (Fgnutls_boot): Remove some debugging messages.
+       Change indentation throughout to use the Emacs style.
+       (emacs_gnutls_handshake): Cast the fds to something that's
+       possibly the expected length.
+       (emacs_gnutls_write): Return -1 if we try to write before handshake.
+  
+       * process.h (Lisp_Process): Add a gnutls_p field to Lisp_Process.
+  
+       * process.c (make_process): Set the gnutls_p field to zero by
+       default.
+       (read_process_output): Always call the gnutls_read function if the
+       stream is a gnutls stream.
+       (send_process): Ditto for writes.
+  
+       * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): Refuse to read
+       or write anything until the state is GNUTLS_STAGE_READY.
+       (Fgnutls_boot): Mark the stream as being a gnutls stream.
+  
+  2010-09-29  Eli Zaretskii  <eliz@gnu.org>
+  
+       * xdisp.c (reseat_1): Initialize bidi_it.paragraph_dir to
+       NEUTRAL_DIR.
+       (handle_invisible_prop, iterate_out_of_display_property)
+       (next_element_from_buffer): If bidi_it.first_elt is set, call
+       bidi_paragraph_init with NO_DEFAULT_P argument non-zero.
+       (Bug#7128)
+  
+       * print.c (print_object): Fix format string and argument types for
+       printing a Lisp_Misc_Marker.
+  
+       * xdisp.c (pos_visible_p, c_string_pos, number_of_chars)
+       (load_overlay_strings, get_overlay_strings_1)
+       (get_overlay_strings, forward_to_next_line_start)
+       (back_to_previous_visible_line_start, reseat, reseat_to_string)
+       (get_next_display_element, next_element_from_string)
+       (next_element_from_c_string, next_element_from_buffer)
+       (move_it_vertically_backward, move_it_by_lines, add_to_log)
+       (message_dolog, message_log_check_duplicate, message2_nolog)
+       (message3, message3_nolog, vmessage, set_message, set_message_1)
+       (hscroll_window_tree, text_outside_line_unchanged_p)
+       (set_cursor_from_row, set_vertical_scroll_bar, redisplay_window)
+       (find_last_unchanged_at_beg_row)
+       (find_first_unchanged_at_end_row, row_containing_pos)
+       (trailing_whitespace_p, display_mode_element, decode_mode_spec)
+       (display_count_lines, x_produce_glyphs, note_mouse_highlight): Use
+       EMACS_INT for buffer and string positions.
+  
+       * dispextern.h (struct it) <string_nchars>: Declare EMACS_INT.
+       (row_containing_pos): Adjust prototype.
+  
+       * lisp.h (pos_visible_p, message2, message2_nolog, message3)
+       (message2_nolog, set_message): Adjust prototypes.
+  
+  2010-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * gnutls.c (Fgnutls_boot): Remove unused vars `data' and `srp_cred'.
+       (Fgnutls_boot): Use SDATA.
+       (Fgnutls_handshake): Remove unused var `max_log_level'.
+  
+  2010-09-27  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0".
+       (Bug#7113)
+  
+  2010-09-27  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xgselect.c (xg_select): Clear file descriptors not set from
+       rfds and wfds.
+  
+       * process.c (wait_reading_process_output): Add missing FD_CLR
+       for write_mask (must mirror connect_wait_mask).
+  
+  2010-09-27  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * gnutls.c (gnutls_log_function): Show level and "gnutls.c"
+       prefix.
+       (Fgnutls_boot): Use changed process members.  Use log level with a
+       function parameter to set it.  Bring back Emacs-level debugging
+       messages at log level 1 and 2.
+  
+       * process.c (make_process): Initialize gnutls_log_level.
+  
+       * process.h: Add gnutls_log_level and rename x509_cred and
+       anon_cred to have the gnutls_ prefix for consistency.
+  
+       * gnutls.h (GNUTLS_LOG): Add convenience macro.
+  
+  2010-09-27  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * w32.c (g_b_init_get_sid_identifier_authority)
+       (GetSidIdentifierAuthority_Proc, get_sid_identifier_authority):
+       Remove, not used.
+       (globals_of_w32): Don't set g_b_init_get_sid_identifier_authority.
+       (init_winsock): Remove useless assignment.
+       (open_process_token, get_token_information, lookup_account_sid)
+       (get_sid_sub_authority, get_sid_sub_authority_count, get_file_security)
+       (get_security_descriptor_owner, get_security_descriptor_group)
+       (is_valid_sid, equal_sid, get_length_sid, copy_sid)
+       (get_native_system_info, get_system_times, init_user_info, crlf_to_lf)
+       (is_unc_volume, GetCachedVolumeInformation, get_volume_info)
+       (is_fat_volume, open_unc_volume, read_unc_volume, close_unc_volume)
+       (unc_volume_file_attributes, convert_from_time_t)
+       (create_toolhelp32_snapshot, process32_first, process32_next)
+       (open_thread_token, impersonate_self, revert_to_self)
+       (get_process_memory_info, get_process_working_set_size)
+       (global_memory_status, global_memory_status_ex, socket_to_fd)
+       (shutdown_handler): Make static.
+  
+  2010-09-27  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * dbusbind.c (dbus_fd_cb, xd_get_dispatch_status)
+       (xd_pending_messages): Functions removed.
+       (xd_read_queued_messages): Add parameters fd, *data, for_read in
+       order to be compatible with add_read_fd.  Determine bus from data,
+       and call xd_read_message just for this bus.
+       (xd_add_watch): Use xd_read_queued_messages as callback function.
+       Add data.
+  
+       * lisp.h (xd_pending_messages, xd_read_queued_messages): Remove.
+  
+  2010-09-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * gnutls.c (gnutls_log_function): Added more debugging.
+       (emacs_gnutls_read): Don't infloop while reading.
+  
+  2010-09-27  Kenichi Handa  <handa@m17n.org>
+  
+       These changes are to remove restriction on the number of glyphs in
+       one composition.
+  
+       * dispextern.h (struct glyph): Change the member "slice" to union.
+       Remove u.cmp.from and u.cmp.to.  Give more bits to u.cmp.id.
+       (GLYPH_SLICE_EQUAL_P): Adjusted for the above change.
+  
+       * dispnew.c (buffer_posn_from_coords): Use glyph->slice.img
+       instead of glyph->slice.
+       (marginal_area_string): Likewise.
+  
+       * term.c (encode_terminal_code): Use glyph->slice.cmp instead of
+       glyph->u.cmp.
+       (append_composite_glyph): Likewise.
+  
+       * xdisp.c (dump_glyph): Use glyph->slice.cmp instead of
+       glyph->u.cmp.
+       (fill_gstring_glyph_string, x_get_glyph_overhangs)
+       (append_composite_glyph): Likewise.
+       (fill_image_glyph_string): Use glyph->slice.img instead of
+       glyph->slice.
+       (append_glyph, produce_image_glyph, append_stretch_glyph)
+       (note_mouse_highlight): Likewise.
+  
+  2010-09-26  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * process.c (add_keyboard_wait_descriptor)
+       (delete_keyboard_wait_descriptor): Reinstate ifdef subprocesses.
+       (wait_reading_process_output): Don't pass write_mask to select
+       if SELECT_CANT_DO_WRITE_MASK is defined.
+       (SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK.
+  
+       * process.h (add_read_fd, delete_read_fd, add_write_fd)
+       (delete_write_fd): Declare.
+  
+       * process.c (gpm_wait_mask, max_gpm_desc): Remove.
+       (write_mask): New variable.
+       (max_input_desc): Renamed from max_keyboard_desc.
+       (fd_callback_info): New variable.
+       (add_read_fd, delete_read_fd, add_write_fd, delete_write_fd):
+       New functions.
+       (Fmake_network_process): FD_SET write_mask.
+       (deactivate_process): FD_CLR write_mask.
+       (wait_reading_process_output): Connecting renamed to Writeok.
+       check_connect removed.  check_write is new.  Remove references to gpm.
+       Use Writeok/check_write unconditionally (i.e. no #ifdef
+       NON_BLOCKING_CONNECT) instead of Connecting.
+       Loop over file descriptors and call callbacks in fd_callback_info
+       if file descriptor is ready for I/O.
+       (add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor.
+       (delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor.
+       (keyboard_bit_set): Use max_input_desc.
+       (add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor):
+       Remove #ifdef subprocesses.  Use max_input_desc.
+       (init_process): Initialize write_mask and fd_callback_info.
+  
+       * keyboard.c (readable_events, gobble_input): Remove DBUS code.
+  
+       * dbusbind.c: Include process.h.
+       (dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch)
+       (xd_read_message_1): New functions.
+       (xd_add_watch, xd_remove_watch): Call xd_find_watch_fd.
+       Handle watch for both read and write.
+       (Fdbus_init_bus): Also register xd_toggle_watch.
+       (Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
+       (Fdbus_method_error_internal, Fdbus_send_signal): Remove call
+       to dbus_connection_flush.
+       (xd_read_message): Move most of the code to xd_read_message_1.
+       Call xd_read_message_1 until status is COMPLETE.
+  
+  2010-09-26  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * term.c: Do not include sys/ioctl.h, not needed.
+       (init_tty): Reorder code to reduce the number of #ifdefs.
+       No code changes.
+  
+  2010-09-26  Teodor Zlatanov  <tzz@lifelogs.com>
+  
+       * process.h: Set up GnuTLS support.
+  
+       * process.c (make_process, Fstart_process)
+       (read_process_output, send_process): Set up GnuTLS support for
+       process input/output file descriptors.
+  
+       * gnutls.h: The GnuTLS glue for Emacs, macros and enums.
+  
+       * gnutls.c: The source code for GnuTLS support in Emacs.
+  
+       * emacs.c: Set up GnuTLS support and call syms_of_gnutls.
+  
+       * config.in: Set up GnuTLS support.
+  
+       * Makefile.in (LIBGNUTLS_LIBS, LIBGNUTLS_CFLAGS, ALL_CFLAGS)
+       (obj, LIBES): Set up GnuTLS support.
+  
+  2010-09-26  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * w32.c (get_emacs_configuration_options): Fix previous change.
+  
+  2010-09-25  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * insdel.c (prepare_to_modify_buffer): Ensure the mark marker is
+       alive before using it (Bug#6977).
+  
+  2010-09-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * xdisp.c (face_before_or_after_it_pos): EMACS_INT/int fixup.
+  
+       * dispextern.h: EMACS_INT/int fixup.
+  
+       * xdisp.c (string_pos_nchars_ahead, init_iterator): EMACS_INT/int
+       fixup.
+  
+       * xrdb.c (magic_file_p): EMACS_INT/int fixup.
+  
+  2010-09-25  Eli Zaretskii  <eliz@gnu.org>
+  
+       * window.c (Fpos_visible_in_window_p, Fdelete_other_windows)
+       (Fselect_window, window_scroll_pixel_based)
+       (window_scroll_line_based, Frecenter, Fset_window_configuration):
+       Use EMACS_INT for buffer positions.
+  
+       * textprop.c (validate_interval_range, interval_of)
+       (property_change_between_p, 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 EMACS_INT for buffer
+       positions.
+  
+       * term.c (fast_find_position, term_mouse_highlight): Use EMACS_INT
+       for buffer positions.
+  
+       * process.c (read_process_output, send_process)
+       (Fprocess_send_region, status_notify): Use EMACS_INT for buffer
+       and string positions and size.
+  
+       * print.c (print_object, print_string, strout): Use EMACS_INT for
+       string indices.
+  
+       * minibuf.c (string_to_object): Use EMACS_INT for string position
+       and size.
+  
+       * marker.c (verify_bytepos): Use EMACS_INT for buffer positions.
+  
+       * lread.c <read_from_string_index, read_from_string_index_byte>
+       <read_from_string_limit, readchar_count>: Define EMACS_INT.
+       (readchar, unreadchar, read_internal_start): Use EMACS_INT for
+       buffer positions and string length.
+  
+       * keyboard.c <last_point_position, last_non_minibuf_size>: Declare
+       EMACS_INT.
+       (echo_truncate, adjust_point_for_property, read_char)
+       (gen_help_event, make_lispy_event, modify_event_symbol)
+       (Fexecute_extended_command, stuff_buffered_input): Use EMACS_INT
+       for buffer positions and string length.
+  
+       * keyboard.h (gen_help_event): Adjust prototype.
+  
+       * termhooks.h <struct input_event>: Make `code' member EMACS_INT.
+  
+       * commands.h <last_point_position>: Declare EMACS_INT.
+  
+       * xdisp.c <help_echo_pos>: Define as EMACS_INT.
+       (truncate_echo_area): Accept EMACS_INT argument.
+  
+       * dispextern.h <help_echo_pos>: Declare EMACS_INT.
+  
+       * lisp.h (truncate_echo_area): Adjust prototype.
+  
+       * composite.c (composition_adjust_point): Return EMACS_INT.
+  
+       * composite.h (composition_adjust_point): Adjust prototype.
+  
+  2010-09-25  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * process.c (Fmake_network_process): When arg :host is 'local,
+       use address 127.0.0.1, not name "localhost".  (Bug#6781)
+  
+  2010-09-24  Eli Zaretskii  <eliz@gnu.org>
+  
+       * indent.c (Fcurrent_indentation, indented_beyond_p)
+       (compute_motion): Use EMACS_INT for buffer position variables.
+  
+       * lisp.h (indented_beyond_p): Adjust prototype.
+  
+       * buffer.c (overlay_strings): Return EMACS_INT.
+  
+       * buffer.h (overlay_strings): Adjust prototype.
+  
+       * region-cache.c (pp_cache): Adjust format to arguments.
+  
+       * eval.c <specpdl_size, lisp_eval_depth>: Declare EMACS_INT.
+       (call_debugger): Use EMACS_INT for specpdl_size related variables.
+       (verror): Use EMACS_INT for size of allocated buffer.
+  
+       * keyboard.c (make_lispy_position): Use EMACS_INT for buffer
+       positions.
+  
+       * xdisp.c (redisplay_internal, try_window_id)
+       (set_cursor_from_row, find_first_unchanged_at_end_row): Use
+       EMACS_INT for buffer positions.
+  
+       * dispextern.h (set_cursor_from_row): Adjust prototype.
+  
+       * dispnew.c (increment_matrix_positions)
+       (increment_row_positions, copy_glyph_row_contents)
+       (mode_line_string, marginal_area_string): Use EMACS_INT for buffer
+       positions.
+  
+       * dispextern.h (mode_line_string, marginal_area_string)
+       (increment_matrix_positions, increment_row_positions): Adjust
+       prototypes.
+  
+       * data.c (Faref, Faset): Use EMACS_INT for string length and
+       positions.
+  
+       * cmds.c (internal_self_insert): Use EMACS_INT for the count of
+       characters to insert.
+  
+       * ccl.c (Fccl_execute_on_string): Use EMACS_INT for string
+       position and size.
+  
+       * syntax.c (scan_words, update_syntax_table)
+       (prev_char_comend_first, back_comment, skip_chars)
+       (skip_syntaxes, Fforward_comment, Fbackward_prefix_chars): Use
+       EMACS_INT for buffer and string positions.
+  
+       * syntax.h (scan_words, update_syntax_table): Adjust prototypes.
+  
+       * casefiddle.c (operate_on_word): Use EMACS_INT for buffer
+       positions.
+  
+  2010-09-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * scroll.c (calculate_scrolling, line_ins_del)
+       (calculate_direct_scrolling, scroll_cost): Fix EMACS_INT/int
+       conversion.
+  
+       * region-cache.c (move_cache_gap, set_cache_region, pp_cache)
+       (region_cache_backward, region_cache_forward)
+       (revalidate_region_cache, set_cache_region): FIX EMACS_INT/int
+       conversion.
+  
+       * xdisp.c (message_dolog): Fix EMACS_INT/int conversion.
+  
+       * eval.c (verror): Fix EMACS_INT/int conversion.
+  
+       * print.c (PRINTDECLARE, PRINTPREPARE, strout, print_string)
+       (print_preprocess, print_check_string_charset_prop)
+       (print_object): Fix EMACS_INT/int conversion.
+  
+       * xdisp.c (message_dolog): Fix EMACS_INT/int conversion.
+  
+  2010-09-24  Eli Zaretskii  <eliz@gnu.org>
+  
+       * callproc.c (Fcall_process): Use EMACS_INT for count of
+       characters read from the subprocess.
+  
+       * bidi.c (struct bidi_paragraph_info): Use EMACS_INT for buffer
+       positions.
+       (bidi_cache_search, bidi_cache_find): Use EMACS_INT for buffer
+       positions.
+  
+       * buffer.c (struct sortvec): Use EMACS_INT for buffer positions.
+       (struct sortstrlist, overlay_str_len): Use EMACS_INT for string
+       length.
+       (advance_to_char_boundary, Fset_buffer_multibyte)
+       (overlays_at, overlays_in, mouse_face_overlay_overlaps)
+       (overlay_touches_p, record_overlay_string, overlay_strings)
+       (recenter_overlay_lists, fix_start_end_in_overlays)
+       (modify_overlay, Fmove_overlay, report_overlay_modification)
+       (evaporate_overlays): Use EMACS_INT for buffer positions.
+  
+       * lisp.h (fix_start_end_in_overlays, overlay_touches_p): Adjust
+       prototypes.
+  
+       * dispextern.h (struct bidi_saved_info): Use EMACS_INT for buffer
+       positions.
+  
+       * fns.c (Fcompare_strings, Fstring_lessp, concat)
+       (string_make_unibyte, Fstring_as_unibyte, Fsubstring)
+       (Fsubstring_no_properties, substring_both, Ffillarray)
+       (Fclear_string, mapcar1, Fmapconcat, Fmapcar, Fmapc)
+       (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1)
+       (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1)
+       (Fmd5): Use EMACS_INT for buffer and string positions and length
+       variables and arguments.
+  
+       * lisp.h (substring_both): Adjust prototype.
+  
+  2010-09-24  Juanma Barranquero  <lekktu@gmail.com>
+  
+       Remove W32 API function pointer unused since 2005-02-15 (revno 2005-02-15T23:19:26Z!jasonr@gnu.org).
+       * w32fns.c (clipboard_sequence_fn): Don't declare.
+       (globals_of_w32fns): Don't initialize it.
+  
+  2010-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * syntax.c (back_comment): Detect the case where a 1-char comment
+       starter is also the 2nd char of a 2-char comment ender.
+  
+  2010-09-23  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE.
+  
+  2010-09-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * eval.c (verror): EMACS_INT/int cleanup.
+  
+       * lisp.h (SPECPDL_INDEX): Cast to int, since we're not going to
+       unwind_protect more than 2GB worth of functions.
+  
+       * editfns.c (Finsert_char): EMACS_INT/int cleanup.
+  
+       * lisp.h: Have oblookup take EMACS_INT to allow interning big
+       string and avoid compiler warnings.
+       (USE_SAFE_ALLOCA): Cast to int to avoid compilation warnings in
+       all users.
+  
+       * lread.c (oblookup): EMACS_INT/int cleanup.
+  
+       * cmds.c (Fforward_line, Fdelete_char): EMACS_INT/int cleanup.
+  
+  2010-09-23  Eli Zaretskii  <eliz@gnu.org>
+  
+       * editfns.c (clip_to_bounds): Return an EMACS_INT value.
+  
+       * lisp.h (clip_to_bounds): Adjust prototype.
+  
+       * intervals.c (adjust_for_invis_intang): Return EMACS_INT value.
+  
+  2010-09-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * lisp.h: doprnt.c EMACS_INT/int cleanup.
+  
+       * doprnt.c (doprnt): EMACS_INT/int cleanup.
+  
+       * doc.c (Fsnarf_documentation, get_doc_string): EMACS_INT/int
+       cleanup.
+  
+       * lisp.h: Change the definition of all marker.c functions that
+       take and return buffer stuff to be EMACS_INT instead of int.
+  
+       * marker.c (buf_charpos_to_bytepos, CONSIDER, set_marker_both)
+       (buf_charpos_to_bytepos, bytepos_to_charpos)
+       (buf_bytepos_to_charpos, Fbuffer_has_markers_at)
+       (set_marker_restricted, set_marker_both): Convert int to EMACS_INT
+       for all buffer positions.
+  
+  2010-09-23  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * intervals.c (traverse_intervals, rotate_right, rotate_left)
+       (split_interval_right, find_interval, next_interval)
+       (delete_node, delete_interval, interval_deletion_adjustment)
+       (adjust_intervals_for_deletion, merge_interval_right)
+       (merge_interval_left, graft_intervals_into_buffer)
+       (copy_intervals): Convert EMACS_UINTs to EMACS_INT.
+  
+       * intervals.h (traverse_intervals): Update prototype.
+  
+  2010-09-23  Eli Zaretskii  <eliz@gnu.org>
+  
+       * indent.c (compute_motion): Use EMACS_INT for arguments to
+       region_cache_forward.
+  
+       * region-cache.c (struct boundary, struct region_cache): Use
+       EMACS_INT for positions.
+       (find_cache_boundary, move_cache_gap, insert_cache_boundary)
+       (delete_cache_boundaries, set_cache_region)
+       (invalidate_region_cache, know_region_cache)
+       (region_cache_forward, region_cache_backward, pp_cache): Use
+       EMACS_INT for buffer positions.
+  
+       * region-cache.h (know_region_cache, invalidate_region_cache)
+       (region_cache_forward, region_cache_backward): Adjust prototypes.
+  
+       * search.c (string_match_1, fast_c_string_match_ignore_case)
+       (looking_at_1, scan_buffer, scan_newline)
+       (find_next_newline_no_quit, find_before_next_newline)
+       (search_command, trivial_regexp_p, search_buffer, simple_search)
+       (boyer_moore, wordify, Freplace_match): Use EMACS_INT for buffer
+       and string positions and length.
+  
+       * lisp.h (scan_buffer, scan_newline, find_next_newline_no_quit)
+       (find_before_next_newline): Adjust prototypes.
+  
+       * editfns.c (transpose_markers, update_buffer_properties)
+       (buildmark, clip_to_bounds, Fgoto_char, overlays_around)
+       (get_pos_property, Fconstrain_to_field)
+       (Fline_beginning_position, Fline_end_position, Fprevious_char)
+       (Fchar_after, Fchar_before, Finsert_char)
+       (Finsert_buffer_substring, Fcompare_buffer_substrings)
+       (Fsubst_char_in_region, Fformat, Ftranspose_regions): Use
+       EMACS_INT for buffer and string position variables.
+       (Finsert_char): Protect against too large insertions.
+  
+       * lisp.h (clip_to_bounds): Adjust prototype.
+  
+       * 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)
+       (offset_intervals, merge_interval_right, merge_interval_left)
+       (graft_intervals_into_buffer, adjust_for_invis_intang)
+       (move_if_not_intangible, get_local_map, copy_intervals)
+       (copy_intervals_to_string, compare_string_intervals)
+       (set_intervals_multibyte_1): Use EMACS_INT for buffer positions
+       and for interval tree size.
+  
+       * intervals.h (traverse_intervals, split_interval_right)
+       (split_interval_left, find_interval, offset_intervals)
+       (graft_intervals_into_buffer, copy_intervals)
+       (copy_intervals_to_string, move_if_not_intangible, get_local_map)
+       (update_interval): Adjust prototypes.
+  
+       * xdisp.c (check_point_in_composition, reconsider_clip_changes):
+       Use EMACS_INT for buffer position variables and arguments.
+  
+       * composite.c (get_composition_id, find_composition)
+       (run_composition_function, compose_text)
+       (composition_gstring_width, autocmp_chars)
+       (composition_update_it, Ffind_composition_internal): Use EMACS_INT
+       for buffer positions and string length variables and arguments.
+  
+       * composite.h (get_composition_id, find_composition, compose_text)
+       (composition_gstring_width): Adjust prototypes.
+  
+       * editfns.c (Fformat): Use EMACS_INT for string size variables.
+  
+       * xdisp.c (store_mode_line_noprop, display_mode_element): Use
+       EMACS_INT for string positions.
+  
+       * intervals.c (get_property_and_range): Use EMACS_INT for buffer
+       position arguments.
+  
+       * intervals.h (get_property_and_range): Adjust prototype.
+  
+       * character.c (parse_str_as_multibyte, str_as_multibyte)
+       (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte)
+       (string_count_byte8, string_escape_byte8, c_string_width)
+       (strwidth, lisp_string_width, multibyte_chars_in_text): Use
+       EMACS_INT for string length variables and arguments.
+  
+       * character.h (parse_str_as_multibyte, str_as_multibyte)
+       (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte)
+       (c_string_width, strwidth, lisp_string_width): Adjust
+       prototypes.
+  
+       * font.c (font_intern_prop): Use EMACS_INT for string length
+       variables.
+  
+       * font.c (font_intern_prop): Use EMACS_INT for string length
+       variables.
+  
+       * fns.c (Fstring_as_multibyte): Use EMACS_INT for string length
+       variables.
+  
+       * alloc.c <total_string_size>: Declare as EMACS_INT, not int.
+       (Fmake_string): Protect against too large strings.
+       (live_string_p, live_cons_p, live_symbol_p, live_float_p)
+       (live_misc_p): Use ptrdiff_t instead of int for pointer
+       differences.
+       (string_bytes, check_sblock, check_string_free_list)
+       (allocate_string_data, compact_small_strings, Fmake_string)
+       (Fmake_bool_vector, make_string, make_unibyte_string)
+       (make_multibyte_string, make_string_from_bytes)
+       (make_specified_string_string, Fmake_list, Fmake_vector): Use
+       EMACS_INT for string length variables and arguments.
+       (find_string_data_in_pure, make_pure_string, make_pure_c_string)
+       (Fpurecopy): Use EMACS_INT for string size.
+       (mark_vectorlike, mark_char_table, mark_object): Use EMACS_UINT
+       for vector size.
+  
+       * lisp.h (make_string, make_unibyte_string, make_multibyte_string)
+       (make_string_from_bytes, make_specified_string_string)
+       (make_pure_string, string_bytes, check_point_in_composition):
+       Adjust prototypes.
+  
+  2010-09-22  Eli Zaretskii  <eliz@gnu.org>
+  
+       * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal)
+       (check_translation): Use EMACS_INT for buffer positions and
+       length.
+  
+       * undo.c (record_marker_adjustment, record_delete)
+       (record_change, record_point, record_insert)
+       (record_property_change, Fprimitive_undo): Use EMACS_INT for
+       buffer positions.
+  
+       * lisp.h (record_marker_adjustment, record_delete)
+       (record_change, record_point, record_insert)
+       (record_property_change, Fprimitive_undo): Adjust prototypes.
+  
+  2010-09-22  Juanma Barranquero  <lekktu@gmail.com>
+              Eli Zaretskii  <eliz@gnu.org>
+  
+       * w32.c (get_emacs_configuration_options): Fix buffer overrun.
+  
+  2010-09-22  Eli Zaretskii  <eliz@gnu.org>
+  
+       * minibuf.c (Fminibuffer_contents)
+       (Fminibuffer_contents_no_properties)
+       (Fminibuffer_completion_contents): Use EMACS_INT for minibuffer
+       positions.
+  
+       * keyboard.c (command_loop_1): Use EMACS_INT to compare point with
+       mark.
+  
+       * alloc.c (make_uninit_string, make_uninit_multibyte_string)
+       (allocate_string_data): Accept EMACS_INT for string length.
+  
+       * editfns.c (Ffield_string, Ffield_string_no_properties)
+       (make_buffer_string, make_buffer_string_both, Fbuffer_substring)
+       (Fbuffer_substring_no_properties, find_field, Fdelete_field)
+       (Ffield_string, Ffield_string_no_properties, Ffield_beginning)
+       (Ffield_end): Use EMACS_INT for buffer positions.
+  
+       * insdel.c (prepare_to_modify_buffer): Use EMACS_INT to compare
+       point with mark.
+  
+       * lisp.h (allocate_string_data, make_uninit_string)
+       (make_uninit_multibyte_string, make_buffer_string)
+       (make_buffer_string_both): Adjust prototypes.
+  
+  2010-09-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * xml.c: Switch to GNU indentation.
+       (make_dom): Change parse tree format to match xml.el.
+       (Fxml_parse_html_string_internal): Rename from html-parse-string.
+       (Fxml_parse_string_internal): Rename from xml-parse-string.
+  
+  2010-09-22  Kenichi Handa  <handa@m17n.org>
+  
+       * xdisp.c (compute_stop_pos): Call composition_compute_stop_pos
+       only if we are not at a composition.
+       (set_iterator_to_next): Give it->end_charpos to
+       composition_compute_stop_pos.
+       (set_iterator_to_next, next_element_from_buffer): Likewise.
+  
+       * dispnew.c (buffer_posn_from_coords): Fix position when the
+       current display element is a grapheme cluster in bidi-reordered
+       region.
+  
+  2010-09-21  Ari Roponen  <ari.roponen@gmail.com>  (tiny change)
+  
+       * doc.c (Fsnarf_documentation): Use memmove instead of memcpy as
+       the regions may overlap.
+  
+  2010-09-21  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies.
+  
+  2010-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * emacs.c: Do not include sys/ioctl.h, not needed.
+  
+       * doprnt.c: Do not include stdlib.h, config.h does it.
+       Move #include before macro definition.
+  
+  2010-09-20  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * Makefile.in (temacs): Link using $(CC) not $(LD).
+       (LD_FIRSTFLAG): Define using autoconf.
+       (LD): Remove.
+  
+       Remove HAVE_TERMIOS definitions.
+       * s/usg5-4-common.h (HAVE_TERMIOS):
+       * s/template.h (HAVE_TERMIOS):
+       * s/gnu-linux.h (HAVE_TERMIOS):
+       * s/darwin.h (HAVE_TERMIOS):
+       * s/cygwin.h (HAVE_TERMIOS):
+       * s/bsd-common.h (HAVE_TERMIOS):
+       * s/aix4-2.h (HAVE_TERMIOS):
+       * s/hpux10-20.h (HAVE_TERMIOS): Do not define, it is assumed
+       defined on all non-MS platforms.
+       (HAVE_PSTAT_GETDYNAMIC): Do not define, autoconf does it.
+  
+       * xterm.c (xt_action_hook): Use const.
+  
+  2010-09-20  Juanma Barranquero  <lekktu@gmail.com>
+  
+       Don't make W32 code conditional on HAVE_SOCKETS, it's always defined.
+       * w32.c: Remove top-level uses of #ifdef HAVE_SOCKETS.
+       (gethostname) [!HAVE_SOCKETS]: Remove.
+       (SOCK_REPLACE_HANDLE): Remove macro.
+       (socket_to_fd, sys_close, _sys_read_ahead, sys_read, sys_write)
+       (term_ntproc, init_ntproc): Don't conditionalize on HAVE_SOCKETS.
+       * w32proc.c: Remove top-level uses of #ifdef HAVE_SOCKETS.
+       (syms_of_ntproc): Don't conditionalize on HAVE_SOCKETS.
+  
+  2010-09-18  Eli Zaretskii  <eliz@gnu.org>
+  
+       * deps.mk (xml.o): Add dependencies.
+  
+       * xdisp.c (Fcurrent_bidi_paragraph_direction):
+       Call bidi_paragraph_init with NO_DEFAULT_P non-zero.  (Bug#7038)
+  
+       * bidi.c (bidi_paragraph_init): Accept an additional argument
+       NO_DEFAULT_P; all callers changed.  If NO_DEFAULT_P is non-zero,
+       search back until a paragraph with a strong directional character
+       is found, and use that to determine paragraph's base direction.
+  
+       * dispextern.h (bidi_paragraph_init): Update prototype.
+  
+  2010-09-17  Eli Zaretskii  <eliz@gnu.org>
+  
+       * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions
+       of w32api >= 3.15.  (Bug#6989)
+  
+  2010-09-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * process.c (wait_reading_process_output): Don't message about
+       accept-process-output unless the time limit really is zero.
+  
+  2010-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * frame.c (Ftool_bar_pixel_width): YAILOM (Yet another
+       int/Lisp_Object mixup).
+  
+  2010-09-17  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * keyboard.c (parse_tool_bar_item): For QClabel, set TOOL_BAR_ITEM_LABEL
+       not HELP.
+  
+  2010-09-17  Stephen Berman  <stephen.berman@gmx.net>
+  
+       * frame.c (Ftool_bar_pixel_width): New function to expose tool
+       bar's pixel width to Lisp (Bug#7048).
+  
+  2010-09-14  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * cmds.c (syms_of_cmds) <post-self-insert-hook>: Fix typos in docstring.
+  
+  2010-09-17  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * gtkutil.c (xg_pack_tool_bar): Call gtk_handle_box_set_handle_position
+       with argument top/left if tool bar is vertical/horizontal (Bug#7051).
+  
+  2010-09-17  Kenichi Handa  <handa@m17n.org>
+  
+       * ftfont.c (ftfont_check_otf): Fix previous change.
+  
+  2010-09-14  Kenichi Handa  <handa@m17n.org>
+  
+       * ftfont.c (ftfont_check_otf): Fix the case of checking just
+       existence of GSUB or GPOS.
+  
+  2010-09-14  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * cmds.c (syms_of_cmds) <post-self-insert-hook>: Fix typos in docstring.
+  
+  2010-09-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * xml.c (parse_buffer): Renamed to parse_string(), since that's
+       what it does.
+       (parse_string): Return nil when the document can't be parsed.
+  
+  2010-09-14  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xterm.c (get_current_vm_state): New function.
+       (do_ewmh_fullscreen): Call get_current_vm_state and compare with
+       want_fullscreen so set_wm_state calls are few (Bug#7013).
+       (x_handle_net_wm_state): Move code to get_current_vm_state and
+       call that function.
+  
+  2010-09-14  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
+  
+       * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002).
+  
+  2010-09-14  Kenichi Handa  <handa@m17n.org>
+  
+       * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if
+       we may use designation or locking-shift.
+  
+  2010-09-14  Kenichi Handa  <handa@m17n.org>
+  
+       * coding.c (detect_coding_emacs_mule): Fix checking of multibyte
+       sequence when the source is multibyte.
+  
+  2010-09-14  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * xml.c (Fxml_parse_string, Fxml_parse_string): Revert last change.
+       Don't make first argument optional.  Doc fix.
+  
+  2010-09-14  Leo  <sdl.web@gmail.com>  (tiny change)
+  
+       * xml.c (Fxml_parse_string, Fhtml_parse_string): Fix up the
+       parameters for the doc string.
+  
+  2010-09-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * xml.c (Fhtml_parse_string, Fxml_parse_string): Mention BASE-URL.
+  
+  2010-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * fns.c (Fy_or_n_p): Move to lisp/subr.el.
+       (syms_of_fns): Don't defsubr Sy_or_n_p.
+       * lisp.h: Don't declare Fy_or_n_p.
+       * fileio.c (barf_or_query_if_file_exists): Fy_or_n_p -> y-or-n-p.
+  
+  2010-09-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * xml.c (Fxml_parse_buffer): New function to parse XML files.
+  
+  2010-09-08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+  
+       * xml.c: New file.
+       (Fhtml_parse_buffer): New function to interface to the libxml2
+       html parsing function.
+  
+  2010-09-05  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * biditype.h: Regenerate.
+  
+  2010-09-04  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * nsimage.m (ns_load_image): Check argument types.
+  
+       * image.c: Remove all uses of gcpro.
+       (xpm_load): Check all lisp types.
+       (pbm_load): Likewise.
+       (png_load): Likewise.
+       (jpeg_load): Likewise.
+       (tiff_load): Likewise.
+       (gif_load): Likewise.
+       (imagemagick_load_image): Likewise.
+       (imagemagick_load): Likewise.
+       (svg_load): Likewise.
+       (gs_load): Likewise.
+  
+  2010-09-04  Eli Zaretskii  <eliz@gnu.org>
+  
+       * w32uniscribe.c (uniscribe_shape): Update commentary.  Don't
+       try to reorder grapheme clusters, since LGSTRING should always
+       hold them in the logical order.
+       (uniscribe_encode_char, uniscribe_shape): Force ScriptShape to
+       return glyph codes in the logical order.
+  
+  2010-09-04  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * image.c (imagemagick_image_p): Replace bcopy by memcpy.
+       (imagemagick_load_image): Fix type mismatch.
+       (Fimagemagick_types): Likewise.  Doc fix.
+  
+  2010-09-02  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xterm.h (struct dpyinfo): Remove cut_buffers_initialized.
+  
+       * xterm.c (x_term_init): Don't set dpyinfo->cut_buffers_initialized.
+  
+       * xselect.c: Remove declaration of cut-buffer objects and functions.
+       (symbol_to_x_atom): Remove mapping to XA_CUT_BUFFERn.
+       (x_atom_to_symbol): Remove mapping to QCUT_BUFFERn.
+       (Fx_get_cut_buffer_internal, Fx_store_cut_buffer_internal)
+       (Fx_rotate_cut_buffers_internal): Remove.
+       (syms_of_xselect): Remove defsubr of above.
+       Remove intern of QCUT_BUFFERn.
+  
+  2010-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * cmds.c (Vblink_paren_function): Remove.
+       (internal_self_insert): Make it insert N chars at a time.
+       Don't call blink-paren-function.
+       (Fself_insert_command): Adjust accordingly.
+       (syms_of_cmds): Don't declare blink-paren-function.
+  
+  2010-08-31  Kenichi Handa  <handa@m17n.org>
+  
+       * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit
+       characters.
+  
+       * term.c (encode_terminal_code): Fix the previous change.
+       (produce_glyphs): Don't set it->char_to_display here.
+       Don't handle unibyte-display-via-language-environment here.
+       (produce_special_glyphs): Set temp_it.char_to_display before
+       calling produce_glyphs.
+  
+       * xdisp.c (get_next_display_element): Set it->char_to_display
+       here.  Convert all 8-bit bytes from unibyte buffer/string to 8-bit
+       characters.
+       (get_overlay_arrow_glyph_row): Set it.char_to_display too before
+       calling PRODUCE_GLYPHS.
+       (append_space_for_newline): Save and store it->char_to_display.
+       Set it->char_to_display before calling PRODUCE_GLYPHS.
+       (extend_face_to_end_of_line): Set it->char_to_display before
+       calling PRODUCE_GLYPHS.
+       (get_glyph_face_and_encoding): Set the glyph code an 8-bit
+       character to its byte value.
+       (get_char_glyph_code): New function.
+       (produce_stretch_glyph): Set it2.char_to_display too before
+       calling x_produce_glyphs.
+       (x_produce_glyphs): Simplify by using the same code for ASCII and
+       non-ASCII characters.  Don't set it->char_to_display here.
+       Don't handle unibyte-display-via-language-environment here.  For a
+       character of no glyph, use font->space_width instead of FONT_WIDTH.
+  
+  2010-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * keyboard.c (Fwindow_system): Fix compilation for USE_LISP_UNION_TYPE.
+  
+  2010-08-31  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * keyboard.c (command_loop_1): Don't call x-set-selection on tty.
+  
+  2010-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * marker.c (Fcopy_marker): Make the first arg optional.
+  
+  2010-08-30  Kenichi Handa  <handa@m17n.org>
+  
+       * composite.c (composition_update_it): Fix computing of
+       cmp_it->width.
+  
+  2010-08-29  Kenichi Handa  <handa@m17n.org>
+  
+       * term.c (encode_terminal_code): Encode byte chars to the
+       corresponding bytes.
+  
+  2010-08-29  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * nsterm.m (ns_draw_window_cursor): Draw BAR_CURSOR correct for R2L.
+  
+  2010-08-26  Kenichi Handa  <handa@m17n.org>
+  
+       * xdisp.c (compute_stop_pos): Pay attention to bidi scan direction
+       on calling composition_compute_stop_pos.
+  
+  2010-08-25  Kenichi Handa  <handa@m17n.org>
+  
+       * fontset.c (reorder_font_vector): Prefer a font-spec specifying
+       :otf.
+  
+       * composite.c (composition_compute_stop_pos): Don't break
+       composition at PT.
+       (composition_reseat_it): Likewise.  Fix calculation of character
+       position starting a composition.
+       (Fcomposition_get_gstring): Don't limit the number of components
+       for automatic composition.
+  
+  2010-08-25  Kenichi Handa  <handa@m17n.org>
+  
+       * composite.c (composition_compute_stop_pos): In forward search,
+       pay attention to the possibility that some character after ENDPOS
+       will be composed with charactrs before ENDPOS.
+  
+  2010-08-24  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * keyboard.c (command_loop_1): Don't clobber primary selection
+       during handle-switch-frame (Bug#6872).
+  
+  2010-08-23  Michael Albinus  <michael.albinus@gmx.de>
+  
+       * dbusbind.c: Accept UNIX domain sockets as bus address.
+       (Fdbus_close_bus): New function.
+       (Vdbus_registered_buses): New variable.
+       (xd_initialize): Implement string as bus address.
+       (Fdbus_init_bus): Add bus to Vdbus_registered_buses).
+       (Fdbus_get_unique_name, Fdbus_call_method)
+       (Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
+       (Fdbus_method_error_internal, Fdbus_send_signal)
+       (Fdbus_register_signal, Fdbus_register_method): Remove bus type
+       check.  This is done in xd_initialize_bus.  Adapt doc string, if
+       necessary.
+       (xd_pending_messages, xd_read_queued_messages): Loop over buses in
+       Vdbus_registered_buses.
+       (Vdbus_registered_objects_table): Create hash.
+  
+  2010-08-22  Juri Linkov  <juri@jurta.org>
+  
+       * keyboard.c (Fexecute_extended_command): Move reading a command name
+       with `completing-read' to a new Elisp function `read-extended-command'.
+       Call it to read a command to `function'  (bug#5364, bug#5214).
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * emacs.c (main): Remove handling of --unibyte arg (Bug#6886).
+  
+  2010-08-22  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
+       instead of SAFE_ALLOCA.
+  
+  2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
+       (Bug#6214).
+  
+  2010-08-22  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
+  
+  2010-08-22  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * doc.c (Fsnarf_documentation): Initialize skip_file before
+       build-files test.
+  
+  2010-08-22  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
+  
+       * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK):
+       New definitions.
+       (HAVE_TERMIO): Remove.
+  
+  2010-08-22  Eli Zaretskii  <eliz@gnu.org>
+  
+       * deps.mk (sysdep.o, msdos.o): Depend on sysselect.h.
+  
+       * sysselect.h [WINDOWSNT]: Don't define the FD_* and select stuff
+       for w32.
+  
+       * s/ms-w32.h (HAVE_SYS_TIMEB_H): Don't #undef HAVE_SYS_SELECT_H,
+       it's done in nt/config.nt.
+  
+       * makefile.w32-in ($(BLD)/sysdep.$(O)): Depend on sysselect.h.
+  
+       * unexcoff.c (report_error, make_hdr, write_segment)
+       (copy_text_and_data, copy_sym, mark_x, adjust_lnnoptrs, unexec):
+       Convert argument lists and prototypes to ANSI C.
+       (make_hdr, write_segment): Remove unused variables.
+       (unexec): Remove commented-out line.  Initialize `new' to shut up
+       compiler warnings.
+  
+  2010-08-22  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Simplify termio code.
+       All non-MSDOS non-WINDOWSNT platforms define HAVE_TERMIOS, so
+       HAVE_TERMIO code is obsolete.
+       Replace HAVE_TERMIOS conditionals with !DOS_NT.
+       * systty.h: Do not define HAVE_TCATTR.
+       Remove HAVE_TERMIO, HAVE_LTCHARS and HAVE_TCHARS code.
+       Do not define EMACS_HAVE_TTY_PGRP.  Only define
+       EMACS_GET_TTY_PGRP for !DOS_NT.
+       * sysdep.c: Include sysselect.h unconditionally.  Do not include
+       sys/ioctl.h and termios.h, systty.h does it.  Use
+       HAVE_SYS_UTSNAME_H instead of USG as an include guard.
+       (init_baud_rate): Remove HAVE_TERMIO code.
+       (child_setup_tty): Remove HAVE_TERMIO code.
+       (emacs_get_tty, emacs_set_tty): Remove HAVE_TERMIO, HAVE_TCHARS
+       and HAVE_LTCHARS code.  Use !DOS_NT instead of HAVE_TCATTR.
+       (new_ltchars, new_tchars): Remove, unused.
+       (init_sys_modes): Remove HAVE_TERMIO, HAVE_TCHARS and HAVE_LTCHARS
+       code.  Remove special casing for __mips__, it was a no-op.  Remove
+       HAVE_TCATTR conditional, it is implied by HAVE_TERMIOS.
+       (init_sys_modes): Remove HPUX special case.
+       * process.c: Include stdlib.h unconditionally.  Do not include
+       fcntl.h, systty.h does it.  Remove conditional code for
+       HAVE_SERIAL, it is always true.
+       (process_send_signal): Remove HAVE_TERMIOS conditional, it's
+       always true when SIGNALS_VIA_CHARACTERS is true.
+       (Fcontinue_process, Fprocess_send_eof): Simplify conditionals:
+       !WINDOWSNT means HAVE_TERMIOS.
+       (create_process): Remove HAVE_TERMIOS, it's inside a HAVE_PTYS
+       conditional, which is true for all HAVE_TERMIOS systems.
+       * keyboard.c (init_keyboard): Do not use HAVE_TERMIO, use !DOS_NT
+       instead of HAVE_TERMIOS.
+       * emacs.c (shut_down_emacs): Use !defined DOS_NT instead of
+       EMACS_HAVE_TTY_PGRP.
+       * callproc.c (child_setup): Move EMACS_SET_TTY_PGRP use to the
+       non-MSDOS, non-WINDOWSNT code, it's only defined for such systems
+       anyway.
+  
+  2010-08-21  Eli Zaretskii  <eliz@gnu.org>
+  
+       * dispnew.c (buffer_posn_from_coords): Fix off-by-one error in
+       mirroring pixel positions.
+  
+  2010-08-20  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * alloc.c (malloc_sbrk_used, malloc_sbrk_unused): Remove,
+       write only.
+       (init_alloc_once): Remove writes to malloc_sbrk_unused, and
+       malloc_sbrk_used, nothing uses them.
+  
+       * puresize.h: Remove code assuming PNTR_COMPARISON_TYPE is not
+       defined, unconditionally defined in lisp.h.
+  
+       * term.c: Do not include <termios.h>, systty.h does it.
+  
+       * s/unixware.h (HAVE_TCATTR):
+       * s/aix4-2.h (HAVE_TCATTR): Remove definitions, not needed.
+       systty.h defines it when HAVE_TERMIOS is defined.
+  
+  2010-08-20  Eli Zaretskii  <eliz@gnu.org>
+  
+       * dispnew.c (buffer_posn_from_coords): Fix last change for text
+       terminals: add one-character offset for R2L lines.
+  
+       * emacs.c <emacs_version>: Add a comment regarding
+       msdos/mainmake.v2's dependency on the syntax of this declaration.
+  
+  2010-08-20  Eli Zaretskii  <eliz@gnu.org>
+  
+       * dispnew.c (buffer_posn_from_coords): Fix calculation of buffer
+       position for R2L lines by mirroring the pixel position wrt the
+       text are box.  Improve commentary.
+  
+  2010-08-20  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * image.c (imagemagick_clear_image): Remove debugging output.
+  
+  2010-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * cmds.c (Vself_insert_face, Vself_insert_face_command): Remove.
+       (Qpost_self_insert_hook, Vpost_self_insert_hook): New vars.
+       (internal_self_insert): Run Qpost_self_insert_hook rather than handle
+       self-insert-face.
+       (syms_of_cmds): Initialize the new vars.
+  
+  2010-08-19  Jason Rumney  <jasonr@gnu.org>
+  
+       * w32menu.c (set_frame_menubar): Remove call to undefined function.
+  
+       * w32fns.c (w32_wnd_proc): Don't check context before initializing.
+  
+  2010-08-19  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * nsselect.m (nxatoms_of_nsselect): Use "Selection" and "Secondary".
+  
+  2010-08-18  Eli Zaretskii  <eliz@gnu.org>
+  
+       * xterm.c (x_draw_bar_cursor):
+       * w32term.c (x_draw_bar_cursor): If the character under cursor is
+       R2L, draw the bar cursor on its right rather than on its left.
+  
+  2010-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * eval.c (Fdefmacro): Only obey one declaration.
+  
+       * casefiddle.c (casify_region): Setup gl_state.
+  
+  2010-08-18  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * nsterm.m (ns_define_frame_cursor): Call x_update_cursor (Bug#6868).
+  
+  2010-08-18  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * gtkutil.c (update_frame_tool_bar): Literal strings are const char*.
+  
+  2010-08-18  David De La Harpe Golden  <david@harpegolden.net>
+  
+       * nsselect.m (QCLIPBOARD, NXPrimaryPboard): Define.
+       (symbol_to_nsstring): Map QCLIPBOARD => NSGeneralPboard,
+       QPRIMARY => NXPrimaryPboard.
+       (ns_string_to_symbol): NSGeneralPboard => QCLIPBOARD,
+       NXPrimaryPboard => QPRIMARY.
+       (nxatoms_of_nsselect): NXPrimaryPboard = PrimarySelection,
+       NXSecondaryPboard = SecondarySelection.
+       (syms_of_nsselect): Intern QCLIPBOARD (Bug#6677).
+  
+  2010-08-18  Joakim Verona  <joakim@verona.se>
+  
+       * image.c: Add support for ImageMagick.  When HAVE_IMAGEMAGICK is
+       defined:
+       (imagemagick_image_p): New function to test for ImageMagic image.
+       (imagemagick_load): New function to load ImageMagick image.
+       (imagemagick_load_image): New function, helper for imagemagick_load.
+       (imagemagick-types): New function.
+       (Qimagemagick): New Lisp_object.
+       (imagemagick-render-type): New variable, decides which renderer to use.
+  
+  2010-08-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * gtkutil.c (update_frame_tool_bar): Don't assume TOOL_BAR_ITEM_LABEL
+       is a string.
+  
+  2010-08-17  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * nsfns.m (ns_frame_parm_handlers): Add a slot for the
+       x_set_tool_bar_position handler.
+  
+  2010-08-17  Eli Zaretskii  <eliz@gnu.org>
+  
+       * w32fns.c <w32_frame_parm_handlers>: Add a slot for the
+       x_set_tool_bar_position handler, needed to support changes from
+       2010-07-29T16:49:59Z!jan.h.d@swipnet.se for positioning the tool bar.  (Bug#6796)
+  
+  2010-08-16  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * nsselect.m: include keyboard.h for QPRIMARY, remove its
+       declaration (Bug#6863).
+       (syms_of_nsselect): Don't intern QPRIMARY.
+  
+       * xselect.c: Remove declaration of QPRIMARY (Bug#6864).
+  
+       * keyboard.h (QPRIMARY): Declare (Bug#6864).
+  
+  2010-08-16  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * keyboard.c (command_loop_1): Avoid setting selection twice,
+       since it's done in deactivate-mark as well.
+       (Vselect_active_regions): Change default to t.  Replace `lazy'
+       with non-default value `only', meaning only set PRIMARY for
+       temporarily active regions.
+  
+       * insdel.c (prepare_to_modify_buffer): Handle `only' value of
+       select-active-regions.
+  
+  2010-08-15  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * keyboard.c (parse_tool_bar_item): Put in a bad label if :label
+       isn't a string.
+  
+  2010-08-15  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       * keyboard.c (parse_tool_bar_item): Avoid excessive use of strlen.
+  
+  2010-08-15  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * keyboard.c (parse_tool_bar_item): malloc buf.
+       Set TOOL_BAR_ITEM_LABEL to empty string if not set to
+       new_lbl (Bug#6855).
+  
+  2010-08-14  Eli Zaretskii  <eliz@gnu.org>
+  
+       * xterm.c (x_draw_stretch_glyph_string):
+       * w32term.c (x_draw_stretch_glyph_string): In R2L rows, display
+       the cursor on the right edge of the stretch glyph.
+  
+       * xdisp.c (window_box_right_offset, window_box_right):
+       Fix commentary.
+  
+       * xdisp.c (Fcurrent_bidi_paragraph_direction): Fix paragraph
+       direction when point is inside a run of whitespace characters.
+  
+       * bidi.c (bidi_at_paragraph_end): Remove obsolete comment.
+  
+  2010-08-14  Jason Rumney  <jasonr@gnu.org>
+  
+       * keyboard.c (lispy_function_keys): Do not define VK_PACKET (bug#4836)
+  
+  2010-08-14  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * fns.c (Fmake_hash_table): Doc fix (Bug#6851).
+  
+  2010-08-13  Jason Rumney  <jasonr@gnu.org>
+  
+       * w32menu.c (simple_dialog_show): Use unicode message box if available.
+       (MessageBoxW_Proc): New function typedef.
+       (unicode-message-box): New function pointer.
+       (globals_of_w32menu): Import it from user32.dll. (Bug#5629)
+  
+  2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * frame.h (Qtool_bar_position): Declare.
+  
+       * xfns.c (Fx_create_frame): Call x_default_parameter for
+       Qtool_bar_position.
+  
+  2010-08-13  Eli Zaretskii  <eliz@gnu.org>
+  
+       * unexcoff.c: Remove the parts used when "emacs" is not defined.
+       (report_error, report_error_1): Ditto.
+       (write_segment): Remove "#if 0" unused code.
+       (make_hdr): Remove code that was "#ifndef NO_REMAP" before
+       NO_REMAP was removed (in 2010-07-29T03:25:08Z!dann@ics.uci.edu).
+       (start_of_text): Remove unused function (was used only if NO_REMAP
+       was NOT defined).
+  
+       * msdos.c (IT_set_face): Fix format string to match argument
+       types.
+       (IT_write_glyphs, IT_note_mode_line_highlight)
+       (IT_set_frame_parameters): Remove unused variables.
+       (x_set_menu_bar_lines): Declare set_menu_bar_lines.
+       (IT_set_terminal_modes): Disambiguate expression in if clause.
+       (Fmsdos_remember_default_colors): Return Qnil.
+       (IT_set_frame_parameters): Add parens to disambiguate boolean
+       expression for logging the cursor type to termscript.
+       (keyboard_layout_list, keypad_translate_map)
+       (grey_key_translate_map): Add braces in inner initializers.
+       (dos_rawgetc): Add parens in condition for mouse-3 button-press.
+       (dos_rawgetc): Remove unused label.
+       (XMenuActivate): Add braces to remove ambiguous `else'.
+       (dos_ttraw): Always return a value.
+       (spawnve): Declare.
+       (run_msdos_command): Cast 3rd arg of spawnve to "char **".
+  
+       * dosfns.h (x_set_title): Declare.
+  
+       * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
+       Remove unused variables.
+  
+       * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Remove unused
+       variables.
+       (init_dosfns): Declare get_lim_data.
+       (system_process_attributes): Declare Fget_internal_run_time.
+  
+       * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Fix argument
+       list to be consistent with menu.h.
+  
+       * w32menu.c (add_menu_item, name_is_separator): Shut up compiler
+       warnings due to mixing of "char *" and "const char *".
+  
+  2010-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       Introduce a new comment style "c" flag.
+       * syntax.c (SYNTAX_FLAGS_COMMENT_STYLEB)
+       (SYNTAX_FLAGS_COMMENT_STYLEC): New macros.
+       (SYNTAX_FLAGS_COMMENT_STYLE): Use them, add an argument.
+       (syntax_prefix_flag_p): New function.
+       (Fstring_to_syntax): Understand new "c" flag.
+       (Finternal_describe_syntax_value): Recognize new flag; use the
+       SYNTAX_FLAGS_* macros.
+       (scan_sexps_forward, Fparse_partial_sexp): Change representation of
+       comment style to accomodate the new styles.
+       (back_comment, forw_comment, Fforward_comment, scan_lists)
+       (scan_sexps_forward): Update code to obey the new comment style flag.
+  
+       * syntax.h: Move SYNTAX_FLAGS_FOO() macros to syntax.c.
+  
+       * casefiddle.c (casify_region): Use the new syntax_prefix_flag_p.
+  
+  2010-08-11  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xfns.c (x_defined_color): If USE_GTK, call xg_check_special_colors
+       first.
+       (Fx_hide_tip): Check FRAME_LIVE_P (f) before calling xg_hide_tooltip.
+  
+       * gtkutil.h (xg_check_special_colors): Declare.
+  
+       * gtkutil.c (xg_check_special_colors, style_changed_cb): New functions.
+       (xg_create_frame_widgets): Connect theme name changes to
+       style_changed_cb.
+  
+       * xterm.c (emacs_class): New char[] for EMACS_CLASS.
+       (xim_open_dpy, xim_initialize, xim_close_dpy): Use emacs_class.
+       (x_term_init): Use char[] display_opt and name_opt instead of
+       string literal.  file is const char*.
+  
+       * xsmfns.c (NOSPLASH_OPT): Change to char[].
+       (smc_save_yourself_CB): Do xstrdup on all ->type and ->name for
+       props.  Free them at the end.
+  
+       * xselect.c (Fx_get_atom_name): Use char empty[] instead of literal "".
+  
+       * xrdb.c (get_system_app): Make path const and use char *p for
+       non-const char.
+  
+       * xmenu.c (Fx_popup_dialog): error_name is const char*.
+       (xmenu_show): error parameter is const char **.  pane_string is const
+       char *.
+       (button_names): Is const char *.
+       (xdialog_show): error_name and pane_string is const.
+  
+       * process.h (synch_process_death): Is const char*.
+  
+       * w32menu.c (w32_menu_show):
+       * nsmenu.m (ns_menu_show): error parameter is const char **.
+  
+       * menu.h (w32_menu_show, ns_menu_show, xmenu_show): error parameter
+       is const char **.
+  
+       * menu.c (Fx_popup_menu): error_name is const.
+  
+       * keyboard.h (_widget_value): Add defined USE_GTK.  Replace Boolean
+       with unsigned char and XtPointer with void *.
+  
+       * gtkutil.h: Replace widget_value with struct _widget_value.
+       (enum button_type, struct _widget_value): Remove and use the one from
+       keyboard.h.
+  
+       * gtkutil.c (get_utf8_string): Always return an allocated string.
+       Parameter is const.
+       (create_dialog, xg_create_one_menuitem, create_menus)
+       (xg_item_label_same_p, xg_update_menu_item): Free result from
+       get_utf8_string.
+       (xg_separator_p, xg_item_label_same_p): label is const.
+  
+       * font.h (font_open_by_name): Make name const.
+  
+       * font.c (font_open_by_name): Make name const.
+  
+       * floatfns.c (matherr): Use a const char* variable for x->name.
+  
+       * emacs.c (main): Pass char[] to putenv instead of literal.
+  
+       * callproc.c (synch_process_death): Make const.
+       (Fcall_process): Make signame const.
+  
+       * nsterm.h (parseKeyEquiv, addSubmenuWithTitle)
+       (addDisplayItemWithImage): Use const char*.
+  
+       * nsmenu.m (parseKeyEquiv, addSubmenuWithTitle)
+       (addDisplayItemWithImage, update_frame_tool_bar): Use const char*.
+  
+       * nsfont.m (ns_descriptor_to_entity): Use const char*.
+  
+       * keyboard.h (_widget_value): name, value and key are const char*.
+  
+       * unexmacosx.c (unexec_error): Use const char *.
+  
+  2010-08-09  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * font.h (font_parse_xlfd, font_parse_fcname, font_unparse_fcname)
+       (font_parse_name, font_open_by_name):
+       * font.c (font_parse_xlfd, font_parse_fcname, font_unparse_fcname)
+       (font_parse_name, font_open_by_name): Remove const.
+  
+  2010-08-09  Andreas Schwab  <schwab@linux-m68k.org>
+  
+       Use autoconf determined WORDS_BIGENDIAN instead of hardcoded
+       definition.
+  
+       * m/alpha.h: Don't define/undef WORDS_BIG_ENDIAN.
+       * m/amdx86-64.h: Likewise.
+       * m/arm.h: Likewise.
+       * m/hp800.h: Likewise.
+       * m/ia64.h: Likewise.
+       * m/ibmrs6000.h: Likewise.
+       * m/ibms390.h: Likewise.
+       * m/intel386.h: Likewise.
+       * m/iris4d.h: Likewise.
+       * m/m68k.h: Likewise.
+       * m/macppc.h: Likewise.
+       * m/mips.h: Likewise.
+       * m/sh3.h: Likewise.
+       * m/sparc.h: Likewise.
+       * m/template.h: Likewise.
+       * m/vax.h: Likewise.
+       * m/xtensa.h: Likewise.
+       * fringe.c (init_fringe_bitmap): Test WORDS_BIGENDIAN instead of
+       WORDS_BIG_ENDIAN.
+       * lisp.h: Likewise.
+       * md5.c: Likewise.
+       * sound.c (le2hl, le2hs, be2hl, be2hs): Likewise.
+  
+  2010-08-09  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Use const char* instead of char*.
+       Reduce the number of warnings with -Wwrite-strings.
+       * xrdb.c (get_environ_db, get_system_name):
+       * unexelf.c (find_section):
+       * term.c (string_cost, string_cost_one_line, per_line_cost)
+       (get_named_tty, init_tty):
+       * sysdep.c (sys_subshell):
+       * sound.c (sound_perror, sound_warning, vox_open, vox_init)
+       (alsa_sound_perror, alsa_open, alsa_configure, alsa_init):
+       * search.c (Freplace_match):
+       * process.c (Fmake_network_process, send_process, init_process):
+       * lread.c (Fload, init_lread):
+       * keymap.c (Fdescribe_buffer_bindings, describe_map_tree):
+       * keyboard.c (parse_tool_bar_item, struct event_head):
+       * gtkutil.h (xg_get_font_name):
+       * gtkutil.c (get_dialog_title, create_dialog, xg_get_font_name)
+       (make_widget_for_menu_item, make_menu_item, create_menus)
+       (xg_make_tool_item):
+       * font.c (parse_matrix, font_parse_name):
+       * floatfns.c (rounding_driver, float_error_fn_name):
+       * filelock.c (get_boot_time_1, lock_file_1):
+       * fileio.c (barf_or_query_if_file_exists, check_writable):
+       * editfns.c (get_system_name, get_operating_system_release)
+       (Fencode_time, Fset_time_zone_rule):
+       * dispextern.h (string_cost, per_line_cost, get_named_tty, init_tty):
+       * buffer.c (defvar_per_buffer): Use const.
+  
+  2010-08-08  Kenichi Handa  <handa@m17n.org>
+  
+       * charset.c: Include <stdlib.h>.
+       (struct charset_sort_data): New struct.
+       (charset_compare): New function.
+       (Fsort_charsets): New function.
+       (syms_of_charset): Declare Fsort_charsets as a Lisp function.
+  
+       * coding.c (decode_coding_iso_2022): Fix checking of dimension
+       number in CTEXT extended segment.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * w32fns.c (syms_of_w32fns) <x-max-tooltip-size>: Fix typo in docstring.
+       * xfns.c (syms_of_xfns) <x-max-tooltip-size>: Reflow docstring.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep)
+       (Fhash_table_size): Fix typos in docstrings.
+       (Fmake_hash_table): Doc fix.
+  
+  2010-08-08  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * minibuf.c (syms_of_minibuf) <read-buffer-function>:
+       Doc fix (bug#5625).
+  
+  2010-08-08  Ken Brown  <kbrown@cornell.edu>
+  
+       * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of
+       the MSDOS definition.
+  
+  2010-08-08  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Use const char* instead of char*.
+       * xterm.c (x_create_toolkit_scroll_bar):
+       * xfont.c (xfont_list_pattern):
+       * xfns.c (x_default_scroll_bar_color_parameter)
+       (xic_create_fontsetname, x_default_font_parameter)
+       (x_screen_planes):
+       * xdisp.c (c_string_pos, number_of_chars, reseat_to_string)
+       (store_mode_line_string, decode_mode_spec, display_string):
+       * menu.c (digest_single_submenu):
+       * keymap.h (initial_define_key, initial_define_lispy_key):
+       * keymap.c (initial_define_key, initial_define_lispy_key):
+       * image.c (image_error, image_keyword):
+       * gtkutil.h (xg_create_widget, xg_create_scroll_bar):
+       * gtkutil.c (xg_create_widget, xg_create_scroll_bar):
+       * ftfont.c (struct fc_charset_table, ftfont_spec_pattern)
+       (ftfont_list, ftfont_match):
+       * frame.c (frame_parm_table):
+       * font.h (font_intern_prop, font_parse_xlfd, font_parse_fcname)
+       (font_unparse_fcname, font_unparse_fcname, font_open_by_name)
+       (font_add_log, font_deferred_log):
+       * font.c (font_intern_prop, font_parse_xlfd, font_parse_fcname)
+       (font_unparse_fcname, font_unparse_fcname, font_open_by_name)
+       (font_add_log, font_deferred_log):
+       * emacs.c (argmatch):
+       * dispextern.h (struct it):
+       * coding.c (ENCODE_DESIGNATION):
+       * charset.c (define_charset_internal): Use const.
+  
+       * s/freebsd.h (DECLARE_GETPWUID_WITH_UID_T): Remove, unused.
+  
+       * xrdb.c: Remove include guard.
+       Remove DECLARE_GETPWUID_WITH_UID_T conditional it had no effect.
+       Remove #if 0 code.  Replace malloc->xmalloc, free->xfree,
+       realloc->xrealloc instead of using #defines.
+  
+  2010-08-08  Eli Zaretskii  <eliz@gnu.org>
+  
+       * cmds.c (Fforward_line, Fbeginning_of_line, Fend_of_line):
+       * editfns.c (Fline_beginning_position, Fline_end_position):
+       State in the doc strings that start and end of line are in the
+       logical order.
+  
+       * xdisp.c (display_line): Move the handling of overlay arrow after
+       the call to find_row_edges.  (Bug#6699)
+  
+  2010-08-07  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * keyboard.c (command_loop_1):
+       * insdel.c (prepare_to_modify_buffer): Don't call validate_region.
+  
+  2010-08-07  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * insdel.c (prepare_to_modify_buffer): Save active region text to
+       Vsaved_region_selection.
+  
+       * xselect.c (QPRIMARY): Move to keyboard.c.
+  
+       * keyboard.c (Vselect_active_regions): Move from simple.el.
+       (Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New vars.
+       (command_loop_1): Set window selection prior to deactivating the mark.
+  
+  2010-08-07  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * alloc.c (lisp_malloc):
+       * buffer.c (set_buffer_internal, set_buffer_internal_1):
+       * charset.h (emacs_mule_charset):
+       * dispextern.h (inhibit_free_realized_faces, redraw_frame)
+       (redraw_garbaged_frames, scroll_cost, update_frame, scrolling)
+       (bitch_at_user):
+       * lisp.h (Fcheck_coding_system, Fget_text_property)
+       (Qfunction, Qcompletion_ignore_case, QCwidth, QCsize):
+       Remove duplicate declarations.
+  
+  2010-08-06  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * process.c: Simplify include logic.
+  
+       * keyboard.h (quit_char): Add declaration.
+       * process.h (QCport, QCspeed, QCprocess, QCbytesize, QCstopbits)
+       (QCparity, Qodd, Qeven, QCflowcontrol, Qhw, Qsw, QCsummary):
+       Add declarations.
+       * sysdep.c:
+       * w32.c: Remove the above declarations.
+  
+       Remove extern declarations in .c files, .h files have them.
+       * xterm.c:
+       * xdisp.c:
+       * msdos.c:
+       * image.c:
+       * gtkutil.c:
+       * fileio.c:
+       * eval.c: Remove declarations.
+  
+       * frame.c (frame_params): Make const.
+  
+       * lisp.h (fatal_error_signal, emacs_root_dir): Add declaration.
+  
+       * emacs.c (emacs_copyright, emacs_version): Make static.
+       (Vinitial_window_system, Vauto_save_list_file_name)
+       (Vinhibit_redisplay): Remove declarations.
+       (main): Remove HAVE_SHM code, unused.  Remove _I386 conditional
+       for AIX.
+  
+       Use const for some arrays and functions.
+       * xterm.h (xg_set_icon_from_xpm_data):
+       * xfns.c (xg_set_icon_from_xpm_data):
+       * term.c (fkeys):
+       * keyboard.c (lispy_accent_keys, lispy_function_keys)
+       (lispy_multimedia_keys, lispy_kana_keys, iso_lispy_function_keys)
+       (lispy_drag_n_drop_names, scroll_bar_parts, modify_event_symbol)
+       (frame.c frame_parms):
+       * emacs-icon.h (gnu_xpm_bits):
+       * callint.c (callint_argfuns): Use const.
+  
+  2010-08-06  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * sysdep.c: Move include term.h last of includes (Bug#6812).
+  
+  2010-08-06  Eli Zaretskii  <eliz@gnu.org>
+  
+       * dispnew.c (realloc_glyph_pool): Zero out newly allocated glyphs.
+  
+       * msdos.c (IT_display_cursor): Log cursor position on termscript.
+  
+       * .gdbinit (pgx): Display the avoid_cursor_p flag.
+  
+  2010-08-06  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * makefile.w32-in ($(BLD)/xdisp.$(O)): Update dependencies.
+  
+  2010-08-06  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xterm.h (x_get_focus_frame): Declare.
+  
+       * keyboard.h (poll_for_input_1): Unconditionally declare.
+  
+       * nsterm.h (x_set_menu_bar_lines): Declare.
+  
+       * window.c: Don't include menu.h, it depends on lots of other .h-files.
+  
+       * xfaces.c (x_create_gc, x_free_gc): Convert to ANSI C prototypes.
+  
+       * window.c: Include menu.h.
+  
+       * unexmacosx.c (print_region_list, print_regions)
+       (build_region_list, find_emacs_zone_regions)
+       (unexec_regions_merge, read_load_commands, dump_it)
+       (unexec_init_emacs_zone): Convert to ANSI C prototypes.
+  
+       * term.c: Check HAVE_SYS_IOCTL_H.
+  
+       * sysdep.c: Check HAVE_TERM_H.
+  
+       * process.c: Check HAVE_UTIL_H.  Include nsterm.h if HAVE_NS.
+  
+       * nsterm.m (ns_init_paths, ns_alloc_autorelease_pool)
+       (ns_ring_bell, ns_defined_color, hide_hourglass)
+       (x_display_pixel_height, x_display_pixel_width, syms_of_nsterm):
+       Convert to ANSI C prototypes.
+       (x_set_window_size, ns_draw_fringe_bitmap, judge): Move declarations
+       before code.
+  
+       * nsterm.h : Include sysselect.h.
+       (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_tool_bar_lines)
+       (x_activate_menubar, free_frame_menubar, ns_init_paths, ns_select)
+       (syms_of_nsterm, syms_of_nsfns, syms_of_nsmenu, syms_of_nsselect):
+       Declare.
+  
+       * nsmenu.m (popup_activated, name_is_separator)
+       (syms_of_nsmenu): Convert to ANSI C prototypes.
+       (runMenuAt): Prototypes and move declarations before code.
+  
+       * nsimage.m (ns_load_image): Move NSTRACE after declarations.
+  
+       * nsfont.m (ns_fallback_entity, syms_of_nsfont): Convert to ANSI C
+       prototypes.
+  
+       * nsfns.m (have_menus_p, ns_display_info_for_name)
+       (x_set_cursor_type, ns_appkit_version_str)
+       (ns_appkit_version_int, ns_do_applescript)
+       (x_set_scroll_bar_default_width, x_sync, compute_tip_xy)
+       (syms_of_nsfns): Convert to ANSI C prototypes.
+  
+       * menu.h (x_set_menu_bar_line): Declare.
+       (free_menubar_widget_value_tree et.al): Add HAVE_NS for these functions.
+  
+       * lisp.h (fmod_float): Declare.
+  
+       * image.c (xpm_scan, xpm_make_color_table_v)
+       (xpm_put_color_table_v, xpm_get_color_table_v)
+       (xpm_make_color_table_h, xpm_put_color_table_h)
+       (xpm_get_color_table_h, xpm_str_to_color_key, xpm_load_image)
+       (xpm_load): Convert to ANSI C prototypes.
+  
+       * emacs.c: Include nsterm.h if HAVE_NS.
+  
+       * bidi.c (bidi_dump_cached_states): Fix fprintf warning.
+  
+  2010-08-06  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       * process.c: Remove HAVE_SOCKETS #ifdefs inside #ifdef
+       subprocesses, only MSDOS does not define HAVE_SOCKETS.
+       (socket_options): Use const char* for name.
+  
+  2010-08-06  Juanma Barranquero  <lekktu@gmail.com>
+  
+       Fix changes in 2010-08-05T23:15:24Z!dann@ics.uci.edu..2010-08-05T23:34:12Z!dann@ics.uci.edu for Windows build.
+  
+       * xmenu.c [USE_X_TOOLKIT || USE_GTK]:
+       Don't declare xmalloc_widget_value and digest_single_submenu.
+  
+       * w32font.c (Qlatin): Remove declaration.
+  
+       * menu.h (xmalloc_widget_value, digest_single_submenu): Declare.
+  
+       * dired.c (compile_pattern): Restore declaration.
+  
+  2010-08-05  Dan Nicolaescu  <dann@ics.uci.edu>
+  
+       Remove extern declarations in .c files, .h files have them.
+       * data.c:
+       * dired.c:
+       * editfns.c:
+       * filelock.c:
+       * fns.c:
+       * font.c:
+       * fontset.c:
+       * frame.c:
+       * fringe.c:
+       * ftfont.c:
+       * gtkutil.c:
+       * indent.c:
+       * keyboard.c:
+       * keymap.c:
+       * lread.c:
+       * menu.c:
+       * print.c:
+       * search.c:
+       * sound.c:
+       * window.c:
+       * xdisp.c:
+       * xfaces.c:
+       * xfns.c:
+       * xfont.c:
+       * xftfont.c:
+       * xmenu.c:
+       * xterm.c: Remove declarations.
+  
+       Cleanup syssignal.h.
+       * syssignal.h (sighold, sigrelse, RETSIGTYPE): Remove, unused.
+       (main_thread): Move down to remove #ifdef.
+       (SIGMASKTYPE, SIGEMPTYMASK, SIGFULLMASK, sigmask, sigunblock):
+       Remove conditional definition following unconditional ones.
+  
+       * lisp.h: Remove HAVE_SHM code, unused.
+       (QCmap, QCrehash_size, QCrehash_threshold, QCsize, QCtest)
+       (QCweakness, Qabove_handle, Qbackquote, Qbar, Qbelow_handle)
+       (Qborder, Qbottom, Qbox, Qcircular_list, Qcomma, Qcomma_at)
+       (Qcomma_dot, Qcursor, Qdefault, Qdown, Qend_scroll, Qeq, Qeql)
+       (Qequal, Qfile_exists_p, Qfont_param, Qfringe, Qfunction)
+       (Qfunction_documentation, Qhandle, Qhbar, Qheader_line, Qhollow)
+       (Qidentity, Qleft_margin, Qmenu, Qmenu_bar_update_hook)
+       (Qmode_line_inactive, Qmouse, Qoverriding_local_map)
+       (Qoverriding_terminal_local_map, Qratio, Qregion, Qright_margin)
+       (Qscroll_bar, Qtool_bar, Qtop, Qup, Qvertical_border, Qwhen)
+       (Qwindow_scroll_functions, Vafter_load_alist)
+       (Vauto_save_list_file_name, Vface_alternative_font_family_alist)
+       (Vface_alternative_font_registry_alist, Vface_font_rescale_alist)
+       (Vface_ignored_fonts, Vinhibit_redisplay, Vminibuffer_list)
+       (Vprint_length, Vprint_level, Vscalable_fonts_allowed)
+       (Vshell_file_name, Vsystem_name, Vwindow_scroll_functions)
+       (Vwindow_system_version, Vx_no_window_manager, initial_argc)
+       (initial_argv, last_nonmenu_event, load_in_progress)
+       (noninteractive_need_newline, scroll_margin): Add declarations.
+  
+       * keyboard.h (xmalloc_widget_value, digest_single_submenu): Remove
+       declarations, menu.h has them.
+       (QCbutton, QCtoggle, QCradio, QClabel, extra_keyboard_modifiers)
+       (Vinput_method_function, Qinput_method_function)
+       (Qevent_symbol_element_mask, last_event_timestamp):
+       * dispextern.h (Voverflow_newline_into_fringe):
+       * font.h (QCantialias, Qp, syms_of_ftfont, syms_of_xfns)
+       (syms_of_ftxfont, syms_of_xftfont, syms_of_bdffont)
+       (syms_of_w32font, syms_of_nsfont):
+       * fontset.h (find_font_encoding, Qlatin):
+       * frame.h (Qtooltip, Qrun_hook_with_args, Vmenu_bar_mode)
+       (Vtool_bar_mode, set_frame_menubar):
+       * ftfont.h (ftfont_font_format, ftfont_get_fc_charset):
+       * xterm.h (Qx_gtk_map_stock):
+       * keymap.h (meta_prefix_char): Add declarations.
+  
+       * term.c: Remove dead code.
+  
+       Fix emacs -Q -f server-start & emacsclient -t on GNU/Linux.
+       * term.c (dissociate_if_controlling_tty): Use USG5 instead of
+       USG.  This is equivalent to defined (USG) && !defined (BSD_PGRPS),
+       which is what was there before BSD_PGRPS was removed.
+  
+  2010-08-05  Eli Zaretskii  <eliz@gnu.org>
+  
+       * deps.mk (unexcoff.o): Rename unexec.[co] => unexcoff.[co].
+  
+       * unexcoff.c: Renamed from unexec.c.
+  
+  2010-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * sysdep.c (child_setup_tty): Comment-out left-over non-ICANON code.
+  
+  2010-08-03  Johan Bockgård  <bojohan@gnu.org>
+  
+       * data.c (Flocal_variable_p): Handle variable aliases correctly.
+       (Bug#6744)
+  
+  2010-08-02  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xterm.c (x_create_toolkit_scroll_bar): Only set XtNbeNiceToColormap
+       to TRUE if depth of screen is < 16.
+  
+       * gtkutil.c (hierarchy_ch_cb, qttip_cb): Do not define unless
+       USE_GTK_TOOLTIP.
+       (xg_prepare_tooltip): Return 0 unless USE_GTK_TOOLTIP.
+       (xg_show_tooltip, xg_hide_tooltip): Do nothing unless USE_GTK_TOOLTIP.
+       (xg_create_frame_widgets): Surround tooltip-related code with ifdef
+       USE_GTK_TOOLTIP.
+       (xg_free_frame_widgets): Don't delete ttip_* unless USE_GTK_TOOLTIP.
+  
+       * xterm.h (USE_GTK_TOOLTIP): New define.
+       (struct x_output): Put ttip_* inside ifdef USE_GTK_TOOLTIP.
+  
+       * sysdep.c (child_setup_tty): Enable ICANON in lflags and set VEOF
+       to Control-D (Bug#6771).
+  
+  2010-08-02  Juanma Barranquero  <lekktu@gmail.com>
+  
+       * editfns.c (Fregion_beginning, Fregion_end): Doc fixes (bug#6493).
+       Wording by Drew Adams <drew.adams@oracle.com>.
+  
+  2010-08-01  Jan Djärv  <jan.h.d@swipnet.se>
+  
+       * xterm.h (struct x_output): Add ttip_widget, ttip_window and
+       ttip_lbl.
+  
+       * xterm.c (x_clear_frame): Check FRAME_GTK_WIDGET (f) before
+       calling gtk_widget_queue_draw.
+       (x_free_frame_resources): Call xg_free_frame_widgets.
+  
+       * xfns.c (x_gtk_use_system_tooltips): New variable.
+       (Fx_show_tip): If USE_GTK and x_gtk_use_system_tooltips, call
+       new gtkutil tooltip functions to show the tooltip.
+       (Fx_hide_tip): Call xg_hide_tooltip.
+       (syms_of_xfns): Defvar x-gtk-use-system-tooltips.
+  
+       * gtkutil.h (xg_free_frame_widgets, xg_prepare_tooltip)
+       (xg_show_tooltip, xg_hide_tooltip): Declare.
+  
+       * gtkutil.c (hierarchy_ch_cb, qttip_cb, xg_prepare_tooltip)
+       (xg_show_tooltip, xg_hide_tooltip, xg_free_frame_widgets):
+       New functions.
+       (xg_create_frame_widgets): Set ttip_* to 0.  Set a dummy tooltip
+       text so qttip_cb is called.  Connect query-tooltip to qttip_cb.
+       Remove code that is commented out.
+  
+  2010-08-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+  
+       * keymap.c (Fdefine_key, Flookup_key): Say what event is invalid.
+  
+  2010-07-31  Chong Yidong  <cyd@stupidchicken.com>
+  
+       * xselect.c (x_own_selection): Use list4.
+  
   2010-07-30  Dan Nicolaescu  <dann@ics.uci.edu>
   
        * buffer.c (Qwindow): Do not define, already defined in data.c.
diff --cc src/buffer.c
Simple merge
diff --cc src/dispnew.c
Simple merge
diff --cc src/frame.c
index c8e923751298c954479143509ebf110e36a5cc0a,04cc1ca07daedd0d424e0a5154e6ddeda5c70993,1c9d471cfa9d82dfe714e80874a7de6f4cfdd77c..9f75fd1887383b941f0d3426a8237519d4061495
@@@@ -1171,27 -1274,6 -1285,6 +1175,17 @@@@ other_visible_frames (FRAME_PTR f
     return 1;
   }
   
-  /* Error handler for `delete-frame-functions'. */
-  static Lisp_Object
-  delete_frame_handler (Lisp_Object arg)
-  {
-    add_to_log ("Error during `delete-frame': %s", arg, Qnil);
-    return Qnil;
-  }
-  
-  extern Lisp_Object Qrun_hook_with_args;
-  
 ++DEFUN ("other-visible-frames-p", Fother_visible_frames_p, Sother_visible_frames_p, 0, 1, 0,
 ++       doc: /* Return t if there are other visible frames beside FRAME.
 ++FRAME defaults to the selected frame.  */)
 ++  (Lisp_Object frame)
 ++{
 ++  if (NILP (frame))
 ++    frame = selected_frame;
 ++  CHECK_LIVE_FRAME (frame);
 ++  return other_visible_frames (XFRAME (frame)) ? Qt : Qnil;
 ++}
 ++
   /* Delete FRAME.  When FORCE equals Qnoelisp, delete FRAME
     unconditionally.  x_connection_closed and delete_terminal use
     this.  Any other value of FORCE implements the semantics
diff --cc src/indent.c
Simple merge
diff --cc src/minibuf.c
Simple merge
diff --cc src/w32fns.c
Simple merge
diff --cc src/window.c
index c73a163daba414767c99c8447cb6cad423021d4d,7591401ee421199e8224ca6af82bce6003e8c88e,7591401ee421199e8224ca6af82bce6003e8c88e..5de34ce3791c9c9284f30e1997e915f991f4752e
@@@@ -51,17 -51,11 -51,11 +51,14 @@@@ along with GNU Emacs.  If not, see <htt
   #include "nsterm.h"
   #endif
   
-  
   Lisp_Object Qwindowp, Qwindow_live_p, Qwindow_configuration_p;
 --Lisp_Object Qdisplay_buffer;
 ++Lisp_Object Qwindow_deletable_p, Qdelete_window, Qdisplay_buffer;
 ++Lisp_Object Qreplace_buffer_in_windows, Qget_mru_window;
 ++Lisp_Object Qrecord_window_buffer;
 ++Lisp_Object Qresize_root_window, Qresize_root_window_vertically;
   Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command;
 --Lisp_Object Qwindow_size_fixed;
 ++Lisp_Object Qset, Qabove, Qbelow, Qnest, Qgroup, Qresize;
   
-  extern Lisp_Object Qleft_margin, Qright_margin;
-  
   static int displayed_window_lines (struct window *);
   static struct window *decode_window (Lisp_Object);
   static int count_windows (struct window *);
@@@@ -158,39 -182,19 -182,19 +155,34 @@@@ static int window_scroll_pixel_based_pr
   static int window_scroll_preserve_hpos;
   static int window_scroll_preserve_vpos;
   
 --#if 0 /* This isn't used anywhere.  */
 --/* Nonzero means we can split a frame even if it is "unsplittable".  */
 --static int inhibit_frame_unsplittable;
 --#endif /* 0 */
 ++/* Whether splitting/deleting is handled specially. */
 ++Lisp_Object Vwindow_splits;
   
-  extern EMACS_INT scroll_margin;
-  
-  extern Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
-  
 --/* If non-nil, then the `recenter' command with a nil argument
 ++/* If non-nil, then the `recenter' command with a nil argument causes
      the entire frame to be redrawn; the special value `tty' causes the
      frame to be redrawn only if it is a tty frame.  */
 --
   static Lisp_Object Vrecenter_redisplay;
-  extern Lisp_Object Qtty;
 --
   \f
 ++static struct window *
 ++decode_window (register Lisp_Object window)
 ++{
 ++  if (NILP (window))
 ++    return XWINDOW (selected_window);
 ++
 ++  CHECK_LIVE_WINDOW (window);
 ++  return XWINDOW (window);
 ++}
 ++
 ++static struct window *
 ++decode_any_window (register Lisp_Object window)
 ++{
 ++  if (NILP (window))
 ++    return XWINDOW (selected_window);
 ++
 ++  CHECK_WINDOW (window);
 ++  return XWINDOW (window);
 ++}
 ++
   DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0,
          doc: /* Return t if OBJECT is a window.  */)
     (Lisp_Object object)
@@@@ -253,394 -283,250 -283,250 +245,394 @@@@ used by that frame.  */
   
   DEFUN ("window-minibuffer-p", Fwindow_minibuffer_p, Swindow_minibuffer_p, 0, 1, 0,
          doc: /* Return non-nil if WINDOW is a minibuffer window.
 --WINDOW defaults to the selected window.  */)
 ++WINDOW can be any window and defaults to the selected one.  */)
     (Lisp_Object window)
   {
 --  struct window *w = decode_window (window);
 --  return MINI_WINDOW_P (w) ? Qt : Qnil;
 ++  return MINI_WINDOW_P (decode_any_window (window)) ? Qt : Qnil;
   }
   
 --
 --DEFUN ("pos-visible-in-window-p", Fpos_visible_in_window_p,
 --       Spos_visible_in_window_p, 0, 3, 0,
 --       doc: /* Return non-nil if position POS is currently on the frame in WINDOW.
 --Return nil if that position is scrolled vertically out of view.
 --If a character is only partially visible, nil is returned, unless the
 --optional argument PARTIALLY is non-nil.
 --If POS is only out of view because of horizontal scrolling, return non-nil.
 --If POS is t, it specifies the position of the last visible glyph in WINDOW.
 --POS defaults to point in WINDOW; WINDOW defaults to the selected window.
 --
 --If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil,
 --return value is a list of 2 or 6 elements (X Y [RTOP RBOT ROWH VPOS]),
 --where X and Y are the pixel coordinates relative to the top left corner
 --of the window.  The remaining elements are omitted if the character after
 --POS is fully visible; otherwise, RTOP and RBOT are the number of pixels
 --off-window at the top and bottom of the row, ROWH is the height of the
 --display row, and VPOS is the row number (0-based) containing POS.  */)
 --  (Lisp_Object pos, Lisp_Object window, Lisp_Object partially)
 ++/* Don't move this to window.el - this must be a safe routine.  */
 ++DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0,
 ++       doc: /* Return the topmost, leftmost live window on FRAME_OR_WINDOW.
 ++If omitted, FRAME_OR_WINDOW defaults to the currently selected frame.
 ++Else if FRAME_OR_WINDOW denotes any window, return the first window of
 ++that window's frame.  If FRAME_OR_WINDOW denotes a live frame, return
 ++the first window of that frame.  */)
 ++  (Lisp_Object frame_or_window)
   {
 --  register struct window *w;
 --  register EMACS_INT posint;
 --  register struct buffer *buf;
 --  struct text_pos top;
 --  Lisp_Object in_window = Qnil;
 --  int rtop, rbot, rowh, vpos, fully_p = 1;
 --  int x, y;
 ++  Lisp_Object window;
   
 --  w = decode_window (window);
 --  buf = XBUFFER (w->buffer);
 --  SET_TEXT_POS_FROM_MARKER (top, w->start);
 ++  if (NILP (frame_or_window))
 ++    window = SELECTED_FRAME ()->root_window;
 ++  else if (WINDOWP (frame_or_window))
 ++    window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->root_window;
 ++  else
 ++    {
 ++      CHECK_LIVE_FRAME (frame_or_window);
 ++      window = XFRAME (frame_or_window)->root_window;
 ++    }
   
 --  if (EQ (pos, Qt))
 --    posint = -1;
 --  else if (!NILP (pos))
 ++  while (NILP (XWINDOW (window)->buffer))
       {
 --      CHECK_NUMBER_COERCE_MARKER (pos);
 --      posint = XINT (pos);
 ++      if (! NILP (XWINDOW (window)->hchild))
 ++     window = XWINDOW (window)->hchild;
 ++      else if (! NILP (XWINDOW (window)->vchild))
 ++     window = XWINDOW (window)->vchild;
 ++      else
 ++     abort ();
       }
 --  else if (w == XWINDOW (selected_window))
 --    posint = PT;
 --  else
 --    posint = XMARKER (w->pointm)->charpos;
   
 --  /* If position is above window start or outside buffer boundaries,
 --     or if window start is out of range, position is not visible.  */
 --  if ((EQ (pos, Qt)
 --       || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf)))
 --      && CHARPOS (top) >= BUF_BEGV (buf)
 --      && CHARPOS (top) <= BUF_ZV (buf)
 --      && pos_visible_p (w, posint, &x, &y, &rtop, &rbot, &rowh, &vpos)
 --      && (fully_p = !rtop && !rbot, (!NILP (partially) || fully_p)))
 --    in_window = Qt;
 ++  return window;
 ++}
   
 --  if (!NILP (in_window) && !NILP (partially))
 ++DEFUN ("frame-selected-window", Fframe_selected_window,
 ++       Sframe_selected_window, 0, 1, 0,
 ++       doc: /* Return the selected window of FRAME_OR_WINDOW.
 ++If omitted, FRAME_OR_WINDOW defaults to the currently selected frame.
 ++Else if FRAME_OR_WINDOW denotes any window, return the selected window
 ++of that window's frame.  If FRAME_OR_WINDOW denotes a live frame, return
 ++the selected window of that frame.  */)
 ++  (Lisp_Object frame_or_window)
 ++{
 ++  Lisp_Object window;
 ++
 ++  if (NILP (frame_or_window))
 ++    window = SELECTED_FRAME ()->selected_window;
 ++  else if (WINDOWP (frame_or_window))
 ++    window = XFRAME (WINDOW_FRAME (XWINDOW (frame_or_window)))->selected_window;
 ++  else
       {
 --      Lisp_Object part = Qnil;
 --      if (!fully_p)
 --     part = list4 (make_number (rtop), make_number (rbot),
 --                     make_number (rowh), make_number (vpos));
 --      in_window = Fcons (make_number (x),
 --                      Fcons (make_number (y), part));
 ++      CHECK_LIVE_FRAME (frame_or_window);
 ++      window = XFRAME (frame_or_window)->selected_window;
       }
   
 --  return in_window;
 ++  return window;
   }
   
 --DEFUN ("window-line-height", Fwindow_line_height,
 --       Swindow_line_height, 0, 2, 0,
 --       doc: /* Return height in pixels of text line LINE in window WINDOW.
 --If WINDOW is nil or omitted, use selected window.
 ++DEFUN ("set-frame-selected-window", Fset_frame_selected_window,
 ++       Sset_frame_selected_window, 2, 3, 0,
 ++       doc: /* Set selected window of FRAME to WINDOW.
 ++FRAME must be a live frame and defaults to the selected one.  If FRAME
 ++is the selected frame, this makes WINDOW the selected window.  Optional
 ++argument NORECORD non-nil means to neither change the order of recently
 ++selected windows nor the buffer list.  WINDOW must denote a live window.
 ++Return WINDOW.  */)
 ++  (Lisp_Object frame, Lisp_Object window, Lisp_Object norecord)
 ++{
 ++  if (NILP (frame))
 ++    frame = selected_frame;
   
 --Return height of current line if LINE is omitted or nil.  Return height of
 --header or mode line if LINE is `header-line' and `mode-line'.
 --Otherwise, LINE is a text line number starting from 0.  A negative number
 --counts from the end of the window.
 ++  CHECK_LIVE_FRAME (frame);
 ++  CHECK_LIVE_WINDOW (window);
   
 --Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height
 --in pixels of the visible part of the line, VPOS and YPOS are the
 --vertical position in lines and pixels of the line, relative to the top
 --of the first text line, and OFFBOT is the number of off-window pixels at
 --the bottom of the text line.  If there are off-window pixels at the top
 --of the (first) text line, YPOS is negative.
 ++  if (! EQ (frame, WINDOW_FRAME (XWINDOW (window))))
 ++    error ("In `set-frame-selected-window', WINDOW is not on FRAME");
   
 --Return nil if window display is not up-to-date.  In that case, use
 --`pos-visible-in-window-p' to obtain the information.  */)
 --  (Lisp_Object line, Lisp_Object window)
 ++  if (EQ (frame, selected_frame))
 ++    return Fselect_window (window, norecord);
 ++  else
 ++    return XFRAME (frame)->selected_window = window;
 ++}
 ++
 ++DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0,
 ++       doc: /* Return the selected window.
 ++The selected window is the window in which the standard cursor for
 ++selected windows appears and to which many commands apply.  */)
 ++  (void)
   {
 --  register struct window *w;
 --  register struct buffer *b;
 --  struct glyph_row *row, *end_row;
 --  int max_y, crop, i, n;
 ++  return selected_window;
 ++}
   
 --  w = decode_window (window);
 ++int window_select_count;
   
 --  if (noninteractive
 --      || w->pseudo_window_p)
 --    return Qnil;
 ++/* Note that selected_window can be nil when this is called from
 ++   Fset_window_configuration.  */
 ++DEFUN ("select-window", Fselect_window, Sselect_window, 1, 2, 0,
 ++       doc: /* Select WINDOW.  Most editing will apply to WINDOW's buffer.
 ++Also make WINDOW's buffer current and make WINDOW the frame's selected
 ++window.  Return WINDOW.
   
 --  CHECK_BUFFER (w->buffer);
 --  b = XBUFFER (w->buffer);
 ++Optional second arg NORECORD non-nil means do not put this buffer at the
 ++front of the buffer list and do not make this window the most recently
 ++selected one.
   
 --  /* Fail if current matrix is not up-to-date.  */
 --  if (NILP (w->window_end_valid)
 --      || current_buffer->clip_changed
 --      || current_buffer->prevent_redisplay_optimizations_p
 --      || XFASTINT (w->last_modified) < BUF_MODIFF (b)
 --      || XFASTINT (w->last_overlay_modified) < BUF_OVERLAY_MODIFF (b))
 --    return Qnil;
 ++Note that the main editor command loop sets the current buffer to the
 ++buffer of the selected window before each command.  */)
 ++  (register Lisp_Object window, Lisp_Object norecord)
 ++{
 ++  register struct window *w;
 ++  register struct window *ow;
 ++  struct frame *sf;
 ++  int not_selected_before = !EQ (window, selected_window);
   
 --  if (NILP (line))
 --    {
 --      i = w->cursor.vpos;
 --      if (i < 0 || i >= w->current_matrix->nrows
 --       || (row = MATRIX_ROW (w->current_matrix, i), !row->enabled_p))
 --     return Qnil;
 --      max_y = window_text_bottom_y (w);
 --      goto found_row;
 --    }
 ++  CHECK_LIVE_WINDOW (window);
   
 --  if (EQ (line, Qheader_line))
 --    {
 --      if (!WINDOW_WANTS_HEADER_LINE_P (w))
 --     return Qnil;
 --      row = MATRIX_HEADER_LINE_ROW (w->current_matrix);
 --      if (!row->enabled_p)
 --     return Qnil;
 --      return list4 (make_number (row->height),
 --                 make_number (0), make_number (0),
 --                 make_number (0));
 --    }
 ++  w = XWINDOW (window);
 ++  w->frozen_window_start_p = 0;
   
 --  if (EQ (line, Qmode_line))
 ++  if (not_selected_before)
       {
 --      row = MATRIX_MODE_LINE_ROW (w->current_matrix);
 --      if (!row->enabled_p)
 --     return Qnil;
 --      return list4 (make_number (row->height),
 --                 make_number (0), /* not accurate */
 --                 make_number (WINDOW_HEADER_LINE_HEIGHT (w)
 --                              + window_text_bottom_y (w)),
 --                 make_number (0));
 --    }
 --
 --  CHECK_NUMBER (line);
 --  n = XINT (line);
 ++      sf = SELECTED_FRAME ();
 ++      if (XFRAME (WINDOW_FRAME (w)) != sf)
 ++     {
 ++       XFRAME (WINDOW_FRAME (w))->selected_window = window;
 ++       /* Use this rather than Fhandle_switch_frame
 ++          so that FRAME_FOCUS_FRAME is moved appropriately as we
 ++          move around in the state where a minibuffer in a separate
 ++          frame is active.  */
 ++       Fselect_frame (WINDOW_FRAME (w), norecord);
 ++       /* Fselect_frame called us back so we've done all the work already.  */
 ++       eassert (EQ (window, selected_window));
 ++       return window;
 ++     }
 ++      else
 ++     sf->selected_window = window;
   
 --  row = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
 --  end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w);
 --  max_y = window_text_bottom_y (w);
 --  i = 0;
 ++      /* Store the current buffer's actual point into the
 ++      old selected window.  It belongs to that window,
 ++      and when the window is not selected, must be in the window.  */
 ++      if (!NILP (selected_window))
 ++     {
 ++       ow = XWINDOW (selected_window);
 ++       if (! NILP (ow->buffer))
 ++         set_marker_both (ow->pointm, ow->buffer,
 ++                          BUF_PT (XBUFFER (ow->buffer)),
 ++                          BUF_PT_BYTE (XBUFFER (ow->buffer)));
 ++     }
   
 --  while ((n < 0 || i < n)
 --      && row <= end_row && row->enabled_p
 --      && row->y + row->height < max_y)
 --    row++, i++;
 ++      selected_window = window;
 ++    }
   
 --  if (row > end_row || !row->enabled_p)
 --    return Qnil;
 ++  Fset_buffer (w->buffer);
   
 --  if (++n < 0)
 ++  if (NILP (norecord))
       {
 --      if (-n > i)
 --     return Qnil;
 --      row += n;
 --      i += n;
 ++      ++window_select_count;
 ++      XSETFASTINT (w->use_time, window_select_count);
 ++      record_buffer (w->buffer);
       }
   
 -- found_row:
 --  crop = max (0, (row->y + row->height) - max_y);
 --  return list4 (make_number (row->height + min (0, row->y) - crop),
 --             make_number (i),
 --             make_number (row->y),
 --             make_number (crop));
 --}
 ++  XBUFFER (w->buffer)->last_selected_window = window;
   
-        register int new_point = marker_position (w->pointm);
 ++  /* Go to the point recorded in the window.
 ++     This is important when the buffer is in more
 ++     than one window.  It also matters when
 ++     redisplay_window has altered point after scrolling,
 ++     because it makes the change only in the window.  */
 ++  if (not_selected_before)
 ++    {
+++      register EMACS_INT new_point = marker_position (w->pointm);
 ++      if (new_point < BEGV)
 ++     SET_PT (BEGV);
 ++      else if (new_point > ZV)
 ++     SET_PT (ZV);
 ++      else
 ++     SET_PT (new_point);
 ++
 ++      windows_or_buffers_changed++;
 ++    }
   
 ++  return window;
 ++}
   \f
 --static struct window *
 --decode_window (register Lisp_Object window)
 ++DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0,
 ++       doc: /* Return the buffer that WINDOW is displaying.
 ++WINDOW can be any window and defaults to the selected one.
 ++If WINDOW is an internal window return nil.  */)
 ++  (Lisp_Object window)
   {
 --  if (NILP (window))
 --    return XWINDOW (selected_window);
 ++  return decode_any_window (window)->buffer;
 ++}
   
 --  CHECK_LIVE_WINDOW (window);
 --  return XWINDOW (window);
 ++DEFUN ("window-parent", Fwindow_parent, Swindow_parent, 0, 1, 0,
 ++       doc: /* Return WINDOW's parent window.
 ++WINDOW can be any window and defaults to the selected one.
 ++Return nil if WINDOW has no parent.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_any_window (window)->parent;
   }
   
 --static struct window *
 --decode_any_window (register Lisp_Object window)
 ++DEFUN ("window-vchild", Fwindow_vchild, Swindow_vchild, 0, 1, 0,
 ++       doc: /* Return WINDOW's first vertical child window.
 ++WINDOW can be any window and defaults to the selected one.
 ++Return nil if WINDOW has no vertical child.  */)
 ++  (Lisp_Object window)
   {
 --  if (NILP (window))
 --    return XWINDOW (selected_window);
 ++  return decode_any_window (window)->vchild;
 ++}
   
 --  CHECK_WINDOW (window);
 --  return XWINDOW (window);
 ++DEFUN ("window-hchild", Fwindow_hchild, Swindow_hchild, 0, 1, 0,
 ++       doc: /* Return WINDOW's first horizontal child window.
 ++WINDOW can be any window and defaults to the selected one.
 ++Return nil if WINDOW has no horizontal child.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_any_window (window)->hchild;
   }
   
 --DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0,
 --       doc: /* Return the buffer that WINDOW is displaying.
 --WINDOW defaults to the selected window.  */)
 ++DEFUN ("window-next", Fwindow_next, Swindow_next, 0, 1, 0,
 ++       doc: /* Return WINDOW's right sibling window.
 ++WINDOW can be any window and defaults to the selected one.
 ++Return nil if WINDOW has no right sibling.  */)
     (Lisp_Object window)
   {
 --  return decode_window (window)->buffer;
 ++  return decode_any_window (window)->next;
   }
   
 --DEFUN ("window-height", Fwindow_height, Swindow_height, 0, 1, 0,
 --       doc: /* Return the number of lines in WINDOW.
 --WINDOW defaults to the selected window.
 ++DEFUN ("window-prev", Fwindow_prev, Swindow_prev, 0, 1, 0,
 ++       doc: /* Return WINDOW's left sibling window.
 ++WINDOW can be any window and defaults to the selected one.
 ++Return nil if WINDOW has no left sibling.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_any_window (window)->prev;
 ++}
   
 --The return value includes WINDOW's mode line and header line, if any.
 ++DEFUN ("window-use-time", Fwindow_use_time, Swindow_use_time, 0, 1, 0,
 ++       doc: /* Return WINDOW's use time.
 ++WINDOW defaults to the selected window.  The window with the highest use
 ++time is the most recently selected one.  The window with the lowest use
 ++time is the least recently selected one.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_window (window)->use_time;
 ++}
 ++\f
 ++DEFUN ("window-total-size", Fwindow_total_size, Swindow_total_size, 0, 2, 0,
 ++       doc: /* Return the total number of lines of WINDOW.
 ++WINDOW can be any window and defaults to the selected one.  The return
 ++value includes WINDOW's mode line and header line, if any.  If WINDOW
 ++is internal, the return value is the sum of the total number of lines
 ++of WINDOW's child windows if these are vertically combined and the
 ++height of WINDOW's first child otherwise.
 ++
 ++Optional argument HORIZONTAL non-nil means return the total number of
 ++columns of WINDOW.  In this case the return value includes any vertical
 ++dividers or scrollbars of WINDOW.  If WINDOW is internal, the return
 ++value is the sum of the total number of columns of WINDOW's child
 ++windows if they are horizontally combined and the width of WINDOW's
 ++first child otherwise.  */)
 ++  (Lisp_Object window, Lisp_Object horizontal)
 ++{
 ++  if (NILP (horizontal))
 ++    return decode_any_window (window)->total_lines;
 ++  else
 ++    return decode_any_window (window)->total_cols;
 ++}
   
 --Note: The function does not take into account the value of `line-spacing'
 --when calculating the number of lines in WINDOW.  */)
 ++DEFUN ("window-new-total-size", Fwindow_new_total_size, Swindow_new_total_size, 0, 1, 0,
 ++       doc: /* Return new total size of WINDOW.
 ++WINDOW defaults to the selected window.   */)
     (Lisp_Object window)
   {
 --  return decode_any_window (window)->total_lines;
 ++  return decode_any_window (window)->new_total;
   }
   
 --DEFUN ("window-width", Fwindow_width, Swindow_width, 0, 1, 0,
 --       doc: /* Return the number of display columns in WINDOW.
 --WINDOW defaults to the selected window.
 ++DEFUN ("window-normal-size", Fwindow_normal_size, Swindow_normal_size, 0, 2, 0,
 ++       doc: /* Return normal height of WINDOW.
 ++WINDOW can be any window and defaults to the selected one.  Optional
 ++argument HORIZONTAL non-nil means return normal width of WINDOW.  */)
 ++  (Lisp_Object window, Lisp_Object horizontal)
 ++{
 ++  if (NILP (horizontal))
 ++    return decode_any_window (window)->normal_lines;
 ++  else
 ++    return decode_any_window (window)->normal_cols;
 ++}
   
 --Note: The return value is the number of columns available for text in
 --WINDOW.  If you want to find out how many columns WINDOW takes up, use
 --(let ((edges (window-edges))) (- (nth 2 edges) (nth 0 edges))).  */)
 ++DEFUN ("window-new-normal-size", Fwindow_new_normal_size, Swindow_new_normal_size, 0, 1, 0,
 ++       doc: /* Return new normal size of WINDOW.
 ++WINDOW can be any window and defaults to the selected one.   */)
     (Lisp_Object window)
   {
 --  return make_number (window_box_text_cols (decode_any_window (window)));
 ++  return decode_any_window (window)->new_normal;
   }
   
 --DEFUN ("window-full-width-p", Fwindow_full_width_p, Swindow_full_width_p, 0, 1, 0,
 --       doc: /* Return t if WINDOW is as wide as its frame.
 --WINDOW defaults to the selected window.  */)
 ++DEFUN ("window-left-column", Fwindow_left_column, Swindow_left_column, 0, 1, 0,
 ++       doc: /* Return left column of WINDOW.
 ++WINDOW can be any window and defaults to the selected one.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_any_window (window)->left_col;
 ++}
 ++
 ++DEFUN ("window-top-line", Fwindow_top_line, Swindow_top_line, 0, 1, 0,
 ++       doc: /* Return top line of WINDOW.
 ++WINDOW can be any window and defaults to the selected one.  */)
     (Lisp_Object window)
   {
 --  return WINDOW_FULL_WIDTH_P (decode_any_window (window)) ? Qt : Qnil;
 ++  return decode_any_window (window)->top_line;
 ++}
 ++
 ++/* Return the number of lines of W's body.  Don't count any mode or
 ++   header line of W.  */
 ++
 ++int
 ++window_body_lines (struct window *w)
 ++{
 ++  int height = XFASTINT (w->total_lines);
 ++
 ++  if (!MINI_WINDOW_P (w))
 ++    {
 ++      if (WINDOW_WANTS_MODELINE_P (w))
 ++     --height;
 ++      if (WINDOW_WANTS_HEADER_LINE_P (w))
 ++     --height;
 ++    }
 ++
 ++  return height;
 ++}
 ++
 ++/* Return the number of columns of W's body.  Don't count columns
 ++   occupied by the scroll bar or the vertical bar separating W from its
 ++   right sibling.  On window-systems don't count fringes or display
 ++   margins either.  */
 ++
 ++int
 ++window_body_cols (struct window *w)
 ++{
 ++  struct frame *f = XFRAME (WINDOW_FRAME (w));
 ++  int width = XINT (w->total_cols);
 ++
 ++  if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w))
 ++    /* Scroll bars occupy a few columns.  */
 ++    width -= WINDOW_CONFIG_SCROLL_BAR_COLS (w);
 ++  else if (!FRAME_WINDOW_P (f)
 ++        && !WINDOW_RIGHTMOST_P (w) && !WINDOW_FULL_WIDTH_P (w))
 ++    /* The column of `|' characters separating side-by-side windows
 ++       occupies one column only.  */
 ++    width -= 1;
 ++
 ++  if (FRAME_WINDOW_P (f))
 ++    /* On window-systems, fringes and display margins cannot be
 ++       used for normal text.  */
 ++    width -= (WINDOW_FRINGE_COLS (w)
 ++           + WINDOW_LEFT_MARGIN_COLS (w)
 ++           + WINDOW_RIGHT_MARGIN_COLS (w));
 ++
 ++  return width;
 ++}
 ++
 ++DEFUN ("window-body-size", Fwindow_body_size, Swindow_body_size, 0, 2, 0,
 ++       doc: /* Return the number of lines of WINDOW's body.
 ++WINDOW must be a live window and defaults to the selected one.  The
 ++return value does not include WINDOW's mode line and header line, if
 ++any.
 ++
 ++Optional argument HORIZONTAL non-nil means return the number of columns
 ++of WINDOW's body.  In this case, the return value does not include any
 ++vertical dividers or scroll bars owned by WINDOW.  On a window-system
 ++the return value does not include the number of columns used for
 ++WINDOW's fringes or display margins either.  */)
 ++  (Lisp_Object window, Lisp_Object horizontal)
 ++{
 ++  struct window *w = decode_any_window (window);
 ++
 ++  if (NILP (horizontal))
 ++    return make_number (window_body_lines (w));
 ++  else
 ++    return make_number (window_body_cols (w));
   }
   
   DEFUN ("window-hscroll", Fwindow_hscroll, Swindow_hscroll, 0, 1, 0,
@@@@ -1432,314 -1318,97 -1318,97 +1424,315 @@@@ overriding motion of point in order to 
     return pos;
   }
   
-         doc: /* Return non-nil if position POS is currently in WINDOW.
 ++DEFUN ("pos-visible-in-window-p", Fpos_visible_in_window_p,
 ++       Spos_visible_in_window_p, 0, 3, 0,
+++       doc: /* Return non-nil if position POS is currently on the frame in WINDOW.
 ++Return nil if that position is scrolled vertically out of view.
 ++If a character is only partially visible, nil is returned, unless the
 ++optional argument PARTIALLY is non-nil.
 ++If POS is only out of view because of horizontal scrolling, return non-nil.
 ++If POS is t, it specifies the position of the last visible glyph in WINDOW.
 ++POS defaults to point in WINDOW; WINDOW defaults to the selected window.
   
 --DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p,
 --       0, 1, 0,
 --       doc: /* Return non-nil when WINDOW is dedicated to its buffer.
 --More precisely, return the value assigned by the last call of
 --`set-window-dedicated-p' for WINDOW.  Return nil if that function was
 --never called with WINDOW as its argument, or the value set by that
 --function was internally reset since its last call.  WINDOW defaults to
 --the selected window.
 --
 --When a window is dedicated to its buffer, `display-buffer' will refrain
 --from displaying another buffer in it.  `get-lru-window' and
 --`get-largest-window' treat dedicated windows specially.
 --`delete-windows-on', `replace-buffer-in-windows', `quit-window' and
 --`kill-buffer' can delete a dedicated window and the containing frame.
 --
 --Functions like `set-window-buffer' may change the buffer displayed by a
 --window, unless that window is "strongly" dedicated to its buffer, that
 --is the value returned by `window-dedicated-p' is t.  */)
 --  (Lisp_Object window)
 ++If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil,
 ++return value is a list of 2 or 6 elements (X Y [RTOP RBOT ROWH VPOS]),
 ++where X and Y are the pixel coordinates relative to the top left corner
 ++of the window.  The remaining elements are omitted if the character after
 ++POS is fully visible; otherwise, RTOP and RBOT are the number of pixels
 ++off-window at the top and bottom of the row, ROWH is the height of the
 ++display row, and VPOS is the row number (0-based) containing POS.  */)
-       (Lisp_Object pos, Lisp_Object window, Lisp_Object partially)
+++  (Lisp_Object pos, Lisp_Object window, Lisp_Object partially)
   {
 --  return decode_window (window)->dedicated;
 --}
 --
 --DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p,
 --       Sset_window_dedicated_p, 2, 2, 0,
 --       doc: /* Mark WINDOW as dedicated according to FLAG.
 --WINDOW defaults to the selected window.  FLAG non-nil means mark WINDOW
 --as dedicated to its buffer.  FLAG nil means mark WINDOW as non-dedicated.
 --Return FLAG.
 ++  register struct window *w;
-    register int posint;
+++  register EMACS_INT posint;
 ++  register struct buffer *buf;
 ++  struct text_pos top;
 ++  Lisp_Object in_window = Qnil;
 ++  int rtop, rbot, rowh, vpos, fully_p = 1;
 ++  int x, y;
   
 --When a window is dedicated to its buffer, `display-buffer' will refrain
 --from displaying another buffer in it.  `get-lru-window' and
 --`get-largest-window' treat dedicated windows specially.
 --`delete-windows-on', `replace-buffer-in-windows', `quit-window' and
 --`kill-buffer' can delete a dedicated window and the containing
 --frame.
 ++  w = decode_window (window);
 ++  buf = XBUFFER (w->buffer);
 ++  SET_TEXT_POS_FROM_MARKER (top, w->start);
   
 --As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to
 --its buffer.  Functions like `set-window-buffer' may change the buffer
 --displayed by a window, unless that window is strongly dedicated to its
 --buffer.  If and when `set-window-buffer' displays another buffer in a
 --window, it also makes sure that the window is not marked as dedicated.  */)
 --  (Lisp_Object window, Lisp_Object flag)
 --{
 --  register struct window *w = decode_window (window);
 ++  if (EQ (pos, Qt))
 ++    posint = -1;
 ++  else if (!NILP (pos))
 ++    {
 ++      CHECK_NUMBER_COERCE_MARKER (pos);
 ++      posint = XINT (pos);
 ++    }
 ++  else if (w == XWINDOW (selected_window))
 ++    posint = PT;
 ++  else
 ++    posint = XMARKER (w->pointm)->charpos;
   
 --  w->dedicated = flag;
 --  return w->dedicated;
 --}
 ++  /* If position is above window start or outside buffer boundaries,
 ++     or if window start is out of range, position is not visible.  */
-    if ((EQ (pos, Qt) || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf)))
+++  if ((EQ (pos, Qt)
+++       || (posint >= CHARPOS (top) && posint <= BUF_ZV (buf)))
 ++      && CHARPOS (top) >= BUF_BEGV (buf)
 ++      && CHARPOS (top) <= BUF_ZV (buf)
 ++      && pos_visible_p (w, posint, &x, &y, &rtop, &rbot, &rowh, &vpos)
 ++      && (fully_p = !rtop && !rbot, (!NILP (partially) || fully_p)))
 ++    in_window = Qt;
   
 ++  if (!NILP (in_window) && !NILP (partially))
 ++    {
 ++      Lisp_Object part = Qnil;
 ++      if (!fully_p)
 ++     part = list4 (make_number (rtop), make_number (rbot),
 ++                     make_number (rowh), make_number (vpos));
 ++      in_window = Fcons (make_number (x),
 ++                      Fcons (make_number (y), part));
 ++    }
   
 --DEFUN ("window-parameters", Fwindow_parameters, Swindow_parameters,
 --       0, 1, 0,
 --       doc: /* Return the parameters of WINDOW and their values.
 --WINDOW defaults to the selected window.  The return value is a list of
 --elements of the form (PARAMETER . VALUE). */)
 --  (Lisp_Object window)
 --{
 --  return Fcopy_alist (decode_window (window)->window_parameters);
 ++  return in_window;
   }
   
 --DEFUN ("window-parameter", Fwindow_parameter, Swindow_parameter,
 --       2, 2, 0,
 --       doc:  /* Return WINDOW's value for PARAMETER.
 --WINDOW defaults to the selected window.  */)
 --  (Lisp_Object window, Lisp_Object parameter)
 --{
 --  Lisp_Object result;
 ++DEFUN ("window-line-height", Fwindow_line_height,
 ++       Swindow_line_height, 0, 2, 0,
 ++       doc: /* Return height in pixels of text line LINE in window WINDOW.
 ++WINDOW defaults to the selected window.
   
 --  result = Fassq (parameter, decode_window (window)->window_parameters);
 --  return CDR_SAFE (result);
 --}
 ++Return height of current line if LINE is omitted or nil.  Return height of
 ++header or mode line if LINE is `header-line' or `mode-line'.
 ++Otherwise, LINE is a text line number starting from 0.  A negative number
 ++counts from the end of the window.
   
 --DEFUN ("set-window-parameter", Fset_window_parameter,
 --       Sset_window_parameter, 3, 3, 0,
 --       doc: /* Set WINDOW's value of PARAMETER to VALUE.
 --WINDOW defaults to the selected window.  Return VALUE.  */)
 --  (Lisp_Object window, Lisp_Object parameter, Lisp_Object value)
 ++Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height
 ++in pixels of the visible part of the line, VPOS and YPOS are the
 ++vertical position in lines and pixels of the line, relative to the top
 ++of the first text line, and OFFBOT is the number of off-window pixels at
 ++the bottom of the text line.  If there are off-window pixels at the top
 ++of the (first) text line, YPOS is negative.
 ++
 ++Return nil if window display is not up-to-date.  In that case, use
 ++`pos-visible-in-window-p' to obtain the information.  */)
 ++  (Lisp_Object line, Lisp_Object window)
   {
 --  register struct window *w = decode_window (window);
 --  Lisp_Object old_alist_elt;
 ++  register struct window *w;
 ++  register struct buffer *b;
 ++  struct glyph_row *row, *end_row;
 ++  int max_y, crop, i, n;
   
 --  old_alist_elt = Fassq (parameter, w->window_parameters);
 --  if (NILP (old_alist_elt))
 --    w->window_parameters = Fcons (Fcons (parameter, value), w->window_parameters);
 --  else
 --    Fsetcdr (old_alist_elt, value);
 --  return value;
 --}
 ++  w = decode_window (window);
   
 ++  if (noninteractive || w->pseudo_window_p)
 ++    return Qnil;
 ++
 ++  CHECK_BUFFER (w->buffer);
 ++  b = XBUFFER (w->buffer);
 ++
 ++  /* Fail if current matrix is not up-to-date.  */
 ++  if (NILP (w->window_end_valid)
 ++      || current_buffer->clip_changed
 ++      || current_buffer->prevent_redisplay_optimizations_p
 ++      || XFASTINT (w->last_modified) < BUF_MODIFF (b)
 ++      || XFASTINT (w->last_overlay_modified) < BUF_OVERLAY_MODIFF (b))
 ++    return Qnil;
 ++
 ++  if (NILP (line))
 ++    {
 ++      i = w->cursor.vpos;
 ++      if (i < 0 || i >= w->current_matrix->nrows
 ++       || (row = MATRIX_ROW (w->current_matrix, i), !row->enabled_p))
 ++     return Qnil;
 ++      max_y = window_text_bottom_y (w);
 ++      goto found_row;
 ++    }
 ++
 ++  if (EQ (line, Qheader_line))
 ++    {
 ++      if (!WINDOW_WANTS_HEADER_LINE_P (w))
 ++     return Qnil;
 ++      row = MATRIX_HEADER_LINE_ROW (w->current_matrix);
 ++      if (!row->enabled_p)
 ++     return Qnil;
 ++      return list4 (make_number (row->height),
 ++                 make_number (0), make_number (0),
 ++                 make_number (0));
 ++    }
 ++
 ++  if (EQ (line, Qmode_line))
 ++    {
 ++      row = MATRIX_MODE_LINE_ROW (w->current_matrix);
 ++      if (!row->enabled_p)
 ++     return Qnil;
 ++      return list4 (make_number (row->height),
 ++                 make_number (0), /* not accurate */
 ++                 make_number (WINDOW_HEADER_LINE_HEIGHT (w)
 ++                              + window_text_bottom_y (w)),
 ++                 make_number (0));
 ++    }
 ++
 ++  CHECK_NUMBER (line);
 ++  n = XINT (line);
 ++
 ++  row = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
 ++  end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w);
 ++  max_y = window_text_bottom_y (w);
 ++  i = 0;
 ++
 ++  while ((n < 0 || i < n)
 ++      && row <= end_row && row->enabled_p
 ++      && row->y + row->height < max_y)
 ++    row++, i++;
 ++
 ++  if (row > end_row || !row->enabled_p)
 ++    return Qnil;
 ++
 ++  if (++n < 0)
 ++    {
 ++      if (-n > i)
 ++     return Qnil;
 ++      row += n;
 ++      i += n;
 ++    }
 ++
 ++ found_row:
 ++  crop = max (0, (row->y + row->height) - max_y);
 ++  return list4 (make_number (row->height + min (0, row->y) - crop),
 ++             make_number (i),
 ++             make_number (row->y),
 ++             make_number (crop));
 ++}
 ++
 ++DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p,
 ++       0, 1, 0,
 ++       doc: /* Return non-nil when WINDOW is dedicated to its buffer.
 ++More precisely, return the value assigned by the last call of
 ++`set-window-dedicated-p' for WINDOW.  Return nil if that function was
 ++never called with WINDOW as its argument, or the value set by that
 ++function was internally reset since its last call.  WINDOW defaults to
 ++the selected window.
 ++
 ++When a window is dedicated to its buffer, `display-buffer' will refrain
 ++from displaying another buffer in it.  `get-lru-window' and
 ++`get-largest-window' treat dedicated windows specially.
 ++`delete-windows-on', `replace-buffer-in-windows', `quit-window' and
 ++`kill-buffer' can delete a dedicated window and the containing frame.
 ++
 ++Functions like `set-window-buffer' may change the buffer displayed by a
 ++window, unless that window is "strongly" dedicated to its buffer, that
 ++is the value returned by `window-dedicated-p' is t.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_window (window)->dedicated;
 ++}
 ++
 ++DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p,
 ++       Sset_window_dedicated_p, 2, 2, 0,
 ++       doc: /* Mark WINDOW as dedicated according to FLAG.
 ++WINDOW must be a live window and defaults to the selected one.  FLAG
 ++non-nil means mark WINDOW as dedicated to its buffer.  FLAG nil means
 ++mark WINDOW as non-dedicated.  Return FLAG.
 ++
 ++When a window is dedicated to its buffer, `display-buffer' will refrain
 ++from displaying another buffer in it.  `get-lru-window' and
 ++`get-largest-window' treat dedicated windows specially.
 ++`delete-windows-on', `replace-buffer-in-windows', `quit-window',
 ++`quit-restore-window' and `kill-buffer' can delete a dedicated window
 ++and the containing frame.
 ++
 ++As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to
 ++its buffer.  Functions like `set-window-buffer' may change the buffer
 ++displayed by a window, unless that window is strongly dedicated to its
 ++buffer.  If and when `set-window-buffer' displays another buffer in a
 ++window, it also makes sure that the window is no more dedicated.  */)
 ++  (Lisp_Object window, Lisp_Object flag)
 ++{
 ++  register struct window *w = decode_window (window);
 ++
 ++  w->dedicated = flag;
 ++  return w->dedicated;
 ++}
 ++
 ++DEFUN ("window-prev-buffers", Fwindow_prev_buffers, Swindow_prev_buffers,
 ++       0, 1, 0,
 ++       doc:  /* Return buffers previously shown in WINDOW.
 ++WINDOW must be a live window and defaults to the selected one.
 ++
 ++The return value is either nil or a list of <buffer, window-start,
 ++window-point> triples where buffer was previously shown in WINDOW.  */)
 ++  (Lisp_Object window)
 ++{
 ++  return decode_window (window)->prev_buffers;
 ++}
 ++
 ++DEFUN ("set-window-prev-buffers", Fset_window_prev_buffers,
 ++       Sset_window_prev_buffers, 2, 2, 0,
 ++       doc: /* Set WINDOW's previous buffers to PREV-BUFFERS.
 ++WINDOW must be a live window and defaults to the selected one.  Return
 ++PREV-BUFFERS.
 ++
 ++PREV-BUFFERS should be either nil or a list of <buffer, window-start,
 ++window-point> triples where buffer was previously shown in WINDOW.  */)
 ++     (Lisp_Object window, Lisp_Object prev_buffers)
 ++{
 ++  return decode_any_window (window)->prev_buffers = prev_buffers;
 ++}
 ++
 ++DEFUN ("window-next-buffers", Fwindow_next_buffers, Swindow_next_buffers,
 ++       0, 1, 0,
 ++       doc:  /* Return list of buffers recently re-shown in WINDOW.
 ++WINDOW must be a live window and defaults to the selected one.  */)
 ++     (Lisp_Object window)
 ++{
 ++  return decode_window (window)->next_buffers;
 ++}
 ++
 ++DEFUN ("set-window-next-buffers", Fset_window_next_buffers,
 ++       Sset_window_next_buffers, 2, 2, 0,
 ++       doc: /* Set WINDOW's next buffers to NEXT-BUFFERS.
 ++WINDOW must be a live window and defaults to the selected one.  Return
 ++NEXT-BUFFERS.
 ++
 ++NEXT-BUFFERS should be either nil or a list of buffers that have been
 ++recently re-shown in WINDOW.  */)
 ++     (Lisp_Object window, Lisp_Object next_buffers)
 ++{
 ++  return decode_any_window (window)->next_buffers = next_buffers;
 ++}
 ++
 ++DEFUN ("window-parameters", Fwindow_parameters, Swindow_parameters,
 ++       0, 1, 0,
 ++       doc: /* Return the parameters of WINDOW and their values.
 ++WINDOW defaults to the selected window.  The return value is a list of
 ++elements of the form (PARAMETER . VALUE). */)
 ++  (Lisp_Object window)
 ++{
 ++  return Fcopy_alist (decode_any_window (window)->window_parameters);
 ++}
 ++
 ++DEFUN ("window-parameter", Fwindow_parameter, Swindow_parameter,
 ++       2, 2, 0,
 ++       doc:  /* Return WINDOW's value for PARAMETER.
 ++WINDOW defaults to the selected window.  */)
 ++  (Lisp_Object window, Lisp_Object parameter)
 ++{
 ++  Lisp_Object result;
 ++
 ++  result = Fassq (parameter, decode_any_window (window)->window_parameters);
 ++  return CDR_SAFE (result);
 ++}
 ++
 ++DEFUN ("set-window-parameter", Fset_window_parameter,
 ++       Sset_window_parameter, 3, 3, 0,
 ++       doc: /* Set WINDOW's value of PARAMETER to VALUE.
 ++WINDOW defaults to the selected window.  Return VALUE.  */)
 ++  (Lisp_Object window, Lisp_Object parameter, Lisp_Object value)
 ++{
 ++  register struct window *w = decode_any_window (window);
 ++  Lisp_Object old_alist_elt;
 ++
 ++  old_alist_elt = Fassq (parameter, w->window_parameters);
 ++  if (NILP (old_alist_elt))
 ++    w->window_parameters = Fcons (Fcons (parameter, value), w->window_parameters);
 ++  else
 ++    Fsetcdr (old_alist_elt, value);
 ++  return value;
 ++}
   
   DEFUN ("window-display-table", Fwindow_display_table, Swindow_display_table,
          0, 1, 0,
@@@@ -2590,217 -2497,121 -2497,121 +2583,218 @@@@ previously visible in WINDOW in the sam
   depends on the value of (window-start WINDOW), so if calling this
   function in a program gives strange scrolling, make sure the
   window-start value is reasonable when this function is called.  */)
 --  (Lisp_Object window)
 ++     (Lisp_Object window, Lisp_Object root)
   {
 --  struct window *w;
 ++  struct window *w, *r, *s;
 ++  struct frame *f;
 ++  Lisp_Object sibling, pwindow, swindow, delta;
-    int startpos, top, new_top, resize_failed;
+    EMACS_INT startpos;
 --  int top, new_top;
+++  int top, new_top, resize_failed;
   
 --  if (NILP (window))
 --    window = selected_window;
 --  else
 --    CHECK_LIVE_WINDOW (window);
 --  w = XWINDOW (window);
 ++  w = decode_any_window (window);
 ++  XSETWINDOW (window, w);
 ++  f = XFRAME (w->frame);
   
 --  startpos = marker_position (w->start);
 --  top = WINDOW_TOP_EDGE_LINE (w) - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w)));
 ++  if (NILP (root))
 ++    /* ROOT is the frame's root window.  */
 ++    {
 ++      root = FRAME_ROOT_WINDOW (f);
 ++      r = XWINDOW (root);
 ++    }
 ++  else
 ++    /* ROOT must be an ancestor of WINDOW.  */
 ++    {
 ++      r = decode_any_window (root);
 ++      pwindow = XWINDOW (window)->parent;
 ++      while (!NILP (pwindow))
 ++     if (EQ (pwindow, root))
 ++       break;
 ++     else
 ++       pwindow = XWINDOW (pwindow)->parent;
 ++      if (!EQ (pwindow, root))
 ++     error ("Specified root is not an ancestor of specified window");
 ++    }
   
 --  if (MINI_WINDOW_P (w) && top > 0)
 ++  if (EQ (window, root))
 ++    /* A noop.  */
 ++    return Qnil;
 ++  /* I don't understand the "top > 0" part below.  If we deal with a
 ++     standalone minibuffer it would have been caught by the preceding
 ++     test.  */
 ++  else if (MINI_WINDOW_P (w)) /* && top > 0) */
       error ("Can't expand minibuffer to full frame");
   
 --  window_loop (DELETE_OTHER_WINDOWS, window, 0, WINDOW_FRAME (w));
 --
 --  /* Try to minimize scrolling, by setting the window start to the point
 --     will cause the text at the old window start to be at the same place
 --     on the frame.  But don't try to do this if the window start is
 --     outside the visible portion (as might happen when the display is
 --     not current, due to typeahead).  */
 --  new_top = WINDOW_TOP_EDGE_LINE (w) - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w)));
 --  if (new_top != top
 --      && startpos >= BUF_BEGV (XBUFFER (w->buffer))
 --      && startpos <= BUF_ZV (XBUFFER (w->buffer)))
 ++  if (!NILP (w->buffer))
       {
 --      struct position pos;
 --      struct buffer *obuf = current_buffer;
 --
 --      Fset_buffer (w->buffer);
 --      /* This computation used to temporarily move point, but that can
 --      have unwanted side effects due to text properties.  */
 --      pos = *vmotion (startpos, -top, w);
 ++      startpos = marker_position (w->start);
 ++      top = WINDOW_TOP_EDGE_LINE (w)
 ++     - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w)));
 ++      /* Make sure WINDOW is the frame's selected window.  */
 ++      if (!EQ (window, FRAME_SELECTED_WINDOW (f)))
 ++     {
 ++       if (EQ (selected_frame, w->frame))
 ++         Fselect_window (window, Qnil);
 ++       else
 ++         FRAME_SELECTED_WINDOW (f) = window;
 ++     }
 ++    }
 ++  else
 ++    {
 ++      /* See if the frame's selected window is a subwindow of WINDOW, by
 ++      finding all the selected window's parents and comparing each
 ++      one with WINDOW.  If it isn't we need a new selected window for
 ++      this frame.  */
 ++      swindow = FRAME_SELECTED_WINDOW (f);
 ++      while (1)
 ++     {
 ++       pwindow = swindow;
 ++       while (!NILP (pwindow) && !EQ (window, pwindow))
 ++         pwindow = XWINDOW (pwindow)->parent;
   
 --      set_marker_both (w->start, w->buffer, pos.bufpos, pos.bytepos);
 --      w->window_end_valid = Qnil;
 --      w->start_at_line_beg = ((pos.bytepos == BEGV_BYTE
 --                            || FETCH_BYTE (pos.bytepos - 1) == '\n') ? Qt
 --                           : Qnil);
 --      /* We need to do this, so that the window-scroll-functions
 --      get called.  */
 --      w->optional_new_start = Qt;
 ++       if (EQ (window, pwindow))
 ++         /* If WINDOW is an ancestor of SWINDOW, then SWINDOW is ok
 ++            as the new selected window.  */
 ++         break;
 ++       else
 ++         /* Else try the previous window of SWINDOW.  */
 ++         swindow = Fprevious_window (swindow, Qlambda, Qnil);
 ++     }
   
 --      set_buffer_internal (obuf);
 ++      if (!EQ (swindow, FRAME_SELECTED_WINDOW (f)))
 ++     {
 ++       if (EQ (selected_frame, w->frame))
 ++         Fselect_window (swindow, Qnil);
 ++       else
 ++         FRAME_SELECTED_WINDOW (f) = swindow;
 ++     }
       }
   
 --  return Qnil;
 --}
 ++  BLOCK_INPUT;
 ++  free_window_matrices (r);
   
 --DEFUN ("delete-windows-on", Fdelete_windows_on, Sdelete_windows_on,
 --       0, 2, "bDelete windows on (buffer): ",
 --       doc: /* Delete all windows showing BUFFER-OR-NAME.
 --BUFFER-OR-NAME may be a buffer or the name of an existing buffer and
 --defaults to the current buffer.
 ++  windows_or_buffers_changed++;
 ++  Vwindow_list = Qnil;
 ++  FRAME_WINDOW_SIZES_CHANGED (f) = 1;
   
 --Optional second argument FRAME controls which frames are affected.
 --If optional argument FRAME is `visible', search all visible frames.
 --If FRAME is 0, search all visible and iconified frames.
 --If FRAME is nil, search all frames.
 --If FRAME is t, search only the selected frame.
 --If FRAME is a frame, search only that frame.
 --When a window showing BUFFER-OR-NAME is dedicated and the only window of
 --its frame, that frame is deleted when there are other frames left.  */)
 --  (Lisp_Object buffer_or_name, Lisp_Object frame)
 --{
 --  Lisp_Object buffer;
 ++  if (NILP (w->buffer))
 ++    {
 ++      resize_failed = 0;
 ++      /* Resize subwindows vertically.  */
 ++      XSETINT (delta, XINT (r->total_lines) - XINT (w->total_lines));
 ++      w->top_line = r->top_line;
 ++      resize_root_window (window, delta, Qnil, Qnil);
 ++      if (resize_window_check (w, 0))
 ++     resize_window_apply (w, 0);
 ++      else
 ++     {
 ++       resize_root_window (window, delta, Qnil, Qt);
 ++       if (resize_window_check (w, 0))
 ++         resize_window_apply (w, 0);
 ++       else
 ++         resize_failed = 1;
 ++     }
   
 --  /* FRAME uses t and nil to mean the opposite of what window_loop
 --     expects.  */
 --  if (NILP (frame))
 --    frame = Qt;
 --  else if (EQ (frame, Qt))
 --    frame = Qnil;
 ++      /* Resize subwindows horizontally.  */
 ++      if (!resize_failed)
 ++     {
 ++       w->left_col = r->left_col;
 ++       XSETINT (delta, XINT (r->total_cols) - XINT (w->total_cols));
 ++       w->left_col = r->left_col;
 ++       resize_root_window (window, delta, Qt, Qnil);
 ++       if (resize_window_check (w, 1))
 ++         resize_window_apply (w, 1);
 ++       else
 ++         {
 ++           resize_root_window (window, delta, Qt, Qt);
 ++           if (resize_window_check (w, 1))
 ++             resize_window_apply (w, 1);
 ++           else
 ++             resize_failed = 1;
 ++         }
 ++     }
   
 --  if (NILP (buffer_or_name))
 --    buffer = Fcurrent_buffer ();
 ++      if (resize_failed)
 ++     /* Play safe, if we still can ...  */
 ++     {
 ++       window = swindow;
 ++       w = XWINDOW (window);
 ++     }
 ++    }
 ++
 ++  /* Cleanly unlink WINDOW from window-tree.  */
 ++  if (!NILP (w->prev))
 ++    /* Get SIBLING above (on the left of) WINDOW.  */
 ++    {
 ++      sibling = w->prev;
 ++      s = XWINDOW (sibling);
 ++      s->next = w->next;
 ++      if (!NILP (s->next))
 ++     XWINDOW (s->next)->prev = sibling;
 ++    }
     else
 ++    /* Get SIBLING below (on the right of) WINDOW.  */
       {
 --      buffer = Fget_buffer (buffer_or_name);
 --      CHECK_BUFFER (buffer);
 ++      sibling = w->next;
 ++      s = XWINDOW (sibling);
 ++      s->prev = Qnil;
 ++      if (!NILP (XWINDOW (w->parent)->vchild))
 ++     XWINDOW (w->parent)->vchild = sibling;
 ++      else
 ++     XWINDOW (w->parent)->hchild = sibling;
       }
   
 --  window_loop (DELETE_BUFFER_WINDOWS, buffer, 0, frame);
 --
 --  return Qnil;
 --}
 --
 --DEFUN ("replace-buffer-in-windows", Freplace_buffer_in_windows,
 --       Sreplace_buffer_in_windows,
 --       0, 1, "bReplace buffer in windows: ",
 --       doc: /* Replace BUFFER-OR-NAME with some other buffer in all windows showing it.
 --BUFFER-OR-NAME may be a buffer or the name of an existing buffer and
 --defaults to the current buffer.
 ++  /* Delete ROOT and all subwindows of ROOT.  */
 ++  if (!NILP (r->vchild))
 ++    {
 ++      delete_all_subwindows (r->vchild);
 ++      r->vchild = Qnil;
 ++    }
 ++  else if (!NILP (r->hchild))
 ++    {
 ++      delete_all_subwindows (r->hchild);
 ++      r->hchild = Qnil;
 ++    }
   
 --When a window showing BUFFER-OR-NAME is dedicated that window is
 --deleted.  If that window is the only window on its frame, that frame is
 --deleted too when there are other frames left.  If there are no other
 --frames left, some other buffer is displayed in that window.  */)
 --  (Lisp_Object buffer_or_name)
 --{
 --  Lisp_Object buffer;
 ++  replace_window (root, window, 1);
   
 --  if (NILP (buffer_or_name))
 --    buffer = Fcurrent_buffer ();
 --  else
 ++  /* This must become SWINDOW anyway ....... */
 ++  if (!NILP (w->buffer) && !resize_failed)
       {
 --      buffer = Fget_buffer (buffer_or_name);
 --      CHECK_BUFFER (buffer);
 ++      /* Try to minimize scrolling, by setting the window start to the
 ++      point will cause the text at the old window start to be at the
 ++      same place on the frame.  But don't try to do this if the
 ++      window start is outside the visible portion (as might happen
 ++      when the display is not current, due to typeahead).  */
 ++      new_top = WINDOW_TOP_EDGE_LINE (w) - FRAME_TOP_MARGIN (XFRAME (WINDOW_FRAME (w)));
 ++      if (new_top != top
 ++       && startpos >= BUF_BEGV (XBUFFER (w->buffer))
 ++       && startpos <= BUF_ZV (XBUFFER (w->buffer)))
 ++     {
 ++       struct position pos;
 ++       struct buffer *obuf = current_buffer;
 ++
 ++       Fset_buffer (w->buffer);
 ++       /* This computation used to temporarily move point, but that
 ++          can have unwanted side effects due to text properties.  */
 ++       pos = *vmotion (startpos, -top, w);
 ++
 ++       set_marker_both (w->start, w->buffer, pos.bufpos, pos.bytepos);
 ++       w->window_end_valid = Qnil;
 ++       w->start_at_line_beg = ((pos.bytepos == BEGV_BYTE
 ++                                || FETCH_BYTE (pos.bytepos - 1) == '\n') ? Qt
 ++                               : Qnil);
 ++       /* We need to do this, so that the window-scroll-functions
 ++          get called.  */
 ++       w->optional_new_start = Qt;
 ++
 ++       set_buffer_internal (obuf);
 ++     }
       }
   
 --  window_loop (UNSHOW_BUFFER, buffer, 0, Qt);
 ++  adjust_glyphs (f);
 ++  UNBLOCK_INPUT;
 ++
 ++  run_window_configuration_change_hook (f);
   
     return Qnil;
   }
diff --cc src/xdisp.c
index 081f75ffb64322ebf04a649ac0a2c3a5263109b7,4c007e572cecfe21490c91c81e5e4e9df52f726d,c9af2ba88ec090b2eeeb4c26bc1124fa38c140c5..14dd672d6cf5028971abd7a4bf35adc0f8628066
@@@@ -24064,7 -24003,7 -24335,130 +24335,130 @@@@ fast_find_string_pos (struct window *w
   
     return best_glyph != NULL;
   }
++ #endif       /* not used */
++ 
++ /* Find the positions of the first and the last glyphs in window W's
++    current matrix that occlude positions [STARTPOS..ENDPOS] in OBJECT
++    (assumed to be a string), and return in DPYINFO's mouse_face
++    members the pixel and column/row coordinates of those glyphs.  */
++ 
++ static void
++ mouse_face_from_string_pos (struct window *w, Display_Info *dpyinfo,
++                          Lisp_Object object,
++                          EMACS_INT startpos, EMACS_INT endpos)
++ {
++   int yb = window_text_bottom_y (w);
++   struct glyph_row *r;
++   struct glyph *g, *e;
++   int gx;
++   int found = 0;
++ 
++   /* Find the glyph row with at least one position in the range
++      [STARTPOS..ENDPOS], and the first glyph in that row whose
++      position belongs to that range.  */
++   for (r = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
++        r->enabled_p && r->y < yb;
++        ++r)
++     {
++       if (!r->reversed_p)
++      {
++        g = r->glyphs[TEXT_AREA];
++        e = g + r->used[TEXT_AREA];
++        for (gx = r->x; g < e; gx += g->pixel_width, ++g)
++          if (EQ (g->object, object)
++              && startpos <= g->charpos && g->charpos <= endpos)
++            {
++              dpyinfo->mouse_face_beg_row = r - w->current_matrix->rows;
++              dpyinfo->mouse_face_beg_y = r->y;
++              dpyinfo->mouse_face_beg_col = g - r->glyphs[TEXT_AREA];
++              dpyinfo->mouse_face_beg_x = gx;
++              found = 1;
++              break;
++            }
++      }
++       else
++      {
++        struct glyph *g1;
++ 
++        e = r->glyphs[TEXT_AREA];
++        g = e + r->used[TEXT_AREA];
++        for ( ; g > e; --g)
++          if (EQ ((g-1)->object, object)
++              && startpos <= (g-1)->charpos && (g-1)->charpos <= endpos)
++            {
++              dpyinfo->mouse_face_beg_row = r - w->current_matrix->rows;
++              dpyinfo->mouse_face_beg_y = r->y;
++              dpyinfo->mouse_face_beg_col = g - r->glyphs[TEXT_AREA];
++              for (gx = r->x, g1 = r->glyphs[TEXT_AREA]; g1 < g; ++g1)
++                gx += g1->pixel_width;
++              dpyinfo->mouse_face_beg_x = gx;
++              found = 1;
++              break;
++            }
++      }
++       if (found)
++      break;
++     }
 + 
++   if (!found)
++     return;
++ 
++   /* Starting with the next row, look for the first row which does NOT
++      include any glyphs whose positions are in the range.  */
++   for (++r; r->enabled_p && r->y < yb; ++r)
++     {
++       g = r->glyphs[TEXT_AREA];
++       e = g + r->used[TEXT_AREA];
++       found = 0;
++       for ( ; g < e; ++g)
++      if (EQ (g->object, object)
++          && startpos <= g->charpos && g->charpos <= endpos)
++        {
++          found = 1;
++          break;
++        }
++       if (!found)
++      break;
++     }
++ 
++   /* The highlighted region ends on the previous row.  */
++   r--;
+  
++   /* Set the end row and its vertical pixel coordinate.  */
++   dpyinfo->mouse_face_end_row = r - w->current_matrix->rows;
++   dpyinfo->mouse_face_end_y = r->y;
++ 
++   /* Compute and set the end column and the end column's horizontal
++      pixel coordinate.  */
++   if (!r->reversed_p)
++     {
++       g = r->glyphs[TEXT_AREA];
++       e = g + r->used[TEXT_AREA];
++       for ( ; e > g; --e)
++      if (EQ ((e-1)->object, object)
++          && startpos <= (e-1)->charpos && (e-1)->charpos <= endpos)
++        break;
++       dpyinfo->mouse_face_end_col = e - g;
++ 
++       for (gx = r->x; g < e; ++g)
++      gx += g->pixel_width;
++       dpyinfo->mouse_face_end_x = gx;
++     }
++   else
++     {
++       e = r->glyphs[TEXT_AREA];
++       g = e + r->used[TEXT_AREA];
++       for (gx = r->x ; e < g; ++e)
++      {
++        if (EQ (e->object, object)
++            && startpos <= e->charpos && e->charpos <= endpos)
++          break;
++        gx += e->pixel_width;
++      }
++       dpyinfo->mouse_face_end_col = e - r->glyphs[TEXT_AREA];
++       dpyinfo->mouse_face_end_x = gx;
++     }
++ }
   
   /* See if position X, Y is within a hot-spot of an image.  */
   
diff --cc src/xfns.c
Simple merge