]> code.delx.au - gnu-emacs/commitdiff
Merge changes from emacs-23 branch
authorChong Yidong <cyd@stupidchicken.com>
Fri, 8 Apr 2011 18:53:26 +0000 (14:53 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Fri, 8 Apr 2011 18:53:26 +0000 (14:53 -0400)
12 files changed:
1  2 
doc/emacs/ChangeLog
doc/emacs/display.texi
doc/lispref/ChangeLog
doc/lispref/buffers.texi
doc/lispref/minibuf.texi
doc/lispref/positions.texi
etc/NEWS.23
lisp/ChangeLog
lisp/vc/vc-annotate.el
src/ChangeLog
src/process.c
src/term.c

diff --combined doc/emacs/ChangeLog
index b25e6ce219f19ad5579efe1a493e2a0f3d5495fb,edd66bddfdf7634518b0758fac4eb7a20cf0b44f..47aa395c73024d60e42cd5319514fd2492a26d12
@@@ -1,76 -1,17 +1,80 @@@
 -2011-03-11  Eli Zaretskii  <eliz@gnu.org>
+ 2011-03-26  Chong Yidong  <cyd@stupidchicken.com>
+       * display.texi (Auto Scrolling): Fix scroll-up/scroll-down confusion.
 +2011-03-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * display.texi (Auto Scrolling): Document the limit of 100 lines
 +      for never-recentering scrolling with `scroll-conservatively'.
 +      (Bug#6671)
 +
 +2011-03-12  Eli Zaretskii  <eliz@gnu.org>
  
        * msdog.texi (Windows HOME): Fix the wording to clarify how Emacs sets
        HOME on Windows and where it looks for init files.  (Bug#8221)
  
 +2011-03-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * search.texi (Regexp Example):
 +      * mule.texi (International Chars):
 +      * building.texi (External Lisp): Don't use characters outside
 +      ISO-8859-1.
 +
 +2011-03-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * ack.texi (Acknowledgments): Convert to ISO-8859-1 encoding.  Use
 +      Texinfo @-commands for non Latin-1 characters.
 +
 +      * makefile.w32-in (MAKEINFO_OPTS): Add --enable-encoding.
 +
 +      * custom.texi (Init File): Add index entries for ".emacs".
 +      (Bug#8210)
 +
 +2011-03-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xresources.texi (GTK resources): ~/.emacs.d/gtkrc does not work
 +      for Gtk+ 3.
 +
 +2011-03-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (MAKEINFO_OPTS): Add --enable-encoding.
 +      * emacs.texi (Acknowledgments):
 +      * ack.texi (Acknowledgments): Names to UTF-8.
 +      * emacs.texi: Set documentencoding.
 +
 +      * display.texi (Optional Mode Line): Don't mention exactly where
 +      display-time appears.  (Bug#8193)
 +
  2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
  
        * Version 23.3 released.
  
 -2011-02-25  Eli Zaretskii  <eliz@gnu.org>
 +2011-03-06  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * search.texi (Isearch Yank): C-y now bound to isearch-yank-kill.
 +
 +2011-03-03  Drake Wilson  <drake@begriffli.ch>  (tiny change)
 +
 +      * misc.texi (emacsclient Options): Add q/quiet.
 +
 +2011-03-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * mule.texi (Communication Coding) <x-select-request-type>:
 +      Remove duplicate (essentially) paragraph.  (Bug#8148)
 +
 +2011-03-01  Christoph Scholtes  <cschol2112@googlemail.com>
 +
 +      * maintaining.texi (Format of ChangeLog): Add reference to
 +      add-log-full-name.
 +      (Change Log Commands): Add documentation for combining multiple
 +      symbols in one change.
 +
 +2011-03-01  Glenn Morris  <rgm@gnu.org>
 +
 +      * custom.texi (Directory Variables):
 +      Give an example of excluding subdirectories.
 +
 +2011-02-28  Eli Zaretskii  <eliz@gnu.org>
  
        * search.texi (Regexp Search): Move index entries about regexps to the
        "Regexps" node.  Add index entries for regexp search.  (Bug#8096)
  
        * dired.texi (Dired): Dired-X version number was dropped.
  
 +2011-02-14  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xresources.texi (X Resources): Remove *faceName and replace it with
 +      *font for Lucid.
 +
  2011-02-05  Chong Yidong  <cyd@stupidchicken.com>
  
        * rmail.texi (Rmail Display): Document Rmail MIME support more
        vc-log-outgoing.
        (Merging): Document vc-find-conflicted-file.
  
 -2011-02-04  Glenn Morris  <rgm@gnu.org>
 +2011-02-05  Glenn Morris  <rgm@gnu.org>
  
        * custom.texi (Variables): Fix typo.
  
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-31  Chong Yidong  <cyd@stupidchicken.com>
  
        * search.texi (Regexps): Copyedits.  Mention character classes
        (Bug#7809).
        * files.texi (File Aliases): Restore explanatory text from Eli
        Zaretskii, accidentally removed in 2011-01-08 commit.
  
 +2011-01-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (MAKEINFO): Remove options, leave only program name.
 +      (MAKEINFO_OPTS): New variable.
 +      (ENVADD, $(infodir)/emacs): Use $(MAKEINFO_OPTS).
 +      (emacs.html): New target.
 +      (clean): Remove emacs.html.
 +
 +2011-01-23  Werner Lemberg  <wl@gnu.org>
 +
 +      * Makefile.in (MAKEINFO): Now controlled by `configure'.
 +      (MAKEINFO_OPTS): New variable.  Use it where appropriate.
 +      (ENVADD): Updated.
 +
 +2011-01-18  Glenn Morris  <rgm@gnu.org>
 +
 +      * ack.texi, emacs.texi (Acknowledgments): Update for ERT addition.
 +
 +      * ack.texi (Acknowledgments): Remove mention of replaced prolog.el.
 +
  2011-01-15  Chong Yidong  <cyd@stupidchicken.com>
  
        * building.texi (Compilation): Improve instructions for running two
        * files.texi (Backup Names): Document the new location of the
        last-resort backup file.
  
 -2011-01-08  Chong Yidong  <cyd@stupidchicken.com>
 -
        * files.texi (File Aliases): Move directory-abbrev-alist doc from Lisp
        manual.  Explain why directory-abbrev-alist elements should be anchored
        (Bug#7777).
  
 -2011-01-07  Eli Zaretskii  <eliz@gnu.org>
 +2011-01-15  Eli Zaretskii  <eliz@gnu.org>
  
        * msdog.texi (Windows Startup): Correct inaccurate description of
        differences between emacsclient.exe and emacsclientw.exe.
  
 -2010-12-30  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-02  Chong Yidong  <cyd@stupidchicken.com>
  
        * rmail.texi (Rmail Display): Edit for grammar and conciseness.
  
 -2010-12-27  Kenichi Handa  <handa@m17n.org>
 +2011-01-02  Kenichi Handa  <handa@m17n.org>
  
        * rmail.texi (Rmail Display): Describe new features of Rmail in Info.
  
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 +2011-01-02  Eli Zaretskii  <eliz@gnu.org>
  
        * frames.texi (Cut and Paste): Modify the section's name and text:
        don't mix "cut/paste" with "kill/yank".
  
        * trouble.texi (Checklist): Mention debug-on-quit.  (Bug#7667)
  
 -2010-12-18  Glenn Morris  <rgm@gnu.org>
 +2011-01-02  Glenn Morris  <rgm@gnu.org>
  
        * maintaining.texi: Move inclusion of emerge after EDE, so that it
        matches its position in the menu.  (Bug#7674)
  
 -2010-12-14  Glenn Morris  <rgm@gnu.org>
 +2011-01-02  Glenn Morris  <rgm@gnu.org>
  
        * trouble.texi (Checklist): Mention not replying via news either.
  
 -2010-12-11  Eli Zaretskii  <eliz@gnu.org>
 +2010-12-30  Tassilo Horn  <tassilo@member.fsf.org>
 +
 +      * misc.texi (Document View): Update DocView section with newly
 +      supported document formats.
 +
 +2010-12-21  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * killing.texi: Resection the Info version to conform to the
 +      printed manual, to avoid making sections on Accumulating Text, CUA
 +      and Rectangles into full chapters.
 +
 +2010-12-13  Eli Zaretskii  <eliz@gnu.org>
  
        * custom.texi (Init Syntax): Add index entries for "character syntax".
        (Bug#7576)
  
 -2010-12-11  Karel Klíč  <kklic@redhat.com>
 +2010-12-13  Karel Klíč  <kklic@redhat.com>
  
        * text.texi (HTML Mode): Small fixes.  (Bug#7607)
  
 -2010-12-10  Glenn Morris  <rgm@gnu.org>
 +2010-12-13  Glenn Morris  <rgm@gnu.org>
  
        * trouble.texi (Checklist): Fix typo in newsgroup name.
  
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 +2010-12-13  Chong Yidong  <cyd@stupidchicken.com>
  
        * search.texi (Word Search): Note that the lazy highlight always
        matches to whole words (Bug#7470).
  
 -2010-12-04  Eli Zaretskii  <eliz@gnu.org>
 +2010-12-13  Eli Zaretskii  <eliz@gnu.org>
  
        * display.texi (Optional Mode Line): Make the description of
        load-average more accurate.
        (Windows Startup): New node.  Move the stuff about the current
        directory from "Windows HOME".
  
 -2010-11-23  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>
 +2010-11-27  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>
  
        * maintaining.texi (VC With A Locking VCS, VC Directory Commands):
        * vc1-xtra.texi (Customizing VC, General VC Options): Small fixes.
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
  
        * maintaining.texi (Version Control Systems): Fix repeated sentence.
        Suggested by Štěpán Němec.
  
 -2010-11-20  Chong Yidong  <cyd@stupidchicken.com>
 +2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
  
        * maintaining.texi (Version Control): Say "commit", not "check in".
        (Version Control Systems): Simplify descriptions.
  
        * emacs.texi (Top): Update node listing.
  
 -2010-11-06  Eli Zaretskii  <eliz@gnu.org>
 +2010-11-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * rmail.texi (Rmail Coding): Characters with no fonts are not
 +      necessarily displayed as empty boxes.
 +
 +      * mule.texi (Language Environments, Fontsets): Characters with no
 +      fonts are not necessarily displayed as empty boxes.
 +
 +      * display.texi (Text Display): Document display of glyphless
 +      characters.
 +
 +2010-11-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * basic.texi (Position Info): Add M-x count-words-region.
 +
 +2010-11-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * msdog.texi (ls in Lisp): Update for ls-lisp changes.
 +
 +2010-11-09  Eli Zaretskii  <eliz@gnu.org>
  
        * msdog.texi (Windows HOME): Add information regarding startup
        directory when invoking Emacs from a desktop shortcut.  (bug#7300)
  
 +2010-10-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (MAKEINFO): Add explicit -I$srcdir.
 +
 +      * Makefile.in (.texi.dvi): Remove unnecessary suffix rule.
 +      (DVIPS): New variable.
 +      (.PHONY): Add html, ps.
 +      (html, emacs.html, ps, emacs.ps, emacs-xtra.ps): New targets.
 +      (clean): Delete html, ps files.
 +
 +2010-10-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (EMACSSOURCES): Add emacsver.texi.
 +
 +2010-10-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (VPATH): Remove.
 +      (infodir): Make it absolute.
 +      (mkinfodir, $(infodir)/emacs, infoclean): No need to cd $srcdir.
 +
 +      * Makefile.in (dist): Anchor regexps.
 +
 +      * Makefile.in (EMACSSOURCES): Put emacs.texi first.
 +      ($(infodir)/emacs, emacs.dvi, emacs.pdf, emacs-xtra.dvi)
 +      (emacs-xtra.pdf): Use $<.
 +
 +      * Makefile.in (infoclean): Remove harmless, long-standing error.
 +
 +      * Makefile.in ($(infodir)): Delete rule.
 +      (mkinfodir): New.
 +      ($(infodir)/emacs): Use $mkinfodir instead of infodir.
 +
 +      * Makefile.in (distclean): Do not delete emacsver.texi.
 +      (dist): Remove reference to emacsver.texi.in.
 +      * emacsver.texi: New file, replacing emacsver.texi.in.
 +
 +2010-10-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacsver.texi.in: New file.
 +      * emacs.texi: Set EMACSVER by including emacsver.texi.
 +      * Makefile.in (distclean): Delete emacsver.texi.
 +      (dist): Copy emacsver.texi.
 +      (EMACSSOURCES): Add emacsver.texi.
 +
 +      * ack.texi (Acknowledgments): No more b2m.c.
 +
 +      * Makefile.in (.PHONY): Declare info, dvi, pdf, dist.
 +      (emacs): Remove rule.
 +      (dist): No need to deal with the emacs rule any more.
 +
 +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 (EMACS_XTRA): Add the main source file.
 +      (emacs-xtra.dvi, emacs-xtra.pdf): Remove explicit emacs-xtra.texi.
 +      (mostlyclean): No core files, reorder other files.
 +      (clean): Delete specific dvi and pdf files.
 +      (infoclean, dist): New rules.
 +      (maintainer-clean): Use infoclean.
 +      ($(infodir)): Add parallel build workaround.
 +
 +2010-10-04  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (SHELL): Set it.
 +      (INFO_TARGETS, DVI_TARGETS): Remove variables.
 +      (info, dvi): Replace above variables with their expansions.
 +      (info): Move mkdir from here...
 +      ($(infodir)/emacs): ... to here (for parallel builds).
 +      (pdf): New target.
 +      ($(infodir)/emacs): Pass -o option to makeinfo.
 +      (.PHONY): Declare clean rules.
 +      (maintainer-clean): Delete dvi and pdf files.
 +      Guard against cd failures.  Use a more restrictive delete.
 +
 +2010-10-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * misc.texi (Shell Mode): Remove reference to old function name.
 +
 +2010-09-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * maintaining.texi (VC Mode Line): Mention all the possible VC status
 +      indicator characters.
 +
 +2010-09-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (top_srcdir): Remove unused variable.
 +
  2010-09-14  Glenn Morris  <rgm@gnu.org>
  
        * cal-xtra.texi (Fancy Diary Display): Emphasize that sort should be
        * calendar.texi (Appointments): Also updated when a diary include file
        is saved.
  
 -2010-09-12  Glenn Morris  <rgm@gnu.org>
 +2010-09-14  Glenn Morris  <rgm@gnu.org>
  
        * trouble.texi (Bugs): Update the section intro.
        (Known Problems): New section.
        (Sending Patches): Bug fixes are best as responses to existing bugs.
        * emacs.texi (Known Problems): Add menu entry for new section.
  
 -2010-09-04  Chong Yidong  <cyd@stupidchicken.com>
 +2010-09-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * xresources.texi: Untabify.
 +
 +2010-09-06  Chong Yidong  <cyd@stupidchicken.com>
  
        * dired.texi (Dired Enter): Minor doc fix (Bug#6982).
  
 -2010-09-02  Glenn Morris  <rgm@gnu.org>
 +2010-09-06  Glenn Morris  <rgm@gnu.org>
  
        * misc.texi (Saving Emacs Sessions): Mention desktop-path.  (Bug#6948)
  
 +2010-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * frames.texi (Cut/Paste Other App): Remove vut-buffer text.
 +
  2010-08-21  Glenn Morris  <rgm@gnu.org>
  
        * misc.texi (Amusements): Mention bubbles and animate.
  
 +2010-07-31  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * files.texi (Visiting): Add more index entries for
 +      large-file-warning-threshold.
 +
 +2010-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * frames.texi (Tool Bars): Add doc for tool-bar-position.
 +
  2010-06-23  Glenn Morris  <rgm@gnu.org>
  
        * abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi:
  
        * basic.texi (Inserting Text): Fix typo.
  
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 +2010-06-10  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 23.2 released.
 +      * ack.texi (Acknowledgments):
 +      * emacs.texi (Acknowledgments): Update for notifications.el.
  
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 +2010-05-31  Daiki Ueno  <ueno@unixuser.org>
 +
 +      * dired.texi (Operating on Files): Mention encryption commands
 +      (Bug#6315).
 +
 +2010-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * basic.texi (Moving Point): Update due to renaming of commands bound
 +      to arrows.  Document bidi-aware behavior of C-<right> and C-<left>.
 +
 +2010-05-18  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * display.texi (Fringes): Document reversal of fringe arrows for R2L
 +      paragraphs.
 +      (Line Truncation): Fix wording for bidi display.
 +
 +      * basic.texi (Moving Point): Document bidi-aware behavior of the arrow
 +      keys.
 +
 +2010-05-08  Chong Yidong  <cyd@stupidchicken.com>
  
        * building.texi (GDB Graphical Interface): Remove misleading comparison
        to an IDE (Bug#6128).
  
 -2010-05-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 +2010-05-08  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
  
        * programs.texi (Man Page):
        * misc.texi (Invoking emacsclient):
        * mini.texi (Repetition):
        * mark.texi (Setting Mark): Fix typos.
  
 -2010-04-25  Chong Yidong  <cyd@stupidchicken.com>
 +2010-05-08  Chong Yidong  <cyd@stupidchicken.com>
  
        * misc.texi (Printing): Document htmlfontify-buffer.
  
 -2010-04-21  Glenn Morris  <rgm@gnu.org>
 +2010-05-08  Glenn Morris  <rgm@gnu.org>
  
        * calendar.texi (Displaying the Diary, Format of Diary File):
        Fix external cross-references for TeX format output.
  
 +2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * Version 23.2 released.
 +
 +2010-05-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * cmdargs.texi (Initial Options): Mention --chdir.
 +
 +2010-04-21  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * frames.texi (Tool Bars): Add tool-bar-style.
 +
 +2010-04-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * ack.texi, emacs.texi (Acknowledgments): Add SELinux support.
 +
  2010-04-18  Chong Yidong  <cyd@stupidchicken.com>
  
        * programs.texi (Semantic): New node.
  
        * misc.texi (Gnus): Use the `C-h i' keybinding for info.
  
 -2010-04-16  Glenn Morris  <rgm@gnu.org>
 +2010-04-18  Glenn Morris  <rgm@gnu.org>
  
        * emacs.texi (Acknowledgments): Remove duplicate.
  
        * maintaining.texi (VC Directory Commands): Mention stashes and shelves.
  
 -2010-04-15  Glenn Morris  <rgm@gnu.org>
 +2010-04-18  Glenn Morris  <rgm@gnu.org>
  
        * dired.texi (Misc Dired Features): Mention VC diff and log.
        * maintaining.texi (Old Revisions, VC Change Log):
        * custom.texi (Specifying File Variables, Directory Variables):
        Document new commands for manipulating local variable lists.
  
 -2010-04-09  Glenn Morris  <rgm@gnu.org>
 +2010-04-18  Glenn Morris  <rgm@gnu.org>
  
        * trouble.texi (Contributing): Add cindex entry.
        Mention etc/CONTRIBUTE.
  
 -2010-04-06  Chong Yidong  <cyd@stupidchicken.com>
 +2010-04-18  Chong Yidong  <cyd@stupidchicken.com>
  
        * mark.texi (Persistent Mark): Copyedits.  Replace undo example with
        query-replace (Bug#5774).
  
 +2010-04-16  Glenn Morris  <rgm@gnu.org>
 +
 +      * ack.texi, emacs.texi (Acknowledgments): Update for Org changes.
 +
 +2010-04-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xresources.texi (Lucid Resources): Mention faceName for dialogs.
 +
 +2010-04-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xresources.texi (Lucid Resources): Mention faceName to set Xft fonts.
 +
  2010-03-30  Eli Zaretskii  <eliz@gnu.org>
  
        * mule.texi (Input Methods): Mention "C-x 8 RET" and add a
        * basic.texi (Inserting Text): Add an index entry for "C-x 8 RET".
        Mention completion provided by `ucs-insert'.
  
 -2010-03-28  Chong Yidong  <cyd@stupidchicken.com>
 +2010-03-30  Chong Yidong  <cyd@stupidchicken.com>
  
        * sending.texi (Sending Mail): Note variables that may need
        customizing.
        (Mail Sending): Expand discussion of send-mail-function.
  
 -2010-03-28  Chong Yidong  <cyd@stupidchicken.com>
 +2010-03-30  Chong Yidong  <cyd@stupidchicken.com>
  
        Document Message mode as the default mail mode.
  
  
        * emacs.texi (Top): Fix xrefs.
  
 -2010-03-25  Chong Yidong  <cyd@stupidchicken.com>
 +2010-03-30  Chong Yidong  <cyd@stupidchicken.com>
  
        * maintaining.texi (VC With A Merging VCS): C-x v v now creates a
        repository if there is none.
        * misc.texi (Navigation): Document doc-view-continuous.
        (Shell Ring): Document new M-r binding.  M-s is no longer bound.
  
 +2010-03-30  Juri Linkov  <juri@jurta.org>
 +
 +      * search.texi (Other Repeating Search): Remove line that `occur'
 +      can not handle multiline matches.
 +
 +2010-03-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * mule.texi (International): Mention support of bidirectional editing.
 +      (Bidirectional Editing): New section.
 +
 +2010-03-28  Nick Roberts  <nickrob@snap.net.nz>
 +
 +      * emacs.texi (Top): Update node names to those in building.texi.
 +
 +2010-03-27  Nick Roberts  <nickrob@snap.net.nz>
 +
 +      doc/emacs/building.texi: Describe restored GDB/MI fuctionality removed by 2009-12-29T07:15:34Z!nickrob@snap.net.nz.
 +      doc/emacs/emacs.texi: Update node names for building.texi.
 +
  2010-03-24  Glenn Morris  <rgm@gnu.org>
  
        * ack.texi (Acknowledgments):
        * xresources.texi (Table of Resources):
        * mule.texi (Defining Fontsets, Charsets): Update xrefs.
  
 +2010-03-10  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * Branch for 23.2.
 +
  2010-03-06  Chong Yidong  <cyd@stupidchicken.com>
  
        * custom.texi (Init Examples): Add xref to Locals.
  
  2009-06-23  Miles Bader  <miles@gnu.org>
  
 -      * display.texi (Scrolling): Document `recenter-redisplay'
 +      * display.texi (Scrolling): Document `recenter-redisplay'.
        (Temporary Face Changes): Document `text-scale-set'.
  
  2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
        (Fortran Columns): Mention font-locking.
        (Fortran Abbrev): Word syntax not relevant with new-style abbrev.
  
 -2008-08-23  Johan Bockgard  <bojohan@muon>
 +2008-08-23  Johan Bockgård  <bojohan@muon>
  
        * basic.texi (Moving Point): Fix <prior>/<next> confusion.
  
  2005-03-05  Juri Linkov  <juri@jurta.org>
  
        * cmdargs.texi (Emacs Invocation): Add cindex
 -      "invocation (command line arguments)"
 +      "invocation (command line arguments)".
        (Misc X): Add -nbc, --no-blinking-cursor.
  
  2005-03-04  Ulf Jasper  <ulf.jasper@web.de>
  
  ;; Local Variables:
  ;; coding: utf-8
 -;; fill-column: 79
  ;; End:
  
 -  Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
 -    2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 -    Free Software Foundation, Inc.
 +  Copyright (C) 1993-1999, 2001-2011  Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
  
    You should have received a copy of the GNU General Public License
    along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 -
diff --combined doc/emacs/display.texi
index 405ee26312f5ac1f57fdc526eadfa3ef1b77163c,14a5b68f364bd4e08f525cec828a9bfc1269ab72..7777aacf0e5e6033aba78e17eef47f7873011485
@@@ -1,5 -1,6 +1,5 @@@
  @c This is part of the Emacs manual.
 -@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
 -@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
  @c   Free Software Foundation, Inc.
  
  @c See file emacs.texi for copying conditions.
@@@ -183,20 -184,7 +183,20 @@@ visible portion of the text
  if you set @code{scroll-conservatively} to a small number @var{n},
  then if you move point just a little off the screen (less than @var{n}
  lines), Emacs scrolls the text just far enough to bring point back on
 -screen.  By default, @code{scroll-conservatively} is@tie{}0.
 +screen.  By default, @code{scroll-conservatively} is@tie{}0.  If you
 +set @code{scroll-conservatively} to a large number (larger than 100),
 +Emacs will never center point as result of scrolling, even if point
 +moves far away from the text previously displayed in the window.  With
 +such a large value, Emacs will always scroll text just enough for
 +bringing point into view, so point will end up at the top or bottom of
 +the window, depending on the scroll direction.
 +
 +@vindex scroll-step
 +  The variable @code{scroll-step} determines how many lines to scroll
 +the window when point moves off the screen.  If moving by that number
 +of lines fails to bring point back into view, point is centered
 +instead.  The default value is zero, which causes point to always be
 +centered after scrolling.
  
  @cindex aggressive scrolling
  @vindex scroll-up-aggressively
@@@ -206,20 -194,19 +206,22 @@@ how aggressively it scrolls by setting 
  @code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
  The value of @code{scroll-up-aggressively} should be either
  @code{nil}, or a fraction @var{f} between 0 and 1.  A fraction
- specifies where on the screen to put point when scrolling upward: when
- a window scrolls up because point is above the window start, the new
+ specifies where on the screen to put point when scrolling upward,
+ i.e.@: when point moves forward in the buffer, and therefore text
+ scrolls up in the window.  When point goes off the window end, the new
  start position is chosen to put point @var{f} parts of the window
- height from the top.  Thus, larger @var{f} means more aggressive
- scrolling.  The default value, @code{nil}, is equivalent to 0.5.
+ height from the bottom.  Thus, larger @var{f} means more aggressive
+ scrolling: more new text is brought into view.  The default value,
+ @code{nil}, is equivalent to 0.5.
  
    Likewise, @code{scroll-down-aggressively} is used for scrolling
- down.  The value specifies how far point should be placed from the
- bottom of the window; thus, as with @code{scroll-up-aggressively}, a
- larger value is more aggressive.
+ down, i.e.@: moving point back in the buffer.  The value specifies how
+ far point should be placed from the top of the window; thus, as with
@code{scroll-up-aggressively}, a larger value is more aggressive.
  
 +  These two variables are ignored if either @code{scroll-step} or
 +@code{scroll-conservatively} are set to a non-zero value.
 +
  @vindex scroll-margin
    The variable @code{scroll-margin} restricts how close point can come
  to the top or bottom of a window.  Its value is a number of screen
@@@ -819,10 -806,7 +821,10 @@@ line, when one line of text is split in
  screen.  The left fringe shows a curving arrow for each screen line
  except the first, indicating that ``this is not the real beginning.''
  The right fringe shows a curving arrow for each screen line except the
 -last, indicating that ``this is not the real end.''
 +last, indicating that ``this is not the real end.''  If the line's
 +direction is right-to-left (@pxref{Bidirectional Editing}), the
 +meaning of the curving arrows in the left and right fringes are
 +swapped.
  
    The fringes indicate line truncation with short horizontal arrows
  meaning ``there's more text on this line which is scrolled
@@@ -1015,7 -999,8 +1017,7 @@@ value is 200 characters
    Emacs can optionally display the time and system load in all mode
  lines.  To enable this feature, type @kbd{M-x display-time} or customize
  the option @code{display-time-mode}.  The information added to the mode
 -line usually appears after the buffer name, before the mode names and
 -their parentheses.  It looks like this:
 +line looks like this:
  
  @example
  @var{hh}:@var{mm}pm @var{l.ll}
@@@ -1151,48 -1136,6 +1153,48 @@@ prefix these characters with an escape 
  by means of a display table.  @xref{Display Tables,, Display Tables,
  elisp, The Emacs Lisp Reference Manual}.
  
 +@cindex glyphless characters
 +@cindex characters with no font glyphs
 +  On graphics displays, some characters could have no glyphs in any of
 +the fonts available to Emacs.  On text terminals, some characters
 +could be impossible to encode with the terminal coding system
 +(@pxref{Terminal Coding}).  Emacs can display such @dfn{glyphless}
 +characters using one of the following methods:
 +
 +@table @code
 +@item zero-width
 +Don't display the character.
 +
 +@item thin-space
 +Display a thin space, 1-pixel wide on graphics displays or 1-character
 +wide on text terminals.
 +
 +@item empty-box
 +Display an empty box.
 +
 +@item acronym
 +Display the acronym of the character's name (such as @sc{zwnj} or
 +@sc{rlm}) in a box.
 +
 +@item hex-code
 +Display the Unicode codepoint of the character in hexadecimal
 +notation, in a box.
 +@end table
 +
 +@noindent
 +@cindex @code{glyphless-char} face
 +With the exception of @code{zero-width}, all other methods draw these
 +characters in a special face @code{glyphless-char}, which you can
 +customize.
 +
 +@vindex glyphless-char-display-control
 +@vindex char-acronym-table
 +To control what glyphless characters are displayed using which method,
 +customize the variable @code{glyphless-char-display-control}; see its
 +doc string for the details.  For even finer control, set the elements
 +of 2 char-tables: @code{glyphless-char-display} and
 +@code{char-acronym-table}.
 +
  @node Cursor Display
  @section Displaying the Cursor
  
@@@ -1251,8 -1194,8 +1253,8 @@@ can display long lines by @dfn{truncati
  characters that do not fit in the width of the screen or window do not
  appear at all.  On graphical displays, a small straight arrow in the
  fringe indicates truncation at either end of the line.  On text-only
 -terminals, @samp{$} appears in the first column when there is text
 -truncated to the left, and in the last column when there is text
 +terminals, @samp{$} appears in the leftmost column when there is text
 +truncated to the left, and in the rightmost column when there is text
  truncated to the right.
  
  @vindex truncate-lines
@@@ -1415,3 -1358,7 +1417,3 @@@ page for other output.  On such termina
  @code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to
  assume, when resumed, that the screen page it is using still contains
  what Emacs last wrote there.
 -
 -@ignore
 -   arch-tag: 2219f910-2ff0-4521-b059-1bd231a536c4
 -@end ignore
diff --combined doc/lispref/ChangeLog
index 445e94a0c4387dbb6c8b3727c6801336f1f8175b,440159a9a58214736855ff728a4773931a9d2393..784f62dc4ccb7b4ad0f935d0b3d6a35d3e27b3bc
@@@ -1,17 -1,19 +1,32 @@@
 -2011-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+ 2011-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * minibuf.texi (Basic Completion): Be a bit more precise about the
+       valid kinds of completion tables.
+       (Programmed Completion): Remove obsolete text about lambda expressions
+       not being valid completion tables.
+ 2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
+       * positions.texi (Excursions): Explain the "save-excursion
+       defeated by set-buffer" warning.
+       * buffers.texi (Current Buffer): Copyedits.  Don't recommend using
+       save-excursion.  Suggested by Uday S Reddy.
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * variables.texi (Defining Variables): Mention the new meaning of `defvar'.
 +      (Lexical Binding): New sub-section.
 +
 +      * eval.texi (Eval): Discourage the use of `eval'.
 +      Document its new `lexical' argument.
 +
 +2011-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * commands.texi (Command Overview): `post-command-hook' is not reset to
 +      nil any more.
 +
 +2011-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * strings.texi (String Conversion): Don't mention
        string-make-(uni|multi)byte (bug#8262).
        * keymaps.texi (Key Binding Commands): Update code point, avoid
        "unibyte character" and remove mention of unibyte bindings.
  
 +2011-03-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * modes.texi (Operator Precedence Grammars): Don't use characters
 +      outside ISO-8859-1.
 +
 +2011-03-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * intro.texi (Acknowledgements): Convert to ISO-8859-1 encoding.
 +
 +      * makefile.w32-in (MAKEINFO_OPTS): Add --enable-encoding.
 +
 +2011-03-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (MAKEINFO_OPTS): Add --enable-encoding.
 +      * intro.texi (Acknowledgements): Names to UTF-8.
 +      * elisp.texi: Set documentencoding.
 +
  2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
  
        * Version 23.3 released.
  
 -2011-02-25  Glenn Morris  <rgm@gnu.org>
 +2011-03-06  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * package.texi: Update index keywords.
 +      (Package Archives): New node contents.  Document package-x.el.
 +
 +2011-03-06  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in (srcs): Add package.texi.
 +
 +2011-03-06  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * package.texi (Packaging, Packaging Basics, Simple Packages)
 +      (Multi-file Packages): Expand and clarify.
 +      (Package Archives): Temporary placeholder node.
 +
 +      * elisp.texi (Top): Update node listing.
 +
 +      * Makefile.in (srcs): Add package.texi.
 +
 +2011-03-05  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * processes.texi (Synchronous Processes): Minor clarification
 +      (Bug#8149).
 +
 +2011-03-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.texi (Truenames): Minor clarification.  (Bug#2341)
 +
 +2011-03-01  Glenn Morris  <rgm@gnu.org>
 +
 +      * variables.texi (Directory Local Variables):
 +      Mention `(subdirs . nil)' alist element.
 +
 +2011-02-28  Glenn Morris  <rgm@gnu.org>
  
        * variables.texi (Directory Local Variables): Mention the optional
        mtime argument of dir-locals-set-directory-class.  (Bug#3577)
  
 -2011-02-18  Eli Zaretskii  <eliz@gnu.org>
 +2011-02-27  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * minibuf.texi (Minibuffer History): Clarify discussion of
 +      minibuffer history lists (Bug#8085).
 +
 +2011-02-19  Eli Zaretskii  <eliz@gnu.org>
  
        * elisp.texi: Sync @dircategory with ../../info/dir.
  
        * variables.texi (Creating Buffer-Local): Explain the meaning of
        permanent local variables.
  
 -2011-02-18  Glenn Morris  <rgm@gnu.org>
 +      * files.texi (Visiting Functions): Document find-file-literally,
 +      both the command and the variable.
 +
 +      * variables.texi (Creating Buffer-Local): Explain the meaning of
 +      permanent local variables.
 +
 +2011-02-19  Glenn Morris  <rgm@gnu.org>
  
        * keymaps.texi (Remapping Commands): Mention how to undo it.
  
 +2011-02-09  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * loading.texi (Hooks for Loading): Remove unnecessary advice
 +      about eval-after-load (Bug#7986).
 +
  2011-02-05  Chong Yidong  <cyd@stupidchicken.com>
  
        * commands.texi (Accessing Mouse): Note that a header line is not
        included in the row of posn-col-row.
  
 +2011-02-02  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * modes.texi (Major Mode Conventions): Add face guidelines.
 +      (Faces for Font Lock): List faces in order of prominence.
 +
 +2011-02-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      format-time-string now supports subsecond time stamp resolution
 +      * os.texi (Time Parsing): Document %N.
 +
  2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
  
        * vol1.texi (Top):
        * keymaps.texi (Defining Menus): Add "menu item" and "extended
        menu item" concept index entries (Bug#7805).
  
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (texinfodir): New variable.
 +      (usermanualdir): Remove as redundant with $(emacsdir).
 +      (MAKEINFO): Remove options, leave only program name.
 +      (MAKEINFO_OPTS): New variable.
 +      (texinputdir, $(infodir)/elisp): Use $(MAKEINFO_OPTS).
 +
 +2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
              Richard Kim  <emacs18@gmail.com>
  
        * loading.texi (Library Search): Document list-load-path-shadows
        (Bug#7757).
  
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
  
        * searching.texi (Regexp Special): Remove outdated discussion of
        character sets (Bug#7780).
  
 -2011-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
        * frames.texi (Pop-Up Menus): Document where menu title comes
        from (Bug#7684).
  
 -2011-01-22  Glenn Morris  <rgm@gnu.org>
 +2011-01-25  Glenn Morris  <rgm@gnu.org>
  
        * display.texi (Making Buttons): Mention limitation of text buttons.
  
 -2011-01-08  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-23  Werner Lemberg  <wl@gnu.org>
 +
 +      * Makefile.in (MAKEINFO): Now controlled by `configure'.
 +      (MAKEINFO_OPTS): New variable.  Use it where appropriate.
 +      (ENVADD): New variable to control texi2dvi and texi2pdf.
 +
 +2011-01-15  Chong Yidong  <cyd@stupidchicken.com>
  
        * files.texi (Directory Names): Move directory-abbrev-alist doc to
        Emacs manual.
  
 -2011-01-07  Eli Zaretskii  <eliz@gnu.org>
 +2011-01-15  Eli Zaretskii  <eliz@gnu.org>
  
        * files.texi (Directory Names): Explain why FROM in
        directory-abbrev-alist should begin with \`.  (Bug#7777)
  
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 +2011-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * loading.texi (Hooks for Loading): Adjust doc of eval-after-load.
 +
 +2011-01-02  Eli Zaretskii  <eliz@gnu.org>
  
        * modes.texi (Emulating Mode Line): Fix last change.
  
 -2010-12-18  Eli Zaretskii  <eliz@gnu.org>
 +2011-01-02  Eli Zaretskii  <eliz@gnu.org>
  
        * modes.texi (Emulating Mode Line): Update documentation of
        format-mode-line according to changes that fixed bug #7587.
  
 -2010-12-11  Eli Zaretskii  <eliz@gnu.org>
 +2010-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * modes.texi (Derived Modes): Mention prog-mode.
 +
 +      * keymaps.texi (Simple Menu Items, Extended Menu Items): Remove mention
 +      of the key-binding-data cache since we don't use it any more.
 +
 +2010-12-13  Eli Zaretskii  <eliz@gnu.org>
  
        * processes.texi (Shell Arguments):
        * strings.texi (Creating Strings): Don't mention "shell commands";
        * processes.texi (Shell Arguments): Fix documentation of
        `split-string-and-unquote'.  Add indexing.  (Bug#7563)
  
 -2010-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2010-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * modes.texi (Auto-Indentation): New section to document SMIE.
        (Major Mode Conventions):
        * text.texi (Mode-Specific Indent): Refer to it.
  
 -2010-12-04  Eli Zaretskii  <eliz@gnu.org>
 +2010-12-13  Eli Zaretskii  <eliz@gnu.org>
  
        * display.texi (Other Display Specs): Document left-fringe and
        right-fringe display specs.
  
 -2010-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2010-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * backups.texi (Making Backups):
        * modes.texi (Example Major Modes): Use recommended coding style.
        (Major Mode Basics, Derived Modes): Encourge more strongly use of
        define-derived-mode.  Mention completion-at-point-functions.
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +2010-12-13  Chong Yidong  <cyd@stupidchicken.com>
  
        * nonascii.texi (Converting Representations):
        Document byte-to-string.
  
 +2010-12-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * buffers.texi (Modification Time):
 +      verify-visited-file-modtime now defaults to the current buffer.
 +
 +2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * nonascii.texi (Converting Representations): Document byte-to-string.
 +
        * strings.texi (Creating Strings): Don't mention semi-obsolete
        function char-to-string.
        (String Conversion): Shorten discussion of semi-obsolete function
        * functions.texi (Mapping Functions): Use string instead of
        char-to-string in examples.
  
 -2010-11-20  Chong Yidong  <cyd@stupidchicken.com>
 +2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
  
        * text.texi (Kill Functions, Kill Functions)
        (Low-Level Kill Ring, Low-Level Kill Ring): Remove obsolete
        * variables.texi (Defining Variables): Change "pi" example to
        "float-pi".
  
 -2010-11-12  Eli Zaretskii  <eliz@gnu.org>
 +2010-11-26  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * commands.texi (Click Events): Document the values of X, Y and
 +      COL, ROW in the event's position, when the click is on the header
 +      or mode line, on the fringes, or in the margins.
 +
 +2010-11-17  Eli Zaretskii  <eliz@gnu.org>
  
        * customize.texi (Composite Types): Lower-case index entry.
  
        * loading.texi (How Programs Do Loading):
        Document load-file-name.  (Bug#7346)
  
 -2010-11-10  Glenn Morris  <rgm@gnu.org>
 +2010-11-17  Glenn Morris  <rgm@gnu.org>
  
        * text.texi (Kill Functions, Low-Level Kill Ring): Small fixes.
  
 -2010-10-27  Glenn Morris  <rgm@gnu.org>
 +2010-11-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * display.texi (Usual Display): Characters with no fonts are not
 +      necessarily displayed as empty boxes.
 +
 +2010-10-31  Glenn Morris  <rgm@gnu.org>
  
        * maps.texi (Standard Keymaps): Update File menu description.
  
 -2010-10-22  Eli Zaretskii  <eliz@gnu.org>
 +2010-10-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (elisp.dvi, elisp.pdf): Also include $emacsdir.
 +
 +2010-10-24  Eli Zaretskii  <eliz@gnu.org>
  
        * display.texi (Window Systems): Deprecate use of window-system as
        a predicate.
  
 -2010-09-05  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
 +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-19  Chong Yidong  <cyd@stupidchicken.com>
 +2010-08-22  Chong Yidong  <cyd@stupidchicken.com>
  
        * objects.texi (Bool-Vector Type): Minor definition tweak (Bug#6878).
  
 -2010-08-02  Christoph  <cschol2112@googlemail.com>
 +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-07-29  Juanma Barranquero  <lekktu@gmail.com>
 +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-07-28  Juanma Barranquero  <lekktu@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-29  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * frames.texi (Layout Parameters): Add doc for tool-bar-position.
 +
 +2010-07-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * processes.texi (Process Information): Explain process property
 +      `remote-tty'.
 +
  2010-07-27  Juanma Barranquero  <lekktu@gmail.com>
  
        * modes.texi (Defining Minor Modes): Use C-delete in examples,
        instead of "\C-\^?" (bug#6334).
  
 -2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 -
        * text.texi (Special Properties): Fix typo.
  
 +2010-07-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * internals.texi (Writing Emacs Primitives): Adapt to ANSI C
 +      calling sequences, which are now the standard.
 +
  2010-06-24  Chong Yidong  <cyd@stupidchicken.com>
  
        * text.texi (Undo): Clarify command loop behavior (Bug#2433).
  
  2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * errors.texi (Standard Errors): Remove unnecessary markup
 -      (Bug#6461).
 +      * errors.texi (Standard Errors): Remove unnecessary markup (Bug#6461).
  
  2010-06-02  Chong Yidong  <cyd@stupidchicken.com>
  
        * minibuf.texi (Basic Completion): Document completion-boundaries.
        (Programmed Completion): Document the new fourth method for boundaries.
  
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 +2010-05-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * Version 23.2 released.
 +      * display.texi (Image Cache): Update documentation about image caching.
  
 -2010-05-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 +2010-05-08  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
  
        * windows.texi (Textual Scrolling):
        * tips.texi (Coding Conventions):
        * loading.texi (Where Defined):
        * edebug.texi (Instrumenting): Fix typos.
  
 -2010-04-25  Chong Yidong  <cyd@stupidchicken.com>
 +2010-05-08  Chong Yidong  <cyd@stupidchicken.com>
  
        * keymaps.texi (Menu Bar): Document :advertised-binding property.
  
  
        * elisp.texi (Top): Update node description.
  
 +2010-05-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * nonascii.texi (Character Properties):
 +      Document unicode-category-table.  Add an index entry for Unicode
 +      general category.
 +
 +2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * Version 23.2 released.
 +
 +2010-04-20  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * locals.texi (Standard Buffer-Local Variables):
 +      Remove @ignore'd reference to `direction-reversed'.
 +
  2010-04-14  Juri Linkov  <juri@jurta.org>
  
        Fix @deffn without category.
  
        * frames.texi (Cursor Parameters): Fix typo.  (Bug#5760)
  
 -2010-03-21  Chong Yidong  <cyd@stupidchicken.com>
 +2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
  
        * processes.texi (Network Processes): Document seqpacket type.
  
 +2010-03-20  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * os.texi (System Environment): Do not mention lynxos.
 +
 +2010-03-10  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * Branch for 23.2.
 +
  2010-03-06  Chong Yidong  <cyd@stupidchicken.com>
  
        * objects.texi (Integer Type): Take note of the read syntax
  2005-02-05  Eli Zaretskii  <eliz@gnu.org>
  
        * frames.texi (Color Names): Add pointer to the X docs about RGB
 -      color specifications.  Improve indexing
 +      color specifications.  Improve indexing.
        (Text Terminal Colors): Replace the description of RGB values by
        an xref to "Color Names".
  
        * minibuf.texi (Reading File Names): read-file-name has new
        arg PREDICATE.  New function read-directory-name.
  
 -      * macros.texi (Defining Macros): Give definition of `declare'
 +      * macros.texi (Defining Macros): Give definition of `declare'.
        (Indenting Macros): New node.
  
        * frames.texi (Parameter Access): Add modify-all-frames-parameters.
        * numbers.texi (Integer Basics): Add most-positive-fixnum,
        most-negative-fixnum.
  
 -      * compile.texi (Byte Compilation): Explain no-byte-compile
 +      * compile.texi (Byte Compilation): Explain no-byte-compile.
        (Compiler Errors): New node.
  
        * os.texi (User Identification): user-uid, user-real-uid
  
  ;; Local Variables:
  ;; coding: utf-8
 -;; add-log-time-zone-rule: t
  ;; End:
  
 -    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 -      2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 +  Copyright (C) 1998-2011  Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
diff --combined doc/lispref/buffers.texi
index 07889cdbaa3f1ea55b9ad86cf7a7d02de505c29b,98fb748cd36c3e0923403447498acc24ad0e5cb5..0f9de74c948000a0fe9e487cc86049c24051e005
@@@ -1,7 -1,7 +1,7 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
 -@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
 +@c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
  @setfilename ../../info/buffers
  @node Buffers, Windows, Backups and Auto-Saving, Top
@@@ -85,43 -85,63 +85,63 @@@ This function returns @code{t} if @var{
  @cindex changing to another buffer
  @cindex current buffer
  
-   There are, in general, many buffers in an Emacs session.  At any time,
- one of them is designated as the @dfn{current buffer}.  This is the
- buffer in which most editing takes place, because most of the primitives
- for examining or changing text in a buffer operate implicitly on the
- current buffer (@pxref{Text}).  Normally the buffer that is displayed on
- the screen in the selected window is the current buffer, but this is not
- always so: a Lisp program can temporarily designate any buffer as
- current in order to operate on its contents, without changing what is
- displayed on the screen.
-   The way to designate a current buffer in a Lisp program is by calling
- @code{set-buffer}.  The specified buffer remains current until a new one
- is designated.
-   When an editing command returns to the editor command loop, the
- command loop designates the buffer displayed in the selected window as
- current, to prevent confusion: the buffer that the cursor is in when
- Emacs reads a command is the buffer that the command will apply to.
- (@xref{Command Loop}.)  Therefore, @code{set-buffer} is not the way to
- switch visibly to a different buffer so that the user can edit it.  For
- that, you must use the functions described in @ref{Displaying Buffers}.
-   @strong{Warning:} Lisp functions that change to a different current buffer
- should not depend on the command loop to set it back afterwards.
- Editing commands written in Emacs Lisp can be called from other programs
- as well as from the command loop; it is convenient for the caller if
- the subroutine does not change which buffer is current (unless, of
- course, that is the subroutine's purpose).  Therefore, you should
- normally use @code{set-buffer} within a @code{save-current-buffer} or
- @code{save-excursion} (@pxref{Excursions}) form that will restore the
- current buffer when your function is done.  Here, as an example, is a
+   There are, in general, many buffers in an Emacs session.  At any
+ time, one of them is designated the @dfn{current buffer}---the buffer
+ in which most editing takes place.  Most of the primitives for
+ examining or changing text operate implicitly on the current buffer
+ (@pxref{Text}).
+   Normally, the buffer displayed in the selected window is the current
+ buffer, but this is not always so: a Lisp program can temporarily
+ designate any buffer as current in order to operate on its contents,
+ without changing what is displayed on the screen.  The most basic
+ function for designating a current buffer is @code{set-buffer}.
+ @defun current-buffer
+ This function returns the current buffer.
+ @example
+ @group
+ (current-buffer)
+      @result{} #<buffer buffers.texi>
+ @end group
+ @end example
+ @end defun
+ @defun set-buffer buffer-or-name
+ This function makes @var{buffer-or-name} the current buffer.
+ @var{buffer-or-name} must be an existing buffer or the name of an
+ existing buffer.  The return value is the buffer made current.
+ This function does not display the buffer in any window, so the user
+ cannot necessarily see the buffer.  But Lisp programs will now operate
+ on it.
+ @end defun
+   When an editing command returns to the editor command loop, Emacs
+ automatically calls @code{set-buffer} on the buffer shown in the
+ selected window.  This is to prevent confusion: it ensures that the
+ buffer that the cursor is in, when Emacs reads a command, is the
+ buffer to which that command applies (@pxref{Command Loop}).  Thus,
+ you should not use @code{set-buffer} to switch visibly to a different
+ buffer; for that, use the functions described in @ref{Displaying
+ Buffers}.
+   When writing a Lisp function, do @emph{not} rely on this behavior of
+ the command loop to restore the current buffer after an operation.
+ Editing commands can also be called as Lisp functions by other
+ programs, not just from the command loop; it is convenient for the
+ caller if the subroutine does not change which buffer is current
+ (unless, of course, that is the subroutine's purpose).
+   To operate temporarily on another buffer, put the @code{set-buffer}
+ within a @code{save-current-buffer} form.  Here, as an example, is a
  simplified version of the command @code{append-to-buffer}:
  
  @example
  @group
  (defun append-to-buffer (buffer start end)
-   "Append to specified buffer the text of the region."
+   "Append the text of the region to BUFFER."
    (interactive "BAppend to buffer: \nr")
    (let ((oldbuf (current-buffer)))
      (save-current-buffer
  @end example
  
  @noindent
- This function binds a local variable to record the current buffer, and
then @code{save-current-buffer} arranges to make it current again.
- Next, @code{set-buffer} makes the specified buffer current.  Finally,
+ Here, we bind a local variable to record the current buffer, and then
@code{save-current-buffer} arranges to make it current again later.
+ Next, @code{set-buffer} makes the specified buffer current, and
  @code{insert-buffer-substring} copies the string from the original
- current buffer to the specified (and now current) buffer.
-   If the buffer appended to happens to be displayed in some window,
- the next redisplay will show how its text has changed.  Otherwise, you
- will not see the change immediately on the screen.  The buffer becomes
- current temporarily during the execution of the command, but this does
- not cause it to be displayed.
-   If you make local bindings (with @code{let} or function arguments) for
- a variable that may also have buffer-local bindings, make sure that the
- same buffer is current at the beginning and at the end of the local
- binding's scope.  Otherwise you might bind it in one buffer and unbind
- it in another!  There are two ways to do this.  In simple cases, you may
- see that nothing ever changes the current buffer within the scope of the
- binding.  Otherwise, use @code{save-current-buffer} or
- @code{save-excursion} to make sure that the buffer current at the
- beginning is current again whenever the variable is unbound.
+ buffer to the specified (and now current) buffer.
+   Alternatively, we can use the @code{with-current-buffer} macro:
+ @example
+ @group
+ (defun append-to-buffer (buffer start end)
+   "Append the text of the region to BUFFER."
+   (interactive "BAppend to buffer: \nr")
+   (let ((oldbuf (current-buffer)))
+     (with-current-buffer (get-buffer-create buffer)
+       (insert-buffer-substring oldbuf start end))))
+ @end group
+ @end example
+   In either case, if the buffer appended to happens to be displayed in
+ some window, the next redisplay will show how its text has changed.
+ If it is not displayed in any window, you will not see the change
+ immediately on the screen.  The command causes the buffer to become
+ current temporarily, but does not cause it to be displayed.
+   If you make local bindings (with @code{let} or function arguments)
+ for a variable that may also have buffer-local bindings, make sure
+ that the same buffer is current at the beginning and at the end of the
+ local binding's scope.  Otherwise you might bind it in one buffer and
+ unbind it in another!
  
    Do not rely on using @code{set-buffer} to change the current buffer
  back, because that won't do the job if a quit happens while the wrong
@@@ -168,29 -197,9 +197,9 @@@ have been wrong to do this
  @end example
  
  @noindent
- Using @code{save-current-buffer}, as we did, handles quitting, errors,
- and @code{throw}, as well as ordinary evaluation.
- @defun current-buffer
- This function returns the current buffer.
- @example
- @group
- (current-buffer)
-      @result{} #<buffer buffers.texi>
- @end group
- @end example
- @end defun
- @defun set-buffer buffer-or-name
- This function makes @var{buffer-or-name} the current buffer.
- @var{buffer-or-name} must be an existing buffer or the name of an
- existing buffer.  The return value is the buffer made current.
- This function does not display the buffer in any window, so the user
- cannot necessarily see the buffer.  But Lisp programs will now operate
- on it.
- @end defun
+ Using @code{save-current-buffer} or @code{with-current-buffer}, as we
+ did, correctly handles quitting, errors, and @code{throw}, as well as
+ ordinary evaluation.
  
  @defspec save-current-buffer body@dots{}
  The @code{save-current-buffer} special form saves the identity of the
@@@ -594,12 -603,12 +603,12 @@@ therefore checks the file's modificatio
  described below before saving the file.  (@xref{File Attributes},
  for how to examine a file's modification time.)
  
 -@defun verify-visited-file-modtime buffer
 -This function compares what @var{buffer} has recorded for the
 -modification time of its visited file against the actual modification
 -time of the file as recorded by the operating system.  The two should be
 -the same unless some other process has written the file since Emacs
 -visited or saved it.
 +@defun verify-visited-file-modtime &optional buffer
 +This function compares what @var{buffer} (by default, the
 +current-buffer) has recorded for the modification time of its visited
 +file against the actual modification time of the file as recorded by the
 +operating system.  The two should be the same unless some other process
 +has written the file since Emacs visited or saved it.
  
  The function returns @code{t} if the last actual modification time and
  Emacs's recorded modification time are the same, @code{nil} otherwise.
@@@ -1223,3 -1232,6 +1232,3 @@@ This function returns the current gap p
  This function returns the current gap size of the current buffer.
  @end defun
  
 -@ignore
 -   arch-tag: 2e53cfab-5691-41f6-b5a8-9c6a3462399c
 -@end ignore
diff --combined doc/lispref/minibuf.texi
index 07975e64b3552e676dabae2b101d18c50c78ff20,9b09a304bd06f86f329b4106a56e49f48f32c4ec..acc68b0aafa4f96dd5b9a2633e7fa795b3f918c8
@@@ -1,6 -1,7 +1,6 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
 -@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 +@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
  @c   Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
  @setfilename ../../info/minibuf
@@@ -433,17 -434,18 +433,17 @@@ expression, thus moving point forward o
  @cindex minibuffer history
  @cindex history list
  
 -  A @dfn{minibuffer history list} records previous minibuffer inputs so
 -the user can reuse them conveniently.  A history list is actually a
 -symbol, not a list; it is a variable whose value is a list of strings
 -(previous inputs), most recent first.
 +  A @dfn{minibuffer history list} records previous minibuffer inputs
 +so the user can reuse them conveniently.  It is a variable whose value
 +is a list of strings (previous inputs), most recent first.
  
 -  There are many separate history lists, used for different kinds of
 -inputs.  It's the Lisp programmer's job to specify the right history
 -list for each use of the minibuffer.
 +  There are many separate minibuffer history lists, used for different
 +kinds of inputs.  It's the Lisp programmer's job to specify the right
 +history list for each use of the minibuffer.
  
 -  You specify the history list with the optional @var{hist} argument
 -to either @code{read-from-minibuffer} or @code{completing-read}.  Here
 -are the possible values for it:
 +  You specify a minibuffer history list with the optional @var{hist}
 +argument to @code{read-from-minibuffer} or @code{completing-read}.
 +Here are the possible values for it:
  
  @table @asis
  @item @var{variable}
@@@ -645,9 -647,9 +645,9 @@@ higher-level completion features that d
  @defun try-completion string collection &optional predicate
  This function returns the longest common substring of all possible
  completions of @var{string} in @var{collection}.  The value of
- @var{collection} must be a list of strings or symbols, an alist, an
- obarray, a hash table, or a completion function (@pxref{Programmed
- Completion}).
+ @var{collection} must be a list of strings, an alist whose keys are
+ strings or symbols, an obarray, a hash table, or a completion function
(@pxref{Programmed Completion}).
  
  Completion compares @var{string} against each of the permissible
  completions specified by @var{collection}.  If no permissible
@@@ -658,11 -660,11 +658,11 @@@ to all possible matching completions
  
  If @var{collection} is an alist (@pxref{Association Lists}), the
  permissible completions are the elements of the alist that are either
- strings, symbols, or conses whose @sc{car} is a string or symbol.
+ strings, or conses whose @sc{car} is a string or symbol.
  Symbols are converted to strings using @code{symbol-name}.  Other
  elements of the alist are ignored. (Remember that in Emacs Lisp, the
  elements of alists do not @emph{have} to be conses.)  In particular, a
- list of strings or symbols is allowed, even though we usually do not
+ list of strings is allowed, even though we usually do not
  think of such lists as alists.
  
  @cindex obarray in completion
@@@ -678,7 -680,7 +678,7 @@@ Also, you cannot intern a given symbol 
  If @var{collection} is a hash table, then the keys that are strings
  are the possible completions.  Other keys are ignored.
  
- You can also use a symbol that is a function as @var{collection}.
+ You can also use a function as @var{collection}.
  Then the function is solely responsible for performing completion;
  @code{try-completion} returns whatever this function returns.  The
  function is called with three arguments: @var{string}, @var{predicate}
@@@ -1632,12 -1634,12 +1632,12 @@@ which performs completion according to 
  @subsection Programmed Completion
  @cindex programmed completion
  
-   Sometimes it is not possible to create an alist or an obarray
- containing all the intended possible completions.  In such a case, you
- can supply your own function to compute the completion of a given
- string.  This is called @dfn{programmed completion}.  Emacs uses
programmed completion when completing file names (@pxref{File Name
- Completion}), among many other cases.
+   Sometimes it is not possible or convenient to create an alist or
+ an obarray containing all the intended possible completions ahead
+ of time.  In such a case, you can supply your own function to compute
+ the completion of a given string.  This is called @dfn{programmed
completion}.  Emacs uses programmed completion when completing file
names (@pxref{File Name Completion}), among many other cases.
  
    To use this feature, pass a function as the @var{collection}
  argument to @code{completing-read}.  The function
@@@ -1665,7 -1667,7 +1665,7 @@@ specifies which method to run
  @end itemize
  
    There are currently four methods, i.e. four flag values, one for
  each of the four different basic operations:
+ each of the four different basic operations:
  
  @itemize @bullet
  @item
@@@ -1696,14 -1698,6 +1696,6 @@@ in the string to complete, and END is t
  in SUFFIX.
  @end itemize
  
-   It would be consistent and clean for completion functions to allow
- lambda expressions (lists that are functions) as well as function
- symbols as @var{collection}, but this is impossible.  Lists as
- completion tables already have other meanings, and it would be
- unreliable to treat one differently just because it is also a possible
- function.  So you must arrange for any function you wish to use for
- completion to be encapsulated in a symbol.
  @defun completion-table-dynamic function
  This function is a convenient way to write a function that can act as
  programmed completion function.  The argument @var{function} should be
@@@ -2200,3 -2194,7 +2192,3 @@@ arrives, whichever comes first.  If @va
  actual message is obtained by passing @var{string} and @var{args}
  through @code{format}.  @xref{Formatting Strings}.
  @end defun
 -
 -@ignore
 -   arch-tag: bba7f945-9078-477f-a2ce-18818a6e1218
 -@end ignore
index a44cd1fbcc7d7932dfc1d8624730f1b4f0624ff1,92846bf6d56c97d068a0e917b435dfd4aec23db7..1124d58ebcc9d086c727715e08048da2e88247fa
@@@ -1,6 -1,7 +1,6 @@@
  @c -*-texinfo-*-
  @c This is part of the GNU Emacs Lisp Reference Manual.
 -@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
 -@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +@c Copyright (C) 1990-1995, 1998-2011  Free Software Foundation, Inc.
  @c See the file elisp.texi for copying conditions.
  @setfilename ../../info/positions
  @node Positions, Markers, Frames, Top
@@@ -797,69 -798,72 +797,72 @@@ is zero or less
  @cindex excursion
  
    It is often useful to move point ``temporarily'' within a localized
- portion of the program, or to switch buffers temporarily.  This is
- called an @dfn{excursion}, and it is done with the @code{save-excursion}
- special form.  This construct initially remembers the identity of the
- current buffer, and its values of point and the mark, and restores them
- after the completion of the excursion.
-   The forms for saving and restoring the configuration of windows are
- described elsewhere (see @ref{Window Configurations}, and @pxref{Frame
- Configurations}).  When only the identity of the current buffer needs
- to be saved and restored, it is preferable to use
- @code{save-current-buffer} instead.
+ portion of the program.  This is called an @dfn{excursion}, and it is
+ done with the @code{save-excursion} special form.  This construct
+ remembers the initial identity of the current buffer, and its values
+ of point and the mark, and restores them after the excursion
+ completes.  It is the standard way to move point within one part of a
+ program and avoid affecting the rest of the program, and is used
+ thousands of times in the Lisp sources of Emacs.
+   If you only need to save and restore the identity of the current
+ buffer, use @code{save-current-buffer} or @code{with-current-buffer}
+ instead (@pxref{Current Buffer}).  If you need to save or restore
+ window configurations, see the forms described in @ref{Window
+ Configurations} and in @ref{Frame Configurations}.
  
  @defspec save-excursion body@dots{}
  @cindex mark excursion
  @cindex point excursion
- The @code{save-excursion} special form saves the identity of the current
- buffer and the values of point and the mark in it, evaluates
- @var{body}, and finally restores the buffer and its saved values of
- point and the mark.  All three saved values are restored even in case of
an abnormal exit via @code{throw} or error (@pxref{Nonlocal Exits}).
+ This special form saves the identity of the current buffer and the
+ values of point and the mark in it, evaluates @var{body}, and finally
+ restores the buffer and its saved values of point and the mark.  All
+ three saved values are restored even in case of an abnormal exit via
+ @code{throw} or error (@pxref{Nonlocal Exits}).
  
- The @code{save-excursion} special form is the standard way to move
- point within one part of a program and avoid affecting the rest of the
- program.  It is used more than 4000 times in the Lisp sources
- of Emacs.
+ The value returned by @code{save-excursion} is the result of the last
+ form in @var{body}, or @code{nil} if no body forms were given.
+ @end defspec
  
- @code{save-excursion} does not save the values of point and the mark for
- other buffers, so changes in other buffers remain in effect after
- @code{save-excursion} exits.
+   Because @code{save-excursion} only saves point and mark for the
+ buffer that was current at the start of the excursion, any changes
+ made to point and/or mark in other buffers, during the excursion, will
+ remain in effect afterward.  This frequently leads to unintended
+ consequences, so the byte compiler warns if you call @code{set-buffer}
+ during an excursion:
  
- @cindex window excursions
- Likewise, @code{save-excursion} does not restore window-buffer
- correspondences altered by functions such as @code{switch-to-buffer}.
- One way to restore these correspondences, and the selected window, is to
- use @code{save-window-excursion} inside @code{save-excursion}
- (@pxref{Window Configurations}).
+ @example
+ Warning: @code{save-excursion} defeated by @code{set-buffer}
+ @end example
  
- The value returned by @code{save-excursion} is the result of the last
- form in @var{body}, or @code{nil} if no body forms were given.
+ @noindent
+ To avoid such problems, you should call @code{save-excursion} only
+ after setting the desired current buffer, as in the following example:
  
  @example
  @group
- (save-excursion @var{forms})
- @equiv{}
- (let ((old-buf (current-buffer))
-       (old-pnt (point-marker))
- @end group
-       (old-mark (copy-marker (mark-marker))))
-   (unwind-protect
-       (progn @var{forms})
-     (set-buffer old-buf)
- @group
-     (goto-char old-pnt)
-     (set-marker (mark-marker) old-mark)))
+ (defun append-string-to-buffer (string buffer)
+   "Append STRING to the end of BUFFER."
+   (with-current-buffer buffer
+     (save-excursion
+       (goto-char (point-max))
+       (insert string))))
  @end group
  @end example
- @end defspec
+ @cindex window excursions
+   Likewise, @code{save-excursion} does not restore window-buffer
+ correspondences altered by functions such as @code{switch-to-buffer}.
+ One way to restore these correspondences, and the selected window, is to
+ use @code{save-window-excursion} inside @code{save-excursion}
+ (@pxref{Window Configurations}).
  
    @strong{Warning:} Ordinary insertion of text adjacent to the saved
- point value relocates the saved value, just as it relocates all markers.
- More precisely, the saved value is a marker with insertion type
- @code{nil}.  @xref{Marker Insertion Types}.  Therefore, when the saved
- point value is restored, it normally comes before the inserted text.
+ point value relocates the saved value, just as it relocates all
+ markers.  More precisely, the saved value is a marker with insertion
+ type @code{nil}.  @xref{Marker Insertion Types}.  Therefore, when the
+ saved point value is restored, it normally comes before the inserted
+ text.
  
    Although @code{save-excursion} saves the location of the mark, it does
  not prevent functions which modify the buffer from setting
@@@ -984,3 -988,7 +987,3 @@@ This is the contents of foo@point{
  @end group
  @end example
  @end defspec
 -
 -@ignore
 -   arch-tag: 56e8ff26-4ffe-4832-a141-7e991a2d0f87
 -@end ignore
diff --combined etc/NEWS.23
index 3e7a364ffd0b773f237f038e1b054452ba8b8a72,0000000000000000000000000000000000000000..458e2bb3d32d4e359794f30da8cfb8e97ed94a04
mode 100644,000000..100644
--- /dev/null
@@@ -1,2514 -1,0 +1,2521 @@@
 +GNU Emacs NEWS -- history of user-visible changes.
 +
 +Copyright (C) 2007-2011 Free Software Foundation, Inc.
 +See the end of the file for license conditions.
 +
 +Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
 +If possible, use M-x report-emacs-bug.
 +
 +This file is about changes in Emacs version 23.
 +
 +See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17
 +for changes in older Emacs versions.
 +
 +You can narrow news to a specific version by calling `view-emacs-news'
 +with a prefix argument or by typing C-u C-h C-n.
 +
 +\f
 +* Installation Changes in Emacs 23.3
 +
 +** New configure option --with-crt-dir specifies the location of your
 +crt*.o files, if they are in a non-standard location.  This is only
 +used on x86-64 and s390x GNU/Linux architectures.
 +
++** The MS-Windows build prefers libpng version 1.14 or later.
++Versions of libpng before 1.14 had security issues, so we now
++recommend to use version 1.14 or later.  Precompiled Windows binaries
++require version 1.14 or later.  See README.W32 and nt/INSTALL for
++details and pointers to URLs where the latest libpng can be
++downloaded.
++
 +* Changes in Emacs 23.3
 +
 +** The last-resort backup file `%backup%~' is now written to
 +`user-emacs-directory', instead of the user's home directory.
 +
 +** If Emacs creates `user-emacs-directory', that directory's
 +permissions are now set to rwx------, ignoring the umask.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 23.3
 +
 +** Calendar and diary
 +
 +*** The appt-add command takes an optional argument, the warning time.
 +This can be used in place of the default appt-message-warning-time.
 +
 +** Python mode
 +
 +*** You can allow inferior Python processes to load modules from the
 +current directory by setting `python-remove-cwd-from-path' to nil.
 +
 +** Rmail
 +
 +*** The default value of `rmail-enable-mime' is now t.  Rmail decodes
 +MIME contents automatically.  You can customize the variable
 +`rmail-enable-mime' back to `nil' to disable this automatic MIME
 +decoding.
 +
 +*** The command `rmail-mime' change the displaying of a MIME message
 +between decoded presentation form and raw data if `rmail-enable-mime'
 +is non-nil.  And, with prefix argument, it change only the displaying
 +of the MIME entity at point.
 +
 +*** The new command `rmail-mime-next-item' (bound to TAB) moves point
 +to the next item of MIME message.
 +
 +*** The new command `rmail-mime-previous-item' (bound to backtab) moves
 +point to the previous item of MIME message.
 +
 +*** The new command `rmail-mime-toggle-hidden' (RET) hide or show the
 +body of the MIME entity at point.
 +
 +** VC and related modes
 +
 +*** New VC command `vc-log-incoming', bound to `C-x v I'.
 +This shows a log of changes to be received with a pull operation.
 +For Git, this runs "git fetch" to make the necessary data available
 +locally; this requires version 1.7 or newer.
 +
 +*** New VC command `vc-log-outgoing', bound to `C-x v O'.
 +This shows a log of changes to be sent in the next commit.
 +
 +*** New VC command vc-find-conflicted-file.
 +
 +*** The 'g' key in VC diff, log, log-incoming and log-outgoing buffers
 +reruns the corresponding VC command to compute an up to date version
 +of the buffer.
 +
 +*** vc-dir for Bzr supports viewing shelve contents and shelving snapshots.
 +
 +*** Special markup can be added to log-edit buffers.
 +You can add headers specifying additional information to be supplied
 +to the version control system.  For example:
 +
 +  Author: J. R. Hacker <jrh@example.com>
 +  Fixes: 4204
 +  Actual text of log entry...
 +
 +Bazaar recognizes the headers "Author", "Date" and "Fixes".
 +Git, Mercurial, and Monotone recognize "Author" and "Date".
 +Any unknown header is left as is in the message, so it is not lost.
 +
 +** Obsolete packages
 +
 +*** lmenu.el and cl-compat.el are now obsolete.
 +
 +\f
 +* New Modes and Packages in Emacs 23.3
 +
 +** smie.el is a generic navigation and indentation engine.
 +It takes a simple BNF description of the grammar, and provides both
 +sexp-style navigation (jumping over begin..end pairs) as well as
 +indentation, which can be adjusted via ad-hoc indentation rules.
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 23.3
 +
 +** posn-col-row now excludes the header line from the row count
 +If the frame has a header line, posn-col-row will count row numbers
 +starting from the first line of text below the header line.
 +
 +\f
 +* Lisp changes in Emacs 23.3
 +
 +** `e' and `pi' are now called `float-e' and `float-pi'.
 +  The old names are obsolete.
 +
 +** The use of unintern without an obarray arg is now obsolete.
 +
 +** The function `princ-list' is now obsolete.
 +
 +** The yank-handler argument to kill-region and friends is now obsolete.
 +
 +** New function byte-to-string, like char-to-string but for bytes.
 +
 +\f
 +* Changes in Emacs 23.3 on non-free operating systems
 +
 +** The NeXTstep port can have different modifiers for the left and right
 +alt/option key by customizing the value for ns-right-alternate-modifier.
 +
 +\f
 +* Installation Changes in Emacs 23.2
 +
 +** New configure options for Emacs developers.
 +These are not new features; only the configure flags are new.
 +
 +*** --enable-profiling builds Emacs with profiling enabled.
 +This might not work on all platforms.
 +
 +*** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
 +
 +** `make install' now consistently ignores umask, creating a
 +world-readable install.
 +
 +** Emacs compiles with Gconf support, if it is detected.
 +Use the configure option --without-gconf to disable this.
 +This is used by the `font-use-system-font' feature (see below).
 +
 +* Startup Changes in Emacs 23.2
 +
 +** The command-line option -Q (--quick) also inhibits loading X resources.
 +However, if Emacs is compiled with the Lucid or Motif toolkit, X
 +resource settings for the graphical widgets are still applied.
 +On Windows, the -Q option causes Emacs to ignore Registry settings,
 +but environment variables set on the Registry are still honored.
 +
 +*** The new variable `inhibit-x-resources' shows whether X resources
 +were loaded.
 +
 +** New command-line option -mm (--maximized) maximizes the initial frame.
 +
 +* Changes in Emacs 23.2
 +
 +** The maximum size of buffers (and the largest fixnum) is doubled.
 +On typical 32bit systems, buffers can now be up to 512MB.
 +
 +** The default value of `trash-directory' is now nil.
 +This means that `move-file-to-trash' trashes files according to
 +freedesktop.org specifications, the same method used by the Gnome,
 +KDE, and XFCE desktops.  (This change has no effect on Windows, which
 +uses `system-move-file-to-trash' for trashing.)
 +
 +** The pointer now becomes invisible when typing.
 +Customize `make-pointer-invisible' to disable this feature.
 +
 +** Font changes
 +
 +*** Emacs can use the system default monospaced font in Gnome.
 +To enable this feature, set `font-use-system-font' to non-nil (it is
 +nil by default).  If the system default changes, Emacs changes also.
 +This feature requires Gconf support, which is automatically included
 +at compile-time if configure detects the gconf libraries (you can
 +disable this with the configure option --without-gconf).
 +
 +*** On X11, Emacs reacts to Xft changes made by configuration tools,
 +via the XSETTINGS mechanism.  This includes antialias, hinting,
 +hintstyle, RGBA, DPI and lcdfilter changes.
 +
 +** Killing a buffer with a running process now asks for confirmation.
 +To remove this query, remove `process-kill-buffer-query-function' from
 +`kill-buffer-query-functions', or set the appropriate process flag
 +with `set-process-query-on-exit-flag'.
 +
 +** File-local variable changes
 +
 +*** Specifying a minor mode as a local variables enables that mode,
 +unconditionally.  The previous behavior, toggling the mode, was
 +neither reliable nor generally desirable.
 +
 +*** There are new commands for adding and removing file-local variables:
 +`add-file-local-variable', `delete-file-local-variable',
 +`add-file-local-variable-prop-line', and
 +`delete-file-local-variable-prop-line'.
 +
 +*** There are new commands for adding and removing directory-local variables,
 +and copying them to and from file-local variable lists:
 +`add-dir-local-variable', `delete-dir-local-variable',
 +`copy-dir-locals-to-file-locals',
 +`copy-dir-locals-to-file-locals-prop-line' and
 +`copy-file-locals-to-dir-locals'.
 +
 +** Internationalization changes
 +
 +*** Unibyte sessions are now considered obsolete.
 +This refers to the EMACS_UNIBYTE environment variable as well as the
 +--unibyte, --multibyte, --no-multibyte, and --no-unibyte command line
 +arguments.  Customizing enable-multibyte-characters and setting
 +default-enable-multibyte-characters are also deprecated.
 +
 +*** New coding system `utf-8-hfs'.
 +This is suitable for default-file-name-coding-system on Mac OS X; see
 +international/ucs-normalize.el.
 +
 +** Function arguments in *Help* buffers are now shown in upper-case.
 +Customize `help-downcase-arguments' to t to show them in lower-case.
 +
 +** New command `async-shell-command', bound globally to `M-&'.
 +This executes the command asynchronously, similar to calling `M-!' and
 +manually adding an ampersand to the end of the command.  With `M-&',
 +you don't need the ampersand.  The output appears in the buffer
 +`*Async Shell Command*'.
 +
 +** When running in a new enough xterm (newer than version 242), Emacs
 +asks xterm what the background color is and it sets up faces
 +accordingly for a dark background if needed (the current default is to
 +consider the background light).
 +
 +\f
 +* Editing Changes in Emacs 23.2
 +
 +** Kill-ring and selection changes
 +
 +*** If `select-active-regions' is t, any active region automatically
 +becomes the primary selection (for interaction with other window
 +applications).  If you enable this, you might want to bind
 +`mouse-yank-primary' to Mouse-2.
 +
 +*** When `save-interprogram-paste-before-kill' is non-nil, the kill
 +commands save the interprogram-paste selection into the kill ring
 +before doing anything else.  This avoids losing the selection.
 +
 +*** When `kill-do-not-save-duplicates' is non-nil, identical
 +subsequent kills are not duplicated in the `kill-ring'.
 +
 +** Completion changes
 +
 +*** The new command `completion-at-point' provides mode-sensitive completion.
 +
 +*** tab-always-indent set to `complete' lets TAB do completion as well.
 +
 +*** The new completion-style `initials' is available.
 +For instance, this can complete M-x lch to list-command-history.
 +
 +*** The new variable `completions-format' determines how completions
 +are displayed in the *Completions* buffer.  If you set it to
 +`vertical', completions are sorted vertically in columns.
 +
 +** The default value of `blink-matching-paren-distance' is increased.
 +
 +** M-n provides more default values in the minibuffer for commands
 +that read file names.  These include the file name at point (when ffap
 +is loaded without ffap-bindings), the file name on the current line
 +(in Dired buffers), and the directory names of adjacent Dired windows
 +(for Dired commands that operate on several directories, such as copy,
 +rename, or diff).
 +
 +** M-r is bound to the new `move-to-window-line-top-bottom'.
 +This moves point to the window center, top and bottom on successive
 +invocations, in the same spirit as the C-l (recenter-top-bottom)
 +command.
 +
 +** The new variable `recenter-positions' determines the default
 +cycling order of C-l (`recenter-top-bottom').
 +
 +** The abbrevs file is now a file named abbrev_defs in
 +user-emacs-directory; but the old location, ~/.abbrev_defs, is used if
 +that file exists.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 23.2
 +
 +** The bookmark menu has a narrowing search via bookmark-bmenu-search.
 +
 +** Calc
 +
 +*** The Calc settings file is now a file named calc.el in
 +user-emacs-directory; but the old location, ~/.calc.el, is used if
 +that file exists.
 +
 +*** Graphing commands (`g f' etc.) now work on MS-Windows, if you have
 +the native Windows port of Gnuplot version 3.8 or later installed.
 +
 +** Calendar and diary
 +
 +*** Fancy diary display is now the default.
 +If you prefer the simple display, customize `diary-display-function'.
 +
 +*** The diary's fancy display now enables view-mode.
 +
 +*** The command `calendar-current-date' accepts an optional argument
 +giving an offset from today.
 +
 +** Desktop
 +
 +*** The default value for `desktop-buffers-not-to-save' is nil.
 +This means Desktop will try restoring all buffers, when you restart
 +your Emacs session.  Also, `desktop-buffers-not-to-save' is only
 +effective for buffers that have no associated file.  If you want to
 +exempt buffers that do correspond to files, customize the value of
 +`desktop-files-not-to-save' instead.
 +
 +** Dired
 +
 +*** The new variable `dired-auto-revert-buffer', if non-nil, causes
 +Dired buffers to be reverted automatically on revisiting them.
 +
 +** DocView
 +
 +*** When `doc-view-continuous' is non-nil, scrolling a line
 +on the page edge advances to the next/previous page.
 +
 +** Elint
 +
 +*** Elint now uses compilation-mode.
 +
 +*** Elint can now scan individual files and whole directories,
 +and can be run in batch mode.
 +
 +*** Elint does a more thorough initialization, and recognizes more built-in
 +functions and variables.  Customize `elint-scan-preloaded' if you want
 +to sacrifice some accuracy for a faster startup.
 +
 +*** Elint attempts some basic understanding of featurep and (f)boundp tests.
 +
 +*** Customize `elint-ignored-warnings' to suppress some warnings.
 +
 +** GDB-UI
 +
 +*** Toolbar functionality for reverse debugging.  Display of STL
 +collections as watch expressions.  These features require GDB 7.0 or later.
 +
 +** Grep
 +
 +*** A new command `zrgrep' searches recursively in gzipped files.
 +
 +** Info
 +
 +*** The new command `Info-virtual-index' bound to "I" displays a menu of
 +matched topics found in the index.
 +
 +*** The new command `info-finder' replaces finder.el with a virtual Info
 +manual that generates an Info file which gives the same information
 +through a menu structure.
 +
 +** LaTeX mode now provides completion (via completion-at-point).
 +
 +** Message mode is now the default mode for composing mail.
 +
 +The default for `mail-user-agent' is now message-user-agent, so the
 +C-x m (`compose-mail') command uses Message mode instead of Mail mode.
 +
 +Message mode has been included in Emacs, as part of the Gnus package,
 +for several years.  It provides several features that are absent in
 +Mail mode, such as MIME handling.
 +
 +*** If the user has not customized mail-user-agent, `compose-mail'
 +checks for Mail mode customizations, and issues a warning if these
 +customizations are found.  This alerts users who may otherwise be
 +unaware that their mail configuration has changed.
 +
 +To disable this check, set compose-mail-user-agent-warnings to nil.
 +
 +** The default value of mail-interactive is t, since Emacs 23.1.
 +(This was not announced at the time.)  It means that when sending mail,
 +Emacs will wait for the process sending mail to return.  If you
 +experience delays when sending mail, you may wish to set this to nil.
 +
 +** nXML mode is now the default for editing XML files.
 +
 +** pcomplete provides a new command `pcomplete-std-completion' which
 +is similar to `pcomplete' but using the standard completion UI code.
 +
 +** Shell (and other comint modes)
 +
 +*** M-s is no longer bound to `comint-next-matching-input'.
 +
 +*** M-r is now bound to `comint-history-isearch-backward-regexp'.
 +This starts an incremental search of the comint/shell input history.
 +
 +*** ansi-color is now enabled by default in Shell mode.
 +To disable it, set ansi-color-for-comint-mode to nil.
 +
 +** Tramp
 +
 +*** New connection methods "rsyncc", "imap" and "imaps".
 +On systems which support GVFS-Fuse, Tramp offers also the new
 +connection methods "dav", "davs", "obex" and "synce".
 +
 +** VC and related modes
 +
 +*** When using C-x v v or C-x v i on a unregistered file that is in a
 +directory not controlled by any VCS, ask the user what VC backend to
 +use to create a repository, create a new repository and register the
 +file.
 +
 +*** New command `vc-root-print-log', bound to `C-x v L'.
 +This displays a `*vc-change-log*' buffer showing the history of the
 +version-controlled directory tree as a whole.
 +
 +*** New command `vc-root-diff', bound to `C-x v D'.
 +This is similar to `vc-diff', but compares the entire directory tree
 +of the current VC directory with its working revision.
 +
 +*** `C-x v l' and `C-x v L' do not show the full log by default.
 +The number of entries shown can be chosen interactively with a prefix
 +argument, or by customizing vc-log-show-limit.  The `*vc-change-log*'
 +buffer now contains buttons at the end of the buffer, which can be
 +used to increase the number of entries shown.  RCS, SCCS, and CVS do
 +not support this feature.
 +
 +*** vc-annotate supports annotations through file copies and renames,
 +it displays the old names for the files and it can show logs/diffs for
 +the corresponding lines.  Currently only Git and Mercurial take
 +advantage of this feature.
 +
 +*** The log command in vc-annotate can display a single log entry
 +instead of redisplaying the full log.  The RCS, CVS and SCCS VC
 +backends do not support this.
 +
 +*** When a file is not found, VC will not try to check it out of RCS anymore.
 +
 +*** Diff and log operations can be used from Dired buffers.
 +
 +*** vc-git changes
 +
 +**** The short log format for git makes use of the graph display,
 +so it's not supported on git versions earlier than 1.5.6.
 +
 +**** vc-dir uses the --relative option of git, and so requires at least
 +git version 1.5.5.
 +
 +**** Support for operating with stashes has been added to vc-dir:
 +the stash list is displayed in the *vc-dir* header, stashes can be
 +created, removed, applied and their content displayed.
 +
 +*** vc-bzr supports operating with shelves: the shelve list is
 +displayed in the *vc-dir* header, shelves can be created, removed and applied.
 +
 +*** log-edit-strip-single-file-name controls whether or not single filenames
 +are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
 +
 +** Miscellaneous
 +
 +*** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp'
 +read buffer names to search, one by one, ended with RET.  With a prefix
 +argument, they ask for a regexp, and search in buffers whose names match
 +the specified regexp.  Interactively `multi-isearch-files' and
 +`multi-isearch-files-regexp' read file names to search, one by one,
 +ended with RET.  With a prefix argument, they ask for a wildcard, and
 +search in file buffers whose file names match the specified wildcard.
 +
 +*** Autorevert Tail mode now works also for remote files.
 +
 +*** The new eshell built-in commands `su' and `sudo' support Tramp.
 +Thus, they change `default-directory' to reflect the new user id, and
 +let commands run under that user's permissions.  This works even when
 +`default-directory' is already remote.  Calling the external commands
 +is possible via `*su' or `*sudo', respectively.
 +
 +** Obsolete packages
 +
 +*** sym-comp.el is now obsolete, superseded by completion-at-point.
 +
 +*** lucid.el and levents.el are now obsolete.
 +
 +\f
 +* New Modes and Packages in Emacs 23.2
 +
 +** CEDET (the Collection of Emacs Development Tools) is now in Emacs.
 +This is a collection of packages to aid with using Emacs as an IDE
 +(integrated development environment):
 +
 +*** The Semantic package allows the use of parsers to intelligently
 +edit and navigate source code.  Parsers for C/C++, Java, Javascript,
 +and several other languages are included by default, and Semantic can
 +also interface with external tools such as GNU Global and GNU Idutils.
 +
 +To enable Semantic, use the global minor mode `semantic-mode'.
 +See the Semantic manual for details.
 +
 +*** EDE (Emacs Development Environment) is a package for managing code
 +projects, including features such as automatic Makefile generation.
 +
 +To enable EDE, use the minor mode `global-ede-mode'.
 +See the EDE manual for details.
 +
 +*** SRecode is a library for recoding Semantic tags back into source
 +code.  It is currently used by some parts of Semantic and EDE; in the
 +future, it may be used for code generation features.
 +
 +*** The EIEIO library implements a subset of the Common Lisp Object
 +System (CLOS).  It is used by the other CEDET packages.
 +
 +** mpc.el is a front end for the Music Player Daemon.  Run it with M-x mpc.
 +
 +** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
 +
 +** js.el is a new major mode for JavaScript files.
 +
 +** imap-hash.el is a new library to address IMAP mailboxes as hashtables.
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 23.2
 +
 +** The Lisp reader turns integers that are too large/small into floats.
 +For instance, on machines where `536870911' is the largest integer,
 +reading `536870912' gives the floating-point object `536870912.0'.
 +
 +This change only concerns the Lisp reader; it does not affect how
 +actual integer objects overflow.
 +
 +** Several obsolete functions removed.
 +The functions have been obsolete since Emacs 19, and are unlikely to
 +be in use:
 +
 +  time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy
 +  time-stamp-dd-mon-yy, time-stamp-yy/mm/dd, time-stamp-yyyy/mm/dd,
 +  time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss,
 +  time-stamp-hhmm, baud-rate
 +
 +** Support for generating Emacs 18 compatible bytecode (by setting
 +the variable `byte-compile-compatibility') has been removed.
 +
 +** In image-mode.el `image-mode-maybe' is obsolete.
 +Instead, you can either use `image-mode' (which displays an image file
 +as the actual image initially), or `image-mode-as-text' (when you want
 +to display an image file as text initially).  `image-mode-as-text' is a
 +combination of a non-image mode from `auto-mode-alist' (or Fundamental
 +mode) and `image-minor-mode'.  `image-minor-mode' provides a `C-c C-c'
 +key binding to toggle image display.
 +`image-toggle-display-text' removes image properties.
 +`image-toggle-display-image' adds image properties.
 +`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'.
 +
 +\f
 +* Lisp changes in Emacs 23.2
 +
 +** All the default-FOO variables that hold the default value of the FOO
 +variable, are now declared obsolete.
 +
 +** read-key is a function halfway between read-event and read-key-sequence.
 +It reads a single key, but obeys input and escape sequence decoding.
 +
 +** Frame parameter changes
 +
 +*** You can give the `fullscreen' frame parameter the value `maximized'.
 +This maximizes the frame.
 +
 +*** The new frame parameter `sticky' makes Emacs frames sticky in
 +virtual desktops.
 +
 +** Completion changes
 +
 +*** completion-base-size is obsoleted by completion-base-position.
 +This change causes a few backward incompatibilities, mostly with
 +choose-completion-string-functions where the `mini-p' argument has
 +been replaced by a `base-position' argument, and where the `base-size'
 +argument is now always nil.
 +
 +*** New function `completion-in-region' to use the standard completion
 +facilities on a particular region of text.
 +
 +*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
 +
 +*** completion-annotate-function specifies how to compute annotations
 +for completions displayed in *Completions*.
 +
 +** Minibuffer changes
 +
 +*** read-file-name-predicate is obsolete.  It was used to pass the predicate
 +to read-file-name-internal because read-file-name-internal abused its `pred'
 +argument to pass the current directory, but this hack is not needed
 +any more.
 +
 +** Changes to file-manipulation functions
 +
 +*** `delete-directory' has an optional parameter RECURSIVE.
 +
 +*** New function `copy-directory', which copies a directory recursively.
 +
 +** called-interactively-p now takes one argument and replaces interactive-p
 +which is now marked obsolete.
 +
 +** New function set-advertised-calling-convention makes it possible
 +to obsolete arguments as well as make some arguments mandatory.
 +
 +** You can control which binding is preferentially shown in menus and
 +docstrings by adding a `:advertised-binding' property to the corresponding
 +command's symbol.  That property can hold a single binding or a list
 +of bindings.
 +
 +** Network and process changes
 +
 +*** start-process-shell-command and start-file-process-shell-command
 +now only take a single `command' argument.
 +
 +*** The new variable `process-file-side-effects' should be set to nil
 +if a `process-file' call does not change a remote file.  This allows
 +file name handlers such as Tramp to optimizations.
 +
 +*** make-network-process can now also create `seqpacket' Unix sockets.
 +
 +** Loading changes
 +
 +*** eval-next-after-load is obsolete.
 +
 +*** New hook `after-load-functions' run after loading an Elisp file.
 +
 +** Byte compilation changes
 +
 +*** Changing the file-names generated by byte-compilation by redefining
 +the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
 +Instead, customize byte-compile-dest-file-function.
 +
 +*** `byte-compile-warnings' has new members, `constants' and `suspicious'.
 +
 +** New macro with-silent-modifications to tweak text properties without
 +affecting the buffer's modification state.
 +
 +** Hash tables have a new printed representation that is readable.
 +The feature `hashtable-print-readable' identifies this new
 +functionality.
 +
 +** New functions for performing Unicode normalization:
 +ucs-normalize-NFD-region, ucs-normalize-NFD-string,
 +ucs-normalize-NFC-region, ucs-normalize-NFC-string,
 +ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
 +ucs-normalize-NFKC-region, ucs-normalize-NFKC-string,
 +ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
 +ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
 +
 +** Face aliases can now be marked as obsolete, using the macro
 +`define-obsolete-face-alias'.
 +
 +** New function `window-full-height-p', analogous to the full-width version.
 +
 +\f
 +* Changes in Emacs 23.2 on non-free operating systems
 +
 +** On MS-Windows, `display-time' now displays the system load average
 +as well as the time, as it does on GNU and Unix.
 +
 +\f
 +* Installation Changes in Emacs 23.1
 +
 +** The default X toolkit is now Gtk+, rather than Lucid.
 +The configure option `--with-gtk' has been removed.  Gtk is now the
 +default toolkit, but you can use --with-x-toolkit=gtk if necessary.
 +
 +** New font code.
 +Fonts are handled by new code capable of dealing with multiple font
 +backends.  This uses the freetype and fontconfig libraries.
 +
 +*** Emacs now accepts font names supplied in the fontconfig format
 +(e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12").
 +
 +*** Added support for local fonts (fonts installed on the machine
 +where Emacs is running).
 +
 +*** Added support for the Xft library for antialiasing.
 +
 +*** Added support for the otf library for complex text layout by
 +OpenType fonts.
 +
 +*** Added support for the m17n library for text shaping.
 +
 +** Changes to image support
 +
 +*** configure now checks for libgif before libungif when searching for
 +a GIF library.
 +
 +*** Emacs now supports the SVG image format through librsvg2.
 +
 +*** Emacs now supports multi-page TIFF images.
 +
 +** New NeXTstep-based port.
 +This provides support for GNUstep (via the GNUstep libraries) and Mac
 +OS X (via the Cocoa libraries).
 +
 +Specify --with-ns to configure for this.  By default, a self-contained
 +app will be built (containing all lisp).  To install/share lisp with
 +other emacsen (e.g. X11 build) use --disable-ns-self-contained.  See
 +nextstep/README and nextstep/INSTALL in the Emacs source directory.
 +
 +** Mac OS X is no longer supported via Carbon.
 +Use the NeXTstep port, described above.
 +
 +** The new configuration option "--with-dbus" enables D-Bus language
 +bindings for Emacs.
 +
 +** Support for many obsolete platforms has been removed.
 +See the list at the end of etc/MACHINES for details.
 +
 +*** Support for systems without alloca has been removed.
 +
 +*** Support for Sun windows has been removed.
 +
 +*** The `emacstool' utility has been removed.
 +
 +** The following platforms will be removed in a future Emacs version:
 +If you are still using Emacs on one of these platforms, please email
 +emacs-devel@gnu.org to inform the Emacs developers.
 +
 +*** Old GNU/Linux systems based on libc version 5.
 +
 +*** Old FreeBSD, NetBSD, and OpenBSD systems based on the COFF
 +executable format.
 +
 +*** Solaris versions 2.6 and below.
 +
 +*** Solaris on IBM RS6000 machines.
 +
 +*** UNIX System V (the original SysV, not later platforms based on it).
 +
 +*** Unixware on non-x86 machines.
 +
 +*** Platforms not supporting shared libraries (i.e., requiring the
 +NO_SHARED_LIBS compilation flag).
 +
 +** The configure options `--with-gcc', `--without-gcc' have been removed.
 +Configure will use gcc by default.  Set the CC environment variable if
 +you need control over which C compiler is used.
 +
 +** The refcards are now shipped as PDF files.
 +
 +** The manuals are now licensed under the GNU Free Documentation License v1.3,
 +or any later version.
 +
 +** Emacs 23 comes with a new set of default icons.
 +Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
 +The Emacs 22 icon is available as `emacs22.png' in the same location.
 +\f
 +* Changes in Emacs 23.1
 +
 +** Improved X Window System support
 +
 +*** Emacs now supports using both X displays and ttys in one session.
 +With an Emacs server active (M-x server-start), `emacsclient -t'
 +creates a tty frame connected to the running emacs server.  You can
 +use any number of different ttys.  `emacsclient -c' creates a new X11
 +frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set).
 +There may be problems if a display exits unexpectedly and Emacs is compiled
 +with Gtk+, see etc/PROBLEMS.
 +
 +You can test for the presence of this feature in your Lisp code by
 +testing for the `multi-tty' feature.
 +
 +*** Emacs starts in the background, as a daemon, when given the
 +--daemon command line argument.  It disconnects from the terminal and
 +starts the server.  Clients can connect and create graphical or
 +terminal frames using emacsclient.
 +
 +**** emacsclient starts emacs in daemon mode and connects to it when
 +--alternate-editor="" is used (or when the evironment variable
 +ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an
 +emacs server.
 +
 +*** The new command close-display-connection closes a connection to a
 +remote display.  There are some bugs for Gtk+.  See etc/PROBLEMS.
 +
 +*** Emacs now supports the XEmbed specification.
 +You can embed Emacs in another application on X11.  The new command line
 +option --parent-id is used to pass the parent window id to Emacs.  See
 +http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
 +for details about XEmbed.
 +
 +*** Emacs can now set the frame opacity.
 +The opacity of a frame can be controlled by setting the `alpha' frame
 +parameter.  This only takes effect on a compositing window manager for
 +the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac
 +OS X, or on Windows 2000 and later versions of Windows.
 +
 +The alpha parameter should be an integer between 0 (transparent) and
 +100 (opaque), or a float number between 0.0 and 1.0.  It can also be a
 +cons cell (ACTIVE . INACTIVE), where ACTIVE is the opacity of an
 +active frame and INACTIVE is the opacity of non-active frames.
 +
 +The variable `frame-alpha-lower-limit' defines a lower bound for the
 +opacity; the default is 20.
 +
 +** Internationalization changes
 +
 +*** The Emacs character set is now a superset of Unicode.
 +(It has about four times the code space, which should be plenty).
 +
 +The internal encoding used for buffers and strings is now
 +Unicode-based and called `utf-8-emacs' (`emacs-internal' is an alias
 +for this).  This encoding is backward-compatible with Unicode's UTF-8
 +encoding.  The internal encoding previously used by Emacs,
 +`emacs-mule', is still available for reading and writing files.
 +
 +During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files.
 +As a result, byte-compiled files containing non-ASCII characters can't
 +be read by earlier versions of Emacs.  Files compiled by Emacs 20, 21,
 +or 22 are loaded correctly as `emacs-mule' (whether or not they
 +contain multibyte characters).  This takes somewhat more time, so it
 +may be worth recompiling existing .elc files which don't need to be
 +shared with older Emacsen.
 +
 +*** There are new coding systems/aliases; see M-x list-coding-systems.
 +
 +*** There is a new charset implementation with many new charsets.
 +See M-x list-character-sets.  New charsets can be defined conveniently
 +as tables of unicodes.
 +
 +*** There are new language environments for Chinese-GBK,
 +Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu,
 +Sinhala, and TaiViet.
 +
 +*** The minor modes unify-8859-on-encoding-mode and
 +unify-8859-on-decoding-mode are obsolete.
 +
 +*** `ucs-insert' is bound to `C-x 8 RET' and in addition to hex numbers
 +accepts numbers in hash notation (e.g. #o21430 for octal, or #10r8984 for
 +decimal).  It also accepts Unicode character names with completion.
 +
 +*** The `cyrillic-translit' input method supports many new characters.
 +Common typographical characters available from Unicode were added to
 +`cyrillic-translit': punctuation marks, accented characters, fractions,
 +and others.
 +
 +** Emacs now supports serial port access on GNU/Linux, Unix, and
 +Windows.  The new command `serial-term' starts an interactive terminal
 +on a serial port.  The serial port can be configured at runtime with
 +the mode-line mouse menu.
 +
 +** Menu Bar changes
 +
 +*** In the Options menu, the "Set Default Font" item applies the
 +selected font to the `default' face on all frames, not just the
 +current frame.  Furthermore, if Emacs is compiled with both GTK and
 +Fontconfig support, the "Set Default Font" item uses the GTK font
 +selection dialog instead of an Emacs pop-up menu.
 +
 +*** The font setting chosen by "Set Default Font" is saved if the
 +"Save Options" item is used.
 +
 +*** The Tools menu contains a new Encryption/Decryption submenu.
 +This contains commands provided by EasyPG, the newly-included
 +interface to GnuPG (see New Modes and Packages).
 +
 +*** In the Options menu, the "Truncate Long Lines in the Buffer" entry
 +has been replaced with a submenu offering three different ways to
 +handle long lines: truncation, continuation at the window edge, and
 +the new word wrapping behavior (see Editing Changes, below).
 +
 +*** Improvements to menus for major and minor modes
 +More major and minor modes now have a mode specific menu, and existing
 +mode menus have been improved to include more functionality.
 +
 +** Mode-line changes
 +
 +*** The mode-line displays a `@', instead of `-', if the
 +default-directory for the current buffer is on a remote machine.
 +
 +*** The mode-line displays a mode menu when mouse-1 is clicked on a
 +minor mode, in the same way as it already did for major modes.
 +
 +*** The `mode-line-emphasis' face is used to highlight certain
 +mode-line information (e.g. waiting for a VC command to finish).
 +
 +*** The mode-line tooltips have been improved to provide more details.
 +
 +*** The VC, line/colum number and minor mode indicators on the mode
 +line are now interactive: mouse-1 can be used on them to pop up a menu.
 +
 +** File deletion can make use of the Recycle Bin or system Trash folder.
 +Set `delete-by-moving-to-trash' non-nil to use this.  Deleted files
 +and directories will then be sent to the Recycle Bin on Windows, and
 +to `trash-directory' on other systems.
 +
 +** Directory-local variables can now be defined.
 +By default, Emacs looks in .dir-locals.el for directory-local
 +variables.  For more information, see `dir-locals-set-directory-class'
 +and `dir-locals-set-class-variables'.
 +
 +** Emacs can now use `auth-source' for authentication.
 +`smtpmail' and `url' (Tramp and Gnus also) use `auth-source' to obtain
 +login names and passwords.  The match, if found, is reported
 +in *Messages* with the password blanked out.
 +
 +** `where-is-preferred-modifier' can specify your favorite modifier.
 +
 +\f
 +* Startup Changes in Emacs 23.1
 +
 +** The option `inhibit-startup-screen' (with aliases to old names
 +`inhibit-splash-screen' and `inhibit-startup-message') doesn't inhibit
 +display of the initial message in the *scratch* buffer.  If you don't
 +want to display the initial message in the *scratch* buffer at startup,
 +you can set the option `initial-scratch-message' to nil.
 +
 +** New user option `initial-buffer-choice' specifies what to display
 +after starting Emacs: startup screen, *scratch* buffer, visiting a
 +file or directory.
 +
 +** New alias `argv' for `command-line-args-left'
 +This is a convenience alias, so that one can write `(pop argv)'
 +inside of --eval command line arguments in order to access
 +following arguments.
 +
 +** The abbrev file is no longer read at startup in batch mode.
 +
 +** Emacs now supports invocation by an X session manager.
 +It can save a session and restore it later.  See the documentation of
 +the functions `emacs-session-save' and `emacs-session-restore'.
 +(Actually, this feature was introduced with Emacs 22, but it was not
 +documented.)
 +\f
 +* Incompatible Editing Changes in Emacs 23.1
 +
 +** In Dired, `dired-flag-garbage-files' is rebound from `&' to `%&'
 +on the regexp command prefix map.
 +
 +** In Dired-x, all command guesses for ! are now added to the default
 +list accessible by M-n instead of pushing all guesses temporarily into
 +the history list.
 +
 +** In Isearch mode, a special case of typing `C-w' at the beginning of
 +the minibuffer that toggles word search (i.e. using key sequences
 +`C-s RET C-w' or `C-s M-e C-w') is obsolete.  You can use the global key
 +`M-s w' to start word search, or type `M-s w' in Isearch mode to
 +toggle word search.  To start nonincremental word search you can now use
 +`M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'.
 +
 +** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w'
 +for word search as well as other search commands from the global prefix
 +key `M-s'.  `Info-search' is still bound to `s', and also incremental
 +search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching
 +through multiple Info nodes, together with their nonincremental versions
 +`C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'.
 +
 +** In Text mode, `center-line' and `center-paragraph' are rebound from
 +`M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the global
 +prefix map `M-o', which is intended for such formatting commands.
 +
 +** The following input methods were removed in Emacs 22.2, but this was
 +not advertised: danish-alt-postfix, esperanto-alt-postfix,
 +finnish-alt-postfix, german-alt-postfix, icelandic-alt-postfix,
 +norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix,
 +and swedish-alt-postfix.  Use the versions without "alt-", which are
 +identical.
 +
 +\f
 +* Editing Changes in Emacs 23.1
 +
 +** The C-n and C-p line-motion commands now move by screen lines,
 +taking continued lines and variable-width characters into account.
 +Setting `line-move-visual' to nil reverts this to the previous
 +behavior (i.e., motion by logical lines based on buffer contents
 +alone).
 +
 +** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now
 +invokes `suspend-frame'.  These changes are for compatibility with the
 +new multi-tty support (see `Improved X Window System support' above).
 +
 +** Mark changes
 +
 +*** Transient Mark mode is now on by default.
 +
 +*** mark-even-if-inactive now defaults to t
 +
 +*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without
 +activating it.
 +
 +*** When Transient Mark mode is on, M-q now fills the region if the
 +region is active.  Otherwise, it fills the current paragraph.
 +
 +*** When Transient Mark mode is on, M-$ now checks spelling of the
 +region if the region is active.  Otherwise, it checks spelling of the
 +word at point.
 +
 +*** When Transient Mark mode is on, TAB now indents the region if the
 +region is active.
 +
 +*** The variable `use-empty-active-region' controls whether an empty
 +active region in Transient Mark mode should make commands operate on
 +that empty region.
 +
 +** Temporarily active regions
 +
 +*** The new variable shift-select-mode, non-nil by default, controls
 +shift-selection.  When Shift Select mode is on, shift-translated
 +motion keys (e.g. S-left and S-down) activate and extend a temporary
 +region, similar to mouse-selection.
 +
 +*** Temporarily active regions, created using shift-selection or
 +mouse-selection, are not necessarily deactivated in the next command.
 +They are only deactivated after point motion commands that are not
 +shift-translated, or after commands that would ordinarily deactivate
 +the mark in Transient Mark mode (e.g., any command that modifies the
 +buffer).
 +
 +** Minibuffer and completion changes
 +
 +*** Emacs may ask for confirmation before opening a non-existent file
 +or buffer.  By default, Emacs requests confirmation if you type RET
 +immediately after TAB, and the resulting input is not an existing file
 +or buffer; this usually happens when the minibuffer input did not
 +complete far enough and you entered RET by mistake.  In that case,
 +Emacs puts the message "[Confirm]" in the minibuffer; type RET again
 +to create the file or buffer.
 +
 +The new variable confirm-nonexistent-file-or-buffer determines whether
 +Emacs asks for confirmation.  The default value is `after-completion'.
 +If you change it to t, Emacs always asks for confirmation; if you
 +change it to nil, Emacs never asks for confirmation.
 +
 +*** The rules for performing completion have been changed.
 +When generating completion alternatives, Emacs now takes the
 +minibuffer text after point, if any, into account: this text is
 +treated as a substring of the remaining part of the completion
 +alternative (i.e., the part not matched by the minibuffer text before
 +point).  If no completion alternatives are found this way, Emacs
 +attempts to perform partial-completion.  If still no completion
 +alternatives are found, we fall back on the Emacs 22 rules for
 +performing completion.
 +
 +The new variable `completion-styles' can be customized to choose your
 +favorite completion style.
 +
 +*** When M-n in the minibuffer reaches the end of the list of defaults,
 +it adds the completion list to the end, so next M-n continues putting
 +completion items to the minibuffer.  The same principle applies to
 +incremental search commands as well: C-s or C-M-s starts searching
 +the default values and after the end of defaults they continue
 +searching minibuffer completion items.
 +
 +*** Minibuffer input of shell commands now comes with completion.
 +
 +*** In the `C-x d' (Dired) prompt, typing M-n gives the visited file
 +name of the current buffer.
 +
 +*** In the M-! (shell-command) prompt, M-n provides some default commands.
 +These are guessed using the file extension of the current file, based
 +on the file-handlers specified in the operating system's `mailcap'
 +file.  The ! command in Dired (dired-do-shell-command) works
 +similarly, using the file displayed on the current line.
 +
 +*** A list of regexp default values is available via M-n for `occur',
 +`keep-lines', `flush-lines' and `how-many'.  This list includes the active
 +region in transient-mark-mode, the word under the cursor, the last Isearch
 +regexp, the last Isearch string and the last replacement regexp.
 +
 +*** When enable-recursive-minibuffers is non-nil, operations which use
 +switch-to-buffer (such as C-x b and C-x C-f) do not fail any more when
 +used in a minibuffer or a dedicated window.  Instead, they fallback on
 +using pop-to-buffer, which will use some other window.  This change
 +has no effect when enable-recursive-minibuffers is nil (the default).
 +
 +*** Isearch started in the minibuffer searches in the minibuffer history.
 +Reverse Isearch commands (C-r, C-M-r) search in previous minibuffer
 +history elements, and forward Isearch commands (C-s, C-M-s) search in
 +next history elements.  When the reverse search reaches the first history
 +element, it wraps to the last history element, and the forward search
 +wraps to the first history element.  When the search is terminated, the
 +history element containing the search string becomes the current.
 +
 +*** The variable read-file-name-completion-ignore-case overrides
 +completion-ignore-case for file name completion.
 +
 +*** The variable read-buffer-completion-ignore-case overrides
 +completion-ignore-case for buffer name completion.
 +
 +*** The new command `minibuffer-force-complete' chooses one of the
 +possible completions, rather than stopping at the common prefix.
 +
 +*** If `completion-auto-help' is `lazy', Emacs shows the completions
 +buffer only on the second attempt to complete.  This was already
 +supported in `partial-completion-mode'.
 +
 +** Face changes
 +
 +*** S-down-mouse-1 now pops up a menu for changing the font and text
 +size of the default face in the current buffer.  The face is changed
 +via face remapping (see Lisp changes, below).
 +
 +*** New commands to change the default face size in the current buffer.
 +To increase it, type `C-x C-+' or `C-x C-='.  To decrease it, type
 +`C-x C--'.  To restore the default (global) face size, type `C-x C-0'.
 +These work via Text Scale mode, a new minor mode.
 +
 +The final key in the above commands may be repeated without the
 +leading `C-x', e.g. `C-x C-= C-= C-=' increases the face height by
 +three steps.  Each step scales the height of the default face by the
 +value of the variable `text-scale-mode-step'.
 +
 +*** The commands buffer-face-mode and buffer-face-set can be used to
 +remap the default face in the current buffer.  See "Buffer Face mode",
 +under New Modes and Packages.
 +
 +** Primary selection changes
 +
 +*** You can disable kill ring commands from accessing the primary
 +selection by setting `x-select-enable-primary' to nil.
 +
 +** Continuation lines can now be wrapped at word boundaries
 +(word-wrapping).  This is controlled by the new per-buffer variable
 +`word-wrap'.  Word wrapping does not take place if continuation lines
 +are not shown, e.g. if truncate-lines is non-nil.  The most convenient
 +way to enable word-wrapping is using the new minor mode Visual Line
 +mode; in addition to setting `word-wrap' to t, this rebinds some
 +editing commands to work on screen lines rather than text lines.  See
 +New Modes and Packages, below.
 +
 +** Window management changes
 +
 +*** truncate-partial-width-windows now accepts integer values, which
 +specify a minimum window width for partial-width windows, below which
 +lines are truncated.  The default has been changed to 50.
 +
 +*** The new command balance-windows-area balances windows both
 +vertically and horizontally.
 +
 +*** pop-to-buffer now always sets input focus when the popped-to window
 +is on a different frame.
 +
 +** Miscellaneous changes:
 +
 +*** C-l is bound to the new command recenter-top-bottom, rather than recenter.
 +This moves the current line to window center, top and bottom on
 +successive invocations.
 +
 +*** scroll-preserve-screen-position also preserves the column position.
 +
 +*** If `yank-pop-change-selection' is t, rotating the kill ring also
 +updates the selection or clipboard to the current yank, just as M-w
 +would do so with the text it copies to the kill ring.
 +
 +*** C-M-% now shows replacement as it would look in the buffer, with
 +`\N' and `\&' substituted according to the match.  Old behavior can be
 +restored by customizing `query-replace-show-replacement'.
 +
 +*** The command shell prompts for the default directory, when it is
 +called with a prefix and the default directory is a remote file name.
 +This is because some file name handlers (like ange-ftp) are not able to
 +run processes remotely.
 +
 +*** The new command kill-matching-buffers kills buffers whose name
 +matches a regexp.
 +
 +*** The value of comment-style now defaults to `indent'.
 +Thefore, comment-start markers are inserted at the current indentation
 +of the region to comment, rather than the leftmost column.
 +
 +*** The new commands `pp-macroexpand-expression' and
 +`pp-macroexpand-last-sexp' pretty-print macro expansions.
 +
 +*** The new command `set-file-modes' allows to set file's mode bits.
 +The mode bits can be specified in symbolic notation, like with GNU
 +Coreutils, in addition to an octal number.  `chmod' is a new
 +convenience alias for this function.
 +
 +*** `next-error-recenter' specifies how next-error should recenter the
 +visited source file.  Its value can be a number (for example, 0 for
 +top line, -1 for bottom line), or nil for no recentering.
 +
 +*** When typing in a password in the echo area, C-y yanks the current
 +kill into the password.
 +
 +*** Tooltip frame parameters `font' and `color' in `tooltip-frame-parameters'
 +are ignored.  Customize the `tooltip' face instead.
 +
 +*** `mkdir' is a new convenience alias for `make-directory'.
 +\f
 +* New Modes and Packages in Emacs 23.1
 +
 +** Auto Composition Mode is a minor mode that composes characters
 +automatically when they are displayed.  It is globally on by default.
 +It uses `auto-composition-function' (default `auto-compose-chars').
 +
 +** Bubbles, a new game, is similar to SameGame.
 +
 +** Buffer Face mode is a minor mode for remapping the default face in
 +the current buffer.  The variable `buffer-face-mode-face' specifies
 +the face to remap to.  The command `buffer-face-set' prompts for a
 +face name, sets `buffer-face-mode-face' to it, and enables
 +buffer-face-mode.  See "Face changes", under Editing Changes, for a
 +description of face remapping.
 +
 +** butterfly flips the desired bit on the drive platter.
 +See http://xkcd.com/378/
 +
 +** bug-reference.el provides clickable links to bug reports.
 +
 +** dbus.el provides D-Bus language bindings.
 +D-Bus is an inter-process communication mechanism for applications
 +residing on the same host.  See the manual for details.
 +
 +** DocView mode allows viewing of PDF, PostScript and DVI documents.
 +One can also search for a regular expression in the document.  For
 +details, see the commentary in doc-view.el.
 +
 +PDF and DVI files are now opened in Doc View mode by default.
 +
 +In Postcript mode, C-c C-c launches Doc View minor mode for viewing
 +the postscript file.
 +
 +** EasyPG provides an interface to the GNU Privacy Guard (GnuPG).
 +It includes a GnuPG keyring browser, cryptographic operations on
 +regions and files, and automatic encryption of *.gpg files.  For
 +details, see the EasyPG Assistant User's Manual.
 +
 +** json.el is a library for parsing and generating JSON
 +(JavaScript Object Notation), a lightweight data-interchange format.
 +
 +** linum.el is a new minor mode to display line numbers for the
 +current buffer.
 +
 +** mairix.el is an interface to mairix, a free tool for indexing and
 +searching locally stored mail.  It allows you to query mairix and
 +display the search results with Rmail, Gnus and VM.  Note that there
 +is an existing Gnus back end, nnmairix.el, which should be used with
 +Maildir/MH setups.
 +
 +** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt.
 +
 +** nXML Mode
 +This is a new mode for editing XML documents.  It allows a schema to
 +be associated with the XML document being edited, using Relax NG as
 +the schema language.  The schema is used to provide two key features:
 +
 +*** Continuous validation.  nXML validates as you type, highlighting
 +any invalid parts of your document.
 +
 +*** Completion.  nXML can assist you in entering an element name,
 +attribute name or data value by using information about what is
 +allowed by the schema in that context.
 +
 +** proced.el provides a Dired-like interface for operating on
 +processes.  Proced makes an Emacs buffer containing a listing of the
 +current processes.  You can use the normal Emacs commands to move
 +around in this buffer, and special Proced commands to operate on the
 +processes listed.  It is currently only functional on GNU/Linux,
 +MS-Windows and Solaris.
 +
 +** Remember Mode is a mode for jotting down things to remember.
 +Notes can be saved to a Diary file.  For details, see the Remember
 +Manual.
 +
 +** RST mode is a major mode for editing reStructuredText files.
 +
 +** Ruby mode is a major mode for Ruby files.
 +
 +** Visual Line mode provides support for editing by visual lines.
 +It turns on word-wrapping in the current buffer, and rebinds C-a, C-e,
 +and C-k to commands that operate by visual lines instead of logical
 +lines.  This is a more reliable replacement for longlines-mode.
 +This can also be turned on using the menu bar, via
 +Options -> Line Wrapping in this Buffer -> Word Wrap
 +
 +** xesam.el is an implementation of Xesam, an interface to (desktop)
 +search engines like Beagle, Strigi, and Tracker.  The Xesam API
 +requires D-Bus for communication.
 +
 +** zeroconf.el offers service discovery and service publishing
 +interfaces according to the zeroconf specification.  It communicates
 +with Avahi, a zeroconf implementation, via D-Bus messages on systems
 +which have installed this software.
 +
 +** There is a new `whitespace' package.
 +(The pre-existing one has been renamed to `old-whitespace'.)
 +Now, besides reporting bogus blanks, the whitespace package has a
 +minor mode and a global minor mode to visualize blanks (TAB, (HARD)
 +SPACE and NEWLINE).  The visualization is made via faces and/or display
 +table.  It can also indicate lines that extend beyond a given column,
 +trailing blanks, and empty lines at the start or end of a buffer.
 +See `whitespace-style' for more details.  The `whitespace-action' option
 +specifies what to do when a buffer is visited, killed, or written.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 23.1
 +
 +** Abbrev has been rewritten in Elisp and extended with more flexibility.
 +
 +*** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put,
 +abbrev-table-p, abbrev-insert, abbrev-table-menu.
 +
 +*** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'.
 +
 +*** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take
 +extra arguments for arbitrary properties.
 +
 +*** New variable `abbrev-minor-mode-table-alist'.
 +
 +*** `local-abbrev-table' can hold a list of abbrev-tables.
 +
 +*** Abbrevs have now the following special properties:
 +`:count', `:system', `:enable-function', `:case-fixed'.
 +
 +*** Abbrev-tables have now the following special properties:
 +`:parents', `:case-fixed', `:enable-function', `:regexp',
 +`abbrev-table-modiff'.
 +
 +** Apropos
 +
 +*** `apropos-library' describes the elements defined in a given library.
 +
 +*** Set `apropos-compact-layout' is you want a more compact (but wider) layout.
 +
 +** Archive Mode has basic support to browse Rar archives.
 +Note, however, that the free version of the unrar command only handles
 +versions 1 and 2 of the Rar format.
 +
 +** BibTeX mode
 +
 +*** New command `bibtex-initialize' (re)initializes BibTeX buffers.
 +
 +*** New `bibtex-entry-format' options `whitespace', `braces', and
 +`string', disabled by default.
 +
 +*** New variable `bibtex-cite-matcher-alist' contains rules to
 +identify cited keys in BibTeX entries, used by `bibtex-find-crossref'.
 +
 +*** Command `bibtex-url' allows multiple URLs per entry.
 +
 +** Bookmarks
 +
 +*** bookmark.el saves bookmarks in a pre-Emacs-23-incompatible file format
 +bookmark.el can read a .emacs.bmk file saved by an older Emacs, but an
 +older Emacs cannot read one saved by Emacs 23.
 +
 +** Calendar and diary
 +
 +*** There is a new date style, `iso', essentially year/month/day.
 +The variable `european-calendar-style' is obsolete - use `calendar-date-style'.
 +Similarly, the commands `american-calendar' and `european-calendar'
 +should be replaced by `calendar-set-date-style'.
 +
 +*** The calendar namespace has been rationalized.
 +All functions and variables now begin with a `calendar-', `diary-', or
 +`holiday-' prefix.  The various calendar systems have secondary
 +prefixes, eg `calendar-french-'.  The old names you are likely to use
 +directly still exist, for the time being, as aliases, but please start
 +using the new names.
 +
 +*** The whitespace in the calendar layout can be customized.
 +See the variables:
 +calendar-left-margin, calendar-intermonth-spacing, calendar-column-width,
 +calendar-day-header-width, and calendar-day-digit-width.
 +
 +*** Text (e.g. ISO weeks) can be displayed between the calendar months.
 +See the variables calendar-intermonth-header and calendar-intermonth-text.
 +
 +*** The function `holiday-chinese' computes holidays on the Chinese calendar.
 +It has been used to add items to the list `holiday-oriental-holidays'.
 +
 +*** `diary-remind' accepts a negative number -DAYS as a shorthand for
 +the list (1 2 ... DAYS).
 +
 +** Change Log mode
 +
 +*** The new command C-c C-f (change-log-find-file) finds the file
 +associated with the current log entry.
 +
 +*** The new command C-c C-c (change-log-goto-source) goes to the
 +source code associated with a log entry.
 +
 +** Compile and grep modes
 +
 +*** The mode-line entry for the *compilation* and *grep* buffer is color coded.
 +It has different colors for to show that: (a) the command is still
 +running, (b) successful completion, (c) error.
 +
 +*** compilation-auto-jump-to-first-error tells `compile' to jump to
 +the first error encountered during compilations.
 +
 +*** compilation-scroll-output accepts a new value, `first-error', which
 +says to stop auto scrolling at the first error that occurs.
 +
 +*** The `cc' alias for C++ files in `grep-file-aliases' has been
 +improved.  `hh' can be used to match C++ header files and `cchh' both
 +C++ sources and headers.
 +
 +** Copyright
 +
 +*** You can specify your copyright holders' names.
 +Only copyright lines with holders matching `copyright-names-regexp' are
 +considered for update.
 +
 +*** Copyrights can be at the end of the buffer.
 +This is controlled by `copyright-at-end-flag' (used by, e.g., change-log-mode).
 +
 +** Custom
 +
 +*** defcustom accepts new keyword arguments, `:safe' and `:risky', which
 +set a variable's `safe-local-variable' and `risky-local-variable' property.
 +
 +** Diff mode
 +
 +*** diff-refine-hunk highlights word-level details of changes in a diff hunk.
 +It's used automatically as you move through hunks, see
 +diff-auto-refine-mode.  It is bound to `C-c C-b'.
 +
 +*** diff-add-change-log-entries-other-window iterates through the diff
 +buffer and tries to create ChangeLog entries for each change.
 +It is bound to `C-x 4 A'.
 +
 +*** Turning on `whitespace-mode' in a diff buffer will show trailing
 +whitespace problems in the modified lines.
 +
 +** Dired
 +
 +*** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode,
 +and C-x C-q in wdired-mode exits it with asking a question about
 +saving changes.
 +
 +*** `&' runs the command `dired-do-async-shell-command' that executes
 +the command asynchronously without the need to manually add ampersand
 +to the end of the command.  Its output appears in the buffer `*Async Shell
 +Command*'.
 +
 +*** `M-s f C-s' and `M-s f M-C-s' run Isearch that matches only at file names.
 +When a new user option `dired-isearch-filenames' is t, then even ordinary
 +Isearch started with `C-s' and `C-M-s' matches only at file names in the
 +Dired buffer.  When `dired-isearch-filenames' is `dwim' then activation of
 +file name Isearch depends on the position of point - if point is on a file
 +name initially, then Isearch matches only file names, otherwise it matches
 +everywhere in the Dired buffer.  You can toggle file names matching on or
 +off by typing `M-s f' in Isearch mode.
 +
 +*** `M-s a C-s' and `M-s a M-C-s' run multi-file Isearch on the marked files.
 +They visit the first marked file in the sequence and display the usual Isearch
 +prompt for a string or a regexp where all Isearch commands are available.
 +
 +*** `Q' in Dired provides two new keys for multi-file replacement.
 +The upper case key `Y' replaces all remaining matches in all remaining files
 +with no more questions.  The upper case key `N' stops doing replacements
 +in the current file and skips to the next file.  These multi-file keys
 +are available for all commands that use `tags-query-replace'
 +including `dired-do-query-replace-regexp', `vc-dir-query-replace-regexp',
 +`reftex-query-replace-document'.
 +
 +** Fortran
 +
 +*** The line length of fixed-form Fortran is not fixed at 72 any more.
 +Customize the variable `fortran-line-length' to change it.
 +
 +*** In Fortran mode, M-; is now bound to the standard comment-dwim,
 +rather than fortran-indent-comment.
 +
 +*** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax.
 +
 +** Gnus
 +
 +*** The Gnus package has been updated
 +There are many new features, bug fixes and improvements; see the file
 +GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
 +
 +*** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
 +saving articles, drafts, and ~/.newsrc.eld.  These file may not be read
 +correctly in Emacs 22 and below.  If you want to Gnus across different Emacs
 +versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
 +
 +*** Passwords are consistently loaded through `auth-source'
 +Gnus can use `auth-source' for POP and IMAP passwords.  Also see that
 +`smtpmail' and `url' support `auth-source' for SMTP and HTTP/HTTPS/RSS
 +authentication respectively.
 +
 +** Help mode
 +
 +*** New macro `with-help-window' should set up help windows better
 +than `with-output-to-temp-buffer' with `print-help-return-message'.
 +
 +*** New option `help-window-select' permits to customize whether help
 +window shall be automatically selected when invoking help.
 +
 +*** New variable `help-window-point-marker' permits one to specify a new
 +position for point in help window (for example in `view-lossage').
 +
 +** Isearch
 +
 +*** New command `isearch-forward-word' bound globally to `M-s w' starts
 +incremental word search.  New command `isearch-toggle-word' bound to the
 +same key `M-s w' in Isearch mode toggles word searching on or off
 +while Isearch is active.
 +
 +*** New command `isearch-highlight-regexp' bound to `M-s h r' in Isearch
 +mode runs `highlight-regexp' (`hi-lock-face-buffer') with the current
 +search string as its regexp argument.  The same key `M-s h r' and
 +other keys on the `M-s h' prefix are bound globally to the command
 +`highlight-regexp' and other hi-lock commands.
 +
 +*** New command `isearch-occur' bound to `M-s o' in Isearch mode
 +runs `occur' with the current search string.  The same key `M-s o'
 +is bound globally to the command `occur'.
 +
 +*** Isearch can now search through multiple ChangeLog files.
 +When running Isearch in a ChangeLog file, if the search fails,
 +then another C-s tries searching the previous ChangeLog,
 +if there is one (e.g. going from ChangeLog to ChangeLog.12).
 +This is enabled if multi-isearch-search is non-nil.
 +
 +*** Two new commands to start Isearch on a list of marked buffers
 +for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and
 +`M-s a M-C-s'.
 +
 +*** The part of an Isearch that failed to match is highlighted in
 +`isearch-fail' face.
 +
 +*** `C-h C-h' in Isearch mode displays isearch-specific Help screen,
 +`C-h b' displays all Isearch key bindings, `C-h k' displays the full
 +documentation of the given Isearch key sequence, `C-h m' displays
 +documentation for Isearch mode.  All the other Help commands exit
 +Isearch mode and execute their global definitions.
 +
 +*** When started in the minibuffer, Isearch searches in the minibuffer
 +history.  See `Minibuffer changes', above.
 +
 +** MH-E
 +
 +*** Upgraded to MH-E version 8.2.  See MH-E-NEWS for details.
 +
 +** Python
 +*** The file etc/emacs.py now supports both Python 2 and 3, meaning
 +that either version can be used as inferior Python by python.el.
 +
 +*** Python mode now has `pdbtrack' functionality.  When using pdb to
 +debug a Python program, pdbtrack notices the pdb prompt and displays
 +the source file and line that the program is stopped at, much the same
 +way as gud-mode does for debugging C programs with gdb.
 +
 +** Recentf
 +
 +*** The default value of `recentf-keep' prevents from checking of
 +remote files, if there is no established connection to the
 +corresponding remote host.
 +
 +** Rmail
 +
 +*** Rmail no longer converts the messages to Babyl format.
 +Instead, it uses UNIX mbox format, both on disk and in Rmail buffers,
 +and does conversion and decoding when a message is displayed.
 +
 +The first time you visit an Rmail file in Babyl format, Rmail
 +automatically converts it to mbox format.  This is a one-time
 +conversion, but it can take a few minutes, depending on how fast is
 +your machine and on the size of the file.  You should find the rest of
 +Rmail usage unaltered.
 +
 +However, M-x set-rmail-inbox-list now lasts only for one session
 +because there is no way to save the list of inbox files in an
 +mbox-format file.
 +
 +Also, whereas with Babyl format M-x find-file would switch to Rmail
 +mode, with mbox format this is no longer the case (there being no way
 +to add an "-*- rmail-*-" cookie to an mbox file).  Use C-u M-x rmail
 +instead.
 +
 +If you have written any extensions to Rmail, they are likely to need
 +updating.  Conceptually, the Rmail buffer that you see is no longer
 +just a narrowed portion of the whole.  So you cannot access the whole
 +of a message (or message collection) by a simple save-restriction and
 +widen.  Instead, there are two buffers: the rmail-buffer, and the
 +rmail-view-buffer.  The former is the buffer that you see, the latter
 +is invisible.  Most of the time, the invisible `view' buffer contains
 +the full contents of the Rmail file, and the Rmail buffer contains a
 +decoded copy of the current message (with only a subset of the
 +headers).  In this state, Rmail is said to be `swapped'.
 +
 +You may find the following functions useful:
 +
 +`rmail-get-header' and `rmail-set-header' get or set the value of a
 +message header, whether or not it is currently visible.
 +
 +`rmail-apply-in-message' is a general purpose function that calls a
 +function (with arguments) which you specify on the full text of a given
 +message.  To further narrow to just the headers, search forward for "\n\n".
 +
 +*** The new command `rmail-mime' displays MIME messages.
 +It is bound to `v' in Rmail buffers and summaries.  It displays plain
 +text and multipart messages in a temporary buffer, and offers buttons
 +to save attachments.
 +
 +*** The command `rmail-redecode-body' no longer accepts the optional arg RAW.
 +Since Rmail now holds messages in their original undecoded form in a
 +separate buffer, `rmail-redecode-body' no longer encodes the original
 +message, and therefore there should be no need to avoid encoding it.
 +
 +*** The o command is now `rmail-output'.  It is an all-purpose command
 +for copying messages from Rmail and appending them to files.  It
 +handles Babyl-format files as well as mbox-format files, and it
 +handles both kinds properly when they are visited in Emacs.  It always
 +copies the full headers of the message.
 +
 +*** The C-o command is now `rmail-output-as-seen'.  It uses
 +the message as displayed, appending it to an mbox file.
 +
 +*** The modified status of the Rmail buffer is reported in the mode-line.
 +Previously, this information was hidden.
 +
 +** TeX modes
 +
 +*** New option latex-indent-within-escaped-parens
 +permits to customize indentation of LaTeX environments delimited
 +by escaped parens.
 +
 +** T-mouse Mode
 +
 +*** If the gpm mouse server is running and t-mouse-mode is enabled,
 +Emacs uses a Unix socket in a GNU/Linux console to talk to server,
 +rather than faking events using the client program mev.  This C level
 +approach provides mouse highlighting and help echoing in the
 +minibuffer.
 +
 +** Tramp
 +
 +*** New connection methods.
 +The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have
 +been introduced.  There are also new so-called gateway methods
 +"tunnel" and "socks".
 +
 +*** IPv6 addresses.
 +IPv6 addresses are supported now as host names.  They must be embedded
 +in square brackets, like in "/ssh:[::1]:".
 +
 +*** Multihop syntax has been removed.
 +The pseudo-method "multi" has been removed.  Instead, multi hops
 +can be specified by the new variable `tramp-default-proxies-alist'.
 +
 +*** More default settings.
 +Default values can be set via the variables `tramp-default-user',
 +`tramp-default-user-alist' and `tramp-default-host'.
 +
 +*** Connection information is cached.
 +In order to reduce connection setup, information about used
 +connections is kept persistently in a file.  The name of this file is
 +defined in the variable `tramp-persistency-file-name'.
 +
 +*** Control of remote processes.
 +Running processes on a remote host can be controlled by settings in
 +`tramp-remote-path' and `tramp-remote-process-environment'.
 +
 +*** Success of remote copy is checked.
 +When the variable `file-precious-flag' is set, the success of a remote
 +file copy is checked via the file's checksum.
 +
 +*** Passwords can be read from an authentification file.
 +Tramp uses the package `auth-source' to read passwords from a file, if
 +necessary.
 +
 +** VC and related modes
 +
 +*** VC now supports applying VC operations to a set of files at a time.
 +This enables VC to work much more effectively with changeset-oriented
 +version-control systems such as Subversion, GNU Arch, Mercurial, Git
 +and Bzr.  VC will now pass a multiple-file commit to these systems as
 +a single changeset.
 +
 +*** vc-dir is a new command that displays file names and their VC
 +status.  It allows to apply various VC operations to a file, a
 +directory or a set of files/directories.
 +
 +*** VC switches are no longer appended, rather the first non-nil value is used.
 +(This was for the most part true in Emacs 22, but was not advertised).
 +This is because there is an increasing variety of VC systems, and they
 +do not all accept the same "common" options.  For example, a CVS diff
 +command used to append the values of `vc-cvs-diff-switches',
 +`vc-diff-switches', and `diff-switches'.  Now the first non-nil value
 +from that sequence is used.  The special value `t' means "no switches".
 +
 +*** Clicking on the VC mode-line entry now pops the VC menu.
 +
 +*** The VC mode-line entry now has a tooltip that explains the VC file status.
 +
 +*** In VC Annotate mode, the key bindings have changed to use lower
 +case keys instead of the upper case keys used in the past.
 +
 +*** In VC Annotate mode, for VC systems that support changesets, you can
 +see the diff for the whole changeset (not only for the current file)
 +by typing the D key.  Using the "Show changeset diff of revision at
 +line" menu entry does the same thing.
 +
 +*** In VC Annotate mode, you can type v to toggle the annotation visibility.
 +
 +*** In VC Annotate mode, you can type f to show the file revision on
 +the current line.
 +
 +*** Asynchronous VC commands display [Waiting...] in the mode-line
 +of the corresponding buffer as long as the asynchronous process is
 +active.
 +
 +*** Log entries can be modified using the key "e" in log-view.
 +For now only CVS, RCS, SCCS and SVN support this functionality.
 +This is done by the `modify-change-comment' backend function.
 +
 +*** In log-view-mode, for VC systems that support changesets, you can
 +see the diff for the whole changeset (not only for the current file)
 +by typing the D key or using the "Changeset Diff" menu entry.
 +
 +*** In Log Edit mode,  C-c C-d now shows the diff for the files involved.
 +
 +*** vc-git supports the "git grep" command.
 +
 +*** VC Support for Meta-CVS has been removed for lack of a maintainer able
 +to update it to the new VC.
 +
 +** Miscellaneous
 +
 +*** comint-mode uses `start-file-process' now (see Lisp Changes).
 +If `default-directory' is a remote file name, subprocesses are started
 +on the corresponding remote system.
 +
 +*** Eldoc highlights the function argument under point
 +with the face `eldoc-highlight-function-argument'.
 +
 +*** In Etags, the --members option is now the default.
 +Use --no-members if you want the old default behavior of not tagging
 +struct members in C, members variables in C++ and variables in PHP.
 +
 +*** The `gdb' command only works with the graphical interface now.
 +Use `gud-gdb' if you want the (old) text command mode.
 +
 +*** goto-address.el provides two new minor modes, goto-address-mode and
 +goto-address-prog-mode, which buttonize URLS and email addresses.
 +
 +*** The new command `eshell/info' runs info in an eshell buffer.
 +
 +*** The new variable `ffap-rfc-directories' specifies a list of local
 +directories in which `ffap-rfc' will first search for RFCs.
 +
 +*** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them.
 +See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'.
 +
 +*** `icomplete-prospects-height' now supersedes `icomplete-prospects-length'.
 +
 +*** Info displays breadcrumbs in the header of the page.
 +See Info-breadcrumbs-depth to control it.
 +
 +*** net-utils has an `iwconfig' command, similar to the existing `ifconfig'.
 +It is used to configure wireless interfaces.
 +
 +*** The pcmpl-unix package supports hostname completion for ssh and scp.
 +
 +*** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs.
 +
 +*** smerge-refine highlights word-level details of changes in conflict.
 +It's used automatically as you move through conflicts, see
 +smerge-auto-refine-mode.
 +
 +*** talk.el has been extended for multiple tty support.
 +
 +*** A new command `display-time-world' has been added to the Time
 +package.  It creates a buffer with an updating time display using
 +several time zones.
 +
 +*** The appearance of superscript and subscript in TeX is more customizable.
 +See the documentation of the variables: tex-fontify-script,
 +tex-font-script-display, tex-suscript-height-ratio, and
 +tex-suscript-height-minimum.
 +
 +*** view-remove-frame-by-deleting is now by default t
 +since users found iconification of view-mode frames distracting.
 +
 +*** WoMan tries to add locale-specific manual page directories to the
 +search path.  This can be disabled by setting `woman-locale' to nil.
 +
 +\f
 +* Changes in Emacs 23.1 on non-free operating systems
 +
 +** Case is now considered significant in completion on MS-Windows.
 +The default value of `completion-ignore-case' is now nil on
 +MS-Windows, the same as it is for other operating systems.  The
 +variable doesn't apply to reading a file name -- in that case Emacs
 +heeds `read-file-name-completion-ignore-case' instead.
 +
 +** IPv6 is supported on MS-Windows.
 +Emacs now supports IPv6 on Windows XP and later, and earlier versions
 +of Windows with third party IPv6 stacks installed.  In Emacs 22, IPv6 was
 +supported on other platforms, but not on Windows due to using the winsock
 +1.1 header file, even though Emacs was linking to the winsock 2 library.
 +
 +** Busy cursor (hourglass) now displays on MS-Windows.
 +When Emacs is busy, an hourglass mouse cursor is displayed on Windows.
 +In Emacs 22 only X supported the busy cursor.
 +
 +** Battery status is available on MS-Windows
 +Emacs can now display the battery status in the mode-line when enabled with
 +display-battery-mode or from the Options menu.  More verbose battery
 +information is also available with the command `battery'.  In Emacs 22
 +battery status was supported only on GNU/Linux and Mac.
 +
 +** More keys available on MS-Windows.
 +Keys normally associated with IMEs, and some exotic keys not normally found
 +on standard keyboards have been given names so they can be bound to functions
 +inside Emacs.  If there are keys on your keyboard that have not been exposed
 +to Emacs in the past, try C-h k to see if they are available now.
 +
 +Emacs can now bind functions to the extra buttons for media player and
 +browser control present on some keyboards.  These buttons are disabled
 +by default, since enabling them prevents their system-wide use when
 +Emacs has focus.  To enable them, set the variable
 +w32-pass-multimedia-buttons to nil.  See the doc string of that variable
 +for the list of extra keys that are available.
 +
 +** BDF fonts no longer supported on MS-Windows.
 +The font backend was completely rewritten for this release.  The focus
 +on Windows has been getting acceptable performance and full unicode
 +support, including complex script shaping for native Windows fonts.  A
 +rewrite of the BDF font support has not happened due to lack of time
 +and developers.  If demand still exists for such a backend even with
 +the improved language support for native Windows fonts, future
 +development in this direction will most likely be based on the
 +freetype library, giving access to a wider range of font formats.
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 23.1
 +
 +** Variables cannot be both buffer-local and frame-local any more.
 +
 +** `functionp' returns nil for special forms.
 +I.e., it only returns t for objects that can be passed to `funcall'.
 +
 +** The behavior of map-char-table has changed.  It may call the
 +specified function with a cons (FROM . TO) as a key if characters in
 +that range have the same value.
 +
 +** Process changes
 +
 +*** The function `dired-call-process' has been removed.
 +
 +*** The multibyteness of process filters is now determined by the
 +coding-system used for decoding.  The functions
 +`process-filter-multibyte-p' and `set-process-filter-multibyte' are
 +obsolete.
 +
 +** The variable `byte-compile-warnings' can now be a list starting with `not',
 +meaning to disable the specified warnings.  The meaning of this list
 +may therefore be the reverse of what you expect (of course, this is
 +only an issue if you make use of the new `not' syntax).  Rather than
 +checking/manipulating elements directly, use the new functions
 +`byte-compile-warning-enabled-p', `byte-compile-disable-warning', and
 +`byte-compile-enable-warning.'
 +
 +** `mode-name' is no longer guaranteed to be a string.
 +Use `(format-mode-line mode-name)' to ensure a string value.
 +
 +** The function x-font-family-list has been removed.
 +Use the new function font-family-list (see Lisp Changes, below).
 +
 +** Internationalization changes
 +
 +*** The value of the function `charset-id' is now always 0.
 +
 +*** The functions `register-char-codings' and `coding-system-spec'
 +have been removed.
 +
 +*** The cpXXX coding systems are now supported automatically.
 +The functions cp-...-codepage, which you had to use in Emacs 22 to
 +enable support for these coding systems, have been deleted.
 +
 +*** The following features have been removed.  They were used for
 +displaying various scripts with specific fonts, and are no longer
 +needed now that OpenType font support is available:
 +
 +**** `devanagari' and `devan-util', and all associated devanagari-* and
 +dev-* functions and variables (formerly used for Devanagari script).
 +
 +**** `kannada' and `knd-util', and all associated kannada-* and knd-*
 +functions and variables (formerly used for Kannada script).
 +
 +**** `malayalam' and `mlm-util', and all associated malayalam-* and
 +mlm-* functions and variables (formerly used for Malayalam script).
 +
 +**** `tamil' and `tml-util, and all associated tamil-* and tml-*
 +functions and variables (formerly used for Tamil script).
 +
 +*** The meaning of NAME argument of `set-fontset-font' is changed.
 +Previously nil is accepted as the default fontset.  Now, nil is for
 +the fontset of the selected frame and t is for the default fontset.
 +
 +*** The meaning of FONTSET argument of `print-fontset' is changed.
 +Now, nil is for the fontset of the selected frame and t is for the
 +default fontset.
 +
 +** If a function in write-region-annotate-functions returns with a
 +different buffer current, Emacs no longer kills that buffer
 +automatically.  This behavior existed in previous versions of Emacs,
 +but was undocumented.  To kill a buffer after write-region, give the
 +variable `write-region-post-annotation-function' a buffer-local value
 +of `kill-buffer'.
 +
 +** The variable temp-file-name-pattern has been removed.
 +This variable was only used by call-process-region, which now uses
 +temporary-file-directory instead.
 +
 +** The COUNT and SYSTEM-FLAG arguments to define-abbrev have been
 +removed.  The function now takes extra arguments for specifying
 +arbitrary abbrev properties.
 +
 +** end-of-defun-function is now guaranteed to work only when called
 +from the start of a defun.  It must now leave point exactly at the end
 +of defun, since `end-of-defun' now itself moves forward over
 +whitespace after calling it.
 +
 +\f
 +* Lisp Changes in Emacs 23.1
 +
 +** The new variable `generate-autoload-cookie' controls the magic comment
 +string used by `update-file-autoloads' to find autoloaded forms.  The
 +variable `generated-autoload-file' similarly controls the name of the
 +file where `update-file-autoloads' writes the calls to `autoload'.
 +The default values are ";;;###autoload" and `loaddefs.el',
 +respectively.
 +
 +** New primitives `list-system-processes' and `process-attributes'
 +let Lisp programs access the processes that are running on the local
 +machine.  See the doc strings of these functions for more details.
 +Not all platforms support accessing this information; on those that
 +don't, these primitives will return nil.
 +
 +** New variable `user-emacs-directory'.
 +Use this instead of "~/.emacs.d".
 +
 +** If a local hook function has a non-nil `permanent-local-hook'
 +property, `kill-all-local-variables' does not remove it from the local
 +value of the hook variable; it remains even if you change major modes.
 +
 +** `frame-inherited-parameters' lets new frames inherit parameters from
 +the selected frame.
 +
 +** New keymap `input-decode-map' overrides like key-translation-map, but
 +applies before function-key-map.  Also it is terminal-local contrary to
 +key-translation-map.  Terminal-specific key-sequences are generally added to
 +this map rather than to function-key-map now.
 +
 +** `ignore-errors' is now a standard macro (does not require the CL package).
 +
 +** `interprogram-paste-function' can now return one string or a list
 +of strings.  In the latter case, Emacs puts the second and following
 +strings on the kill ring.
 +
 +** In `condition-case', a handler can specify "let the debugger run first".
 +You do this by writing `debug' in the list of conditions to be handled,
 +like this:
 +
 +    (condition-case nil
 +      (foo bar)
 +      ((debug error) nil))
 +
 +** clone-indirect-buffer now runs the clone-indirect-buffer-hook.
 +
 +** `beginning-of-defun-function' now takes one argument, the count given to
 +`beginning-of-defun'.  (N.B. `end-of-defun-function' doesn't take any
 +arguments.)
 +
 +** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED.
 +IDENTIFICATION specifies which part of the remote identifier has to be
 +returned.  With CONNECTED passed non-nil, it is checked whether a
 +remote connection has been established already.
 +
 +** The new macro `declare-function' suppresses compiler warnings about
 +undefined functions.
 +
 +** Changes to interactive function handling
 +
 +*** The new interactive spec code ^ says to first call
 +handle-shift-selection if shift-select-mode is non-nil, before reading
 +the command arguments.  This is used for shift-selection (see above).
 +
 +*** Built-in functions can now have an interactive specification that
 +is not a prompt string.  If the `intspec' parameter of a `DEFUN'
 +starts with a `(', the string is evaluated as a Lisp form.
 +
 +*** The interactive-form of a function can be added post-facto via the
 +`interactive-form' symbol property.  Mostly useful to add complex
 +interactive forms to subroutines.
 +
 +** Region changes
 +
 +*** Commands should use `use-region-p' to test whether there is
 +an active region that they should operate on.
 +
 +*** `region-active-p' returns non-nil when Transient Mark mode is
 +enabled and the mark is active.  Most commands that act specially on
 +the active region in Transient Mark mode should use `use-region-p'
 +instead of `region-active-p', because `use-region-p' obeys the new
 +user option `use-empty-active-region' (see Editing Changes, above).
 +
 +*** If a command sets `transient-mark-mode' to (only . OLDVAL), that
 +means to activate transient-mark-mode temporarily, until the next
 +unshifted point motion command or mark deactivation.  Afterwards,
 +reset transient-mark-mode to the value OLDVAL.  The values `only' and
 +`identity', introduced in Emacs 22, are now deprecated.
 +
 +** Emacs session information
 +
 +*** The new variables `before-init-time' and `after-init-time' record the
 +value of `current-time' before and after Emacs loads the init files.
 +
 +*** The new function `emacs-uptime' returns the uptime of an Emacs instance.
 +
 +*** The new function `emacs-init-time' returns the duration of the
 +Emacs initialization.
 +
 +** Changes affecting display-buffer
 +
 +*** display-buffer tries to be smarter when splitting windows.
 +The new option split-window-preferred-function lets you specify your own
 +function to pop up new windows.  Its default value split-window-sensibly
 +can split a window either vertically or horizontally, whichever seems
 +more suitable in the current configuration.  You can tune the behavior
 +of split-window-sensibly by customizing split-height-threshold and the
 +new option split-width-threshold.  Both options now take the value nil
 +to inhibit splitting in one direction.  Setting split-width-threshold to
 +nil inhibits horizontal splitting and gets you the behavior of Emacs 22
 +in this respect.  In any case, display-buffer may now split the largest
 +window vertically even when it is not as wide as the containing frame.
 +
 +*** If pop-up-frames has the value `graphic-only', display-buffer only
 +makes a separate frame on graphic displays.
 +
 +*** select-frame and set-frame-selected-window have a new optional
 +argument NORECORD.  If non-nil, this will avoid messing with the order
 +of recently selected windows and the buffer list.
 +
 +** Window parameters can now be defined.
 +These are analogous to frame parameters, but are associated with
 +individual windows.
 +
 +*** The new functions window-parameters, window-parameter, and
 +set-window-parameter are used to query and set window parameters.
 +
 +** Minibuffer and completion changes
 +
 +*** A list of default values can be specified for the DEFAULT argument of
 +functions `read-from-minibuffer', `read-string', `read-command',
 +`read-variable', `read-buffer', `completing-read'.  Elements of this list
 +are available for inserting into the minibuffer by typing `M-n'.
 +For empty input these functions return the first element of this list.
 +
 +*** New function `read-regexp' uses the regexp history and some useful
 +regexp defaults (string at point, last Isearch/replacement regexp/string)
 +via M-n when reading a regexp in the minibuffer.
 +
 +*** minibuffer-local-must-match-filename-map is now named
 +minibuffer-local-filename-must-match-map.
 +
 +*** The `require-match' argument to `completing-read' accepts the new
 +values `confirm-only' and `confirm-after-completion'.
 +
 +** Search and replacement changes
 +
 +*** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly.
 +
 +*** New function `match-substitute-replacement' returns the result of
 +`replace-match' without actually using it in the buffer.
 +
 +*** The new variable `replace-search-function' determines the function
 +to use for searching in query-replace and replace-string.  The
 +function it specifies is called by `perform-replace' when its 4th
 +argument is nil.
 +
 +*** The new variable `replace-re-search-function' determines the
 +function to use for searching in `query-replace-regexp',
 +`replace-regexp', `query-replace-regexp-eval', and
 +`map-query-replace-regexp'.  The function it specifies is called by
 +`perform-replace' when its 4th argument is non-nil.
 +
 +*** New keymap `search-map' bound to `M-s' provides global bindings
 +for search related commands.
 +
 +*** New keymap `multi-query-replace-map' contains additonal keys bound
 +to `automatic-all' and `exit-current' for multi-buffer interactive replacement.
 +
 +*** The variable `inhibit-changing-match-data', if non-nil, prevents
 +the search and match primitives from changing the match data.
 +
 +*** New functions `word-search-forward-lax' and `word-search-backward-lax'.
 +These are like `word-search-forward and `word-search-backward', except
 +that the end of the search string need not match a word boundary,
 +unless it ends in whitespace.
 +
 +** File handling changes
 +
 +*** set-file-modes is now interactive and can take the mode value in
 +symbolic notation thanks to auxiliary functions.
 +
 +*** file-local-variables-alist stores an alist of file-local
 +variables defined in the current buffer.
 +
 +** Face-remapping
 +
 +*** Each face can be remapped to a different face definition using the
 +variable `face-remapping-alist'.  This is an alist that maps faces to
 +replacement definitions (which can be face names, lists of face names,
 +or attribute/value plists.  If this variable is buffer-local, the
 +remapping occurs only in that buffer.
 +
 +*** text-scale-mode remaps the default face to a larger or smaller
 +size in the current buffer.  This feature is used by the Buffer Face
 +menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see
 +Editing Changes, above).
 +
 +*** New functions:
 +
 +**** `face-remap-add-relative' adds a face remapping entry to the
 +current buffer.
 +
 +**** ``face-remap-remove-relative' removes a face remapping entry from
 +the current buffer.
 +
 +**** `face-remap-reset-base' restores a face to its global definition.
 +
 +**** `face-remap-set-base' sets the base remapping of a face.
 +
 +** Process changes
 +
 +*** The new function `start-file-process' is similar to `start-process',
 +but obeys file handlers.  The file handler is chosen based on
 +`default-directory'.  The functions `start-file-process-shell-command'
 +and `process-file-shell-command' are also new; they call internally
 +`start-file-process' and `process-file', respectively.
 +
 +*** The new function `process-lines' executes an external program and
 +returns its output as a list of lines.
 +
 +** Character code, representation, and charset changes.
 +
 +*** In multibyte buffers and strings, characters are represented by
 +UTF-8 byte sequences.  The character code space is now 0x0..0x3FFFFF
 +with no gap; code points 0x0..0x10FFFF are Unicode characters of the
 +same code points, while code points 0x3FFF80..0x3FFFFF are raw 8-bit
 +bytes.
 +
 +*** Generic characters no longer exist.
 +
 +*** The concept of a charset has changed.  A single character may
 +belong to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets
 +unicode, iso-8859-1, iso-8859-3, etc).
 +
 +**** The dimension of a charset is now 1, 2, 3, or 4, and the size of
 +each dimension is no longer limited to 94 or 96.
 +
 +**** A dynamic charset priority list is used to infer the charset of
 +characters for display.
 +
 +*** The functions `split-char' and `make-char' now accept up to 4
 +positional codes instead of just 2.
 +
 +*** The functions `encode-char' and `decode-char' now accept any character sets.
 +
 +*** The function `define-charset' now accepts a completely different
 +form of arguments (old-style arguments still work).
 +
 +*** The value of the function `char-charset' depends on the current
 +priorities of charsets.
 +
 +*** The function get-char-code-property now accepts many Unicode base
 +character properties.  They are `name', `general-category',
 +`canonical-combining-class', `bidi-class', `decomposition',
 +`decimal-digit-value', `digit-value', `numeric-value', `mirrored',
 +`old-name', `iso-10646-comment', `uppercase', `lowercase', and
 +`titlecase'.
 +
 +*** The functions `modify-syntax-entry' and `modify-category-entry' now
 +accept a cons of characters as the first argument, and modify all
 +entries in that range of characters.
 +
 +*** Use of `translation-table-for-input' for character code unification
 +is now obsolete, since Emacs 23.1 and later uses Unicode as basis for
 +internal representation of characters.
 +
 +*** New functions:
 +
 +**** `characterp' returns t if and only if the argument is a character.
 +This replaces `char-valid-p', which is now obsolete.
 +
 +**** `max-char' returns the maximum character code (currently #x3FFFFF).
 +
 +**** `define-charset-alias' defines an alias of a charset.
 +
 +**** `set-charset-priority' sets priorities of charsets.
 +
 +**** `charset-priority-list' returns a prioritized list of charsets.
 +
 +**** `unibyte-string' makes a unibyte string from bytes.
 +
 +**** `define-char-code-property' defines a character code property.
 +
 +**** `char-code-property-description' returns the description string of
 +a character code property.
 +
 +*** New variables:
 +
 +**** `find-word-boundary-function-table' is a char-table of functions to
 +search for a word boundary.
 +
 +**** `char-script-table' is a char-table of script names.
 +
 +**** `char-width-table' is a char-table of character widths.
 +
 +**** `print-charset-text-property' controls how to handle `charset' text
 +property on printing a string.
 +
 +**** `printable-chars' is a char-table of printable characters.
 +
 +** Code conversion changes
 +
 +*** The new function `define-coding-system' should be used to define a
 +coding system instead of `make-coding-system' (which is now obsolete).
 +
 +*** The functions `encode-coding-region' and `decode-coding-region'
 +have an optional 4th argument to specify where the result of
 +conversion should go.
 +
 +*** The functions `encode-coding-string' and `decode-coding-string'
 +have an optional 4th argument specifying a buffer to store the result
 +of conversion.
 +
 +*** The new variable `inhibit-null-byte-detection' controls whether to
 +consider text with null bytes as binary data.  By default, it is
 +`nil', and Emacs uses `no-conversion' for any text containing null
 +bytes.
 +
 +*** The functions `set-coding-priority' and `make-coding-system' are obsolete.
 +
 +*** New functions:
 +
 +**** `with-coding-priority' executes Lisp code using the specified
 +coding system priority order.
 +
 +**** `check-coding-systems-region' checks if the text in the region is
 +encodable by the specified coding systems.
 +
 +**** `coding-system-aliases' returns a list of aliases of a coding system.
 +
 +**** `coding-system-charset-list' returns a list of charsets supported
 +by a coding system.
 +
 +**** `coding-system-priority-list' returns a list of coding systems
 +ordered by their priorities.
 +
 +**** `set-coding-system-priority' sets priorities of coding systems.
 +
 +**** `coding-system-from-name' returns a coding system matching with
 +the argument name.
 +
 +** There is a new input method, Robin, different from Quail.
 +It has three functionalities:
 + i) a simple input method (converts an ASCII sequence into a string).
 +ii) converts an existing buffer substring into another string
 +iii) reverse conversion (each character produced by a
 +robin rule can hold the original ASCII sequence as a char-code-property)
 +
 +*** The new function `robin-define-package' defines a Robin package.
 +
 +*** The new function `robin-modify-package' modifies an existing Robin package.
 +
 +*** The new function `robin-use-package' starts using a Robin package
 +as an input method.
 +
 +*** The new function `string-to-unibyte' is like `string-as-unibyte'
 +but signals an error if STRING contains a non-ASCII, non-eight-bit
 +character.
 +
 +** Changes related to the new font backend
 +
 +*** Which font backends to use can be specified by the X resource
 +"FontBackend".  For instance, to use both X core fonts and Xft fonts:
 +
 +Emacs.FontBackend: x,xft
 +
 +If this resource is not set, Emacs tries to use all font backends
 +available on your graphic device.
 +
 +*** New frame parameter `font-backend' specifies a list of
 +font-backends supported by the frame's graphic device.  On X, they are
 +currently `x' and `xft'.
 +
 +*** The function `set-fontset-font' now accepts a script name as the
 +second argument, and has an optional 5th argument to control how to
 +set the font.
 +
 +*** New functions:
 +
 +**** `fontp' checks if the argument is a font-spec or font-entity.
 +
 +**** `font-spec' creates a new font-spec object.
 +
 +**** `font-get' returns a font property value.
 +
 +**** `font-put' sets a font property value.
 +
 +**** `font-face-attributes' returns a plist of face attributes set by a font.
 +
 +**** `list-fonts' returns a list of font-entities matching a font spec.
 +
 +**** `find-font' returns the font-entity best matching the given font spec.
 +
 +**** `font-family-list' returns a list of family names of available fonts.
 +
 +**** `font-xlfd-name' returns an XLFD name of a given font spec, font
 +entity, or font object.
 +
 +**** `clear-font-cache' clears all font caches.
 +
 +** Changes related to multiple-terminal (multi-tty) support
 +
 +*** $TERM is now set to `dumb' for subprocesses.  If you want to know the
 +$TERM inherited by Emacs you will have to look inside initial-environment.
 +
 +*** $DISPLAY is now dynamically inherited from the frame's `display'.
 +
 +*** The `window-system' variable is now frame-local.  The new
 +`initial-window-system' variable contains the `window-system' value
 +for the first frame.  `window-system' is also now a function that
 +takes a frame argument.
 +
 +*** The `keyboard-translate-table' variable and the terminal and
 +keyboard coding systems are now terminal-local.
 +
 +*** You can specify a terminal device (`tty' parameter) and a terminal
 +type (`tty-type' parameter) to `make-terminal-frame'.
 +
 +*** The function `make-frame-on-display' now works during a tty
 +session.
 +
 +*** A new `terminal' data type.
 +The functions `get-device-terminal', `terminal-parameters',
 +`terminal-parameter', `set-terminal-parameter' use this data type.
 +
 +*** Function key sequences are now mapped using `local-function-key-map',
 +a new variable.  This inherits from the global variable function-key-map,
 +which is not used directly any more.
 +
 +*** New hooks:
 +
 +**** before-hack-local-variables-hook is called after setting new
 +variable file-local-variables-alist, and before actually applying the
 +file-local variables.
 +
 +**** `suspend-tty-functions' and `resume-tty-functions' are called
 +after a tty frame has been suspended or resumed, respectively.  The
 +functions are called with the terminal id of the frame being
 +suspended/resumed as a parameter.
 +
 +**** The special hook `delete-terminal-functions' is called before
 +deleting a terminal.
 +
 +*** New functions:
 +
 +**** `delete-terminal'
 +
 +**** `suspend-tty'
 +
 +**** `resume-tty'.
 +
 +*** `initial-environment' holds the environment inherited from Emacs's parent.
 +
 +** Redisplay changes
 +
 +*** For underlined characters, the distance between the underline and
 +the baseline is controlled by a new variable, `underline-minimum-offset'.
 +
 +*** You can now pass the value of the `invisible' property to
 +invisible-p to check whether it would cause the text to be invisible.
 +This is convenient when checking invisibility of text with no buffer
 +position (e.g. in before/after-strings).
 +
 +*** `clear-image-cache' can be told to flush only images of a specific file.
 +
 +*** `vertical-motion' can now be given a goal column.
 +It now accepts a cons cell (COLS . LINES) in its first argument, which
 +says to stop, where possible, at a pixel x-position equal to COLS
 +times the default column width.
 +
 +*** redisplay-end-trigger-functions, set-window-redisplay-end-trigger,
 +and window-redisplay-end-trigger are obsolete.  Use `jit-lock-register'
 +instead.
 +
 +*** The new variables `wrap-prefix' and `line-prefix' specify display
 +specs which are appended at display-time to every continuation line
 +and non-continuation line, respectively.  In addition, Emacs
 +recognizes the `wrap-prefix' and `line-prefix' text or overlay
 +properties; these have the same effects as the variables of the same
 +name, but take precedence.
 +
 +** The Lisp interpreter now treats non-breaking space as whitespace.
 +
 +** Miscellaneous new functions
 +
 +*** `apply-partially' performs a "curried" application of a function.
 +
 +*** `buffer-swap-text' swaps text between two buffers.  This can be
 +useful for modes such as tar-mode, archive-mode, RMAIL.
 +
 +*** `combine-and-quote-strings' produces a single string from a list of strings
 +sticking a separator string in between each pair, and quoting those
 +strings that include the separator as their substring.  Useful for
 +consing shell command lines from the individual arguments.
 +
 +*** `custom-note-var-changed' tells Custom to treat the change in a
 +certain variable as having been made within Custom.
 +
 +*** `face-all-attributes' returns an alist describing all the basic
 +attributes of a given face.
 +
 +*** `format-seconds' converts a number of seconds into a readable
 +string of days, hours, etc.
 +
 +*** `image-refresh' refreshes all images associated with a given image
 +specification.
 +
 +*** `locate-user-emacs-file' helps packages to select the appropriate
 +place to save user-specific files.  It defaults to `user-emacs-directory'
 +unless the file already exists at $HOME.
 +
 +*** `read-color' reads a color name using the minibuffer.
 +
 +*** `read-shell-command' does what its name says, with completion.  It
 +uses the minibuffer-local-shell-command-map for that.
 +
 +*** `split-string-and-unquote' splits a string into a list of substrings
 +on the boundaries of a given delimiter, and unquotes the substrings that
 +are quoted.  Useful for taking apart shell commands.
 +
 +*** The two new functions `looking-at-p' and `string-match-p' can do
 +the same matching as `looking-at' and `string-match' without changing
 +the match data.
 +
 +*** The two new functions `make-serial-process' and
 +`serial-process-configure' provide a Lisp interface to the new serial
 +port support (see Emacs changes, above).
 +
 +** Miscellaneous new variables
 +
 +*** `auto-save-include-big-deletions', if non-nil, means auto-save is
 +not turned off automatically after a big deletion.
 +
 +*** `read-circle', if nil, disables the reading of recursive Lisp
 +structures using the #N= and #N# syntax.
 +
 +*** `this-command-keys-shift-translated' is non-nil if the key
 +sequence invoking the current command was found by shift-translation.
 +
 +*** `window-point-insertion-type' determines the insertion-type of the
 +marker used for window-point.
 +
 +*** bookmark provides `bookmark-make-record-function' so special major
 +modes like Info can teach bookmark.el how to save and restore the
 +relevant data.
 +
 +*** `fill-forward-paragraph-function' specifies which function the
 +filling code should use to find paragraph boundaries.
 +
 +\f
 +* New Packages for Lisp Programming in Emacs 23.1
 +
 +** The new package avl-tree.el deals with the AVL tree data structure.
 +
 +** The new package check-declare.el verifies the accuracy of
 +declare-function macros (see Lisp Changes, above).
 +
 +** find-cmd.el can build `find' commands using lisp syntax.
 +
 +** The package misearch.el has been added.  It allows Isearch to search
 +through multiple buffers.  A variable `multi-isearch-next-buffer-function'
 +defines the function to call to get the next buffer to search in the series
 +of multiple buffers.  Top-level functions `multi-isearch-buffers',
 +`multi-isearch-buffers-regexp', `multi-isearch-files' and
 +`multi-isearch-files-regexp' accept a single argument that specifies
 +a list of buffers/files to search for a string/regexp.
 +
 +** The new major mode `special-mode' is intended as a parent for
 +major modes such as those that set the "'mode-class 'special" property.
 +
 +\f
 +----------------------------------------------------------------------
 +This file is part of GNU Emacs.
 +
 +GNU Emacs is free software: you can redistribute it and/or modify
 +it under the terms of the GNU General Public License as published by
 +the Free Software Foundation, either version 3 of the License, or
 +(at your option) any later version.
 +
 +GNU Emacs is distributed in the hope that it will be useful,
 +but WITHOUT ANY WARRANTY; without even the implied warranty of
 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +GNU General Public License for more details.
 +
 +You should have received a copy of the GNU General Public License
 +along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 +
 +\f
 +Local variables:
 +mode: outline
 +paragraph-separate: "[        \f]*$"
 +end:
 +
diff --combined lisp/ChangeLog
index d93dd27477a8f74ac9672a9061403081a11b7972,9cab908cdae810b4f8fa48954217e15a97aa76b1..551e12f94baf27fbade9dd5a9fb2b5c7e3d735ca
 -2011-04-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Backport revno:103823 and revno:103824 from trunk.
 -      * help-fns.el (describe-variable): Complete all variables having
 -      documentation, including keywords.
 -      http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
 -
+ 2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
+       * vc-annotate.el (vc-annotate-show-log-revision-at-line):
+       Fix typo in docstring.
 -2011-03-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emerge.el (emerge-metachars): Separate value for ms-dos and
 -      windows-nt systems.
 -      (emerge-protect-metachars): Quote correctly for ms-dos and
 -      windows-nt systems.
 -
 -2011-03-15  Ralph Schleicher  <rs@ralph-schleicher.de>
 -
 -      * info.el (info-initialize): Replace all uses of `:' with
 -      path-separator for compatibility with non-Unix systems.
 -      Cache quoting of path-separator.  (Bug#8258)
 -
 -2011-03-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
 -      (mouse-avoidance-threshold, mouse-avoidance-banish-destination)
 -      (mouse-avoidance-mode): Fix typos in docstrings.
 -
 -2011-03-12  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-progress-reporter-update): Use
 -      `tramp-compat-funcall'.
 -      (tramp-handle-start-file-process): Use `tramp-compat-process-get'.
 -      (tramp-handle-insert-file-contents): Make `file-remote-p' call
 -      compatible.
 -      (tramp-open-connection-setup-interactive-shell): Use
 -      `tramp-compat-process-put'.
 -
 -      * net/tramp-compat.el (tramp-compat-process-get)
 -      (tramp-compat-process-put): New defuns.
 -
 -      * net/trampver.el: Update release number.
 -
 -2011-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
 -      into declaration.  Remove redundant and harmful binding.
 -
 -2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Backport revno:103463 from trunk.
 -      * emacs-lisp/cl-macs.el (lexical-let*): Fix argument name in docstring.
 -
 -      Backport revno:103622 from trunk.
 -      * help-fns.el (describe-variable): Don't complete keywords.
 -      Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
 -
 -2011-03-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * files.el (file-ownership-preserved-p): Pass `integer' as an
 -      explicit 2nd argument to `file-attributes'.  If the file's owner
 -      is the Administrators group on Windows, and the current user is
 -      Administrator, consider that a match.
 -
 -      * server.el (server-ensure-safe-dir): Consider server directory
 -      safe on MS-Windows if its owner is the Administrators group while
 -      the current Emacs user is Administrator.  Use `=' to compare
 -      numerical UIDs, since they could be integers or floats.
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.3 released.
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cc-cmds.el (c-beginning-of-statement): Fix 2011-01-31
 -      change; patch supplied by Alan Mackenzie was applied incorrectly.
 -
 -2011-02-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * international/mule-cmds.el (set-default-coding-systems): Use the
 -      -unix variant of encoding in default-keyboard-coding-system.
 -      (Bug#8122)
 -
 -2011-02-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an
 -      error when a multipart boundary in the nested multipart is found.
 -
 -2011-02-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmail.el (rmail-start-mail): Decode "encoded-words" of
 -      header components.
 -
 -2011-02-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-find-header-encoding): Be sure to
 -      get the header copy into the temporary buffer.
 -      (rmail-mime-insert-decoded-text): Ignore us-ascii.
 -      (rmail-show-mime): When rmail-mime-coding-system is nil, set
 -      buffer-file-coding-system to undecided.
 -
 -2011-02-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image-mode.el (image-toggle-display-image): Disable
 -      require-final-newline in buffers visiting binary image files.
 -      (Bug#8047)
 -
 -      * international/mule-cmds.el (read-char-by-name, ucs-insert):
 -      Document completion with asterisk and a substring.
 -
 -2011-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * files.el (find-file-literally): Doc fix.
 -
 -2011-02-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * simple.el (rfc822-goto-eoh): Give it a doc-string.
 -
 -      * log-edit.el (log-edit-insert-changelog):
 -      Fix `log-edit-strip-single-file-name' functionality.  (Bug#8057)
 -
 -2011-02-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * pgg-gpg.el (pgg-gpg-process-region): Bind
 -      delete-by-moving-to-trash to nil.
 -
 -      * pgg-pgp.el (pgg-pgp-process-region, pgg-pgp-verify-region)
 -      (pgg-pgp-snarf-keys-region):
 -      * pgg-pgp5.el (pgg-pgp5-process-region, pgg-pgp5-verify-region)
 -      (pgg-pgp5-snarf-keys-region): Likewise.
 -
 -2011-02-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): Revert to pre-2011-01-29 version.
 -
 -2011-02-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * epg.el (epg-delete-output-file, epg-decrypt-string)
 -      (epg-verify-string, epg-sign-string, epg-encrypt-string): Bind
 -      delete-by-moving-to-trash to nil.
 -
 -      * epa-file.el (epa-file-insert-file-contents): Likewise.
 -
 -2011-02-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-seq.el (union, nunion, intersection)
 -      (nintersection, set-difference, nset-difference)
 -      (set-exclusive-or, nset-exclusive-or): Doc fix.
 -
 -      * ediff-ptch.el (ediff-fixup-patch-map): Doc fix.
 -
 -2011-02-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * faces.el (face-attr-match-p): Handle the obsolete :bold and
 -      :italic props, so that frame-set-background-mode works.  (Bug#7966)
 -
 -2011-02-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * simple.el (next-error): Doc fix.
 -
 -2011-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -            Thierry Volpiatto <thierry.volpiatto@gmail.com>
 -
 -      * files.el (copy-directory): New arg COPY-AS-SUBDIR.  If nil,
 -      don't copy as a subdirectory.
 -
 -2011-02-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-macs.el (return-from): Fix doc typo.
 -
 -2011-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-font-lock-keywords):
 -      Tweak diary-time-regexp match.  (Bug#7891)
 -
 -      * progmodes/f90.el (f90-find-tag-default): New function.  (Bug#7919)
 -      (f90-mode): Use it for mode's `find-tag-default-function' property.
 -
 -2011-02-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * ibuf-ext.el (ibuffer-filter-disable): Make it work.  (Bug#7969)
 -
 -      * faces.el (set-face-attribute): Doc fix.  (Bug#2659)
 -
 -2011-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-here*): Backport fix for mistaken change
 -      (bug#7959) and (bug#5935).
 -
 -2011-01-31  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
 -
 -      * net/rcirc.el: Clean log filenames (Bug#7933).
 -      (rcirc-log-write): Use convert-standard-filename.
 -      (rcirc-log-filename-function): Documentation updates.
 -
 -2011-01-31  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-cmds.el (c-forward-over-illiterals):
 -      Continue parsing if we encounter a naked # (Bug#7595).
 -      (c-beginning-of-statement): Avoid loop in locating the beginning
 -      of a macro.
 -
 -2011-01-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): Fix arguments to recursive call.
 -
 -2011-01-29  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED):
 -      Don't presume KEYEXPIRED and KEYREVOKED to be a fatal error status
 -      (Bug#7931).
 -
 -2011-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): If destination is an existing
 -      directory, copy into a subdirectory there.
 -
 -2011-01-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * emacs-lisp/shadow.el (load-path-shadows-find): Ignore leim-list
 -      files.
 -
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image-dired.el (image-dired-mouse-display-image): No-op if no
 -      file is found (Bug#7817).
 -
 -      * mouse.el (mouse-menu-non-singleton): Doc fix (Bug#7801).
 -
 -2011-01-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/quail.el (quail-keyboard-layout-alist):
 -      Remove superfluous SPC for "pc105-uk" (bug#7927).
 -
 -2011-01-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * msb.el (msb-menu-bar-update-buffers): Update for changed
 -      argument handling of menu-bar-select-frame.  (Bug#7902)
 -
 -2011-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Set a limit
 -      to the recursion depth (Bug#7722).
 -
 -2011-01-26  Roy Liu  <carsomyr@gmail.com>  (tiny change)
 -
 -      * term/ns-win.el (ns-find-file): Expand ns-input-file with
 -      command-line-default-directory (Bug#7872).
 -
 -2011-01-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-mode): Doc fix.  (Bug#7897)
 -
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (file-name-non-special): Only change buffer-file-name after
 -      insert-file-contents if it's `visit'ing the file (bug#7854).
 -
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.el (dired-revert): Doc fix (Bug#7758).
 -
 -2011-01-23  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 +2011-04-08  Eli Zaretskii  <eliz@gnu.org>
  
 -      * progmodes/ruby-mode.el (ruby-here-doc-beg-match): Fix for
 -      here-doc which ends with an underscore.
 -      (ruby-mode-set-encoding): Skip shebang line always.
 -      (ruby-mode-map): Bind C-c C-c to comment-region.
 -      (ruby-font-lock-keywords): Highlight literal hash key labels as symbols.
 -      (ruby-forward-sexp): Stop after literal hash key labels.
 -      (ruby-font-lock-syntactic-keywords): Highlight regexp after open
 -      bracket.
 +      * simple.el (list-processes): If async subprocesses are not
 +      available, error out with a clear error message.
  
 -2011-01-22  Keitaro Miyazaki  <keitaro.miyazaki@gmail.com>  (tiny change)
 +2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * emacs-lisp/re-builder.el (reb-mode-map): Set case-fold-search in
 -      the correct buffer (Bug#7650).
 +      * help.el (help-form-show): New function, to be called from C.
 +      Put help-form output in a buffer named differently than *Help*.
  
 -2011-01-22  Glenn Morris  <rgm@gnu.org>
 +2011-04-08  Eli Zaretskii  <eliz@gnu.org>
  
 -      * simple.el (do-auto-fill): Give it a doc string.
 +      * files.el (file-size-human-readable): New function.
  
 -      * button.el (make-text-button): Doc fix.  (See bug#7881)
 +      * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of
 +      computing the representation inline.  Don't require `cl'.
  
 -2011-01-22  Chong Yidong  <cyd@stupidchicken.com>
 +2011-04-08  Glenn Morris  <rgm@gnu.org>
  
 -      * simple.el (line-move-visual): Doc fix (Bug#7594).
 +      * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported.
  
 -      * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
 -      "Case sensitive" menu item.
 +      * net/browse-url.el (browse-url-firefox):
 +      Test system-type, not system-configuration.
  
 -2011-01-21  Roland McGrath  <roland@frob.com>
 +      * vc/log-edit.el (log-edit-empty-buffer-p): New function.
 +      (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate):
 +      Use log-edit-empty-buffer-p.  (Bug#7598)
  
 -      * comint.el (comint-replace-by-expanded-history-before-point): Fix
 -      expansion of !$ and !!:N syntax to pick the indicated word (bug#7883).
 +      * net/rlogin.el (rlogin-process-connection-type): Simplify.
 +      (rlogin-mode-map): Initialize in the defvar.
 +      (rlogin): Use ignore-errors.
  
 -2011-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * replace.el (occur-mode-map): Some fixes for menu items.
  
 -      * progmodes/js.el (js--regexp-literal): Count backslashes (bug#7882).
 +2011-04-07  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
  
 -2011-01-21  Jari Aalto  <jari.aalto@cante.net>
 +      * play/morse.el (denato-region): Handle varying case.  (Bug#8386)
  
 -      * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
 -      Assume foo(bar) is a manpage reference rather than some unquoted
 -      symbol (bug#7705).
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2011-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when
 +      issuing unused warnings.
  
 -      * subr.el (shell-quote-argument): Properly quote \n (bug#7687).
 -      Suggested by Flo <sensorflo@gmail.com>.
 +      * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda
 +      macro directly.
  
 -2011-01-21  Glenn Morris  <rgm@gnu.org>
 +      * simple.el: Lisp reimplement of list-processes.  Based on an
 +      earlier reimplementation by Leo Liu, but using tabulated-list.el.
 +      (process-menu-mode): New major mode.
 +      (list-processes--refresh, list-processes):
 +      (process-menu-visit-buffer): New functions.
  
 -      * progmodes/compile.el (compilation-error-regexp-alist):
 -      Fix custom type.  (Bug#7812)
 +      * files.el (save-buffers-kill-emacs): Don't assume any return
 +      value of list-processes, which is undocumented anyway.
  
 -2011-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Don't re-evaluate the
 -      keymap expression.  Improve docstring.
 +      * emacs-lisp/tabulated-list.el: New file.
  
 -2011-01-15  Mark Diekhans  <markd@soe.ucsc.edu>
 +      * emacs-lisp/package.el: Use Tabulated List mode.
 +      (package-menu-mode-map): Inherit from tabulated-list-mode-map.
 +      (package-menu-mode): Derive from tabulated-list-mode.  Set up the
 +      table format using Tabulated List mode variables.
 +      (package--push): New macro, replacing package-list-maybe-add.
 +      (package-menu--generate): Use package--push.  Renamed from
 +      package--generate-package-list.
 +      (package-menu-refresh, list-packages): Use it.
 +      (package-menu--print-info): Renamed from package-print-package.
 +      Return insertion data instead of inserting it directly.
 +      (package-menu-describe-package, package-menu-execute): Use
 +      tabulated-list-get-id.
 +      (package-menu-mark-delete, package-menu-mark-install)
 +      (package-menu-mark-unmark, package-menu-backup-unmark)
 +      (package-menu-mark-obsolete-for-deletion): Use
 +      tabulated-list-put-tag.
 +      (package--list-packages, package-menu-revert)
 +      (package-menu-get-package, package-menu-get-version)
 +      (package-menu-sort-by-column): Functions deleted.
 +      (package-menu-package-list, package-menu-sort-key): Vars deleted.
 +      (package-menu--status-predicate, package-menu--version-predicate)
 +      (package-menu--name-predicate)
 +      (package-menu--description-predicate): Handle arguments in the
 +      Tabulated List format.
 +      (package-list-packages-no-fetch): Call list-packages.
  
 -      * files.el (backup-buffer): Make last-resort backup file in
 -      .emacs.d (Bug#6953).
 -
 -      * subr.el (locate-user-emacs-file): If .emacs.d does not exist,
 -      make it with permission 700.
 -
 -2011-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-insert-header):
 -      Set rmail-mime-coding-system to a cons whose car is the last coding
 -      system used to decode the header.
 -      (rmail-mime-find-header-encoding): New function.
 -      (rmail-mime-insert-decoded-text):
 -      Override rmail-mime-coding-system if it is a cons.
 -      (rmail-show-mime): If only a header part was decoded, find the
 -      coding system while ignoring mm-charset-override-alist.
 -
 -2011-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * subr.el (event-start, event-end): Doc fix (Bug#7826).
 -
 -2011-01-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-next-item)
 -      (rmail-mime-previous-item): Delete them.
 -      (rmail-mime-shown-mode): Recursively call for children.
 -      (rmail-mime-hidden-mode): Delete the 2nd arg TOP.
 -      Callers changed.
 -      (rmail-mime-raw-mode): Recursively call for children.
 -      (rmail-mode-map): Change mapping of tab and backtab to
 -      forward-button and backward-button respectively.
 -      (rmail-mime-insert-tagline): Always insert "Hide" or "Show"
 -      button.
 -      (rmail-mime-update-tagline): New function.
 -      (rmail-mime-insert-text): Call rmail-mime-update-tagline if the
 -      body display is changed.
 -      (rmail-mime-toggle-button): Rename from rmail-mime-image.
 -      (rmail-mime-image): Delete this button type.
 -      (rmail-mime-toggle): New button type.
 -      (rmail-mime-insert-bulk): Call rmail-mime-update-tagline if the
 -      body display is changed.  Change the save button label to "Save".
 -      Don't process show/hide button here.
 -      (rmail-mime-insert-multipart): Call rmail-mime-update-tagline if
 -      the body display is changed.  Unconditionally call
 -      rmail-mime-insert for children.
 -      (rmail-mime-handle): Update `display' vector of the just inserted
 -      entity.
 -      (rmail-mime-process): If mail-header-parse-content-type returns
 -      nil, use "text/plain" as the fallback type.
 -      (rmail-mime-insert): For raw-mode, recursively call
 -      rmail-mim-insert for children.
 -      (rmail-mime): Handle the case that the current buffer is not rmail
 -      buffer (e.g. in summary buffer).
 -
 -2011-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-next-item)
 -      (rmail-mime-previous-item): Skip the body of a non-multipart
 -      entity if a tagline is shown.
 -
 -2011-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721).
 -      (tmm-prompt): Simplify.
 -      (tmm-add-prompt): Remove unused var `win'.
 -
 -      * whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810)
 -      to minor mode which used nil accidentally to mean "turn off".
 -
 -2011-01-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-find-inline-compress)
 -      (tramp-get-inline-coding): Quote command after pipe symbol for
 -      local calls under W32.  (Bug#6784)
 -
 -2011-01-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-default-method): Initialize with pscp/plink
 -      only when running under W32.
 -
 -2011-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * progmodes/grep.el (grep-compute-defaults): Quote the program
 -      file name after the pipe symbol in Grep templates.  (Bug#6784)
 -      * jka-compr.el (jka-compr-partial-uncompress): Likewise.
 -
 -2011-01-08  Lennart Borgman  <lennart.borgman@gmail.com>
 -
 -      * buff-menu.el (Buffer-menu-buffer-list): New var.
 -      (Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
 -      restricted buffer list is not lost on revert (Bug#7749).
 -
 -2011-01-08  Eric Hanchrow  <eric.hanchrow@gmail.com>
 -
 -      * net/ldap.el (ldap-search-internal): Discard stderr output.
 -
 -2011-01-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * files.el (directory-abbrev-alist): Doc fix.  (Bug#7777)
 -
 -2011-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command, vc-bzr-annotate-time):
 -      Author names can have spaces (bug#7792).
 -
 -2011-01-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-insert-bulk): Display an unknown
 -      part as a plain text.
 -      (rmail-mime-process-multipart): Set the default content-type to
 -      nil for unknown multipart subtypes (bug#7651).
 -
 -2011-01-03  Brent Goodrick  <bgoodr@gmail.com>  (tiny change)
 -
 -      * abbrev.el (prepare-abbrev-list-buffer): If listing local abbrev
 -      table, get the value before switching to the output buffer.  (Bug#7733)
 -
 -2011-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/python.el (python-mode): Don't impose font-lock (bug#3628).
 -
 -2011-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (file-local-variables-alist):
 -      Make permanent-local (bug#7767).
 -
 -2011-01-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * version.el (emacs-copyright): Set short copyright year to 2011.
 -
 -2011-01-02  Mark Lillibridge  <mark.lillibridge@hp.com>  (tiny change)
 -
 -      * mail/mail-utils.el (mail-strip-quoted-names): Avoid clobbering
 -      an existing temp buffer.  (Bug#7746)
 -
 -2011-01-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/mail-utils.el (mail-mbox-from): Handle From: headers with
 -      multiple addresses.  (Bug#7760)
 -
 -2010-12-31  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-methods): Add recursive options to "scpc",
 -      "scpx", "pscp" and "psftp".
 -
 -2010-12-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term/w32-win.el (image-library-alist): Set up correctly for
 -      libpng versions both before and after 1.4.0.  (Bug#7716)
 -
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * time.el (display-time-mode): Mention display-time-interval in
 -      the doc string.  (Bug#7713)
 -
 -      * simple.el (select-active-regions): Doc fix.  (Bug#7702)
 -
 -2010-12-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el (rmail-mime-parse): Perform parsing in
 -      condition-case and return an error message string if something
 -      goes wrong.
 -      (rmail-show-mime): Adjust for the above change.  Insert the
 -      header by rmail-mime-insert-header.
 -
 -2010-12-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * mail/rmailmm.el: New key bindings for rmail-mime-next-item,
 -      rmail-mime-previous-item, and rmail-mime-toggle-hidden.
 -      (rmail-mime-mbox-buffer)
 -      (rmail-mime-view-buffer, rmail-mime-coding-system): New variables.
 -      (rmail-mime-entity): Argument changed.  All codes handling an
 -      entity object are changed.
 -      (rmail-mime-entity-header, rmail-mime-entity-body): Adjust for
 -      the above change.
 -      (rmail-mime-entity-children, rmail-mime-entity-handler)
 -      (rmail-mime-entity-tagline): New functions.
 -      (rmail-mime-message-p): New function.
 -      (rmail-mime-save): Bind rmail-mime-mbox-buffer.
 -      (rmail-mime-entity-segment, rmail-mime-next-item)
 -      (rmail-mime-previous-item, rmail-mime-shown-mode)
 -      (rmail-mime-hidden-mode, rmail-mime-raw-mode)
 -      (rmail-mime-toggle-raw, rmail-mime-toggle-hidden)
 -      (rmail-mime-insert-tagline, rmail-mime-insert-header):
 -      New functions.
 -      (rmail-mime-text-handler): Call rmail-mime-insert-text.
 -      (rmail-mime-insert-decoded-text): New function.
 -      (rmail-mime-insert-text): Call rmail-mime-insert-decoded-text.
 -      (rmail-mime-insert-image): Argument changed.  Caller changed.
 -      (rmail-mime-image): Call rmail-mime-toggle-hidden.
 -      (rmail-mime-set-bulk-data): New function.
 -      (rmail-mime-insert-bulk): Argument changed.
 -      (rmail-mime-multipart-handler): Return t.
 -      (rmail-mime-process-multipart): Argument changed.
 -      Handle "multipart/alternative" here.
 -      (rmail-mime-process): Argument changed.
 -      (rmail-mime-parse): Bind rmail-mime-mbox-buffer.
 -      (rmail-mime-insert): Argument changed.  Handle raw display mode.
 -      (rmail-mime): Argument changed.  Handle toggling of raw display
 -      mode.
 -      (rmail-show-mime): Bind rmail-mime-mbox-buffer and
 -      rmail-mime-view-buffer.
 -      (rmail-insert-mime-forwarded-message): Likewise.
 -      (rmail-search-mime-message): Likewise.  Don't bind rmail-buffer.
 -
 -      * mail/rmail.el (rmail-show-message-1): If rmail-enable-mime is
 -      non-nil, handle the header in rmail-show-mime-function.
 -
 -2010-12-20  Leo  <sdl.web@gmail.com>
 -
 -      * help-fns.el (describe-variable): Fix 2010-12-17 change.
 +2011-04-06  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-20  Juri Linkov  <juri@jurta.org>
 +      * files.el (after-find-file-from-revert-buffer): Remove variable.
 +      (after-find-file): Dont' bind it.
 +      (revert-buffer-in-progress-p): New variable.
 +      (revert-buffer): Bind it.
 +      Pass nil for `after-find-file-from-revert-buffer'.
  
 -      * isearch.el (isearch-lazy-highlight-error): New variable.
 -      (isearch-lazy-highlight-new-loop): Compare `isearch-error' and
 -      `isearch-lazy-highlight-error'.  Set `isearch-lazy-highlight-error'
 -      to the current value of `isearch-error' (Bug#7468).
 +      * saveplace.el (save-place-find-file-hook): Use new variable
 +      `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'.
  
 -2010-12-17  Chong Yidong  <cyd@stupidchicken.com>
 +2011-04-06  Glenn Morris  <rgm@gnu.org>
  
 -      * help-fns.el (describe-variable): Don't emit trailing whitespace
 -      (Bug#7511).
 +      * Makefile.in (AUTOGEN_VCS): New variable.
 +      (autoloads): Use $AUTOGEN_VCS.
  
 -2010-12-17  Leo  <sdl.web@gmail.com>
 +      * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function.
 +      * calendar/calendar.el (calendar-mode-map):
 +      Check for toolkit scroll bars.  (Bug#8305)
  
 -      * eshell/em-hist.el (eshell-previous-matching-input): Signal error
 -      if point is not behind eshell-last-output-end (Bug#7585).
 +2011-04-05  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-12-16  Chong Yidong  <cyd@stupidchicken.com>
 +      * minibuffer.el (completion-in-region--postch)
 +      (completion-in-region-mode): Remove unnecessary messages.
  
 -      * textmodes/rst.el (rst-compile-pdf-preview)
 -      (rst-compile-slides-preview): Use make-temp-file (Bug#7646).
 +2011-04-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-15  Kevin Gallagher  <Kevin.Gallagher@boeing.com>
 +      * font-lock.el (font-lock-refresh-defaults):
 +      Don't bind `hi-lock--inhibit-font-lock-hook', removed in
 +      2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12).
  
 -      * emulation/edt-mapper.el: Override mapping of function keys so
 -      that the later call to read-key-sequence works.
 +      * info.el (Info-directory-list, Info-read-node-name-2)
 +      (Info-split-parameter-string): Doc fixes.
 +      (Info-virtual-nodes): Reflow docstring.
 +      (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
 +      (Info-apropos-toc-nodes, info-finder, Info-get-token)
 +      (Info-find-emacs-command-nodes, Info-speedbar-key-map):
 +      Fix typos in docstrings.
 +      (Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
 +      (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
 +      (Info-speedbar-buttons, Info-desktop-buffer-misc-data)
 +      (Info-restore-desktop-buffer): Mark unused parameters.
 +      (Info-directory-find-file, Info-directory-find-node)
 +      (Info-history-find-file, Info-history-find-node, Info-toc-find-node)
 +      (Info-virtual-index-find-node, Info-apropos-find-file)
 +      (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
 +      Mark unused parameters; fix typos in docstrings.
 +      (Info-virtual-index): Remove unused local variable `nodename'.
  
 -2010-12-13  Eli Zaretskii  <eliz@gnu.org>
 +2011-04-05  Deniz Dogan  <deniz@dogan.se>
  
 -      * mail/smtpmail.el (smtpmail-send-it): Write queued mail body with
 -      Unix EOLs.  (Bug#7589)
 +      * net/rcirc.el: Update my e-mail address.
 +      (rcirc-mode-map): Remove M-o binding.
  
 -2010-12-12  Eli Zaretskii  <eliz@gnu.org>
 +2011-04-05  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * subr.el (posn-col-row): Evaluate header-line-format in the
 -      context of the POSITION window's buffer.
 +      * startup.el (command-line): Save the cursor's theme-face
 +      directly, instead of using face-override-spec.
  
 -2010-12-11  Glenn Morris  <rgm@gnu.org>
 +      * custom.el (load-theme): Minor optimization in assigning faces.
  
 -      * subr.el (member-ignore-case, run-mode-hooks, insert-for-yank-1)
 -      (with-silent-modifications): Doc fixes.
 +2011-04-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-10  Michael Albinus  <michael.albinus@gmx.de>
 +      * help-fns.el (describe-variable): Complete all variables having
 +      documentation, including keywords.
 +      http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
  
 -      * net/tramp.el (tramp-action-password, tramp-process-actions):
 -      Revert patch from 2010-12-08.  Use `save-restriction'.
 +2011-04-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-09  Eli Zaretskii  <eliz@gnu.org>
 +      Convert to lexical-binding.
  
 -      * menu-bar.el (menu-bar-frame-for-menubar, menu-bar-positive-p):
 -      New functions.
 -      (menu-bar-showhide-menu) <menu-bar-mode, showhide-tool-bar>: Use
 -      them instead of `nil' and `>', respectively.  (Bug#1077)
 +      * bs.el (bs-refresh, bs-sort-buffer-interns-are-last)
 +      (bs--get-marked-string, bs--get-modified-string)
 +      (bs--get-readonly-string, bs--get-size-string, bs--get-name)
 +      (bs--get-mode-name, bs--get-file-name): Mark unused arguments.
 +      (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG.
  
 -2010-12-09  Stephen Berman  <stephen.berman@gmx.net>
 +      * ehelp.el (electric-help-execute-extended)
 +      (electric-help-ctrl-x-prefix):
 +      * hexl.el (hexl-revert-buffer-function):
 +      * linum.el (linum-after-change, linum-after-scroll):
 +      * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments.
  
 -      * calendar/diary-lib.el (diary-list-sexp-entries):
 -      Handle case of no newline at end of file.  (Bug#7536)
 +      * help-fns.el (help-describe-category-set): Remove unused ERR variable.
  
 -2010-12-09  Glenn Morris  <rgm@gnu.org>
 +2011-04-04  Daiki Ueno  <ueno@unixuser.org>
  
 -      * mail/smtpmail.el (smtpmail-send-it): Revert previous change.
 +      * epa-dired.el:
 +      * epa-mail.el:
 +      * epa-hook.el:
 +      * epa-file.el:
 +      * epa.el:
 +      * epg.el: Use lexical binding.
  
 -2010-12-08  Michael Albinus  <michael.albinus@gmx.de>
 +2011-04-03  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * net/tramp.el (tramp-handle-start-file-process):
 -      Protect buffer-modified value.  (Bug#7557)
 -      (tramp-action-password): Delete region, do not narrow.
 -      (tramp-process-actions): Do not widen.
 +      * dired-aux.el (dired-create-files): Add docstring (Bug#7970).
  
 -2010-12-08   Jan Moringen  <jmoringe@techfak.uni-bielefeld.de>
 +      * textmodes/flyspell.el (flyspell-word): Recognize default
 +      dictionary case for flyspell-mark-duplications-exceptions.  Use
 +      regexp matching for languages.
 +      (flyspell-mark-duplications-exceptions): Add "that" and "had" for
 +      default dictionary (Bug#7926).
  
 -      * log-edit.el (log-edit-changelog-entries):
 -      Regexp quote filename.  (Bug#7505)
 +2011-04-02  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-12-08  Tom Breton  <tehom@panix.com>
 +      * emacs-lisp/package.el (package--with-work-buffer): Recognize
 +      https URLs.
  
 -      * cus-edit.el (custom-save-all):
 -      Bind print-length and print-level to nil.  (Bug#7581)
 +      * net/network-stream.el: Move from gnus/proto-stream.el.  Change
 +      prefix to network-stream throughout.
 +      (open-protocol-stream): Merge into open-network-stream, leaving
 +      open-protocol-stream as an alias.  Handle nil BUFFER args.
  
 -2010-12-08  Glenn Morris  <rgm@gnu.org>
 +      * subr.el (open-network-stream): Move to net/network-stream.el.
  
 -      * mouse.el (mouse-menu-major-mode-map, mouse-menu-bar-map):
 -      Run hooks to update menu contents.  (Bug#7586)
 +2011-04-02  Glenn Morris  <rgm@gnu.org>
  
 -      * mail/smtpmail.el (smtpmail-send-it): Avoid colons in the queued
 -      file names, for the sake of MS Windows.  (Bug#7588)
 +      * find-dired.el (find-exec-terminator): New option.
 +      (find-ls-option): Test for -ls support.
 +      (find-ls-subdir-switches): Test for -b in find-ls-option.
 +      (find-dired, find-grep-dired): Doc fixes.
 +      (find-dired): Use find-exec-terminator.
  
 -2010-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * find-dired.el (find-ls-option, find-ls-subdir-switches)
 +      (find-grep-options): Do not autoload these defcustoms, remove purecopy.
 +      (find-name-arg): Remove purecopy.
  
 -      * diff-mode.el (diff-refine-hunk): Make it work when the hunk contains
 -      empty lines without a leading space.
 +      * progmodes/grep.el (grep-find-use-xargs): Doc fix.
 +      (grep-compute-defaults): Check for `-exec COMMAND +' support.
 +      Set grep-find-use-xargs, grep-find-command, and grep-find-template
 +      accordingly.  Don't add the null-device if not needed.
  
 -2010-12-06  Leo  <sdl.web@gmail.com>
 +      * files.el (save-some-buffers): Doc fix.
  
 -      * dired-aux.el (dired-do-redisplay): Postpone dired-after-readin-hook
 -      while mapping over marks (Bug#6810).
 +2011-04-02  Eli Zaretskii  <eliz@gnu.org>
  
 -2010-12-06  Chong Yidong  <cyd@stupidchicken.com>
 +      * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe.
  
 -      * image-dired.el (image-dired-db-file)
 -      (image-dired-temp-image-file, image-dired-gallery-dir)
 -      (image-dired-temp-rotate-image-file): Set default values relative
 -      to image-dired-dir (Bug#7518).
 +2011-04-01  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-12-06  Lawrence Mitchell  <wence@gmx.li>
 +      * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs):
 +      Use `dolist' rather than `mapcar'.
  
 -      * format.el (format-decode-run-method): Pass args FROM and TO, not
 -      point-min and point-max, to shell-command-on-region (Bug#7488).
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-12-06  Jan Djärv  <jan.h.d@swipnet.se>
 +      Add lexical binding.
  
 -      * frame.el (blink-cursor-mode): Make default t for ns.
 +      * subr.el (apply-partially): Use new closures rather than CL.
 +      (--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
 +      (dolist, dotimes): Use slightly different expansion for lexical code.
 +      (functionp): Move to C.
 +      (letrec): New macro.
 +      (with-wrapper-hook): Use it and apply-partially instead of CL.
 +      (eval-after-load): Preserve lexical-binding.
 +      (save-window-excursion, with-output-to-temp-buffer): Turn them
 +      into macros.
  
 -2010-12-05  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>
 +      * simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
  
 -      * vc-dir.el (vc-dir-query-replace-regexp): Doc fix (Bug#7501).
 +      * help-fns.el (help-split-fundoc): Return nil if there's nothing else
 +      than the arglist.
 +      (help-add-fundoc-usage): Don't add `Not documented'.
 +      (help-function-arglist): Handle closures, subroutines, and new
 +      byte-code-functions.
 +      (help-make-usage): Remove leading underscores.
 +      (describe-function-1): Handle closures.
 +      (describe-variable): Use special-variable-p for completion.
  
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 +      * files.el (lexical-binding): Declare safe.
  
 -      * comint.el (comint-dynamic-list-input-ring)
 -      (comint-dynamic-complete-filename)
 -      (comint-replace-by-expanded-filename)
 -      (comint-dynamic-simple-complete)
 -      (comint-dynamic-list-filename-completions)
 -      (comint-dynamic-list-completions): Doc fix (Bug#7499).
 +      * emacs-lisp/pcase.el: Don't use destructuring-bind.
 +      (pcase--memoize): Rename from pcase-memoize.  Change weakness.
 +      (pcase): Add `let' pattern.
 +      Change memoization so it actually works.
 +      (pcase-mutually-exclusive-predicates): Add byte-code-function-p.
 +      (pcase--u1) <guard, pred>: Fix possible shadowing problem.
 +      <let>: New case.
  
 -      * subr.el (posn-x-y, posn-object-x-y, posn-object-width-height):
 -      Doc fix (Bug#7471).
 +      * emacs-lisp/macroexp.el: Use lexical binding.
 +      (macroexpand-all-1): Check obsolete macros.  Expand compiler-macros.
 +      Don't convert ' to #' without checking that it's indeed quoting
 +      a lambda.
  
 -2010-12-04  Martin Rudalics  <rudalics@gmx.at>
 +      * emacs-lisp/lisp-mode.el (eval-last-sexp-1):
 +      Use eval-sexp-add-defvars.
 +      (eval-sexp-add-defvars): New fun.
  
 -      * dired.el (dired-pop-to-buffer): Bind pop-up-frames to nil
 -      (Bug#7533).
 +      * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
  
 -2010-12-04  W. Martin Borgert <debacle@debian.org>  (tiny change)
 +      * emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
 +      Don't autoload.
 +      (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
 +      than the internal `byte-compile-lambda'.
 +      (defmethod): Don't hide code under quotes.
 +      (eieio-defmethod): New `code' argument.
 +
 +      * emacs-lisp/eieio-comp.el: Remove.
 +
 +      * emacs-lisp/edebug.el (edebug-eval-defun)
 +      (edebug-eval-top-level-form): Use eval-sexp-add-defvars.
 +      (edebug-toggle): Avoid `eval'.
 +
 +      * emacs-lisp/disass.el (disassemble-internal): Handle new
 +      `closure' objects.
 +      (disassemble-1): Handle new byte codes.
 +
 +      * emacs-lisp/cl.el (pushnew): Silence warning.
 +
 +      * emacs-lisp/cl-macs.el (cl-byte-compile-block)
 +      (cl-byte-compile-throw): Remove.
 +      (cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
 +
 +      * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
 +      closures.
 +
 +      * emacs-lisp/cconv.el: New file.
 +
 +      * emacs-lisp/bytecomp.el: Use lexical binding instead of
 +      a "bytecomp-" prefix.  Macroexpand everything as a separate phase.
 +      (byte-compile-initial-macro-environment):
 +      Handle declare-function here.
 +      (byte-compile--lexical-environment): New var.
 +      (byte-stack-ref, byte-stack-set, byte-discardN)
 +      (byte-discardN-preserve-tos): New lap codes.
 +      (byte-interactive-p): Don't use any more.
 +      (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
 +      New macros.
 +      (byte-compile-lapcode): Use them and handle new lap codes.
 +      (byte-compile-obsolete): Remove.
 +      (byte-compile-arglist-signature): Handle new byte-code arg"lists".
 +      (byte-compile-arglist-warn): Check late def of inlinable funs.
 +      (byte-compile-cl-warn): Don't silence warnings for compiler-macros
 +      since they should have been expanded by now.
 +      (byte-compile--outbuffer): Rename from bytecomp-outbuffer.
 +      (byte-compile-from-buffer): Remove unused second arg.
 +      (byte-compile-preprocess): New function.
 +      (byte-compile-toplevel-file-form): New function to distinguish
 +      file-form calls from outside from file-form calls from hunk-handlers.
 +      (byte-compile-file-form): Simplify.
 +      (byte-compile-file-form-defsubst): Remove.
 +      (byte-compile-file-form-defmumble): Simplify now that
 +      byte-compile-lambda always returns a byte-code-function.
 +      (byte-compile): Preprocess.
 +      (byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
 +      Remove, not used any more.
 +      (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
 +      (byte-compile-make-args-desc): New funs.
 +      (byte-compile-lambda): Handle lexical functions.  Always return
 +      a byte-code-function.
 +      (byte-compile-reserved-constants): New var, to make up room for
 +      closed-over variables.
 +      (byte-compile-constants-vector): Obey it.
 +      (byte-compile-top-level): New args `lexenv' and `reserved-csts'.
 +      (byte-compile-macroexpand-declare-function): New function.
 +      (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
 +      byte-code-functions.
 +      (byte-compile-form): Check obsolescence here.
 +      (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
 +      (byte-compile-variable-ref): Remove.
 +      (byte-compile-dynamic-variable-op): New fun.
 +      (byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
 +      (byte-compile-variable-set): New funs.
 +      (byte-compile-discard): Add 2 args.
 +      (byte-compile-stack-ref, byte-compile-stack-set)
 +      (byte-compile-make-closure, byte-compile-get-closed-var): New funs.
 +      (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
 +      macroexpand-all instead.
 +      (byte-compile-quote-form): Remove.
 +      (byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
 +      (byte-compile-bind, byte-compile-unbind): New funs.
 +      (byte-compile-let): Handle let* and lexical binding.
 +      (byte-compile-let*): Remove.
 +      (byte-compile-catch, byte-compile-unwind-protect)
 +      (byte-compile-track-mouse, byte-compile-condition-case):
 +      Handle a new :fun-body form, used for lexical scoping.
 +      (byte-compile-save-window-excursion)
 +      (byte-compile-with-output-to-temp-buffer): Remove.
 +      (byte-compile-defun): Simplify.
 +      (byte-compile-stack-adjustment): New fun.
 +      (byte-compile-out): Use it.
 +      (byte-compile-refresh-preloaded): Don't reload byte-compiler files.
 +
 +      * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
 +      handler any more.
 +
 +      * emacs-lisp/byte-opt.el: Use lexical binding.
 +      (byte-inline-lapcode): Remove (to bytecomp).
 +      (byte-compile-inline-expand): Pay attention to inlining to/from
 +      lexically bound code.
 +      (byte-compile-unfold-lambda): Don't handle byte-code-functions
 +      any more.
 +      (byte-optimize-form-code-walker): Don't handle save-window-excursion
 +      any more and don't call compiler-macros.
 +      (byte-compile-splice-in-already-compiled-code): Remove.
 +      (byte-code): Don't inline any more.
 +      (disassemble-offset): Receive `bytes' as argument rather than via
 +      dynamic scoping.
 +      (byte-compile-tag-number): Declare before first use.
 +      (byte-decompile-bytecode-1): Handle new byte-codes, don't change
 +      `return' even if make-spliceable.
 +      (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
 +      obsolete interactive-p.
 +      (byte-optimize-lapcode): Optimize new lap-codes.
 +      Don't trip up on new form of `byte-constant' lap code.
 +
 +      * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
 +
 +      * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
 +
 +      * custom.el (custom-initialize-default, custom-declare-variable):
 +      Use `defvar'.
 +
 +      * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
 +      New variables.
 +      (compile-onefile, .el.elc, compile-calc, recompile): Use them.
 +      (COMPILE_FIRST): Add macroexp and cconv.
 +      * makefile.w32-in: Mirror changes in Makefile.in.
  
 -      * files.el (auto-mode-alist): Handle .dbk (DocBook) with xml-mode.
 -      (Bug#7491).
 +      * vc/cvs-status.el:
 +      * vc/diff-mode.el:
 +      * vc/log-edit.el:
 +      * vc/log-view.el:
 +      * vc/smerge-mode.el:
 +      * textmodes/bibtex-style.el:
 +      * textmodes/css.el:
 +      * startup.el:
 +      * uniquify.el:
 +      * minibuffer.el:
 +      * newcomment.el:
 +      * reveal.el:
 +      * server.el:
 +      * mpc.el:
 +      * emacs-lisp/smie.el:
 +      * doc-view.el:
 +      * dired.el:
 +      * abbrev.el: Use lexical binding.
  
 -2010-12-04  Chong Yidong  <cyd@stupidchicken.com>
 +2011-04-01  Eli Zaretskii  <eliz@gnu.org>
  
 -      * simple.el (transient-mark-mode): Doc fix (Bug#7465).
 +      * info.el (info-display-manual): New function.
  
 -2010-12-04  Eli Zaretskii  <eliz@gnu.org>
 +2011-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * files.el (file-relative-name): Handle UNC file names on
 -      DOS/Windows.  (Bug#4674)
 +      * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode.
  
 -2010-12-03  Daiki Ueno  <ueno@unixuser.org>
 +2011-03-31  Tassilo Horn  <tassilo@member.fsf.org>
  
 -      * epg.el (epg-digest-algorithm-alist): Replace "RMD160" with
 -      "RIPEMD160" (Bug#7490).  Reported by Daniel Kahn Gillmor.
 -      (epg-context-set-passphrase-callback): Mention that the callback
 -      is not called when used with GnuPG 2.x.
 +      * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's
 +      an entry for that server in rcirc-authinfo.  (Bug#8385)
  
 -2010-12-02  Glenn Morris  <rgm@gnu.org>
 +2011-03-31  Glenn Morris  <rgm@gnu.org>
  
 -      * ps-print.el (ps-line-lengths-internal, ps-nb-pages):
 -      Ensure ps-footer-font-size-internal is initialized.
 -      Call ps-get-page-dimensions before trying to use ps-font-for-text.
 +      * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'.
  
 -2010-12-01  Kenichi Handa  <handa@m17n.org>
 +      * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords.
  
 -      * mail/rmailmm.el (rmail-mime-parse): Call rmail-mime-process
 -      within condition-case.
 -      (rmail-show-mime): Don't use condition-case.
 -      (rmail-search-mime-message): New function.
 -      (rmail-search-mime-message-function): Set to
 -      rmail-search-mime-message.
 +2011-03-30  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -2010-12-01  Leo  <sdl.web@gmail.com>
 +      * progmodes/python.el (python-default-interpreter)
 +      (python-python-command-args, python-jython-command-args)
 +      (python-which-shell, python-which-args, python-which-bufname)
 +      (python-file-queue, python-comint-output-filter-function)
 +      (python-toggle-shells, python-shell): Remove obsolete defcustoms,
 +      variables and functions.
  
 -      * ido.el (ido-common-initialization): New function.  (bug#3274)
 -      (ido-mode): Use it.
 -      (ido-completing-read): Call it.
 +2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
 +      * minibuffer.el (completion-table-dynamic): Optimize `boundaries'.
 +      (completion-in-region-mode): New minor mode.
 +      (completion-in-region): Use it.
 +      (completion-in-region--data, completion-in-region-mode-map): New vars.
 +      (completion-in-region--postch): New function.
 +      (completion--capf-misbehave-funs, completion--capf-safe-funs):
 +      New vars.
 +      (completion--capf-wrapper): New function.
 +      (completion-at-point): Use it to track well-behavedness of
 +      hook functions.
 +      (completion-help-at-point): New command.
  
 -      * log-edit.el (log-edit-font-lock-keywords): Don't try matching
 -      stand-alone lines, since that is handled by log-edit-match-to-eoh
 -      (Bug#6465).
 +2011-03-30  Jason Merrill  <jason@redhat.com>  (tiny change)
  
 -2010-11-27  Eduard Wiebe  <usenet@pusto.de>
 +      * vc/add-log.el (add-change-log-entry): Don't use whitespace
 +      syntax class to search for whitespace on a single line
 +      (Message-ID: <4D938140.4030905@redhat.com>).
  
 -      * dired.el (dired-get-filename): Replace backslashes with slashes
 -      in file names on MS-Windows, needed by `locate'.  (Bug#7308)
 -      * locate.el (locate-default-make-command-line): Don't consider
 -      drive letter and root directory part of
 -      `directory-listing-before-filename-regexp'.  (Bug#7308)
 -      (locate-post-command-hook, locate-post-command-hook): New defcustoms.
 +2011-03-30  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer):
 +      New commands.
 +      (edit-abbrevs-map): Bind them here.
 +      (write-abbrev-file): New optinal arg VERBOSE.  (Bug#5937)
  
 -      * emacs-lisp/smie.el (smie-prec2->grammar): Simplify handling
 -      of :smie-open/close-alist.
 -      (smie-next-sexp): Make it accept a "start token" as argument.
 -      (smie-indent-keyword): Be careful not to misidentify tokens that span
 -      more than one line, as empty lines.  Add argument `token'.
 +2011-03-29  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -2010-11-26  Kenichi Handa  <handa@m17n.org>
 +      * allout.el (allout-hide-by-annotation, allout-flag-region):
 +      Reduce possibility of overlay leakage by making them volatile.
  
 -      * mail/rmailmm.el (rmail-mime-insert-multipart): For unsupported
 -      multipart subtypes, insert all as usual.
 +      * allout-widgets.el (allout-widgets-tally): Define as nil so the
 +      hash is not shared between buffers.  Mode initialization is
 +      responsible for giving it a useful starting value.
 +      (allout-item-span): Reduce possibility of overlay leakage by
 +      making them volatile.
 +      (allout-widgets-count-buttons-in-region): Add diagnostic function
 +      for tracking down button overlay leaks.
  
 -      * mail/rmail.el: Require rfc2047.
 +2011-03-29  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-26  Kenichi Handa  <handa@m17n.org>
 +      * ido.el (ido-read-internal): Use the default history var
 +      minibuffer-history if no HISTORY is specified.
  
 -      * mail/rmailmm.el (rmail-mime-entity, rmail-mime-entity-type)
 -      (rmail-mime-entity-disposition)
 -      (rmail-mime-entity-transfer-encoding, rmail-mime-entity-header)
 -      (rmail-mime-entity-body, rmail-mime-entity-children): New functions.
 -      (rmail-mime-save): Handle the case that the button's `data' is a
 -      MIME entity.
 -      (rmail-mime-insert-text): New function.
 -      (rmail-mime-insert-image): Handle the case that DATA is a MIME entity.
 -      (rmail-mime-bulk-handler): Just call rmail-mime-insert-bulk.
 -      (rmail-mime-insert-bulk): New function mostly copied from the old
 -      rmail-mime-bulk-handler.
 -      (rmail-mime-multipart-handler): Just call rmail-mime-process-multipart.
 -      (rmail-mime-process-multipart): New function mostly copied from
 -      the old rmail-mime-multipart-handler.
 -      (rmail-mime-show): Just call rmail-mime-process.
 -      (rmail-mime-process): New function mostly copied from the old
 -      rmail-mime-show.
 -      (rmail-mime-insert-multipart, rmail-mime-parse)
 -      (rmail-mime-insert, rmail-show-mime)
 -      (rmail-insert-mime-forwarded-message)
 -      (rmail-insert-mime-resent-message): New functions.
 -      (rmail-insert-mime-forwarded-message-function): Set to
 -      rmail-insert-mime-forwarded-message.
 -      (rmail-insert-mime-resent-message-function): Set to
 -      rmail-insert-mime-resent-message.
 +2011-03-28  Brian T. Sniffen  <bsniffen@akamai.com>  (tiny change)
  
 -      * mail/rmailsum.el: Require rfc2047.
 -      (rmail-header-summary): Handle multiline Subject: field.
 -      (rmail-summary-line-decoder): Change the default to
 -      rfc2047-decode-string.
 +      * net/imap.el (imap-shell-open, imap-process-connection-type):
 +      Use imap-process-connection-type for 'shell' streams as well as
 +      Kerberos, SSL, other subprocesses.
  
 -      * mail/rmail.el (rmail-enable-mime): Change the default to t.
 -      (rmail-mime-feature): Change the default to `rmailmm'.
 -      (rmail-quit): Delete the specifal code for rmail-enable-mime.
 -      (rmail-display-labels): Likewise.
 -      (rmail-show-message-1): Check rmail-enable-mime, and use
 -      rmail-show-mime-function for a MIME message.  Decode the headers
 -      according to RFC2047.
 +2011-03-28  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * abbrev.el (abbrev-table-empty-p): New function.
 +      (prepare-abbrev-list-buffer): Place empty abbrev tables after
 +      nonempty ones.  (Bug#5937)
  
 -      * progmodes/which-func.el (which-func-imenu-joiner-function):
 -      Return a string, as expected.
 -      (which-function-mode): Make sure we stop any previous timer before
 -      starting a new one.
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2010-11-23  Michael Albinus  <michael.albinus@gmx.de>
 +      * cus-start.el (all): Add boolean ns-auto-hide-menu-bar.
  
 -      * net/tramp.el (tramp-default-method-alist)
 -      (tramp-default-user-alist, tramp-default-proxies-alist):
 -      Adapt custom options type.  (Bug#7445)
 +2011-03-27  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * ansi-color.el (ansi-color-names-vector): Allow cons cell value
 +      for foreground and background colors.
 +      (ansi-color-make-color-map): Adapt.
  
 -      * 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).
 +2011-03-25  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * midnight.el (midnight-time-float): Remove.  Note it calculates
 +      the microsecond component incorrectly and seconds-to-time does the
 +      same job.
 +      Remove redundant (require 'timer).
  
 -      * progmodes/python.el (run-python): Doc fix.
 -      (python-keep-current-directory-in-path): New var (Bug#7454).
 +      * ido.el (ido-read-internal): Simplify with read-from-minibuffer.
 +      (ido-completions): Remove unused arguments.  (Bug#8329)
  
 -2010-11-20  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
 -      Prompt user before actually printing.
 +      * minibuffer.el (completion--flush-all-sorted-completions):
 +      Remove itself from hook.
 +      (completion-at-point): Let the functions perform the completion
 +      immediately and return nil or t.
 +      * comint.el (comint-dynamic-complete-functions): Now identical to
 +      completion-at-point-functions.
 +      (comint-dynamic-list-input-ring): Remove unused var `index'.
 +      (comint--match-partial-filename, comint--unquote&expand-filename):
 +      New funs, split from comint-match-partial-filename.
 +      (comint-dynamic-complete): Use completion-at-point.
 +      (comint-dynamic-complete-filename): Use comint--match-partial-filename.
  
 -2010-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-24  Drew Adams  <drew.adams@oracle.com>
  
 -      * simple.el (kill-new, kill-append, kill-region):
 -      * comint.el (comint-kill-region): Make the yank-handler argument
 -      obsolete.
 +      * thingatpt.el: Support `defun'.
  
 -2010-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-23  Leo Liu  <sdl.web@gmail.com>
  
 -      * emacs-lisp/smie.el (smie-bnf-classify): Signal errors for tokens
 -      that are both openers (resp. closers) and something else.
 -      (smie-grammar): Loosen definition of valid values.
 -      (smie-next-sexp, smie-down-list, smie-blink-matching-open)
 -      (smie-indent--parent, smie-rule-parent, smie-indent-keyword)
 -      (smie-indent-after-keyword): Adjust users.
 -      (smie-indent-keyword): Don't indent empty lines.
 +      * abbrevlist.el: Move to obsolete/abbrevlist.el.
  
 -      * vc-hg.el (vc-hg-program): New var.
 -      Suggested by Norman Gray <norman@astro.gla.ac.uk>.
 -      (vc-hg-state, vc-hg-working-revision, vc-hg-command): Use it.
 +      * help-mode.el (help-mode-finish): Tweak regexp.
  
 -2010-11-17  Glenn Morris  <rgm@gnu.org>
 +2011-03-23  Glenn Morris  <rgm@gnu.org>
  
 -      * emacs-lisp/autoload.el (autoload-find-destination): The function
 -      coding-system-eol-type may return non-numeric values.  (Bug#7414)
 +      * eshell/esh-opt.el (eshell-eval-using-options):
 +      Do not bind unused local variable `eshell-option-stub'.
  
 -2010-11-16  Ulrich Mueller  <ulm@gentoo.org>
 +      * progmodes/gdb-mi.el (gdb): Fix typo in previous change.
  
 -      * server.el (server-force-stop): Ensure the server is stopped (Bug#7409).
 +2011-03-22  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-11-13  Eli Zaretskii  <eliz@gnu.org>
 +      * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of
 +      keymap variable in `with-no-warnings' to avoid a warning when the
 +      keymap has been already `defconst'ed.
  
 -      * subr.el (posn-col-row): Pay attention to header line.  (Bug#7390)
 +2011-03-22  Leo Liu  <sdl.web@gmail.com>
  
 -2010-11-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can
 +      encode all chars in abbrevs; otherwise use emacs-mule or
 +      utf-8-emacs.  (Bug#8308)
  
 -      * textmodes/picture.el (picture-mouse-set-point): Don't use
 -      posn-col-row; explicitly compute the motion based on the posn at
 -      the window-start (Bug#7390).
 +2011-03-22  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-11-13  Michael Albinus  <michael.albinus@gmx.de>
 +      * simple.el (backward-delete-char-untabify):
 +      Avoid warning about using `delete-backward-char'.
  
 -      * net/tramp.el (tramp-remote-coding-commands): Add an alternative
 -      using "base64 -d -i".  This is needed for older base64 versions
 -      from GNU coreutils.  Reported by Klaus Reichl
 -      <Klaus.Reichl@thalesgroup.com>.
 +      * image.el (image-type-file-name-regexps): Make it variable.
 +      `imagemagick-register-types' modifies it, and the user may want
 +      to add new extensions for known image types.
 +      (imagemagick-register-types): Throw error if not using ImageMagick.
  
 -2010-11-13  Glenn Morris  <rgm@gnu.org>
 +2011-03-22  Leo Liu  <sdl.web@gmail.com>
  
 -      * novice.el (disabled-command-function):
 -      Fix 2009-11-15 change.  (Bug#7384)
 +      * net/rcirc.el (rcirc-completion-at-point): Return nil if point is
 +      located before rcirc-prompt-end-marker.
 +      (rcirc-complete): Error if point is not after rcirc prompt.
 +      Handle the case when table is nil.
 +      (rcirc-user-authenticated): Define to fix compiler warning.
  
 -2010-11-12  Glenn Morris  <rgm@gnu.org>
 +2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * calendar/calendar.el (diary-iso-date-forms): Make elements
 -      mutually exclusive.  (Bug#7377)
 +      * custom.el (custom--inhibit-theme-enable): Make it affect only
 +      custom-theme-set-variables and custom-theme-set-faces.
 +      (provide-theme): Ignore custom--inhibit-theme-enable.
 +      (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil.
 +      (custom-enabling-themes): Delete variable.
 +      (enable-theme): Accept only loaded themes as arguments.
 +      Ignore the special custom-enabled-themes variable.
 +      (custom-enabled-themes): Forbid themes from setting this.
 +      Eliminate use of custom-enabling-themes.
 +      (custom-push-theme): Quote "changed" custom var entry.
  
 -2010-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-21  Leo Liu  <sdl.web@gmail.com>
  
 -      * emacs-lisp/smie.el (smie-prec2->grammar): Obey equality constraints
 -      when filling the remaining "unconstrained" values.
 +      * ido.el (ido-read-internal): Add ido-selected to history instead
 +      of user input.
  
 -2010-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the
 -      safety predicate.
 +      * subr.el (deferred-action-list, deferred-action-function):
 +      Mark obsolete.
  
 -      * files.el (safe-local-variable-p): Gracefully handle errors.
 +2011-03-21  Leo Liu  <sdl.web@gmail.com>
  
 -      * emacs-lisp/smie.el (smie-rule-parent, smie-indent--rule):
 -      Use smie-indent-virtual when indenting relative to an opener.
 -      (smie-rule-separator): Use smie-rule-parent.
 -      (smie-indent-keyword): Consult rules, even for openers at bol.
 -      (smie-indent-comment-close): Try to align closer's content.
 +      * vc/log-view.el: Remove (require 'wid-edit), not needed after the
 +      change on 2011-02-13 (bug#8309).
  
 -2010-11-11  Glenn Morris  <rgm@gnu.org>
 +      * minibuffer.el (read-file-name-function): Change default value.
 +      (read-file-name--defaults): Rename from read-file-name-defaults.
 +      (read-file-name-default): Rename from read-file-name.
 +      (read-file-name): Call read-file-name-function.
  
 -      * ls-lisp.el (ls-lisp-dired-ignore-case): Make it an obsolete alias.
 +2011-03-21  Glenn Morris  <rgm@gnu.org>
  
 -2010-11-10  Glenn Morris  <rgm@gnu.org>
 +      * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args):
 +      Doc fixes.
  
 -      * printing.el (pr-menu-bind): Doc fix.
 +2011-03-21  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * speedbar.el (speedbar-toggle-images): Doc fix.
 +      * cus-theme.el: Add missing provide statement.
 +      (customize-create-theme): Extract theme value correctly.
 +      (custom-theme-visit-theme): Autoload.
 +      (customize-create-theme): Prompt before inserting default faces.
  
 -      * progmodes/python.el (python-shell): Doc fix.
 +2011-03-20  Jay Belanger  <jay.p.belanger@gmail.com>
  
 -      * wid-edit.el (widget-field-use-before-change)
 -      (widget-use-overlay-change): Doc fixes.
 +      * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic
 +      units and musical notes.
  
 -2010-11-09  Glenn Morris  <rgm@gnu.org>
 +2011-03-20  Leo  <sdl.web@gmail.com>
  
 -      * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
 +      * ido.el (ido-read-internal): Use completing-read-default.
 +      (ido-completing-read): Fix compatibility with completing-read.
  
 -2010-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-20  Christian Ohler  <ohler@gnu.org>
  
 -      * minibuffer.el (minibuffer-completion-help): Specify the end of the
 -      completion field (bug#7211).
 +      * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable.
 +      (ert-delete-all-tests): Use `called-interactively-p' rather than
 +      `interactive-p'.
 +      (ert--make-xrefs-region): Respect END.
  
 -      * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
 -      Fix handling of backslash escapes.
 -      (python-quote-syntax): Adjust accordingly.
 +2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-11-08  Richard Levitte  <richard@levitte.org>  (tiny change)
 +      * dired-aux.el (dired-create-directory): Signal an error if the
 +      directory already exists (Bug#8246).
  
 -      * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
 -      (vc-mtn-workfile-branch): Adjust to new output format.
 +      * facemenu.el (list-colors-display): Call list-faces-display
 +      inside with-help-window.
 +      (list-colors-print): Use display property to align the final
 +      column, instead of checking window-width.
  
 -2010-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * international/mule-cmds.el (princ-list): Mark as obsolete.
 +      * emerge.el (emerge-metachars): Separate value for ms-dos and
 +      windows-nt systems.
 +      (emerge-protect-metachars): Quote correctly for ms-dos and
 +      windows-nt systems.
  
 -2010-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-19  Ralph Schleicher  <rs@ralph-schleicher.de>
  
 -      * emacs-lisp/smie.el: New package.
 +      * info.el (info-initialize): Replace all uses of `:' with
 +      path-separator for compatibility with non-Unix systems.
 +      Cache quoting of path-separator.  (Bug#8258)
  
 -2010-11-06  Michael Albinus  <michael.albinus@gmx.de>
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * files.el (backup-by-copying-when-mismatch):
 -      Set `permanent-local' property.
 +      * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
 +      (mouse-avoidance-threshold, mouse-avoidance-banish-destination)
 +      (mouse-avoidance-mode): Fix typos in docstrings.
  
 -      * net/tramp.el (tramp-handle-insert-file-contents): Do not set
 -      `permanent-local' property for `backup-by-copying-when-mismatch'.
 +2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-11-06  Eli Zaretskii  <eliz@gnu.org>
 +      * startup.el (package-subdirectory-regexp): Move from package.el.
 +      Omit \\` and \\', and let callers add them.
  
 -      * ls-lisp.el (insert-directory): Doc fix.  (bug#7285)
 -      (ls-lisp-classify-file): New function.
 -      (ls-lisp-insert-directory): Call it if switches include -F (bug#6294).
 -      (ls-lisp-classify): Call ls-lisp-classify-file.
 -      (insert-directory): Remove blanks from switches.
 +      * emacs-lisp/package.el (package-strip-version)
 +      (package-load-all-descriptors): Add \\` and \\' to
 +      package-subdirectory-regexp before using it.
 +      (package-untar-buffer): New arg DIR; ensure that file untars only
 +      into this expected directory.  Remove superfluous delete-region.
 +      (package-unpack): Caller changed.
 +      (package-tar-file-info): Use package-subdirectory-regexp.
  
 -2010-11-07  Wilson Snyder  <wsnyder@wsnyder.org>
 +2011-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * progmodes/verilog-mode.el (verilog-insert-one-definition)
 -      (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
 -      AUTOINOUT for SV style multidimensional arrays, bug294.
 -      Reported by Eric Mastromarchi.
 -      (verilog-preprocess): Use with-current-buffer and
 -      font-lock-fontify-buffer to cleanup style issues.
 +      * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
 +      diff-mode-shared-map (bug#8284).
 +      (diff-mode-shared-map): Re-introduce some bindings that were problematic.
  
 -2010-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +2011-03-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * net/trampver.el: Update release number.
 +      * calendar/time-date.el (format-seconds): Use assoc instead of
 +      assoc-string, since assoc-string doesn't exist in XEmacs.
  
 -2010-08-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-17  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the
 -      beginning of the string.  Use `string-match-p'.  (Bug#6765)
 +      * custom.el (custom-known-themes): Reflow docstring.
 +      (custom-theme-load-path): Fix typo in docstring.
 +      (load-theme): Fix typo in error message.
 +      (custom-available-themes, custom-variable-theme-value):
 +      Use `let', not `let*'.
  
 -2010-11-01  Glenn Morris  <rgm@gnu.org>
 +2011-03-17  Jay Belanger  <jay.p.belanger@gmail.com>
  
 -      * locate.el (locate, locate-mode): Doc fixes.
 +      * calc/README: Mention inclusion of musical notes.
  
 -2010-11-01  Chong Yidong  <cyd@stupidchicken.com>
 +      * calc/calc-units.el (calc-lu-quant): Rename from
 +      `calc-logunits-quantity'.
 +      (calcFunc-lupquant): Rename from `calcFunc-powerquant'.
 +      (calcFunc-lufquant): Rename from `calcFunc-fieldquant'.
 +      (calc-db): Rename from `calc-dblevel'.
 +      (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'.
 +      (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'.
 +      (calc-np): Rename from `calc-nplevel'.
 +      (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'.
 +      (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'.
 +      (calc-lu-plus): Rename from `calc-logunits-add'.
 +      (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'.
 +      (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'.
 +      (calc-lu-minus): Rename from `calc-logunits-sub'.
 +      (calcFunc-lupsub): Rename from `calcFunc-lupowersub'.
 +      (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'.
 +      (calc-lu-times): Rename from `calc-logunits-mul'.
 +      (calcFunc-lupmul): Rename from `calcFunc-lupowermul'.
 +      (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'.
 +      (calc-lu-divide): Rename from `calc-logunits-div'.
 +      (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'.
 +      (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'.
  
 -      * server.el (server-start): New arg INHIBIT-PROMPT prevents asking
 -      user for confirmation.
 -      (server-force-stop): Use it.
 -      (server-start): Use server-force-stop for kill-emacs-hook, to
 -      avoid user interaction while killing Emacs.
 +      * calc/calc-ext.el (calc-init-extensions): Update the names of the
 +      functions being autoloaded.
  
 -2010-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * calc/calc.el (calc-lu-power-reference): Rename from
 +      `calc-logunits-power-reference'.
 +      (calc-lu-field-reference): Rename from
 +      `calc-logunits-field-reference'.
  
 -      * vc/log-edit.el (log-edit-rewrite-fixes): New var.
 -      (log-edit-author): New dynamic var.
 -      (log-edit-changelog-ours-p, log-edit-insert-changelog-entries):
 -      Use it to return the author if different from committer.
 -      (log-edit-insert-changelog): Use them to add Author: and Fixes headers.
 +      * calc/calc-help (calc-l-prefix-help): Mention musical note functions.
  
 -2010-10-31  Eli Zaretskii  <eliz@gnu.org>
 +2011-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
 +      * minibuffer.el (completion-all-sorted-completions):
 +      Use :completion-cycle-penalty text property if present.
  
 -2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-16  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -      * vc/vc.el (vc-deduce-backend): New fun.  Handle diff buffers.
 -      (vc-root-diff, vc-print-root-log, vc-log-incoming)
 -      (vc-log-outgoing): Use it.
 -      (vc-diff-internal): Set diff-vc-backend.
 +      * allout.el (allout-yank-processing): Adjust for new rebulleting
 +      regime so bullet being yanked is used without prompting the user
 +      for a choice.
  
 -      * vc/diff-mode.el (diff-vc-backend): New var.
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-31  Juri Linkov  <juri@jurta.org>
 +      * startup.el (command-line): Warn the user that _emacs is deprecated.
  
 -      * vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
 -      buffer-locally to lambda that re-runs the vc diff command.
 -      (Bug#6447)
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * progmodes/delphi.el (delphi-search-path, delphi-indent-level)
 +      (delphi-verbose, delphi-comment-face, delphi-string-face)
 +      (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line)
 +      (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab)
 +      (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment)
 +      (delphi-new-comment-line, delphi-font-lock-defaults)
 +      (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode):
 +      Fix typos in docstrings.
  
 -      * vc/log-view.el (log-view-mode-map): Bind revert-buffer.
 +2011-03-15  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -      Make 'g' (AKA revert-buffer) rerun 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.
 +      * allout.el (allout-make-topic-prefix, allout-rebullet-heading):
 +      Invert the roles of character and string values for INSTEAD, so a
 +      string is used for the more common case of a defaulting prompt.
  
 -      Improve VC create/retrieve tag/branch.
 -      * vc.el (vc-create-tag): Do not read the directory name for VCs
 -      with repository revision granularity.  Adjust the tag/branch
 -      prompt.  Reset VC properties.
 -      (vc-retrieve-tag): Do not read the directory name for VCs
 -      with repository revision granularity.  Reset VC properties.
 +2011-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Add optional support for resetting VC properties.
 -      * vc-dispatcher.el (vc-resynch-window): Add new optional argument,
 -      call vc-file-clearprops when true.
 -      (vc-resynch-buffer): Add new optional argument, pass it down.
 -      (vc-resynch-buffers-in-directory): Likewise.
 +      * progmodes/ruby-mode.el (ruby-backward-sexp):
 +      * progmodes/ebrowse.el (ebrowse-draw-file-member-info):
 +      * play/gamegrid.el (gamegrid-make-face):
 +      * play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
 +      (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
 +      * notifications.el (notifications-notify):
 +      * net/xesam.el (xesam-search-engines):
 +      * net/quickurl.el (quickurl-list-insert):
 +      * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
  
 -      Improve support for special markup in the VC commit message.
 -      * vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup.
 -      * vc-hg.el (vc-hg-checkin): Add support for Date:.
 -      * vc-git.el (vc-git-checkin):
 -      * vc-bzr.el (vc-bzr-checkin): Likewise.
 +2011-03-15  Chong Yidong  <cyd@stupidchicken.com>
  
 -      Add support for vc-log-incoming, improve vc-log-outgoing for Git.
 -      * vc-git.el (vc-git-log-view-mode): Fix font lock for
 -      incoming/outgoing logs.
 -      (vc-git-log-outgoing, vc-git-log-incoming): New functions.
 +      * startup.el (command-line): Update package subdirectory regexp.
  
 -      * vc-git.el (vc-git-log-outgoing): Use the same format as the
 -      short log.
 -      (vc-git-log-incoming): Likewise.  Run "git fetch" before the log
 -      command
 +2011-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Add bindings for vc-log-incoming and vc-log-outgoing.
 -      * vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
 -      and vc-log-outgoing.
 -      * vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming
 -      and vc-log-outgoing.
 +      * allout.el (allout-abbreviate-flattened-numbering)
 +      (allout-mode-deactivate-hook): Fix up obsolescence "date".
  
 -      Improve state updating for VC tag commands.
 -      * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
 -      to update the state of all buffers in the directory.
 +      * subr.el (read-char-choice): Only show the cursor after the prompt,
 +      not after the answer.
  
 -2010-05-19  Glenn Morris  <rgm@gnu.org>
 +2011-03-15  Kevin Ryde  <user42@zip.com.au>
  
 -      * vc-dir.el (vc-dir): Don't pop-up-windows.  (Bug#6204)
 +      * help-fns.el (variable-at-point): Skip leading quotes, if any
 +      (bug#8253).
  
 -2010-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * vc.el (vc-checkin, vc-modify-change-comment):
 -      Adjust to new vc-start/finish-logentry.
 -      (vc-find-conflicted-file): New command.
 -      (vc-transfer-file): Adjust to new vc-checkin.
 -      (vc-next-action): Improve scoping.
 +      * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
 +      warning message.
  
 -      * vc-git.el (vc-git-checkin): Use log-edit-extract-headers.
 -      (vc-git-commits-coding-system): Rename from git-commits-coding-system.
 +2011-03-14  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * vc-dispatcher.el (vc-log-edit): Shorten names for
 -      log-edit-show-files.
 +      * shell.el (shell): When called interactively, offer to change the
 +      shell file name on remote hosts.
  
 -      * vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers.
 -      (vc-bzr-conflicted-files): New function.
 +2011-03-13  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * log-edit.el (log-edit-summary, log-edit-header)
 -      (log-edit-unknown-header): New faces.
 -      (log-edit-headers-alist): New var.
 -      (log-edit-header-contents-regexp): New const.
 -      (log-edit-match-to-eoh): New function.
 -      (log-edit-font-lock-keywords): Use them.
 -      (log-edit): Insert a "Summary:" header as default.
 -      (log-edit-mode): Mark font-lock rules as case-insensitive.
 -      (log-edit-done): Cleanup headers.
 -      (log-edit-extract-headers): New function to replace it.
 +      * net/ldap.el (ldap-search-internal): Add `auth-source-search'
 +      integration for LDAP parameters.  The host, base, user or binddn,
 +      and secret tokens can be specified in a netrc file, for instance.
 +      This is optional because an `auth-source' parameter must be
 +      specified in the search attributes.
  
 -      * vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with
 -      the windows/frames.
 +2011-03-13  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*.
 +      * help.el (describe-mode): Link to the mode's definition (bug#8185).
  
 -      * vc-dir.el (vc-dir-kill-line): New command.
 -      (vc-dir-mode-map): Bind it to C-k.
 -      (vc-dir-headers): Abbreviate the working dir.
 +2011-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * vc-git.el (vc-git-revision-table): Include remote branches.
 +      * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
 +      into declaration.  Remove redundant and harmful binding.
  
 -2010-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-03-12  Eli Zaretskii  <eliz@gnu.org>
  
 -      New VC methods: vc-log-incoming and vc-log-outgoing.
 -      * vc.el (vc-print-log-setup-buttons, vc-log-internal-common)
 -      (vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing):
 -      New functions.
 -      (vc-print-log-internal): Just call vc-log-internal-common.
 -      (vc-log-view-type): New permanent local variable.
 +      * files.el (file-ownership-preserved-p): Pass `integer' as an
 +      explicit 2nd argument to `file-attributes'.  If the file's owner
 +      is the Administrators group on Windows, and the current user is
 +      Administrator, consider that a match.
  
 -      * vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
 +      * server.el (server-ensure-safe-dir): Consider server directory
 +      safe on MS-Windows if its owner is the Administrators group while
 +      the current Emacs user is Administrator.  Use `=' to compare
 +      numerical UIDs, since they could be integers or floats.
  
 -      * vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
 -      of the dynamic bound vc-short-log.
 -      (vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
 +2011-03-12  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * vc-git.el (vc-git-log-outgoing): New function.
 -      (vc-git-log-view-mode): Use vc-log-view-type instead
 -      of the dynamic bound vc-short-log.
 -
 -      * vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of
 -      the dynamic bound vc-short-log.  Highlight the tag.
 -      (vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
 -      (vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
 -      (vc-hg-incoming-mode): Remove.
 -      (vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
 -
 -      Fix default-directory for vc-root-diff.
 -      * vc.el (vc-root-diff): Bind default-directory to the root
 -      directory for the diff command.
 +      * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170).
  
 -2010-10-31  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling
 -      `vc-hg-command' with a list of flags.
 -
 -2010-10-31  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to
 -      log-edit-before-checkin-process.
 -
 -      * vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry.
 -
 -      * vc-bzr.el, vc-hg.el (log-edit-mode): Declare.
 -
 -      * vc-dispatcher.el (vc-start-logentry): Doc fix.
 -      (log-view-process-buffer, log-edit-extra-flags): Declare.
 -
 -2010-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Add special markup processing for commit logs.
 -      * log-edit.el (log-edit): Add new argument MODE.  Use that mode
 -      when non-nil instead of the log-view-mode.
 -
 -      * vc.el (vc-default-log-edit-mode): New function.
 -
 -      * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to
 -      log-edit.
 -
 -      Support for shelving snapshots and for showing shelves.
 -      * vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
 -      (vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
 -      New functions.
 -      (vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
 -      (vc-bzr-extra-menu-map): Map them.
 -
 -2010-10-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-file-contents): For root,
 -      preserve owner and group when editing files.  (Bug#7289)
 -
 -2010-10-29  Glenn Morris  <rgm@gnu.org>
 -
 -      * speedbar.el (speedbar-mode):
 -      * play/fortune.el (fortune-in-buffer, fortune):
 -      * play/gomoku.el (gomoku-mode):
 -      * play/landmark.el (lm-mode):
 -      * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
 -      Replace inappropriate uses of toggle-read-only.  (Bug#7292)
 -
 -2010-10-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * select.el (x-selection): Mark it as an obsolete alias.
 -
 -2010-10-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
 -
 -      * add-log.el (find-change-log): Use derived-mode-p rather than
 -      major-mode (bug#7284).
 -
 -2010-10-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-files-menu): Make it into an actual alias,
 -      rather than just an unused variable that inherits from the real one.
 -
 -2010-10-23  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/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-23  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/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-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-password-prompt-regexp):
 -      Match "enter the password".  (Bug#7224)
 -
 -2010-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/dcl-mode.el (dcl-electric-reindent-regexps):
 -      Fix typo in docstring.
 +2011-03-12  Michael Albinus  <michael.albinus@gmx.de>
  
 -2010-10-21  Michael Albinus  <michael.albinus@gmx.de>
 +      Sync with Tramp 2.2.1.
  
 -      * net/tramp.el (tramp-get-inline-coding): Return `nil' in case of
 -      errors.
 +      * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options.
  
        * net/trampver.el: Update release number.
  
 -2010-10-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * face-remap.el (text-scale-adjust): Call read-event with a proper
 -      prompt.
 -
 -2010-10-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.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  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * repeat.el (repeat): Use read-key (bug#6256).
 -
 -2010-10-18  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-17  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-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-open-connection-setup-interactive-shell):
 -      Suppress expansion of tabs to spaces.  Reported by Dale Sedivec
 -      <dale@codefu.org>.
 -
 -2010-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/characters.el: Add category '|' (word breakable)
 -      to fullwidth characters.
 -
 -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-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org.
 -
 -2010-10-12  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-10  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-10  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (ELCFILES): Update.
 -
 -2010-10-09  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-09  Richard Sharman  <richard_sharman@mitel.com>  (tiny change)
 -
 -      * progmodes/gdb-ui.el (gdb-mouse-toggle-breakpoint-margin)
 -      (gdb-mouse-toggle-breakpoint-fringe): Correct regexp to
 -      work when breakpoint number exceeds nine.
 -
 -2010-10-05  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-09  Glenn Morris  <rgm@gnu.org>
 +2011-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
 -      (load-path-shadows-find): ... to this.
 -      (list-load-path-shadows): Update for above change.
 +      * progmodes/compile.el (compilation--previous-directory): Fix up
 +      various nil/dead-marker mismatches (bug#8014).
 +      (compilation-directory-properties, compilation-error-properties):
 +      Don't call it at a position past the one we're about to change.
  
 -      * mail/mail-utils.el (mail-mbox-from): Also try return-path.
 +      * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):
 +      Disable obsolescence warnings in the file that declares it.
  
 -2010-10-08  Glenn Morris  <rgm@gnu.org>
 +2011-03-11  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -      * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/.
 +      * allout-widgets.el (allout-widgets-tally): Initialize
 +      allout-widgets-tally as a hash table rather than nil to prevent
 +      mode-line redisplay warnings.
 +      Also, clarify the module description and fix a comment typo.
  
 -      * 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.
 +2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
  
 -2010-10-03  Chong Yidong  <cyd@stupidchicken.com>
 +      * help-fns.el (describe-variable): Don't complete keywords.
 +      Suggested by Teodor Zlatanov <tzz@lifelogs.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)
 +2011-03-10  Chong Yidong  <cyd@stupidchicken.com>
  
 -2010-10-03  Olof Ohlsson Sax  <olof.ohlsson.sax@gmail.com>  (tiny change)
 +      * emacs-lisp/package.el (package-version-join): Impose a standard
 +      string representation for pre/alpha/beta version lists.
 +      (package-unpack-single): Standardize the directory name by passing
 +      it through package-version-join.
 +      (package-strip-rcs-id): Accept any version string that does not
 +      signal an error in version-to-list.
  
 -      * vc-svn.el (vc-svn-merge-news): Use --non-interactive.  (Bug#7152)
 +2011-03-10  Michael Albinus  <michael.albinus@gmx.de>
  
 -2010-10-03  Leo  <sdl.web@gmail.com>
 +      * simple.el (delete-trailing-whitespace): Return nil for the
 +      benefit of `write-file-functions'.
  
 -      * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
 -      return non-nil if the file exists (Bug#7090).
 +2011-03-10  Glenn Morris  <rgm@gnu.org>
  
 -2010-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program.
  
 -      * minibuffer.el (completion--replace):
 -      Better preserve markers (bug#7138).
 +      * vc/vc-git.el (vc-git-program): New option.
 +      (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command)
 +      (vc-git--call): Use it.
  
 -2010-09-29  Juanma Barranquero  <lekktu@gmail.com>
 +      * eshell/esh-util.el (eshell-condition-case): Doc fix.
  
 -      * server.el (server-process-filter): Doc fix.
 +      * cus-edit.el (Custom-newline): If no button at point, look
 +      for a subgroup button at start-of-line.  (Bug#2298)
  
 -2010-09-27  Drew Adams  <drew.adams@oracle.com>
 +      * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes.
  
 -      * dired.el (dired-save-positions): Doc fix.  (Bug#7119)
 +2011-03-10  Julien Danjou  <julien@danjou.info>
  
 -2010-09-27  Andreas Schwab  <schwab@linux-m68k.org>
 +      * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if
 +      `cursor-type' is nil.
  
 -      * Makefile.in (ELCFILES): Update.
 +2011-03-09  Jay Belanger  <jay.p.belanger@gmail.com>
  
 -      * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
 -      Avoid infinite recursion on erroneous lambda form.  (Bug#7114)
 +      * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'.
  
 -2010-09-27  Kenichi Handa  <handa@m17n.org>
 +2011-03-09  Ken Manheimer  <ken.manheimer@gmail.com>
  
 -      * tar-mode.el (tar-header-block-tokenize): Decode filenames in
 -      "ustar" format.
 +      * allout.el Summary: Change so yank of distinctive-bullet items
 +      preserves the existing header prefix, rebulleting it if necessary,
 +      rather than replacing it.  This is necessary for proper operation
 +      of cooperative addons like allout-widgets.
 +      (allout-make-topic-prefix, allout-rebullet-heading): Change
 +      SOLICIT arg to INSTEAD, and interpret additionally a string value
 +      as alternate bullet to be used, instead of prompting the user for
 +      a bullet character.
  
 -2010-09-27  Kenichi Handa  <handa@m17n.org>
 +2011-03-09  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * international/mule.el (define-coding-system): Docstring fixed.
 +      * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
 +      Do not use `tramp-file-name-port', because this returns also
 +      `tramp-default-port'.
  
 -      * international/mule-diag.el (describe-character-set): Use princ
 -      with proper print-length and print-level instead of insert.
 +2011-03-09  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
  
 -2010-09-26  Juanma Barranquero  <lekktu@gmail.com>
 +      * net/rcirc.el (rcirc-handler-001): Remove useless
 +      with-rcirc-process-buffer.
 +      (rcirc-check-auth-status): Swap arguments to string-match.
  
 -      * window.el (walk-windows): Doc fix (bug#7105).
 +2011-03-09  Glenn Morris  <rgm@gnu.org>
  
 -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-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * newcomment.el (comment-normalize-vars): Better test validity of
 -      comment-end-skip.
 -
 -2010-09-19  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-19  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-07-03  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-15  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-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-12  David Reitter  <david.reitter@gmail.com>
 -
 -      * simple.el (line-move-visual): Do not truncate goal column to
 -      integer size.  (Bug#7020)
 -
 -2010-09-11  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-11  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-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font-lock.el (font-lock-beginning-of-syntax-function):
 -      Mark as obsolete.
 -
 -2010-09-10  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-08  Masatake YAMATO  <yamato@redhat.com>
 -
 -      * progmodes/antlr-mode.el (antlr-font-lock-additional-keywords):
 -      Fix typo.  (Bug#6976)
 -
 -2010-09-06  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-05  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-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/bibtex.el:
 -      * proced.el: Update to new email for Roland Winkler <winkler@gnu.org>.
 -
 -2010-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * desktop.el (desktop-path): Bump :version after 2009-09-15 change.
 -
 -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-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  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-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-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-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): Eliminate funs.
 -
 -2010-08-21  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-21  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-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-key): Don't echo keystrokes (bug#6883).
 -
 -2010-08-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-games-menu): Add landmark.
 -
 -2010-08-20  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-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-key): Don't hide the menu-bar entries (bug#6881).
 -
 -2010-08-18  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-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * files.el: Add `word-wrap' as safe local variable.
 -
 -2010-08-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * woman.el (woman-translate): Case matters.  (Bug#6849)
 -
 -2010-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (kill-region): Doc fix (Bug#6787).
 -
 -2010-08-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-header-line-format):
 -      Fit it to the window, not the frame.
 -
 -2010-08-11  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * subr.el (ignore-errors): Add debug declaration.
 -
 -2010-08-09  Geoff Gole  <geoffgole@gmail.com>  (tiny change)
 -
 -      * whitespace.el (whitespace-color-off): Remove post-command-hook
 -      locally.
 -
 -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-06  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-05  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-04  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-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (exchange-dot-and-mark): Mark obsolete, finally.
 -
 -2010-08-03  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-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bindings.el (complete-symbol): Run completion-at-point as a fallback.
 -
 -2010-08-02  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-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bindings.el (function-key-map): Add a S-tab => backtab fallback.
 -
 -2010-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dabbrev.el (dabbrev-completion): Fix typo in docstring.
 -
 -2010-08-01  MON KEY  <monkey@sandpframing.com>  (tiny change)
 -
 -      * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos):
 -      Fix typo in docstring (bug#6747).
 -
 -2010-07-30  Leo  <sdl.web@gmail.com>
 -
 -      * eshell/esh-io.el (eshell-get-target): Better detection of
 -      read-only file (Bug#6762).
 -
 -2010-07-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * align.el (align-default-spacing): Doc fix.
 -      (align-region-heuristic, align-regexp): Fix typos in docstrings.
 -
 -2010-07-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * help-fns.el (find-lisp-object-file-name): Doc fix (bug#6494).
 -
 -2010-07-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * time.el (display-time-day-and-date): Remove spurious * in docstring.
 -      (display-time-world-buffer-name, display-time-world-mode-map):
 -      Fix typos in docstrings.
 -
 -2010-07-17  Shyam Karanatt  <shyam@swathanthran.in>  (tiny change)
 -
 -      * image-mode.el (image-display-size): New function.
 -      (image-forward-hscroll, image-next-line, image-eol, image-eob)
 -      (image-mode-fit-frame): Use it (Bug#6639).
 -
 -2010-07-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.el (dired-buffers-for-dir): Handle list values of
 -      dired-directory (Bug#6636).
 -
 -2010-07-16  Reiner Steib  <Reiner.Steib@gmx.de>
 -
 -      * vc.el (vc-coding-system-inherit-eol): New defvar.
 -      (vc-coding-system-for-diff): Use it to decide whether to inherit
 -      from the file the EOL format for reading the diffs of that file.
 -      (Bug#4451)
 -
 -2010-07-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime-save): Make the temp buffer
 -      unibyte, so compressed attachments are not compressed again.
 -
 -2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xt-mouse.el (xterm-mouse-event-read): Fix for characters > 127
 -      now that unicode is used (Bug#6594).
 -
 -2010-07-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (push-mark-command): Set the selection if
 -      select-active-regions is non-nil.
 -
 -2010-07-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-week-end-day): New function.
 -      * calendar/cal-tex.el (cal-tex-cursor-month): Remove unused vars.
 -      Respect calendar-week-start-day.  (Bug#6606)
 -      (cal-tex-insert-day-names, cal-tex-insert-blank-days)
 -      (cal-tex-insert-blank-days-at-end): Respect calendar-week-start-day.
 -      (cal-tex-first-blank-p, cal-tex-last-blank-p): Simplify, and
 -      respect calendar-week-start-day.
 -
 -2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (use-region-p): Doc fix (Bug#6607).
 -
 -2010-07-07  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * progmodes/python.el (python-font-lock-keywords): Add Python 2.7
 -      builtins (BufferError, BytesWarning, WindowsError; callables
 -      bin, bytearray, bytes, format, memoryview, next, print; __package__).
 -
 -2010-07-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * play/zone.el (zone-fall-through-ws): Fix next-line ->
 -      forward-line fallout.
 -
 -2010-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mouse.el (mouse-appearance-menu): Add docstring.
 -
 -      * help.el (describe-key): Print up-event using key-description.
 -
 -2010-07-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/zeroconf.el (zeroconf-resolve-service)
 -      (zeroconf-service-resolver-handler): Use `dbus-byte-array-to-string'.
 -      (zeroconf-publish-service): Use `dbus-string-to-byte-array'.
 -
 -2010-07-03  Jan Moringen  <jan.moringen@uni-bielefeld.de>
 -
 -      * net/zeroconf.el (zeroconf-service-remove-hook): New defun.
 -
 -2010-06-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Avoid displaying files with a nil state in vc-dir.
 -      * vc-dir.el (vc-dir-update): Obey the noinsert argument in all
 -      cases that cause insertion.
 -      (vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
 -      with a nil state.
 -
 -2010-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xml.el (xml-parse-region): Avoid infloop (Bug#5281).
 -
 -2010-06-29  Leo  <sdl.web@gmail.com>
 -
 -      * emacs-lisp/rx.el (rx): Doc fix.  (Bug#6537)
 -
 -2010-06-27  Oleksandr Gavenko  <gavenkoa@gmail.com>  (tiny change)
 -
 -      * generic-x.el (bat-generic-mode): Fix regexp for command line
 -      switches (Bug#5719).
 -
 -2010-06-27  Masatake YAMATO  <yamato@redhat.com>
 -
 -      * htmlfontify.el (hfy-face-attr-for-class): Use append instead
 -      of nconc to avoid pure storage error (Bug#6239).
 -
 -2010-06-27  Christoph  <cschol2112@googlemail.com>  (tiny change)
 -
 -      * bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window)
 -      (bookmark-bmenu-other-window-with-mouse): Remove unnecessary
 -      bindings of bookmark-automatically-show-annotations (Bug#6515).
 -
 -2010-06-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * arc-mode.el (archive-zip-extract): Don't quote the file name on
 -      MS-Windows and MS-DOS.  (Bug#6467, Bug#6144)
 -
 -2010-06-24  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 -
 -      * comint.el (make-comint, make-comint-in-buffer): Mention return
 -      value in the docstrings.  (Bug#6498)
 -
 -2010-06-24  Yoni Rabkin  <yoni@rabkins.net>
 -
 -      * bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern,
 -      since it is not present when using some non-default switches.
 -
 -2010-06-23  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * simple.el (compose-mail): Fix doc string to refer to
 -      `compose-mail-user-agent-warnings', instead of to the
 -      nonexistent `compose-mail-check-user-agent'.
 -
 -2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix vc-annotate for renamed files when using Git.
 -      * vc-git.el (vc-git-find-revision): Deal with empty results from
 -      ls-files.  Doe not pass the object as a file name to cat-file, it
 -      is not a file name.
 -      (vc-git-annotate-command): Pass the file name using -- to avoid
 -      ambiguity with the revision.
 -      (vc-git-previous-revision): Pass a relative file name.
 -
 -2010-06-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/js.el (js-mode-map): Use standard capitalization and
 -      ellipses for menu entries.
 -
 -      * wid-edit.el (widget-complete): Doc fix.
 -
 -2010-06-22  Jürgen Hötzel  <juergen@hoetzel.info>  (tiny change)
 -
 -      * wid-edit.el (widget-complete): Fix typo in 2009-12-02 change.
 -
 -2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix annotating other revisions for renamed files in vc-annotate.
 -      * vc-annotate.el (vc-annotate): Add an optional argument for the
 -      VC backend.  Use it when non-nil.
 -      (vc-annotate-warp-revision): Pass the VC backend to vc-annotate
 -      (Bug#6487).
 -
 -      Fix vc-annotate-show-changeset-diff-revision-at-line for git.
 -      * vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
 -      Do not pass the file name to the 'previous-revision call when we
 -      don't want a file diff.  (Bug#6489)
 -
 -2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix finding revisions for renamed files in vc-annotate.
 -      * vc.el (vc-find-revision): Add an optional argument for
 -      the VC backend.  Use it when non-nil.
 -      * vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC
 -      backend to vc-find-revision.  (Bug#6487)
 -
 -2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix reading file names in Git annotate buffers.
 -      * vc-git.el (vc-git-annotate-extract-revision-at-line):
 -      Remove trailing whitespace.  Suggested by Eric Hanchrow.  (Bug#6481)
 -
 -2010-06-20  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-mode.el (c-before-hack-hook): When the mode is set
 -      in file local variables, set it first.
 -
 -2010-06-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * descr-text.el (describe-char-unicode-data): Insert separating
 -      space when needed.  (Bug#6422)
 -
 -      * progmodes/idlwave.el (idlwave-action-and-binding):
 -      Fix typo in 2009-12-03 change.  (Bug#6450)
 -
 -2010-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-quoted-char): Fix up last change (bug#6290).
 -
 -2010-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font-lock.el (font-lock-major-mode): Rename from
 -      font-lock-mode-major-mode to distinguish it from
 -      global-font-lock-mode's own font-lock-mode-major-mode (bug#6135).
 -      (font-lock-set-defaults):
 -      * font-core.el (font-lock-default-function): Adjust users.
 -      (font-lock-mode): Don't set it at all.
 -
 -2010-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-annotate.el (vc-annotate): Use vc-read-revision.
 -
 -2010-06-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/appt.el (appt-time-msg-list): Doc fix.
 -      (appt-check): Let-bind appt-warn-time.
 -      (appt-add): Make the 3rd argument optional.
 -      Simplify argument names.  Doc fix.  Check for integer WARNTIME.
 -      Only add WARNTIME to the output list if non-nil.
 -
 -2010-06-15  Ivan Kanis  <apple@kanis.eu>
 -
 -      * calendar/appt.el (appt-check): Let the 3rd element of
 -      appt-time-msg-list specify the warning time.
 -      (appt-add): Add new argument with the warning time.  (Bug#5176)
 -
 -2010-06-12  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>  (tiny change)
 -
 -      * vc-svn.el (vc-svn-after-dir-status): Fix regexp for Subversions
 -      older than version 1.6.  (Bug#6361)
 -
 -2010-06-12  Helmut Eller  <eller.helmut@gmail.com>
 -
 -      * emacs-lisp/cl-macs.el (destructuring-bind): Bind `bind-enquote',
 -      used by cl-do-arglist.  (Bug#6408)
 -
 -2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/advice.el (ad-compile-function):
 -      Define warning-suppress-types before we let-bind it (bug#6275).
 -
 -      * vc-dispatcher.el: Rename mode-line-hook to vc-mode-line-hook;
 -      declare it, make it buffer-local and permanent-local (bug#6324).
 -      (vc-resynch-window): Adjust name.
 -      * vc-hooks.el (vc-find-file-hook): Adjust name.
 -
 -2010-06-07  Jonathan Rockway  <jon@jrock.us>
 -
 -      * net/rcirc.el: Add support for password authentication.
 -      (rcirc-server-alist): Add :password keyword.
 -      (rcirc): Ask for a password, or get it from the server's alist.
 -      (rcirc-connect): Add password argument.  Pass it to server.
 -
 -2010-06-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * net/dbus.el (dbus-register-method): Declare function.
 -      (dbus-handle-event, dbus-property-handler): Fix typos in docstrings.
 -      (dbus-introspect): Doc fix.
 -      (dbus-event-bus-name, dbus-introspect-get-interface)
 -      (dbus-introspect-get-argument): Reflow docstrings.
 -
 -2010-06-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term/common-win.el (x-colors): Add "dark green" and "dark
 -      turquoise" (Bug#6332).
 -
 -2010-06-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * desktop.el (desktop-clear-preserve-buffers):
 -      Add "*Warnings*" buffer.  (Bug#6336)
 -
 -2010-06-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539).
 -
 -2010-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-revision-completion-table): Apply
 -      `file-directory-p' to the filename part rather than to the whole text.
 -
 -2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * man.el (Man-completion-table): Let the user type "-k " (bug#6319).
 -
 -2010-05-31  Drew Adams  <drew.adams@oracle.com>
 -
 -      * files.el (directory-files-no-dot-files-regexp): Doc fix (bug#6298).
 -
 -2010-05-31  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (momentary-string-display): Just use read-event to read
 -      the exit event (Bug#6238).
 -
 -2010-05-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * ansi-color.el: Delete unused escape sequences (Bug#6085).
 -      (ansi-color-drop-regexp): New constant.
 -      (ansi-color-apply, ansi-color-filter-region)
 -      (ansi-color-apply-on-region): Delete unrecognized control sequences.
 -      (ansi-color-apply): Build string list before calling concat.
 -
 -2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/verilog-mode.el (verilog-type-font-keywords):
 -      Use font-lock-constant-face, not obsolete font-lock-reference-face.
 -
 -2010-05-27  Masatake YAMATO  <yamato@redhat.com>
 -
 -      * htmlfontify.el (hfy-face-resolve-face): New function.
 -      (hfy-face-to-style): Use it (Bug#6279).
 -
 -2010-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * epa.el (epa--select-keys): Don't explicitly delete the window since
 -      that can fail (e.g. sole window in frame).  Use dedication instead.
 -
 -2010-05-19  Uday S Reddy  <u.s.reddy@cs.bham.ac.uk>  (tiny change)
 -
 -      * textmodes/fill.el (fill-region): Don't fill past the end (bug#6201).
 -
 -2010-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-quoted-char): Resolve modifiers after key
 -      remapping (bug#6212).
 -
 -2010-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * tmm.el (tmm-prompt): Don't try to precompute bindings.
 -      (tmm-get-keymap): Compute shortcuts (bug#6171).
 -
 -2010-05-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * desktop.el (desktop-save-buffer-p): Don't mistakenly include
 -      all dired buffers, even tramp ones.  (Bug#5755)  [Backport from trunk]
 -
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.2 released.
 -
 -2010-05-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * international/mule.el (auto-coding-alist): Only purecopy
 -      car of each item, not the whole list (Bug#6083).
 -
 -2010-05-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el (js-mode): Make paragraph variables local before
 -      calling c-setup-paragraph-variables (Bug#6071).
 -
 -2010-05-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * composite.el (compose-region, reference-point-alist): Fix typos
 -      in the doc strings.
 -
 -2010-04-28  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
 -
 -      * calc/calc-graph.el (calc-graph-plot): Use the proper form for
 -      gnuplot's "set" command.
 -
 -2010-04-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * abbrev.el (last-abbrev-text): Doc fix.
 -      (abbrev-prefix-mark): Don't escape parenthesis.
 -
 -2010-04-24  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * composite.el (find-composition): Doc fix.
 -
 -2010-04-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/sql.el (sql-electric-stuff): Fix typo in tag.
 -      (sql-oracle-program, sql-sqlite-options)
 -      (sql-query-placeholders-and-send): Doc fixes.
 -      (sql-set-product, sql-interactive-mode): Reflow docstrings.
 -      (sql-imenu-generic-expression, sql-buffer)
 -      (sql-mode-ansi-font-lock-keywords, sql-mode-oracle-font-lock-keywords)
 -      (sql-mode-postgres-font-lock-keywords, sql-mode-ms-font-lock-keywords)
 -      (sql-mode-sybase-font-lock-keywords)
 -      (sql-mode-informix-font-lock-keywords)
 -      (sql-mode-interbase-font-lock-keywords)
 -      (sql-mode-ingres-font-lock-keywords, sql-mode-solid-font-lock-keywords)
 -      (sql-mode-mysql-font-lock-keywords, sql-mode-sqlite-font-lock-keywords)
 -      (sql-mode-db2-font-lock-keywords, sql-mode-font-lock-keywords)
 -      (sql-product-feature, sql-highlight-product)
 -      (comint-line-beginning-position, sql-rename-buffer)
 -      (sql-toggle-pop-to-buffer-after-send-region)
 -      (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql, sql-solid)
 -      (sql-ingres, sql-ms, sql-postgres, sql-interbase, sql-db2, sql-linter):
 -      Fix typos in docstrings.
 -
 -2010-04-23  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el (Info-fontify-node): Put Info-breadcrumbs to the `display'
 -      property instead of `invisible' and `after-string' (bug#5998).
 -
 -2010-04-23  Juri Linkov  <juri@jurta.org>
 -
 -      * image-mode.el (image-mode-as-text): Fix typo in docstring.
 -
 -2010-04-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * filecache.el (file-cache-add-directory-list)
 -      (file-cache-add-directory-recursively): Fix typos in docstrings.
 -
 -2010-04-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (gurmukhi-composable-pattern): Fix typo.
 -      (gujarati-composable-pattern): Fix typo.
 -
 -2010-04-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (oriya-composable-pattern)
 -      (tamil-composable-pattern, malayalam-composable-pattern):
 -      Add two-part vowels to "v" (vowel sign).
 -
 -2010-04-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (copy-directory): Handle symlinks (Bug#5982).
 -
 -      * progmodes/compile.el (compilation-next-error-function):
 -      Revert 2009-10-12 change (Bug#5983).
 -
 -2010-04-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hg.el (vc-hg-state): Use HGRCPATH, not HGRC.
 -      (vc-hg-working-revision): Likewise.  Use hg parents, not hg parent
 -      (Bug#5846).
 -
 -2010-04-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/lisp.el (lisp-completion-at-point): Give it a doc string.
 -
 -      * minibuffer.el (completion-at-point): Doc fix.
 -
 -2010-04-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix the version number for added files.
 -      * vc-hg.el (vc-hg-working-revision): Check if the file is
 -      registered after hg parent fails (Bug#5961).
 -
 -2010-04-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * htmlfontify.el (htmlfontify-buffer)
 -      (htmlfontify-copy-and-link-dir): Autoload entry points.
 -
 -2010-04-17  Magnus Henoch  <magnus.henoch@gmail.com>
 -
 -      * vc-hg.el (vc-hg-annotate-extract-revision-at-line): Expand file
 -      name relative to the project root (Bug#5960).
 -
 -2010-04-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-git.el (vc-git-print-log): Doc fix.
 -
 -2010-04-14  Óscar Fuentes  <ofv@wanadoo.es>
 -
 -      * ido.el (ido-file-internal): Fix 2009-12-02 change.
 -
 -2010-04-14  Christoph  <cschol2112@googlemail.com>  (tiny change)
 -
 -      * progmodes/grep.el (grep-compute-defaults): Fix handling of host
 -      default settings (Bug#5928).
 -
 -2010-04-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/fortran.el (fortran-match-and-skip-declaration):
 -      New function.
 -      (fortran-font-lock-keywords-3): Use it.  (Bug#1385)
 -
 -2010-04-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (malayalam-composable-pattern): Fix previous
 -      change (add U+0D4D "SIGN VIRAMA").
 -      (oriya-composable-pattern): Add U+0B30 and fix typo in the regexp.
 -      (tamil-composable-pattern): Fix typo in the regexp.
 -      (telugu-composable-pattern): Fix U+0C4D and typo in the regexp.
 -      (kannada-composable-pattern): Fix U+0CB0 and typo in the regexp.
 -      (malayalam-composable-pattern): Fix U+0D4D and typo in the regexp.
 -
 -2010-04-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * textmodes/tex-mode.el (latex-mode): Revert 2008-03-03 change to
 -      paragraph-separate (Bug#5821).
 -
 -2010-04-05  Juri Linkov  <juri@jurta.org>
 -
 -      Put breadcrumbs on overlay instead of inserting to buffer (bug#5809).
 -
 -      * info.el (Info-find-node-2): Comment out code that skips
 -      breadcrumbs line.
 -      (Info-mouse-follow-link): New command.
 -      (Info-link-keymap): New keymap.
 -      (Info-breadcrumbs): Rename from `Info-insert-breadcrumbs'.
 -      Return a string with links instead of inserting breadcrumbs
 -      to the Info buffer.
 -      (Info-fontify-node): Comment out code that inserts breadcrumbs.
 -      Instead of putting the `invisible' text property over the Info
 -      header, make an overlay over the Info header with the `invisible'
 -      property and `after-string' set to the string returned by
 -      `Info-breadcrumbs'.
 -
 -2010-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * help.el (help-window-setup-finish): Doc fix (Bug#5830).
 -      Reported by monkey@sandpframing.com.
 -
 -2010-03-30  Tomas Abrahamsson  <tab@lysator.liu.se>
 -
 -      * textmodes/artist.el (artist-mode): Fix typo in docstring.
 -      Reported by Alex Schröder <kensanata@gmail.com>.  (Bug#5807)
 -
 -2010-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/sinhala.el (composition-function-table): Fix regexp for
 -      the new Unicode specification.
 -
 -      * language/indian.el (devanagari-composable-pattern)
 -      (tamil-composable-pattern, kannada-composable-pattern)
 -      (malayalam-composable-pattern): Adjust for the new Unicode
 -      specification.
 -      (bengali-composable-pattern, gurmukhi-composable-pattern)
 -      (gujarati-composable-pattern, oriya-composable-pattern)
 -      (telugu-composable-pattern): New variables to cope with the new
 -      Unicode specification.  Use them in composition-function-table.
 -
 -2010-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make tmm-menubar work for the Buffers menu again (bug#5726).
 -      * tmm.el (tmm-prompt): Also handle keymap entries in the form of
 -      vectors rather than cons cells, as used in menu-bar-update-buffers.
 -
 -2010-03-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el (js-auto-indent-flag, js-mode-map)
 -      (js-insert-and-indent): Revert 2009-08-15 change, restoring
 -      electric punctuation for "{}();,:" (Bug#5586).
 -
 -      * mail/sendmail.el (mail-default-directory): Doc fix.
 -
 -2010-03-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-default-directory): Doc fix.
 -
 -2010-03-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * subr.el (version-regexp-alist, version-to-list)
 -      (version-list-<, version-list-=, version-list-<=)
 -      (version-list-not-zero, version<, version<=, version=): Doc fix.
 -      (Bug#5744).
 -
 -2010-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -            Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-ui.el (gdb-apple-test): New function.
 -      (gdb-init-1): Use it.
 -
 -2010-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-root-diff): Doc fix.
 -
 -2010-03-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * vc.el (vc-print-log, vc-print-root-log): Doc fix.
 -
 -      * simple.el (append-to-buffer): Fix last change.
 -
 -2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (append-to-buffer): Ensure that point is preserved if
 -      BUFFER is the current buffer.  Suggested by YAMAMOTO Mitsuharu.
 -      (Bug#5749)
 -
 -2010-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/make-mode.el (makefile-rule-action-regex): Backtrack less.
 -      (makefile-make-font-lock-keywords): Adjust rule since submatch 1 may
 -      not be present any more.
 -
 -2010-03-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * faces.el (set-face-attribute): Fix typo in docstring.
 -      (face-valid-attribute-values): Reflow docstring.
 -
 -2010-03-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/flyspell.el (sgml-lexical-context): Autoload it (Bug#5752).
 -
 -2010-03-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.el (indent-for-tab-command): Doc fix.
 -
 -2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image-dired.el (image-dired-display-thumbs): Fix typo in docstring.
 -      (image-dired-read-comment): Doc fix.
 -
 -      * json.el (json-object-type, json-array-type, json-key-type)
 -      (json-false, json-null, json-read-number):
 -      * minibuffer.el (completion-in-region-functions):
 -      * calendar/cal-tex.el (cal-tex-daily-end, cal-tex-number-weeks)
 -      (cal-tex-cursor-week):
 -      * emacs-lisp/trace.el (trace-function):
 -      * eshell/em-basic.el (eshell/printnl):
 -      * eshell/em-dirs.el (eshell-last-dir-ring, eshell-parse-drive-letter)
 -      (eshell-read-last-dir-ring, eshell-write-last-dir-ring):
 -      * obsolete/levents.el (allocate-event, event-key, event-object)
 -      (event-point, event-process, event-timestamp, event-to-character)
 -      (event-window, event-x, event-x-pixel, event-y, event-y-pixel):
 -      * textmodes/reftex-vars.el (reftex-index-macros-builtin)
 -      (reftex-section-levels, reftex-auto-recenter-toc, reftex-toc-mode-hook)
 -      (reftex-cite-punctuation, reftex-search-unrecursed-path-first)
 -      (reftex-highlight-selection): Fix typos in docstrings.
 -
 -2010-03-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuffer.el (completion-in-region-functions): Fix docstring typos.
 -
 -2010-03-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-highlight-face): Restore option deleted
 -      2008-02-13 without comment; mark it obsolete.
 -      (rmail-highlight-headers): Use rmail-highlight-face once more.
 -
 -2010-03-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * woman.el (woman2-process-escapes): Only consume the newline if
 -      the filler character is on a line by itself (Bug#5729).
 -
 -2010-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (devanagari-composable-pattern): Add more
 -      consonants.
 -
 -2010-03-14  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/trampver.el: Update release number.
 -
 -2010-03-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Add cedet/semantic/imenu.el.
 -
 -2010-03-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-find-executable):
 -      Use `tramp-get-connection-buffer'.  Make the regexp for checking
 -      output of "wc -l" more robust.
 -      (tramp-find-shell): Use another shell but /bin/sh on OpenSolaris.
 -      (tramp-open-connection-setup-interactive-shell): Remove workaround
 -      for OpenSolaris bug, it is not needed anymore.
 -
 -2010-03-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/cl-macs.el (defsubst*): Add autoload cookie.  (Bug#4427)
 -
 -2010-03-11  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * files.el (auto-mode-alist): Accept more verilog file patterns.
 -
 -2010-03-09  Miles Bader  <miles@gnu.org>
 -
 -      * vc-git.el (vc-git-print-log): Use "tformat:" for shortlog,
 -      instead of "format:"; this ensures that the output is
 -      newline-terminated.
 -
 -2010-03-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/rfc822.el (rfc822-addresses): Use nested catches to ensure
 -      that all errors are caught, and that the return value is always a
 -      list (Bug#5692).
 -
 -2010-03-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/misc-lang.el (windows-1256): New coding system.
 -      (cp1256): New alias of windows-1256 (bug#5690).
 -
 -2010-03-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * mail/rfc822.el (rfc822-addresses): Move catch clause down around
 -      call to rfc822-bad-address.  (Bug#5692)
 -
 -2010-03-07  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 -
 -      * vc-git.el (vc-git-annotate-extract-revision-at-line):
 -      Use vc-git-root as default directory for revision path (Bug#5657).
 -
 -2010-03-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * calculator.el (calculator): Don't bind split-window-keep-point
 -      (Bug#5674).
 -
 -2010-03-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-git.el: Re-flow to fit into 80 columns.
 -      (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage):
 -      Remove spurious `quote' element in each case alternative.
 -      (vc-git-show-log-entry): Use prog1.
 -      (vc-git-after-dir-status-stage): Remove unused var `remaining'.
 -
 -2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * man.el (Man-files-regexp): Tighten up the regexp (bug#5686).
 -
 -2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * macros.el (insert-kbd-macro): Look up keyboard macro using the
 -      definition, not the name (Bug#5481).
 -
 -2010-03-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
 -
 -      * subr.el (momentary-string-display): Don't overwrite the MESSAGE
 -      argument with a local variable.  (Bug#5670)
 -
 -2010-03-02  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el (Info-index-next): Decrement line number by 2.  (Bug#5652)
 -
 -2010-03-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Fix an
 -      error when FILENAME and NEWNAME are existing remote directories.
 -
 -      * net/tramp-compat.el (tramp-compat-make-temp-file): Add optional
 -      parameter DIR-FLAG.
 -
 -2010-03-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/cal-hebrew.el (holiday-hebrew-passover): Fix date
 -      of Yom HaAtzma'ut when it falls on a Monday (rule changed in 2004).
 -
 -2010-03-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/burmese.el (burmese-composable-pattern): Rename from
 -      myanmar-composable-pattern.
 -
 -      * international/characters.el (script-list):
 -      * international/fontset.el (script-representative-chars):
 -      Change myanmar to burmese.
 -      (otf-script-alist): Likewise.
 -      (setup-default-fontset): Likewise.  Re-fix :otf spec.
 -
 -2010-02-28  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * menu-bar.el (menu-bar-manuals-menu): Fix typo.
 -
 -2010-02-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * scroll-bar.el (scroll-bar-drag-1): Add save-excursion, bug #5654.
 -
 -2010-02-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-write-region): START can be a string.
 -      Take care in the checks.  Reported by Dan Davison
 -      <davison@stats.ox.ac.uk>.
 -
 -2010-02-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-introspect, dbus-get-property)
 -      (dbus-set-property, dbus-get-all-properties):
 -      Use `dbus-call-method' when noninteractive.  (Bug#5645)
 -
 -2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * textmodes/reftex-toc.el (reftex-toc-promote-prepare):
 -      * emacs-lisp/elint.el (elint-add-required-env):
 -      * calendar/icalendar.el (icalendar--add-diary-entry):
 -      * calc/calcalg2.el (math-tracing-integral):
 -      * files.el (recover-session-finish): Use with-current-buffer
 -      instead of save-excursion.
 -
 -2010-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Fix in-buffer completion when after-change-functions modify the buffer.
 -      * minibuffer.el (completion--replace): New function.
 -      (completion--do-completion): Use it and use relative movement.
 -
 -2010-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * international/fontset.el (setup-default-fontset): Fix :otf spec.
 -
 -2010-02-27  Jeremy Whitlock  <jcscoobyrs@gmail.com>  (tiny change)
 -
 -      * progmodes/python.el (python-pdbtrack-stack-entry-regexp):
 -      Allow the characters _<> in the stack entry (Bug#5653).
 -
 -2010-02-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/burmese.el: Fix entries in composition-function-table.
 -      (myanmar-composable-pattern): New variable.
 -
 -      * international/fontset.el (setup-default-fontset): Add an entry
 -      for myanmar.
 -
 -      * international/characters.el (script-list): Add Myanmar
 -      Extended-A.
 -
 -2010-02-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * custom.el (custom-initialize-delay): Doc fix.
 -
 -      * mail/sendmail.el (send-mail-function): Autoload the call
 -      to custom-initialize-delay, not otherwise preserved in loaddefs.el.
 -
 -2010-02-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-local-variables-filter): For eval forms, also
 -      check safe-local-variable-p (Bug#5636).
 -
 -2010-02-24  Eduard Wiebe  <usenet@pusto.de>
 -
 -      * javascript.el (wisent-javascript-jv-expand-tag): Avoid c(ad)ddr
 -      and use c(ad)r of cddr (Bug#5640).
 -
 -2010-02-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Protect
 -      setting the modes by `ignore-errors'.  It might fail, for example
 -      if the file is not owned by the user but the group.
 -      (tramp-handle-write-region): Ensure, that `tmpfile' is always readable.
 -
 -2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (directory-listing-before-filename-regexp):
 -      Use stricter matching for iso-style dates, to avoid false matches with
 -      date-like filenames (Bug#5597).
 -
 -      * htmlfontify.el (htmlfontify): Doc fix.
 -
 -      * eshell/eshell.el (eshell): Doc fix.
 -
 -      * startup.el (fancy-about-screen): In mode-line, apply
 -      mode-line-buffer-id face only to the buffer name (Bug#5613).
 -
 -2010-02-20  Kevin Ryde  <user42@zip.com.au>
 -
 -      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 -      In `watcom' anchor regexp to start of line, to avoid slowness
 -      (Bug#5599).
 -
 -2010-02-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * subr.el (remove-yank-excluded-properties): Explain in a comment
 -      why `category' property is removed.
 -
 -2010-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * isearch.el (isearch-update-post-hook, isearch-update):
 -      Revert 2010-02-17 change.
 -
 -2010-02-19  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * calendar/icalendar.el (icalendar--convert-ordinary-to-ical)
 -      (icalendar--convert-weekly-to-ical)
 -      (icalendar--convert-yearly-to-ical)
 -      (icalendar--convert-block-to-ical)
 -      (icalendar--convert-cyclic-to-ical)
 -      (icalendar--convert-anniversary-to-ical): Take care of time
 -      specifications where hour has 1-digit only (Bug#5549).
 -
 -2010-02-19  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-ui.el (gdb-assembler-handler): Accommodate change
 -      of disassemble output in GDB 7.1.
 -
 -2010-02-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-electric-insert): Give it a delete-selection
 -      property.  (Bug#5593)
 -
 -2010-02-18  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-cvs.el (vc-cvs-merge-news): Yet another fix of message parsing.
 -
 -2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use abbreviated file names in bookmarks (bug#5591).
 -      * bookmark.el (bookmark-maybe-load-default-file): Remove redundant
 -      calls to expand-file-name.
 -      (bookmark-relocate): Use abbreviated file names in bookmarks.
 -      (bookmark-load): Use abbreviated file names in messages.
 -
 -2010-02-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-directory-files): When FULL, do not
 -      expand "." and "..".  Reported by Thierry Volpiatto
 -      <thierry.volpiatto@gmail.com>.
 -
 -2010-02-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-file-contents): Set always the
 -      permissions of the temporary file to "0600".  In case the remote
 -      file has no read permissions for the owner, there might be
 -      problems otherwise.  Reported by Ole Laursen <olau@iola.dk>.
 -
 -22010-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/authors.el (authors-renamed-files-alist):
 -      Add entries for INSTALL.CVS.
 -
 -2010-02-17  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * vc-bzr.el: Fix typo in Known Bugs section.
 -
 -      * isearch.el (isearch-update-post-hook): New hook.
 -      (isearch-update): Use the new hook.
 -
 -2010-02-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band):
 -      Fix errors in copying directories.
 -      (tramp-handle-add-name-to-file, tramp-handle-copy-directory)
 -      (tramp-do-copy-or-rename-file, tramp-handle-delete-directory)
 -      (tramp-handle-delete-file)
 -      (tramp-handle-dired-recursive-delete-directory)
 -      (tramp-handle-write-region): Flush also the cache for the upper
 -      directory.
 -
 -2010-02-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (save-interprogram-paste-before-kill): Doc fix.
 -
 -      * cus-edit.el (hardware): Doc fix.
 -
 -      * man.el (man): Add to external custom group.
 -
 -      * delim-col.el (columns): Move to wp custom group.
 -
 -      * doc-view.el (doc-view): Add to data custom group.
 -
 -      * nxml/nxml-mode.el (nxml-faces): Remove from font-lock-faces group.
 -
 -      * textmodes/flyspell.el (flyspell-word): Obey the offset specified
 -      by ispell-parse-output (Bug#5575).
 -
 -2010-02-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/ja-dic-cnv.el (iso-2022-7bit-short): Delete it.
 -      (skkdic-convert-okuri-ari): Ignore lines starting with '>'.
 -      (skkdic-convert): Use `euc-japan' coding system for writing.
 -
 -2010-02-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/tex-mode.el (tex-bibtex-file): Expand the result of
 -      tex-main-file before using it.  (Bug#5562)
 -
 -2010-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/advice.el (ad-compile-function): Suppress byte-compiler
 -      warnings, since it is annoying for the user to see them each time he
 -      runs the code.
 -
 -2010-02-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-process-actions, tramp-read-passwd):
 -      * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): Use VEC
 -      instead of PROC for caching "first-password-request".  Otherwise,
 -      new processes would not profit from passwords already entered.
 -
 -      * net/tramp-cache.el (tramp-dump-connection-properties):
 -      Don't save "first-password-request" property.
 -
 -2010-02-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * outline.el (outline-head-from-level):
 -      * simple.el (with-wrapper-hook):
 -      * emacs-lisp/elint.el (elint-extra-errors, elint-current-buffer)
 -      (elint-defun, elint-buffer-env, elint-top-form-logged)
 -      (elint-unbound-variable):
 -      * textmodes/reftex-toc.el (reftex-toc-newhead-from-alist):
 -      Fix typos in docstrings.
 -
 -2010-02-14  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (insert-directory): When WILDCARD-REGEXP and
 -      FULL-DIRECTORY-P are nil, insert the file entry instead of the
 -      whole directory.  (Bug#5551)
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory): Insert "  " for
 -      dired's alignment sanity.  (Bug#5516)
 -
 -2010-02-14  Juri Linkov  <juri@jurta.org>
 -
 -      * man.el (Man-fontify-manpage, Man-cleanup-manpage):
 -      Remove remaining ^H with their preceding chars.  (Bug#5566)
 -
 -2010-02-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * simple.el (transpose-subr): Give it a doc-string.
 -
 -      * textmodes/paragraphs.el (transpose-paragraphs, transpose-sentences):
 -      Doc fixes.
 -
 -2010-02-12  Juri Linkov  <juri@jurta.org>
 -
 -      * arc-mode.el (archive-unique-fname): Make directories for nested
 -      archives.  (Bug#5540)
 -
 -2010-02-12  Juri Linkov  <juri@jurta.org>
 -
 -      * ffap.el (dired-at-point): Fix docstring.  (Bug#5565)
 -
 -2010-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (copy-overlay): Handle deleted overlays.
 -
 -      * man.el (Man-completion-table): Don't signal an error if we can't run
 -      manual-program (bug#4056).
 -
 -2010-02-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * textmodes/artist.el (artist-mt): Fix typos in docstring.
 -
 -2010-02-10  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -
 -      * info.el (Info-bookmark-jump): Simplify.
 -
 -      * bookmark.el (bookmark-handle-bookmark): Catch the right error.
 -      (bookmark-default-handler): Accept new bookmark field `buffer'.
 -
 -2010-02-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * iswitchb.el (iswitchb-completions): Revert last change.
 -
 -2010-02-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * ls-lisp.el (ls-lisp-insert-directory): When WILDCARD-REGEXP and
 -      FULL-DIRECTORY-P are nil, and FILE is absolute, expand it.
 -      This prevents file names like "~/" being listed literally.
 -
 -2010-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/xterm.el (xterm-maybe-set-dark-background-mode):
 -      Remove dead code.  (Bug#5546)
 -
 -2010-02-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eshell/em-ls.el (eshell-ls-applicable): Frob file attributes
 -      correctly (Bug#5548).
 -
 -2010-02-08  Jose E. Marchesi  <jemarch@gnu.org>
 -
 -      * progmodes/ada-mode.el (ada-in-numeric-literal-p): New function.
 -      (ada-adjust-case): Don't adjust case in hexadecimal number literals.
 -
 -2010-02-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-util.el (with-coding-priority): Add autoload
 -      cookie for putting `lisp-indent-function'.
 -
 -2010-02-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-font-lock-keywords-1, f90-font-lock-keywords-2):
 -      Move F2003 named interfaces from keywords-2 to keywords-1, and
 -      use function-name-face rather than constant-face.
 -      Simplify "abstract interface" regexp.
 -
 -2010-02-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eshell/esh-util.el (eshell-file-attributes): New optional arg
 -      ID-FORMAT.  Pass it to `file-attributes'.
 -
 -      * eshell/em-ls.el (eshell-do-ls): Use it (Bug#5528).
 -
 -2010-02-07  sj  <prime.wizard+emacs@gmail.com>  (tiny change)
 -
 -      * faces.el (set-face-attribute): Allow calling
 -      internal-set-lisp-face-attribute with 'unspecified family and
 -      foundry argument (Bug#5536).
 -
 -2010-02-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-font-lock-keywords-2)
 -      (f90-looking-at-type-like, f90-looking-at-program-block-end):
 -      Handle F2003 named interfaces.
 -
 -2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cc-mode.el (c-common-init): Bind temporary variables
 -      beg and end before calling c-get-state-before-change-functions.
 -
 -2010-02-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-dir-extra-headers):
 -      Disable the pending merges header.
 -
 -2010-02-05  Juri Linkov  <juri@jurta.org>
 -
 -      * doc-view.el (doc-view-mode):
 -      * image-mode.el (image-mode): Put property mode-class=special.
 -      (Bug#4896)
 -
 -2010-02-05  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * vc-svn.el (vc-svn-revision-table): New function.
 -
 -2010-02-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory):
 -      * net/tramp-imap.el (tramp-imap-handle-insert-directory):
 -      * net/tramp-smb.el (tramp-smb-handle-insert-directory):
 -      Handle also directories.  (Bug#5478)
 -
 -2010-02-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-font-lock-keywords-2): Fix `enum'.
 -
 -2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * startup.el (command-line-1): Convert options beginning with a
 -      single dash as well (Bug#5519).
 -
 -2010-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make `initials' completion work for /hh -> /home/horn again (bug#5524).
 -      * minibuffer.el (completion-initials-expand): Only check the presence
 -      of delims *within* the boundaries, since otherwise the / delim is
 -      always found for files.
 -
 -      Fix up various corner case problems.
 -      * doc-view.el (doc-view-last-page-number): New function.
 -      (doc-view-mode, doc-view-last-page, doc-view-goto-page): Use it.
 -      (doc-view-goto-page): Avoid inf-loops when the conversion fails.
 -      (doc-view-kill-proc): Avoid inf-loop in freak cases.
 -      (doc-view-reconvert-doc): Use the new recursive delete-directory.
 -      (doc-view-convert-current-doc): Don't create the resolution.el file
 -      here any more.
 -      (doc-view-pdf/ps->png): Do it here instead.
 -      (doc-view-already-converted-p): Check that resolution.el is present.
 -      (doc-view-pdf->png): Don't rely on doc-view-pdf/ps->png for the few
 -      windows that are not yet showing images.
 -
 -2010-02-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
 -      `dired-uncache' for every elemnt which is an absolute file name.
 -
 -      * net/tramp.el (tramp-handle-dired-uncache): When DIR is not a
 -      directory, handle its directory component.
 -      (tramp-handle-file-remote-p): Let-bind `tramp-verbose' to 3; this
 -      function is called permanently and creates noise, otherwise.
 -
 -      * net/tramp-imap.el (tramp-imap-handle-insert-directory):
 -      * net/tramp-smb.el (tramp-smb-handle-insert-directory):
 -      Handle the case, FILENAME is not in `default-directory'.  (Bug#5478)
 -
 -2010-02-04  David Burger  <dburger@google.com>  (tiny change)
 -
 -      * macros.el (apply-macro-to-region-lines):
 -      Minor simplification.  (Bug#5485)
 -
 -2010-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-show-message-1): Handle malformed
 -      quoted-printable text.  (Bug#5441)
 -
 -      * mail/mail-utils.el (mail-unquote-printable-region): Doc fix.
 -
 -      * simple.el (visual-line-mode): Capitalize lighter.
 -
 -2010-02-03  John Wiegley  <jwiegley@gmail.com>
 -
 -      * iswitchb.el (iswitchb-completions): Add bookmark files to the
 -      list of files considered for "virtual buffer" completions.
 -
 -2010-02-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory): Parse directory
 -      also in case of (and (not full) (not wildcard)).  This is needed,
 -      when dired is called with a list of files, which are not in
 -      `default-directory'.  (Bug#5478)
 -
 -2010-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-hooks.el (vc-path): Make it an obsolete var, rather than function.
 -
 -2010-02-02  Juri Linkov  <juri@jurta.org>
 -
 -      * textmodes/ispell.el (ispell-message-text-end): Remove final newline
 -      from unidiff to allow function-line after @@.
 -
 -2010-02-02  Juri Linkov  <juri@jurta.org>
 -
 -      * ediff-util.el (ediff-file-checked-in-p): Replace '(nil CVS) by
 -      '(RCS SCCS) with inverted condition.
 -
 -2010-02-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-skip-msgs): Ignore all ""^500 .*AUTH"
 -      messages.
 -
 -2010-02-01  Juri Linkov  <juri@jurta.org>
 -
 -      * arc-mode.el (archive-zip-extract): Use `member-ignore-case' to
 -      compare with "pkunzip" and "pkzip" instead of only "pkzip".
 -      In the `archive-extract-by-stdout' branch use `shell-quote-argument'
 -      only when (car archive-zip-extract) is "unzip".  (Bug#5475)
 -
 -2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * doc-view.el (doc-view-new-window-function): Be a bit more defensive.
 -      (doc-view-revert-buffer): New command.
 -      (doc-view-mode-map): Use it.
 -
 -2010-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-dir-extra-headers): Add a header when a
 -      pending merge is detected.
 -
 -2010-01-31  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (zrgrep): Call `grep-compute-defaults' at the
 -      beginning of interactive spec like all other grep commands do.
 -      Put "all" in front of "gz".  (Bug#5260)
 -
 -2010-01-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-after-dir-status): Match another renaming indicator.
 -
 -2010-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dirtrack.el (dirtrack): Warn instead of signalling error if the
 -      regexp is incorrect (Bug#5476).
 -
 -2010-01-29  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Handle also
 -      symlinks, when FILENAME is not in `default-directory'.
 -
 -2010-01-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/ange-ftp.el (ange-ftp-insert-directory): Handle the case,
 -      FILE is not in `default-directory'.  (Bug#5478)
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Simplify handling
 -      of SWITCHES.  Handle the case, FILENAME is not in
 -      `default-directory'.  (Bug#5478)
 -      (tramp-register-file-name-handlers): Add safe-magic property.
 -
 -2010-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * arc-mode.el (archive-zip-extract): Quote the argument passed to
 -      unzip (Bug#5475).
 -
 -2010-01-28  Nil Geisweiller  <ngeiswei@googlemail.com>  (tiny change)
 -
 -      * progmodes/flymake.el (flymake-allowed-file-name-masks)
 -      (flymake-master-make-header-init): Add other C++ filename masks.
 -      (flymake-find-possible-master-files)
 -      (flymake-check-patch-master-file-buffer): Doc fixes (Bug#5488).
 -
 -2010-01-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Fix some busybox annoyances.
 -
 -      * net/tramp.el (tramp-wrong-passwd-regexp): Add "Timeout, server
 -      not responding." string.
 -      (tramp-open-connection-setup-interactive-shell): Dump stty
 -      settings.  Enable "neveropen" arg for all `tramp-send-command'
 -      calls.  Handle "=" in variable values properly.
 -      (tramp-find-inline-encoding): Raise an error, when no encoding is
 -      found.
 -      (tramp-wait-for-output): Check, whether PROC buffer is available.
 -      Remove spurious " ^H" sequences, sent by busybox.
 -      (tramp-get-ls-command): Suppress coloring, if possible.
 -
 -2010-01-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-svn.el (vc-svn-update): Use "svn --non-interactive".  (Bug#4280)
 -
 -      * log-edit.el (log-edit-strip-single-file-name): Add missing
 -      :safe, :group, and :version tags.
 -
 -2010-01-27  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * calendar/diary-lib.el (diary-unhide-everything): Handle narrowed
 -      buffers.  (Bug#5477)
 -
 -2010-01-27  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * files.el (delete-directory): Handle moving to trash without
 -      first doing recursion (Bug#5436).
 -
 -2010-01-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hooks.el (vc-path): Mark as obsolete.
 -
 -2010-01-25  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-annotate.el (vc-annotate-revision-at-line): Compare file
 -      names too.
 -
 -      * vc-bzr.el (vc-bzr-print-log): Use the more compact --line option
 -      for the short log.
 -      (vc-bzr-log-view-mode): Adjust regexp for the above change.
 -
 -2010-01-25  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * progmodes/python.el: Replace reference to obsolete c-subword-mode.
 -
 -      * vc-bzr.el (vc-bzr-revision-table): New function.
 -
 -2010-01-25  Eric Hanchrow  <eric.hanchrow@gmail.com>  (tiny change)
 -
 -      * vc-git.el (vc-git-dir-status-goto-stage): Pass --relative to the
 -      diff-index command.  This requires at least git-1.5.5.  (Bug#1589).
 -
 -2010-01-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Remove support for adding --signoff on commit.
 -      Future support will use an incompatible generic mechanism.
 -      * vc-git.el (vc-git-add-signoff): Remove variable.
 -      (vc-git-toggle-signoff): Remove function.
 -      (vc-git-extra-menu-map): Do not bind vc-git-toggle-signoff.
 -
 -      * term/xterm.el (xterm-maybe-set-dark-background-mode):
 -      Rename from xterm-set-background-mode.  Return t if the background mode
 -      was set.
 -      (terminal-init-xterm): Move tty-set-up-initial-frame-faces
 -      earlier, call it again in case the background mode has changed.
 -
 -2010-01-23  Dmitri Paduchikh  <dpaduch@k66.ru>  (tiny change)
 -
 -      * emacs-lisp/advice.el (ad-set-orig-definition): Fix typo
 -      (Bug#3541).
 -
 -2010-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/assoc.el (aelement): Doc fix.
 -      (aput, adelete, amake): Use lexical-let (Bug#5450).
 -
 -2010-01-23  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el (ada-in-paramlist-p): Pragma syntax
 -      is the same as subprogram call, not declaration.  (Bug#5435).
 -
 -2010-01-23  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-smb.el (tramp-smb-conf): New defcustom.
 -      (tramp-smb-maybe-open-connection): Use it.
 -
 -2010-01-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-imap.el (top): Autoload needed packages.  (Bug#5448)
 -
 -2010-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte
 -      just because we see "encoding: 8bit".
 -      * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes.
 -
 -2010-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * isearch.el (isearch-allow-scroll): Doc fix (Bug#5446).
 -
 -2010-01-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * jka-compr.el (jka-compr-load): If load-file is not in
 -      load-history, try its file-truename version.  (bug#5447)
 -
 -2010-01-21  Alan Mackenzie  <acm@muc.de>
 -
 -      Fix a situation where deletion of a cpp construct throws an error.
 -      * progmodes/cc-engine.el (c-invalidate-state-cache):
 -      Before invoking c-with-all-but-one-cpps-commented-out, check that the
 -      special cpp construct is still in the buffer.
 -      (c-parse-state): Record the special cpp with markers, not numbers.
 -
 -2010-01-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * textmodes/sgml-mode.el (sgml-maybe-name-self): No need to
 -      process last-command-event, as it is now decoded first (Bug#5380).
 -
 -2010-01-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.el (term-send-raw-meta): Revert 2009-12-04 change (Bug#5330).
 -
 -2010-01-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * indent.el (tab-always-indent): Fix custom-type.
 -
 -2010-01-19  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-defs.el: Fix bug#5395: typing '#' in an empty
 -      buffer throws "args out of range".
 -      (c-set-cpp-delimiters, c-clear-cpp-delimiters): Check for EOB
 -      playing the role of delimiter.
 -
 -2010-01-18  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el: Fix bug#5400.
 -      (ada-matching-decl-start-re): Move into ada-goto-decl-start.
 -      (ada-goto-decl-start): Rename from ada-goto-matching-decl-start; callers
 -      changed.  Delete RECURSIVE parameter; never used.  Improve doc string.
 -      Improve comments in "is" portion.  Handle null procedure declaration.
 -      (ada-move-to-end): Improve doc string.
 -
 -2010-01-18  Óscar Fuentes  <ofv@wanadoo.es>
 -
 -      * ido.el (ido-cur-list): Initialize to nil.
 -      Remove obsolete information from commentary.
 -      (ido-choice-list): Initialize to nil.
 -      (ido-get-bufname): Reject minibuffers.
 -      (ido-make-buffer-list): If "default" is a nonexistent
 -      buffer, ignore it, as per the function's comment.
 -      (ido-kill-buffer-internal): New function.
 -      (ido-kill-buffer-at-head): Use it.
 -      (ido-visit-buffer): Likewise.
 -
 -2010-01-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * calendar/time-date.el (date-to-time): Doc fix (Bug#5408).
 -
 -2010-01-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs-lisp/chart.el (chart-file-count, chart-rmail-from):
 -      Fix typos in chart titles.
 -
 -      * whitespace.el (whitespace-style, global-whitespace-newline-mode):
 -      * emacs-lisp/eieio.el (eieio-error-unsupported-class-tags)
 -      (eieio-generic-form, eieio-help-mode-augmentation-maybee, eieio-browse)
 -      (describe-class, eieio-describe-generic, describe-generic):
 -      * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click)
 -      (eieio-speedbar-expand):
 -      * emulation/viper-cmd.el (viper-exec-form-in-vi)
 -      (viper-exec-form-in-emacs, viper-harness-minor-mode, viper-ESC)
 -      (viper-repeat, viper-replace-state-exit-cmd, viper-toggle-search-style)
 -      (viper-del-backward-char-in-replace, viper-backward-indent)
 -      (viper-brac-function, viper-register-to-point, viper-submit-report):
 -      * net/tramp.el (tramp-remote-coding-commands):
 -      * term/x-win.el (emacs-session-save, x-menu-bar-open, icon-map-list):
 -      Fix typos in docstrings.
 -
 -2010-01-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-yank-original): Set the mark if the
 -      specified function for yanking does not do it.
 -
 -2010-01-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (with-vc-properties): Deal with directory arguments.  (Bug#5298)
 -
 -      * vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when
 -      resyncing a directory.
 -
 -2010-01-17  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el: Fix bug#1920.
 -      (ada-ident-re): Delete ., allow multibyte characters.
 -      (ada-goto-label-re): New; matches goto labels.
 -      (ada-block-label-re): New; matches block labels.
 -      (ada-label-re): New; matches both.
 -      (ada-named-block-re): Deleted; callers changed to use
 -      `ada-block-label-re' instead.
 -      (ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop):
 -      Use `ada-block-label-re'.
 -      (ada-indent-on-previous-lines): Improve handling of goto labels.
 -      (ada-get-indent-block-start): Special-case block label.
 -      (ada-get-indent-label): Split into `ada-indent-block-label' and
 -      `ada-indent-goto-label'.
 -      (ada-goto-stmt-start, ada-goto-next-non-ws):
 -      Optionally ignore goto labels.
 -      (ada-goto-next-word): Simplify.
 -      (ada-indent-newline-indent-conditional): Insert newline before
 -      trying to fix indentation; doc fix.
 -
 -2010-01-17  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-command-flags): Give it an initial value.
 -
 -2010-01-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * files.el (minibuffer-with-setup-hook):
 -      * textmodes/artist.el (artist-mt, artist-key-undraw-continously)
 -      (artist-key-draw-continously, artist-key-do-continously-continously)
 -      (artist-key-set-point-continously, artist-mouse-draw-continously):
 -      Fix typos in docstrings.
 -
 -2010-01-16  Lennart Borgman  <lennart.borgman@gmail.com>
 -
 -      * nxml/nxml-mode.el (nxml-extend-after-change-region):
 -      Never return t (Bug#3898).
 -
 -2010-01-16  Frédéric Perrin  <frederic.perrin@resel.fr>  (tiny change)
 -
 -      * vc-dispatcher.el (vc-do-command): Set LC_MESSAGES, so that we
 -      can parse the output of the external commands (Bug#5279).
 -
 -2010-01-16  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix.
 -
 -2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/advice.el (ad-add-advice): Doc fix (Bug#5274)
 -
 -      * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267).
 -
 -      * startup.el (command-line): Remove unused --icon-type arg.
 -      Handle --display arg, passing it to command-line-1 (Bug#5392).
 -
 -2010-01-16  Mario Lang  <mlang@delysid.org>
 -
 -      * emacs-lisp/chart.el (chart-translate-namezone):
 -      * textmodes/artist.el (artist-compute-popup-menu-table):
 -      Remove duplicated words in doc-strings.
 -
 -2010-01-15   David Abrahams  <dave@boostpro.com>  (tiny change)
 -
 -      * net/mairix.el (mairix-widget-send-query): Send -1 instead of nil
 -      to mairix-search to suppress threading (Bug#5342).
 -
 -2010-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (canonicalize-coding-system-name):
 -      Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387).
 -
 -2010-01-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * log-view.el (top-level): Require 'wid-edit.  (Bug#5311)
 -
 -      * wid-edit.el (widget-keymap): Doc fix.
 -
 -      * vc-svn.el (vc-svn-print-log): Use --limit rather than -l since the
 -      former seems to be more widely accepted by various svn versions.
 -
 -2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * find-cmd.el (find-constituents):
 -      * vc-arch.el (vc-arch-root):
 -      * window.el (window-body-height, pop-up-frames):
 -      * emacs-lisp/eieio-base.el (eieio-singleton, slot-missing):
 -      * progmodes/ada-stmt.el (ada-if):
 -      * progmodes/gdb-ui.el (gdb-jsonify-buffer):
 -      * textmodes/ispell.el (ispell-grep-options, ispell-dictionary-alist)
 -      (ispell-encoding8-command, ispell-aspell-supports-utf8)
 -      (ispell-last-program-name, ispell-help): Fix typos in docstrings.
 -
 -      * progmodes/flymake.el (flymake-post-syntax-check):
 -      Fix typo in error message.
 -
 -2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * hexl.el (hexl-printable-character): Fix check of `hexl-iso',
 -      which is always a string.  (Bug#5313)
 -
 -2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/ada-xref.el (ada-default-prj-properties):
 -      Simplify previous change.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-xref.el (ada-default-prj-properties):
 -      Default ada_project_path to $ADA_PROJECT_PATH.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el (ada-create-keymap):
 -      Override `narrow-to-defun' with `ada-narrow-to-defun'.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el: Deal with Ada 2005 "overriding" keyword.
 -      (ada-subprog-start-re, ada-imenu-subprogram-menu-re): Add keyword.
 -      (ada-get-current-indent, ada-imenu-generic-expression)
 -      (ada-which-function): Check for it.
 -
 -2010-01-14  Stephen Leake  <stephen_leake@member.fsf.org>
 -
 -      * progmodes/ada-mode.el (ada-clean-buffer-before-saving): Make obsolete.
 -      (ada-mode): Don't obey `ada-clean-buffer-before-saving' anymore.
 -
 -2010-01-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.el (show-trailing-whitespace): Safe if boolean.  (Bug#5312)
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.el (auto-composition-mode): Make it a buffer local
 -      variable (permanent-local).
 -      (auto-composition-function): Set the default value to
 -      auto-compose-chars.
 -      (auto-composition-mode): Make it a simple function, not a minor mode.
 -      (global-auto-composition-mode): Likewise.
 -      (turn-on-auto-composition-if-enabled): Delete it.
 -
 -2010-01-13  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-execute-deletions): Doc fix (Bug#5276).
 -
 -2010-01-12  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (copy-directory): Compute target for recursive
 -      directories with identical names.  (Bug#5343)
 -
 -2010-01-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (report-emacs-bug-pretest-address):
 -      Set it to bug-gnu-emacs rather than emacs-pretest-bug.
 -
 -2010-01-11  Sam Steingold  <sds@gnu.org>
 -
 -      * imenu.el (imenu-default-create-index-function): Detect infinite
 -      loops caused by imenu-prev-index-position-function.
 -
 -2010-01-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * htmlfontify.el (htmlfontify-load-rgb-file)
 -      (htmlfontify-unload-rgb-file, hfy-fallback-colour-values)
 -      (htmlfontify-manual, htmlfontify, hfy-page-header, hfy-page-footer)
 -      (hfy-src-doc-link-style, hfy-src-doc-link-unstyle, hfy-link-extn)
 -      (hfy-link-style-fun, hfy-index-file, hfy-instance-file)
 -      (hfy-html-quote-regex, hfy-init-kludge-hook, hfy-post-html-hooks)
 -      (hfy-default-face-def, hfy-etag-regex, hfy-html-quote-map)
 -      (hfy-etags-cmd-alist-default, hfy-etags-bin, hfy-ignored-properties)
 -      (hfy-which-etags, hfy-etags-cmd, hfy-istext-command, hfy-display-class)
 -      (hfy-optimisations, hfy-tags-cache, hfy-tags-sortl, hfy-tags-rmap)
 -      (hfy-style-assoc, hfy-sheet-assoc, hfy-facemap-assoc, hfy-interq)
 -      (hfy-colour-vals, hfy-default-header, hfy-link-style-string)
 -      (hfy-triplet, hfy-slant, hfy-weight, hfy-combined-face-spec)
 -      (hfy-face-attr-for-class, hfy-face-to-style-i, hfy-size-to-int)
 -      (hfy-flatten-style, hfy-face-to-style, hfy-face-or-def-to-name)
 -      (hfy-face-to-css, hfy-p-to-face, hfy-p-to-face-lennart, hfy-face-at)
 -      (hfy-fontified-p, hfy-merge-adjacent-spans, hfy-buffer)
 -      (hfy-html-enkludge-buffer, hfy-html-quote, hfy-html-dekludge-buffer)
 -      (hfy-force-fontification, htmlfontify-buffer, hfy-dirname)
 -      (hfy-make-directory, hfy-text-p, hfy-mark-tag-names, hfy-relstub)
 -      (hfy-href-stub, hfy-href, hfy-mark-tag-hrefs, hfy-prepare-index-i)
 -      (hfy-prepare-index, hfy-prepare-tag-map, hfy-subtract-maps)
 -      (htmlfontify-run-etags): Fix typos in docstrings and remove superfluous
 -      backslash-quoting from parentheses, etc.
 -
 -2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el: Autoload javascript-mode alias.
 -
 -2010-01-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * ffap.el (ffap-shell-prompt-regexp, ffap-all-subdirs, ffap-url-p)
 -      (ffap-alist, ffap-tex-path, ffap-url-at-point, ffap-gopher-regexp)
 -      (ffap-gopher-at-point, ffap-file-at-point, ffap-read-file-or-url)
 -      (ffap-read-url-internal, ffap-menu, ffap-at-mouse):
 -      Fix typos in docstrings.
 -      (ffap-url-regexp): Doc fix.
 -      (ffap-at-mouse): Fix typo in message.
 -
 -2010-01-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * version.el (emacs-copyright): Set copyright year to 2010.
 -
 -2010-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * format.el (format-annotate-function): Only set
 -      write-region-post-annotation-function after running to-fn so as not to
 -      affect nested write-region calls (bug#5273).
 -
 -2010-01-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Add wisent/python-wy.el and
 -      wisent/python.el.
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * man.el (Man-goto-section): Signal error if the section is not
 -      found (Bug#5317).
 -
 -2010-01-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * vc-bzr.el (vc-bzr-working-revision): On Windows and MS-DOS, accept
 -      URLs with a leading triple slash in the file: scheme.  (Bug#5345)
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/compile.el: Don't treat compile-command as safe if
 -      compilation-read-command might be nil (Bug#4218).
 -
 -2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * startup.el (command-line-1): Use orig-argi to check for ignored X and
 -      NS options.
 -
 -2010-01-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (build-default-fontset-data):
 -      Exclude characters in scripts kana, hangul, han, or cjk-misc.
 -
 -2010-01-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * vc-dir.el (vc-dir-prepare-status-buffer): Pass a (fake) filename
 -      to `create-file-buffer' as it expects, not just a buffer name.
 -      (vc-dir-mode): Include the buffer name in `list-buffers-directory',
 -      to help uniquify.  (Bug#3224)
 -
 -2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font-setting.el (font-setting-change-default-font): Use user-spec
 -      instead of name.
 -
 -2010-01-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-after-dir-status): Ignore pending merges.
 -
 -2010-01-05  Tom Tromey  <tromey@redhat.com>
 -
 -      * progmodes/python.el (python-font-lock-keywords):
 -      Handle qualified decorators (Bug#881).
 -
 -2010-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-working-revision): Fix looking for a revision
 -      in a lightweight checkout.
 -
 -2010-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (malayalam-composable-pattern): Fix ZWNJ and ZWJ.
 -
 -2010-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-diff): Obey vc-disable-async-diff.
 -
 -2010-01-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-state-heuristic): Make it work for lightweight
 -      checkouts.  (Bug#618)
 -      (vc-bzr-log-view-mode): Also highlight the author.
 -      (vc-bzr-shelve-map): Change binding for vc-bzr-shelve-apply-at-point.
 -      (vc-bzr-shelve-menu-map):
 -      (vc-bzr-dir-extra-headers): Improve menu and tooltip text.
 -      (vc-bzr-shelve-apply): Make prompt more explicit.
 -
 -2010-01-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * net/browse-url.el (browse-url-encode-url): Don't escape commas.
 -      They are valid characters in URL paths (rfc3986), and at least
 -      Firefox does not understand the encoded version (Bug#3166).
 -
 -2010-01-02  Daniel Elliott  <danelliottster@gmail.com>  (tiny change)
 -
 -      * progmodes/octave-mod.el (octave-end-keywords)
 -      (octave-block-begin-or-end-regexp, octave-block-match-alist):
 -      Add "end" keyword (Bug#3061).
 -      (octave-end-as-array-index-p): New function.
 -      (calculate-octave-indent): Use it.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Consistently put the text property on the bookmark name.
 -      (bookmark-bmenu-marks-width): Bump back to 2, to include
 -      annotation marks.
 -      (bookmark-bmenu-hide-filenames): Adjust for above, and put the text
 -      property on the bookmark name, instead of not putting it at all.
 -      (bookmark-bmenu-list): Fix where we put the text property.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-save): Just depend on the new logic
 -      for showing buffer modified state (as added in the previous change).
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Show modified state of bookmark buffer more accurately.
 -      (bookmark-bmenu-list): Initialize buffer-modified-p properly.
 -      (bookmark-send-edited-annotation): Mark bookmark-alist as modified.
 -      (with-buffer-modified-unmodified): New macro.
 -      (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
 -      (bookmark-bmenu-mark, bookmark-bmenu-unmark, bookmark-bmenu-delete):
 -      Use new macro to preserve the buffer modified state.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-select, bookmark-bmenu-1-window)
 -      (bookmark-bmenu-2-window, bookmark-bmenu-this-window)
 -      (bookmark-bmenu-other-window, bookmark-bmenu-switch-other-window)
 -      (bookmark-bmenu-show-annotation, bookmark-bmenu-edit-annotation)
 -      (bookmark-bmenu-rename, bookmark-bmenu-locate)
 -      (bookmark-bmenu-relocate, bookmark-bmenu-goto-bookmark):
 -      Remove unnecessary calls to `bookmark-bmenu-ensure-position'.
 -
 -2010-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
 -      Make the lines in the generated doc string shorter.  (Bug#4668)
 -
 -2010-01-02  Ryan Yeske  <rcyeske@gmail.com>
 -
 -      * net/rcirc.el: Add follow-link binding (Bug#4738).
 -
 -2010-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (bzr-update): Rename from cvs-update.
 -      (cvs-update): New target for backward compatibility.
 -
 -      * makefile.w32-in (bzr-update): Rename from cvs-update.
 -      (cvs-update): New target for backward compatibility.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Remove gratuitous gratitude.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-any-marks): New function
 -      (bookmark-bmenu-save): Clear buffer modification if no marks.
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
 -      (bookmark-bmenu-list, bookmark-bmenu-bookmark): Calculate property
 -      positions by using `bookmark-bmenu-marks-width', instead of hardcoding.
 -      This fixes the `bookmark-bmenu-execute-deletions' bug reported here:
 -
 -      http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00819.html
 -      From: Sun Yijiang <sunyijiang {_AT_} gmail.com>
 -      To: emacs-devel {_AT_} gnu.org
 -      Subject: bookmark.el bug report
 -      Date: Mon, 28 Dec 2009 14:19:16 +0800
 -      Message-ID: 5065e2900912272219y3734fc9fsdaee41167ef99ad7@mail.gmail.com
 -
 -2010-01-02  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Improvements suggested by Drew Adams:
 -      (bookmark-bmenu-ensure-position): New name for
 -      `bookmark-bmenu-check-position'.  Just ensure the position,
 -      don't return any meaningful value.
 -      (bookmark-bmenu-header-height, bookmark-bmenu-marks-width):
 -      New constants.
 -
 -2010-01-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bookmark.el (bookmarks-already-loaded): Doc fix (don't use `iff').
 -      (bookmark-yank-point, bookmark-bmenu-check-position):
 -      Fix typos in docstrings.
 -      (bookmark-save-flag, bookmark-bmenu-toggle-filenames)
 -      (bookmark-name-from-full-record, bookmark-get-position)
 -      (bookmark-set-position, bookmark-set, bookmark-handle-bookmark)
 -      (bookmark-delete, bookmark-save, bookmark-save, bookmark-bmenu-mode):
 -      Remove useless quoting of parenthesis, etc. in docstrings.
 -
 -      * ediff-mult.el (ediff-prepare-meta-buffer): Fix typo in help message.
 -      (ediff-append-custom-diff): Fix typo in error message.
 -      (ediff-meta-mark-equal-files): Fix typos in messages.
 -
 -      * mpc.el (mpc-playlist-delete): Fix typo in error messages.
 -
 -      * net/imap-hash.el (imap-hash-make): Doc fix.
 -      (imap-hash-test): Fix typo in error message; reflow docstring.
 -      (imap-hash-p, imap-hash-get, imap-hash-put, imap-hash-make-message)
 -      (imap-hash-count, imap-hash-server, imap-hash-port, imap-hash-ssl)
 -      (imap-hash-mailbox, imap-hash-user, imap-hash-password):
 -      Fix typos in docstrings.
 -      (imap-hash-open-connection): Fix typo in error message.
 -
 -      * play/gomoku.el (gomoku): Fix typos in docstring.
 -
 -      * progmodes/gdb-ui.el (gdb-location-alist): Reflow docstring.
 -      (gdb-jsonify-buffer): Fix typos in docstring.
 -      (gdb-goto-breakpoint): Fix typo in error message.
 -      ("Display Other Windows"): Fix typo in help message.
 -      (gdb-speedbar-expand-node): Fix typo in question.
 -
 -      * progmodes/idlw-help.el (idlwave-help-browse-url-available)
 -      (idlwave-html-system-help-location, idlwave-html-help-location)
 -      (idlwave-help-browser-function, idlwave-help-browser-generic-program)
 -      (idlwave-help-browser-generic-args, idlwave-help-directory)
 -      (idlwave-html-help-is-available, idlwave-help-mode-line-indicator)
 -      (idlwave-help-mode-map, idlwave-help-mode, idlwave-do-context-help)
 -      (idlwave-online-help, idlwave-help-html-link)
 -      (idlwave-help-show-help-frame, idlwave-help-assistant-command):
 -      Fix typos in docstrings.
 -      (idlwave-help-with-source, idlwave-help-find-routine-definition):
 -      Reflow docstrings.
 -      (idlwave-help-assistant-start): Fix typo in error message.
 -
 -      * progmodes/octave-mod.el (octave-mode, octave-electric-semi)
 -      (octave-electric-space): Fix typos in docstrings.
 -
 -2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (minibuffer-with-setup-hook): Doc fix (Bug#5149).
 -
 -2010-01-01  Juri Linkov  <juri@jurta.org>
 -
 -      * comint.el (comint-input-ring-size): Make it a defcustom and
 -      increase the default to 500 (Bug#5148).
 -
 -2009-12-31  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      Further changes from EMACS_23_1_RC branch (2009-12-29 contd).
 -      * term/x-win.el (x-gtk-stock-map): Map some GUD buttons.
 -      * progmodes/gud.el (gud-menu-map): Add reverse-execution commands.
 -
 -2009-12-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      Show working revision correctly for mercurial.
 -      * vc-hg.el (vc-hg-working-revision): Use hg parent instead of
 -      hg log as suggested by Alex Harsanyi <alexharsanyi@gmail.com>.
 -
 -2009-12-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Declare some functions for the byte-compiler.
 -      * progmodes/gdb-ui.el (speedbar-change-initial-expansion-list)
 -      (speedbar-timer-fn, speedbar-change-expand-button-char)
 -      (speedbar-delete-subblock, speedbar-center-buffer-smartly): Declare.
 -
 -2009-12-29  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      This changeset reverts GDB Graphical Interface to use annotations.
 -      * progmodes/gdb-ui.el, progmodes/gud.el: Import from EMACS_23_1_RC.
 -
 -2009-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Make vc-dir work on subdirectories of the bzr root.
 -      * vc-bzr.el (vc-bzr-after-dir-status): Add new argument.
 -      Return file names relative to it.
 -      (vc-bzr-dir-status, vc-bzr-dir-status-files): Pass the bzr root
 -      relative directory to vc-bzr-after-dir-status.
 -
 -2009-12-28  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * font-lock.el (font-lock-refresh-defaults): New function, which
 -      can be used to let font-lock react to external changes in
 -      variables like font-lock-defaults and keywords.
 -      See http://thread.gmane.org/gmane.emacs.devel/118777/focus=118802
 -
 -2009-12-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-rcs.el (vc-rcs-register): Fix registering a specific version.
 -
 -      * vc-bzr.el (vc-bzr-log-view-mode): Fix short log regexp.
 -
 -2009-12-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Supersede color.diff settings in git log (bug#5211).
 -
 -      * vc-git.el (vc-git-print-log): Pass "--no-color" to log to avoid
 -      escape chars in its output when the user has color.diff set to `always'.
 -      This fix works on git 1.4.2 and newer (released on 2006-08-13).
 -
 -2009-12-26  Kevin Ryde  <user42@zip.com.au>
 -
 -      * info-look.el (sh-mode): Look for coreutils new "Concept Index"
 -      node.  Keep previous "Index" name to work with past coreutils too.
 -
 -      * man.el (man): Revise docstring a bit to show -a and -l as
 -      examples.  Add -k description since support for it has otherwise
 -      been a secret.  (Further to bug#3717.)
 -      (Man-bgproc-sentinel): When "-k foo" produces no output show error
 -      "no matches" rather than "Can't find manpage", as the latter reads
 -      like -k was interpreted as a page name, which is not so.  (Bug#5431)
 -
 -2009-12-26  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Quote "'" in the
 -      switches.  Check also for //SUBDIRED// line.
 -
 -2009-12-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (devanagari-composable-pattern): Fix to
 -      handle ZWNJ and ZWJ.  Use it in composition-function-table for
 -      Devanagari.
 -      (malayalam-composable-pattern): Fix previous change.
 -
 -2009-12-23  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * ps-print.el (ps-face-attributes): It was not returning the
 -      attribute face for faces specified as string.  Reported by harven
 -      <harven@free.fr>.  (Bug#5254)
 -      (ps-print-version): New version 7.3.5.
 -
 -2009-12-18  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * calendar/icalendar.el (icalendar--convert-tz-offset):
 -      Fix timezone names.
 -      (icalendar--convert-tz-offset): Fix the "last-day-problem".
 -      (icalendar--add-diary-entry): Remove the trailing blank that
 -      diary-make-entry inserts.
 -
 -2009-12-17  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Make `file-expand-wildcards' work for remote files.
 -
 -      * files.el (file-expand-wildcards): In case of remote files, check
 -      only local file name part for wildcards.  Provide feature 'files
 -      and subfeature 'remote-wildcards.  (Bug#5198)
 -
 -      * net/tramp.el (tramp-handle-file-remote-p): Expand file name only
 -      if there is already an established connection.
 -      (tramp-advice-file-expand-wildcards): Remove it.
 -
 -      * net/tramp-compat.el (top): Autoload `tramp-handle-file-remote-p'.
 -      (tramp-advice-file-expand-wildcards): Move from tramp.el.
 -      Activate advice for older GNU Emacs versions.  (Bug#5237)
 -
 -2009-12-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Some doc fixes (more needed).
 -
 -      * find-cmd.el (find-constituents): Reflow docstring.
 -      (find-cmd, find-prune, find-command): Fix typos in docstrings.
 -      (find-generic): Doc fix.
 -
 -2009-12-17  Juri Linkov  <juri@jurta.org>
 -
 -      Fix regression from 23.1 to allow multiple modes in Local Variables.
 -
 -      * files.el (hack-local-variables-filter): While ignoring duplicates,
 -      don't take `mode' into account.
 -      (hack-local-variables-filter, hack-dir-local-variables):
 -      Don't remove duplicate `mode' from local-variables-alist (like `eval').
 -
 -2009-12-17  Juri Linkov  <juri@jurta.org>
 -
 -      Make `dired-diff' more safe.  (Bug#5225)
 -
 -      * dired-aux.el (dired-diff): Signal an error when `file' equals to
 -      `current' or when `file' is a directory of the `current' file.
 -
 -2009-12-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Only exclude
 -      unconditionally preloaded files.
 -
 -2009-12-16  Juri Linkov  <juri@jurta.org>
 -
 -      Revert to old 23.1 logic of using the file at the mark as default.
 -      * dired-aux.el (dired-diff): Use the file at the mark as default
 -      if it's not the same as the current file, and the target dir is
 -      the current dir or the mark is active.  Add the current file
 -      as the arg of `dired-dwim-target-defaults'.  Use the default file
 -      in the prompt.  (Bug#5225)
 -
 -2009-12-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-echo-mark-marker-length): New defconst.
 -      (tramp-echo-mark, tramp-echoed-echo-mark-regexp): Use it.
 -      (tramp-check-for-regexp): Check also, when an echoing shell stops
 -      to echo sent commands.
 -
 -2009-12-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in: Revert last change (Bug#5191).
 -
 -2009-12-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hg.el (vc-hg-print-log): Fix argument order.
 -      (vc-hg-working-revision): Make sure the command is executed in a
 -      known environment so that we can parse the output.  (Bug#4417)
 -
 -2009-12-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/python.el (python-symbol-completions): Remove text
 -      properties from symbol string before calling python-send-receive.
 -
 -2009-12-14  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-frame-handler): Only set gud-lat-frame
 -      when there are values for both file and line.  (Bug#5060)
 -
 -2009-12-14  Juri Linkov  <juri@jurta.org>
 -
 -      * ediff-ptch.el (ediff-context-diff-label-regexp): Don't match
 -      whitespace after the file name of the first line of unified format,
 -      because git-diff doesn't output whitespace and file modification time
 -      after the file name.
 -
 -2009-12-14  David Kastrup  <dak@gnu.org>
 -
 -      * info.el (Info-hide-cookies-node): Before hiding a cookie,
 -      check if it already has the `display' property added by
 -      `Info-display-images-node', and not put the `invisible' property
 -      in this case.
 -
 -2009-12-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (message-sort-headers): Define for compiler.
 -      (report-emacs-bug): In message-mode, sort manually before storing
 -      original report text.  (Bug#5178)
 -      Remove superfluous save-excursion.
 -
 -2009-12-12  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-property-handler): Filter lambda forms out
 -      when responding to "GetAll" properties.
 -
 -2009-12-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (compose-mail): Remove mail-setup-with-from from
 -      customization checks.
 -
 -2009-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * arc-mode.el (archive-rar-summarize): Support Attribute fields in
 -      RAR archives created on Unix systems.
 -
 -2009-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-local-must-match-filename-map): Re-instate
 -      the varalias that was accidentally removed by the 2009-11-19 change
 -      (bug#5186).
 -
 -2009-12-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el (indian-compose-regexp): New function.
 -      (malayalam-composable-pattern): Fix the pattern.
 -      (composition-function-table): Set malayalam-composable-pattern for
 -      Malayalam characters.
 -
 -2009-12-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/bug-reference.el (bug-reference-map): Bind mouse-2
 -      rather than down-mouse-1, based on follow-link conventions.
 -
 -      * makefile.w32-in: Ensure that Lisp files in CEDET subdirectories
 -      are compiled.
 -
 -2009-12-11  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-vmm-begin-re, verilog-vmm-end-re)
 -      (verilog-vmm-statement-re, verilog-ovm-statement-re)
 -      (verilog-defun-level-not-generate-re, verilog-calculate-indent)
 -      (verilog-leap-to-head, verilog-backward-token):
 -      Fix indenting VMM macros.  Reported by Jonathan Ashbrook.
 -
 -2009-12-11  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-lineup)
 -      (verilog-nameable-item-re): Cleanup user-visible spelling and
 -      documentation errors.  One reported by Gary Delp.
 -      (verilog-submit-bug-report): Mention bug tracking and CC co-author.
 -      (verilog-read-decls): Fix AUTOWIRE with types declared in a
 -      package, bug195.  Reported by Pierre-David Pfister.
 -
 -2009-12-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/cc-engine.el (safe-pos-list): Define for compiler.
 -
 -      * mail/emacsbug.el: No longer require sendmail.
 -      Replace sendmail's `mail-text' by `rfc822-goto-eoh'.  (Bug#5174)
 -      (report-emacs-bug-orig-text): Doc fix.
 -      (report-emacs-bug-send-command, report-emacs-bug-send-hook):
 -      New local variables, to adapt to different mail-user-agents.
 -      (report-emacs-bug): Fix test for a gnu.org address.
 -      Use overlays for emphasis, since font-lock defeats 'face property.
 -      Pretest bugs also end up at the newsgroup these days.
 -      Stop message-mode stripping text properties.
 -      Set and use the new buffer-local variables.
 -      (report-emacs-bug-hook): Add doc-string.
 -      Remove some unnecessary save-excursions and simplify.
 -      Use the appropriate hook and send-command.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Standardize the
 -      capitalization of some menu entries.
 -
 -2009-12-10  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el (whitespace-display-char-on):
 -      Ensure `buffer-display-table' is unique when two or more windows are
 -      visible.  Reported by Martin Pohlack <mp26@os.inf.tu-dresden.de>.
 -      New version 12.1.
 -
 -2009-12-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * arc-mode.el (archive-rar-summarize): Allow between 6 and 7
 -      characters in the Attribute field.
 -
 -2009-12-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-svn.el (vc-svn-after-dir-status): Fix regexp.  (Bug#4741)
 -
 -2009-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Let loaddefs.el adjust to changes in autoload-excludes (bug#5162).
 -      * emacs-lisp/autoload.el (autoload-generate-file-autoloads):
 -      Disregard autoload-excludes.
 -      (update-directory-autoloads): Obey autoload-excludes here instead.
 -      But don't store its contents in no-autoloads and remove entries that
 -      refer to excludes files.
 -
 -2009-12-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/feedmail.el (top-level): Move require 'mail-utils to start.
 -      (expand-mail-aliases): Define for compiler.
 -
 -      * vc-annotate.el (log-view-vc-backend, log-view-vc-fileset):
 -      Define for compiler.
 -
 -      * mail/emacsbug.el (report-emacs-bug): Use whichever send command is
 -      appropriate for the mail-user-agent in use.
 -
 -2009-12-09  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Suppress error messages.
 -
 -2009-12-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Fix short log parsing and fontification.
 -      * vc-bzr.el (vc-bzr-log-view-mode): Match dot in revision number.
 -      Fix fontification for the [merge] label.
 -
 -2009-12-09  Vivek Dasmohapatra  <vivek@etla.org>
 -
 -      Drop some properties to avoid surprises.
 -      * htmlfontify.el (hfy-ignored-properties): New defcustom.
 -      (hfy-fontify-buffer): Use it.
 -
 -2009-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Minor cleanup.
 -      * ffap.el (ffap-symbol-value): Replace ffap-soft-value.
 -      Adjust all callers.
 -      (ffap-locate-file): Remove unused arg `dir-ok' and make other
 -      args compulsory.  Adjust callers.
 -      (ffap-gopher-at-point): Remove unused var `name'.
 -
 -      Get rid of the ELCFILES abomination.
 -      * Makefile.in (update-elclist, ELCFILES, compile-last): Remove.
 -      (compile-elcfiles): New phony target.
 -      (compile-main): Compute ELCFILES dynamically.
 -      (compile-clean): New target to remove left-over elc files.
 -      (compile, all): Use it.
 -
 -2009-12-09  Kenichi Handa  <handa@etlken>
 -
 -      * international/mule-diag.el: Require help-mode instead of help-fns.
 -
 -2009-12-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (ucs-names): Supply sufficiently
 -      fine ranges instead of pre-calculating accurate ranges.
 -      Iterate with bigger gc-cons-threshold.
 -
 -2009-12-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Add support for stashing a snapshot of the current tree.
 -      * vc-git.el (vc-git-stash-snapshot): New function.
 -      (vc-git-stash-map, vc-git-extra-menu-map): Add a mapping for it.
 -
 -2009-12-08  Jose E. Marchesi  <jemarch@gnu.org>
 -
 -      * play/gomoku.el (gomoku-mode-map): Remap `move-(beginning|end)-of-line'
 -      instead of `(beginning|end)-of-line'.
 -
 -2009-12-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-mtn.el (vc-mtn-print-log): Fix typo in previous.
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-12-07  Juri Linkov  <juri@jurta.org>
 -
 -      Don't lazy-highlight the comint output in history Isearch mode.
 -
 -      * comint.el (comint-history-isearch-search): Instead of
 -      `comint-line-beginning-position', use `comint-after-pmark-p'
 -      to check if point if before the process mark, and go to
 -      `process-mark' in this case.
 -
 -2009-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/tex-mode.el (latex-complete)
 -      (latex-indent-or-complete): Remove.
 -      (latex-mode): Set completion-at-point-functions instead.
 -
 -      Provide a standard completion command and hook it into TAB.
 -      * minibuffer.el (completion-at-point-functions): New var.
 -      (completion-at-point): New command.
 -      * indent.el (indent-for-tab-command): Handle the `complete' behavior.
 -      * progmodes/python.el (python-mode-map): Use completion-at-point.
 -      (python-completion-at-point): Rename from python-partial-symbol and
 -      adjust for use in completion-at-point-functions.
 -      (python-mode): Setup completion-at-point for Python completion.
 -      * emacs-lisp/lisp.el (lisp-completion-at-point): New function
 -      extracted from lisp-complete-symbol.
 -      (lisp-complete-symbol): Use it.
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode): Use define-derived-mode,
 -      setup completion-at-point for Elisp completion.
 -      (emacs-lisp-mode-map, lisp-interaction-mode-map):
 -      Use completion-at-point.
 -      * ielm.el (ielm-map): Use completion-at-point.
 -      (inferior-emacs-lisp-mode): Setup completion-at-point-functions.
 -      * progmodes/sym-comp.el: Move to...
 -      * obsolete/sym-comp.el: Move from progmodes.
 -
 -2009-12-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Prevent save-buffer in Rmail buffers from using the coding-system
 -      of the current message, and from clobbering the encoding mnemonics
 -      in the mode line (Bug#4623).
 -
 -      * mail/rmail.el (rmail-swap-buffers): Swap encoding and modified
 -      flag, too.
 -      (rmail-message-encoding): New variable.
 -      (rmail-write-region-annotate): Record the encoding of the current
 -      message in rmail-message-encoding.
 -      (rmail-after-save-hook): New function, restores the encoding of
 -      the current message after the message collection is saved.
 -
 -2009-12-07  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (grep-read-files): Use `completing-read'
 -      instead of `read-string'.  Set its `collection' arg to
 -      `read-file-name-internal'.  (Bug#4301)
 -
 -2009-12-07  Juri Linkov  <juri@jurta.org>
 -
 -      Correctly restore original Isearch point.  (Bug#4994)
 -
 -      * isearch.el (isearch-mode): Move `isearch-push-state' after
 -      `(run-hooks 'isearch-mode-hook)'.
 -      (isearch-cancel): When `isearch-push-state-function' is defined,
 -      let-bind `isearch-cmds' to the first state (the last element of
 -      `isearch-cmds') and call `isearch-top-state' (it calls pop-state
 -      function and restores the original point).  Otherwise, move point
 -      to `isearch-opoint'.
 -
 -2009-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/mule-cmds.el (ucs-names): Weed out at compile-time the
 -      chars that don't have names, so the table can be built much faster at
 -      run-time.
 -
 -2009-12-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): More elegant form for last
 -      change.  Suggested by David Kastrup.
 -
 -      * simple.el (compose-mail): Check for incompatibilities and warn.
 -      (compose-mail-user-agent-warnings): New option.
 -
 -2009-12-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Support showing a single log entry from vc-annotate.
 -      * vc.el (print-log): Add a new argument: START-REVISION.
 -      (vc-print-log-internal): Add a new optional argument and
 -      pass it to the backend.
 -      (vc-print-log, vc-print-root-log): Adjust callers.
 -      * vc-annotate.el (vc-annotate-show-log-revision-at-line): If a
 -      buffer already displays the requested log entry, use it.
 -      Otherwise display only the log entry in question.
 -      * vc-svn.el (vc-svn-print-log):
 -      * vc-mtn.el (vc-mtn-print-log):
 -      * vc-hg.el (vc-hg-state):
 -      * vc-git.el (vc-git-print-log): Add support for new argument START-REVISION.
 -      (vc-git-show-log-entry): Return t on success.
 -      * vc-bzr.el (vc-bzr-print-log): Add support new argument START-REVISION.
 -      (vc-bzr-show-log-entry): Return t on success.
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-cvs.el (vc-cvs-print-log): Add new argument, ignore it.
 -
 -2009-12-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * ediff-mult.el (ediff-setup-meta-map, ediff-prepare-meta-buffer):
 -      Add menus to the meta mode.  (Bug#5043)
 -
 -2009-12-07  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * ediff-init.el (ediff-event-key): Use event-to-character instead of
 -      event-key.
 -
 -      * ediff.el (ediff-buffers-internal): Add unwind-protect.
 -
 -2009-12-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Handle prompt rules of ksh in OpenBSD 4.5.  Reported by Raphaël
 -      Berbain <raphael.berbain@gmail.com>.
 -
 -      * net/tramp.el (tramp-end-of-output): Move up.  Use `#' and `$'
 -      characters.
 -      (tramp-initial-end-of-output): New defconst.
 -      (tramp-methods, tramp-find-shell)
 -      (tramp-open-connection-setup-interactive-shell)
 -      (tramp-maybe-open-connection): Use it.
 -      (tramp-shell-prompt-pattern, tramp-wait-for-output):
 -      Handle existence of `#' and `$'.
 -
 -      * net/tramp-fish.el (tramp-fish-maybe-open-connection):
 -      Use `tramp-initial-end-of-output'.
 -
 -2009-12-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Get the background mode from the terminal for xterm, and set
 -      faces accordingly.
 -      * term/xterm.el (xterm-set-background-mode): New function.
 -      (terminal-init-xterm): Use it in case xterm supports background
 -      color queries.  Recompute faces after getting the background
 -      color.
 -
 -2009-12-07  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-insert-header): Put the version
 -      number comment back on its own line, for easier parsing.
 -
 -2009-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make it work for non-file buffers (bug#5102).
 -      * doc-view.el (doc-view-current-cache-dir):
 -      Use doc-view-buffer-file-name rather than buffer-file-name.
 -      (doc-view-mode): Use buffer-name when buffer-file-name is nil.
 -
 -2009-12-06  Óscar Fuentes  <ofv@wanadoo.es>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): Handle the case where the
 -      author field is too short.
 -
 -2009-12-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-print-log): Handle a limit argument.
 -      Display the short log in graph form and with labels.
 -      (vc-git-log-view-mode): Handle labels.
 -
 -      Make vc-revert change VC state from 'added to 'unregistered.
 -      * vc-git.el (vc-git-revert): Call git reset first.
 -
 -2009-12-06  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * net/newst-backend.el, net/newst-plainview.el:
 -      * net/newst-reader.el, net/newst-ticker.el:
 -      * net/newst-treeview.el, net/newsticker.el:
 -      Require/provide newst-... (instead of newsticker-...).  (Bug#5096)
 -
 -2009-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * log-view.el (log-view-mode-map): Bind "=" to log-view-diff too.
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): Show author in annotation.
 -      Handle empty author field (Bug#4144).  Suggested by Óscar Fuentes.
 -      (vc-bzr-annotate-time, vc-bzr-annotate-extract-revision-at-line):
 -      Update annotation regexp.
 -
 -      * simple.el (beginning-of-visual-line): Constrain to field
 -      boundaries (Bug#5106).
 -
 -2009-12-06  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * xml.el (xml-substitute-numeric-entities):
 -      Move newsticker--decode-numeric-entities in newst-backend.el to
 -      xml-substitute-numeric-entities in xml.el.  (Bug#5008)
 -      * net/newst-backend.el (newsticker--parse-generic-feed)
 -      (newsticker--parse-generic-items)
 -      (newsticker--decode-numeric-entities):
 -      Move newsticker--decode-numeric-entities in newst-backend.el to
 -      xml-substitute-numeric-entities in xml.el.  (Bug#5008)
 -
 -2009-12-06  Daniel Colascione  <dan.colascione@gmail.com>
 -
 -      * progmodes/js.el (js--js-not): Add null to the list of values.
 -
 -2009-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * ansi-color.el (ansi-color-for-comint-mode): Add :version keyword.
 -
 -2009-12-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * textmodes/bibtex.el (bibtex-enclosing-field): Exclude entry
 -      delimiter if it is at the end of the current line.
 -      (bibtex-generate-url-list): Fix docstring.
 -
 -2009-12-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-complete-and-exit): Don't replace the
 -      minibuffer's content with itself.
 -      Fold the confirm-after-completion case into the `confirm' case.
 -      (completion-pcm-word-delimiters): Add : and / to the delimiters.
 -
 -2009-12-06  Kevin Ryde  <user42@zip.com.au>
 -
 -      * ffap.el (ffap-rfc-path): Make this a defcustom since
 -      `ffap-rfc-directories' is also a defcustom.  (Bug#4514.)
 -
 -      * info-look.el: Add setup for apropos-mode to use emacs-lisp-mode
 -      manuals, similar to existing setup for help-mode.  (Bug#3913.)
 -
 -2009-12-05  Juri Linkov  <juri@jurta.org>
 -
 -      Save and restore dired buffer's point positions too.  (Bug#4880)
 -
 -      * dired.el (dired-save-positions): Return in the first element
 -      buffer's position in format (BUFFER DIRED-FILENAME BUFFER-POINT).
 -      Doc fix.
 -      (dired-restore-positions): First restore buffer's position.
 -      While restoring window's positions, check if window still displays
 -      the original buffer.
 -
 -2009-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * bindings.el (complete-symbol): Call semantic-ia-complete-symbol
 -      if possible.
 -
 -      * shell.el (shell): Require ansi-color (Bug#5113).
 -
 -      * ansi-color.el (ansi-color-for-comint-mode): Default to t.
 -
 -      * hl-line.el (global-hl-line-highlight): Minor doc fix (Bug#4925).
 -
 -2009-12-05  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-mode.el (c-before-hack-hook)
 -      (c-postprocess-file-styles): Revert change 2009-07-18T21:03:43Z!acm@muc.de to permit
 -      `c-file-style' to work again.  This reversion restores the current
 -      software to its state in Emacs 23.1.  (Bug#4146)
 -
 -2009-12-05  Kevin Ryde  <user42@zip.com.au>
 -
 -      * textmodes/sgml-mode.el (sgml-lexical-context):
 -      Recognise comment-start-skip to comment-end-skip as comment (Bug#4781).
 -
 -2009-12-05  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el (Info-find-node-2): Set `Info-current-subfile' to nil
 -      for virtual nodes.  (Bug#4147)
 -      (Info-find-node-2): Set `Info-current-node-virtual' to nil
 -      when moving from a virtual node.
 -      (Info-mode-menu): Add `Info-virtual-index' to the menu.
 -      (Info-mode): Add `Info-virtual-index' to the docstring.
 -
 -2009-12-05  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * textmodes/bibtex.el (bibtex-map-entries): Use marker to keep
 -      track of the buffer position of the end of a BibTeX entry as this
 -      position may change during reformatting.
 -      (bibtex-format-entry): Remove whitespace before processing
 -      numerical fields so that we recognize the latter properly.
 -      (bibtex-reformat): Do not use push which changes the global value
 -      of bibtex-entry-format.
 -      (bibtex-field-braces-alist, bibtex-field-strings-alist)
 -      (bibtex-field-re-init): Replace only space characters by regexp
 -      for whitespace.
 -      (bibtex-generate-url-list, bibtex-cite-matcher-alist): Fix docstring.
 -      (bibtex-initialize): Also update bibtex-strings.
 -      (bibtex-kill-field): Preserve white space at end of entry.
 -      (bibtex-kill-entry, bibtex-yank-pop, bibtex-insert-kill):
 -      Update bibtex-reference-keys.
 -
 -2009-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion-pcm--merge-try): Also consider placing
 -      point after a star, if that's the only place where modifications can
 -      make progress.
 -
 -2009-12-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dir.el (vc-dir): Use the correct markup for showing keymaps
 -      in docstrings.
 -
 -2009-12-04  Juri Linkov  <juri@jurta.org>
 -
 -      * proced.el (proced): Call `(proced-update t)' to update process
 -      information instead of only running proced-post-display-hook.
 -      (proced-send-signal): Add a leading space to the buffer name
 -      " *Marked Processes*" to make this buffer ephemeral.
 -
 -2009-12-04  Juri Linkov  <juri@jurta.org>
 -
 -      * dired.el (dired-auto-revert-buffer): New defcustom.
 -      (dired-internal-noselect): Use it.
 -
 -2009-12-04  Juri Linkov  <juri@jurta.org>
 -
 -      Change roles of modes and functions in image-mode.el (Bug#5062).
 -
 -      * image-mode.el: Replace `image-mode-maybe' with `image-mode'
 -      in `auto-mode-alist'.
 -      (image-mode-previous-major-mode): New variable.
 -      (image-minor-mode-map): Rename from `image-mode-text-map'.
 -      (image-mode): Move graceful error-handling code from
 -      `image-minor-mode' to here.  On errors call `image-mode-as-text'.
 -      (image-minor-mode): Remove all image-handling code.
 -      Replace `image-mode-text-map' with `image-minor-mode-map'.
 -      Check for `image-type' in mode-line format string.
 -      (image-mode-maybe): Make obsolete with an alias to `image-mode'.
 -      (image-mode-as-text): New function with most code from
 -      `image-mode-maybe'.
 -      (image-toggle-display-text): Move code that removes image
 -      properties from `image-toggle-display' to here.
 -      (image-toggle-display-image): New function with code that adds
 -      image properties copied from `image-toggle-display'.
 -      (image-toggle-display): Remove most code with leaving only code
 -      that toggles between `image-mode-as-text' and `image-mode'.
 -
 -2009-12-04  Ulf Jasper  <ulf.jasper@web.de>
 -
 -      * net/newst-treeview.el
 -      (newsticker--treeview-list-highlight-start): Restored call to
 -      save-excursion: Selected item was stuck.
 -      (newsticker--treeview-list-select): New.
 -      (newsticker--treeview-item-show-text)
 -      (newsticker--treeview-item-show)
 -      (newsticker--treeview-item-update): Use new
 -      newsticker-treeview-item-mode.
 -      (newsticker-treeview-update): Keep current item.
 -      (newsticker-treeview-next-new-or-immortal-item): Doc change.
 -      (newsticker--treeview-first-feed): Doc change.
 -      (newsticker-treeview-list-menu)
 -      (newsticker-treeview-item-menu): Add menu entries.
 -      (newsticker-treeview-item-mode): New.
 -
 -      * net/newst-backend.el (newsticker-customize): Delete other
 -      windows.
 -
 -2009-12-04  Sam Steingold  <sds@gnu.org>
 -
 -      * log-view.el (log-view-mode-map): "q" calls quit-window,
 -      like in all the other non-self-insert buffers.
 -
 -2009-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Minor cleanup.
 -      * term.el (term-send-raw, term-send-raw-meta): Use read-key-sequence's
 -      key decoding rather than do it manually via last-input-event +
 -      ascii-character.
 -      (term-exec): Use delete-and-extract-region.
 -      (term-handle-ansi-terminal-messages): Remove unused var `end'.
 -      (term-process-pager): Remove unused var `i'.
 -      (term-dynamic-simple-complete): Make obsolete.
 -      (serial-update-config-menu): Remove unused vars `y' and `str'.
 -      (term-update-mode-line): Remove unused var `temp'.
 -
 -2009-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Limit the number of log entries displayed by default.
 -      * vc.el (vc-print-log-internal): Fix check for limit-unsupported.
 -      (vc-print-log, vc-print-root-log): Use vc-log-show-limit when not
 -      using a prefix argument.
 -
 -2009-12-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/idlwave.el (class): Restore still useful declaration.
 -
 -2009-12-03  Alan Mackenzie  <acm@muc.de>
 -
 -      Enhance `c-parse-state' to run efficiently in "brace deserts".
 -
 -      * progmodes/cc-mode.el (c-basic-common-init):
 -      Call c-state-cache-init.
 -      (c-neutralize-syntax-in-and-mark-CPP): Rename from
 -      c-extend-and-neutralize-syntax-in-CPP.  Mark each CPP construct by
 -      placing `category' properties value 'c-cpp-delimiter at its boundaries.
 -
 -      * progmodes/cc-langs.el (c-before-font-lock-function):
 -      c-extend-and-neutralize-syntax-in-CPP has been renamed
 -      c-neutralize-syntax-in-and-mark-CPP.
 -
 -      * progmodes/cc-fonts.el (c-cpp-matchers): Mark template brackets
 -      with `category' properties now, not `syntax-table' ones.
 -
 -      * progmodes/cc-engine.el (c-syntactic-end-of-macro): A new
 -      enhanced (but slower) version of c-end-of-macro that won't land
 -      inside a literal or on another awkward character.
 -      (c-state-cache-too-far, c-state-cache-start)
 -      (c-state-nonlit-pos-interval, c-state-nonlit-pos-cache)
 -      (c-state-nonlit-pos-cache-limit, c-state-point-min)
 -      (c-state-point-min-lit-type, c-state-point-min-lit-start)
 -      (c-state-min-scan-pos, c-state-brace-pair-desert)
 -      (c-state-old-cpp-beg, c-state-old-cpp-end): New constants and
 -      buffer local variables.
 -      (c-state-literal-at, c-state-lit-beg)
 -      (c-state-cache-non-literal-place, c-state-get-min-scan-pos)
 -      (c-state-mark-point-min-literal, c-state-cache-top-lparen)
 -      (c-state-cache-top-paren, c-state-cache-after-top-paren)
 -      (c-get-cache-scan-pos, c-get-fallback-scan-pos)
 -      (c-state-balance-parens-backwards, c-parse-state-get-strategy)
 -      (c-renarrow-state-cache)
 -      (c-append-lower-brace-pair-to-state-cache)
 -      (c-state-push-any-brace-pair, c-append-to-state-cache)
 -      (c-remove-stale-state-cache)
 -      (c-remove-stale-state-cache-backwards, c-state-cache-init)
 -      (c-invalidate-state-cache-1, c-parse-state-1)
 -      (c-invalidate-state-cache): New defuns/defmacros/defsubsts.
 -      (c-parse-state): Enhance and refactor.
 -      (c-debug-parse-state): Amend to deal with all the new variables.
 -
 -      * progmodes/cc-defs.el (c-<-as-paren-syntax, c-mark-<-as-paren)
 -      (c->-as-paren-syntax, c-mark->-as-paren, c-unmark-<->-as-paren):
 -      modify to use category text properties rather than syntax-table ones.
 -      (c-suppress-<->-as-parens, c-restore-<->-as-parens): New defsubsts
 -      to switch off/on the syntactic paren property of C++ template
 -      delimiters using the category property.
 -      (c-with-<->-as-parens-suppressed): Macro to invoke code with
 -      template delims suppressed.
 -      (c-cpp-delimiter, c-set-cpp-delimiters, c-clear-cpp-delimiters):
 -      New constant/macros which apply category properties to the start
 -      and end of preprocessor constructs.
 -      (c-comment-out-cpps, c-uncomment-out-cpps): Defsubsts which
 -      "comment out" the syntactic value of characters in preprocessor
 -      constructs.
 -      (c-with-cpps-commented-out)
 -      (c-with-all-but-one-cpps-commented-out): Macros to invoke code
 -      with characters in all or all but one preprocessor constructs
 -      "commented out".
 -
 -2009-12-03  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * proced.el (proced-filter-alist): Use regexp-quote.
 -
 -2009-12-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Cleanup.
 -      * eshell/em-unix.el (top): Require 'esh-opt and 'pcomplete.
 -      (eshell/su, eshell/sudo): Require 'tramp.  Fix problems reading
 -      arguments.  Expand `default-directory'.
 -
 -      * net/tramp.el (tramp-handle-file-remote-p): Expand FILENAME for
 -      the benefit of returning an expanded localname.
 -      (tramp-tramp-file-p): Handle the case NAME is not a string.
 -
 -2009-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Add support for bzr shelve/unshelve.
 -      * vc-bzr.el (vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
 -      (vc-bzr-extra-menu-map): New variables.
 -      (vc-bzr-extra-menu, vc-bzr-extra-status-menu, vc-bzr-shelve)
 -      (vc-bzr-shelve-apply, vc-bzr-shelve-list)
 -      (vc-bzr-shelve-get-at-point, vc-bzr-shelve-delete-at-point)
 -      (vc-bzr-shelve-apply-at-point, vc-bzr-shelve-menu): New functions.
 -      (vc-bzr-dir-extra-headers): Display shelves.
 -
 -      * vc-bzr.el (vc-bzr-print-log): Deal with nil arguments better.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/bibtex.el (bibtex-complete-internal):
 -      Use completion-in-region.
 -      (bibtex-text-in-field-bounds): Remove unused var `opoint'.
 -
 -2009-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Support applying stashes.  Improve UI.
 -      * vc-git.el (vc-git-dir-extra-headers): Add tooltips.
 -      (vc-git-stash-apply, vc-git-stash-pop)
 -      (vc-git-stash-apply-at-point, vc-git-stash-pop-at-point)
 -      (vc-git-stash-menu): New functions.
 -      (vc-git-stash-menu-map): New variable.
 -      (vc-git-stash-map): Add bindings to popup a menu and to apply stashes.
 -
 -2009-12-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc.el (log-view-vc-backend, log-view-vc-fileset): Declare.
 -      (vc-print-log-internal): Fix previous change.
 -      (vc-revert): Correct pluralization.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/make-mode.el (makefile-special-targets-list): No need for
 -      it to be an alist any more.
 -      (makefile-complete): Use completion-in-region.
 -
 -      * progmodes/octave-mod.el (octave-complete-symbol):
 -      Use completion-in-region.
 -
 -      Misc cleanup.
 -      * progmodes/idlwave.el (idlwave-comment-hook): Simplify with `or'.
 -      (idlwave-code-abbrev, idlwave-display-user-catalog-widget)
 -      (idlwave-complete-class): Don't quote lambda.
 -      (idlwave-find-symbol-syntax-table, idlwave-mode-syntax-table)
 -      (idlwave-mode-map): Move initialization into declaration.
 -      (idlwave-action-and-binding): Use backquotes.
 -      (idlwave-in-quote, idlwave-reset-sintern, idlwave-complete-in-buffer):
 -      Simplify.
 -      (idlwave-is-pointer-dereference): Remove unused var `pos'.
 -      (idlwave-xml-create-rinfo-list): Remove unused var `entry'.
 -      (idlwave-convert-xml-clean-sysvar-aliases): Remove unused vars `new',
 -      `parts', and `all-parts'.
 -      (idlwave-xml-create-sysvar-alist): Remove unused var `fields'.
 -      (idlwave-convert-xml-system-routine-info): Remove unused string
 -      `version-string'.
 -      (idlwave-display-user-catalog-widget): Use dolist.
 -      (idlwave-scanning-lib): Declare dynamically-scoped var.
 -      (idlwave-scan-library-catalogs): Remove unused var `flags'.
 -      (completion-highlight-first-word-only): Declare to silence bytecomp.
 -      (idlwave-popup-select): Tighten scope of `resp'.
 -      (idlwave-find-struct-tag): Remove unused var `beg'.
 -      (idlwave-after-load-rinfo-hook): Declare.
 -      (idlwave-sintern-class-info): Remove unused var `taglist'.
 -      (idlwave-find-class-definition): Remove unused var `list'.
 -      (idlwave-complete-sysvar-tag-help): Remove unused var `main-base'.
 -      (idlwave-what-module-find-class): Remove unused var `classes'.
 -
 -2009-12-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * progmodes/pascal.el: Require CL when compiling (for lexical-let).
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * hippie-exp.el (try-expand-dabbrev-visible): Preserve point in the
 -      buffers visited.  Remove redundant current-buffer-saving.
 -
 -2009-12-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use completion-in-buffer and remove uses of dynamic scoping.
 -      * progmodes/pascal.el (pascal-str, pascal-all, pascal-pred)
 -      (pascal-buffer-to-use, pascal-flag): Don't declare.
 -      (pascal-func-completion, pascal-type-completion, pascal-var-completion)
 -      (pascal-get-completion-decl, pascal-keyword-completion):
 -      Add `pascal-str' argument, save-excursion,
 -      return the found completions, and don't filter with pascal-pred.
 -      (pascal-completion-cache): New var.
 -      (pascal-completion): Don't switch buffer any more (it was never
 -      necessary).  Don't save-excursion any more (it's done by the called
 -      subroutines).  Use a cache to avoid redundant computations.
 -      Use complete-with-action rather than pascal-completion-response and
 -      let it apply the predicate as well.
 -      (pascal-complete-word): Use completion-in-buffer when
 -      pascal-toggle-completions is nil.
 -      (pascal-show-completions): Don't bind pascal-buffer-to-use since it's
 -      not used any more.
 -      (pascal-comp-defun): Don't change buffer any more.
 -      Use complete-with-action rather than pascal-completion-response and
 -      let it apply the predicate as well.
 -      (pascal-goto-defun): Change buffer before calling pascal-comp-defun
 -      when neded.
 -
 -2009-12-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/indian.el: Include ZWJ and ZWNJ in the patterns to
 -      shape for all Indic scripts.
 -
 -2009-12-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use completion-in-buffer.
 -      * wid-edit.el (widget-field-text-end): New function.
 -      (widget-field-value-get): Use it.
 -      (widget-string-complete, widget-file-complete)
 -      (widget-color-complete): Use it and completion-in-region.
 -      (widget-complete): Don't narrow the buffer.
 -
 -2009-12-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-pop-to-buffer): New function.  (Bug#2282)
 -      (rmail-select-summary): Use rmail-pop-to-buffer.
 -      * mail/rmailsum.el: Replace all pop-to-buffer calls with
 -      rmail-pop-to-buffer, to prevent horizontal splits.
 -
 -      * calendar/diary-lib.el (diary-list-entries): Replace superfluous
 -      save-excursion with save-current-buffer.
 -      Widen before searching.  (Bug#5093)
 -      (diary-list-sexp-entries): Remove superfluous save-excursion.
 -
 -2009-12-02  Michael Welsh Duggan  <mwd@cert.org>
 -
 -      * woman.el (woman-make-bufname): Handle man-pages with "." in the
 -      name.  (Bug#5038)
 -
 -2009-12-02  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * ido.el (ido-file-internal): Handle filenames at point that do
 -      not have a directory part.  (Bug#5049)
 -
 -2009-12-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * mpc.el (mpc-intersection, mpc-host, mpc-songs-playlist)
 -      (mpc-songs-jump-to, mpc-resume): Doc fixes.
 -
 -2009-12-01  Rob Riepel  <riepel@networking.Stanford.EDU>
 -
 -      * emulation/tpu-extras.el (tpu-cursor-free-mode): Emit message.
 -      (tpu-set-cursor-free, tpu-set-cursor-bound): Don't emit a message
 -      any more.
 -
 -2009-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * comint.el (comint-insert-input): Ignore clicks to the right of
 -      the field.  Reported by Bob Nnamtrop <bobnnamtrop@gmail.com>.
 -
 -      * vc.el (vc-print-log-internal): Don't wait for the process to
 -      terminate before setting up the major mode.
 -
 -      * pcmpl-unix.el (pcomplete/cd): Complete more than one argument, just
 -      in case.
 -
 -      * pcomplete.el (pcomplete-std-complete): Don't try to complete past
 -      the last element.
 -
 -      * simple.el (normal-erase-is-backspace-mode): Fix thinko in message.
 -
 -2009-12-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * window.el (window--display-buffer-2): Fix previous changes.
 -
 -2009-12-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-setup-hook, mail-send-hook): Doc fixes.
 -
 -2009-12-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Add mpc.elc.
 -
 -2009-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mpc.el: New file.
 -
 -2009-12-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * window.el (window-to-use): Define for compiler.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Make message
 -      consistent with others (no final period).
 -
 -      * mail/rmailmm.el (rmail-mime-handle): Doc fix.
 -      (rmail-mime-show): Downcase the encoding.  (Bug#5070)
 -
 -2009-12-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Make vc-print-log buttons work.
 -      * log-view.el (log-view-mode-map): Inherit from widget-keymap.
 -
 -2009-11-30  Ryan C. Thompson  <rct@thompsonclan.org>  (tiny change)
 -
 -      * savehist.el (savehist-autosave-interval): Allow setting to nil
 -      through customize.  (Bug#5056)
 -
 -2009-11-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Fix references to jit-lock properties.
 -      * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords):
 -      Refer to jit-lock-defer-multiline, not jit-lock-multiline.
 -      (perl-font-lock-special-syntactic-constructs):
 -      Quote jit-lock-defer-multiline property.
 -
 -2009-11-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-registered): Call vc-git-root only once.
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-search-fun): Always provide a non-nil
 -      value `buffer' of `multi-isearch-next-buffer-current-function'.
 -      Use `(current-buffer)' when `buffer' is nil.
 -      (multi-isearch-next-buffer-from-list): Don't fallback to
 -      `(current-buffer)' when `buffer' is nil.  (Bug#4947)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-read-buffers): Move canonicalization
 -      of buffers with `get-buffer' to `multi-isearch-buffers'.
 -      (multi-isearch-buffers, multi-isearch-buffers-regexp):
 -      Canonicalize BUFFERS with `get-buffer'.  Doc fix.
 -      (multi-isearch-files, multi-isearch-files-regexp): Canonicalize
 -      FILES with `expand-file-name' converting relative file names
 -      to absolute.  Doc fix.  (Bug#4727)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-read-buffers)
 -      (multi-isearch-read-matching-buffers): New functions.
 -      (multi-isearch-buffers, multi-isearch-buffers-regexp):
 -      Use them in the `interactive' spec.  Doc fix.
 -      (multi-isearch-read-files, multi-isearch-read-matching-files):
 -      New functions.
 -      (multi-isearch-files, multi-isearch-files-regexp):
 -      Use them in the `interactive' spec.  Doc fix.  (Bug#4725)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * doc-view.el (doc-view-continuous):
 -      Rename from `doc-view-continuous-mode'.
 -      (doc-view-menu): Move "Toggle display" to the top.
 -      Add submenu "Continuous" with radio buttons "Off"/"On"
 -      and "Save as Default".
 -      (doc-view-scroll-up-or-next-page)
 -      (doc-view-scroll-down-or-previous-page)
 -      (doc-view-next-line-or-next-page)
 -      (doc-view-previous-line-or-previous-page):
 -      Rename `doc-view-continuous-mode' to `doc-view-continuous'.  (Bug#4896)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * comint.el (comint-mode-map): Rebind `M-r' from
 -      `comint-previous-matching-input' to
 -      `comint-history-isearch-backward-regexp'.
 -      Unbind `M-s' to allow global key binding `M-s'.
 -      Add menu items for `comint-history-isearch-backward' and
 -      `comint-history-isearch-backward-regexp'.  (Bug#3746)
 -
 -2009-11-30  Juri Linkov  <juri@jurta.org>
 -
 -      * replace.el (perform-replace): Let-bind recenter-last-op to nil.
 -      For def=recenter, replace `recenter' with `recenter-top-bottom'
 -      that is called with `this-command' and `last-command' let-bound
 -      to `recenter-top-bottom'.  When the last `def' was not `recenter',
 -      set `recenter-last-op' to nil.  (Bug#4981)
 -
 -2009-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Minor cleanup and simplification.
 -      * filecache.el (file-cache-add-directory)
 -      (file-cache-add-directory-recursively)
 -      (file-cache-add-from-file-cache-buffer)
 -      (file-cache-delete-file-regexp, file-cache-delete-directory)
 -      (file-cache-files-matching-internal, file-cache-display): Use dolist.
 -      (file-cache-temp-minibuffer-message): Delete function.
 -      (file-cache-minibuffer-complete): Use minibuffer-message instead.
 -
 -      * progmodes/perl-mode.el (perl-font-lock-special-syntactic-constructs):
 -      Don't signal an error when bumping into EOB in tr, s, or y.
 -
 -2009-11-29  Juri Linkov  <juri@jurta.org>
 -
 -      * startup.el (fancy-about-text): Fix wording of Guided Tour.
 -      (Bug#4960)
 -
 -      * descr-text.el (describe-char-unidata-list): Use lowercase name
 -      for "Unicode name" like in other tags.
 -
 -2009-11-29  Juri Linkov  <juri@jurta.org>
 -
 -      * ediff-util.el (ediff-minibuffer-with-setup-hook):
 -      New compatibility macro.
 -      (ediff-read-file-name): Use it instead of `minibuffer-with-setup-hook'.
 -
 -2009-11-29  Juri Linkov  <juri@jurta.org>
 -
 -      Add defcustom to define the cycling order of `recenter-top-bottom'.
 -      (Bug#4981)
 -
 -      * window.el (recenter-last-op): Doc fix.
 -      (recenter-positions): New defcustom.
 -      (recenter-top-bottom): Rewrite to use `recenter-positions'.
 -      (move-to-window-line-top-bottom): Rewrite to use `recenter-positions'.
 -
 -2009-11-29  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Improve integration of Tramp and ange-ftp in eshell.
 -
 -      * eshell/em-unix.el (eshell/whoami): Make it a defun but a defalias.
 -      (eshell/su): Flatten args.  Apply better args parsing.  Use "cd".
 -      (eshell/sudo): Flatten args.  Let-bind `default-directory'.
 -
 -      * eshell/esh-util.el (top): Require also Tramp when compiling.
 -      (eshell-directory-files-and-attributes): Check for FTP remote
 -      connection.
 -      (eshell-parse-ange-ls): Let-bind `ange-ftp-name-format',
 -      `ange-ftp-ftp-name-arg', `ange-ftp-ftp-name-res'.
 -      (eshell-file-attributes): Handle ".".  Return `entry'.
 -
 -      * net/ange-ftp.el (ange-ftp-parse-filename): Use `save-match-data'.
 -      (ange-ftp-directory-files-and-attributes)
 -      (ange-ftp-real-directory-files-and-attributes): New defuns.
 -
 -      * net/tramp.el (tramp-maybe-open-connection): Open the remote
 -      shell with "exec" when possible.  This prevents trailing prompts
 -      in `start-file-process'.
 -
 -2009-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try and remove assumptions about point-min==1.
 -      * nxml/rng-valid.el (rng-validate-mode): Don't hardcode point-min==1.
 -      (rng-compute-mode-line-string): Show the validation percentage in
 -      terms of the narrowed text, not the widened text.
 -      (rng-do-some-validation): Don't catch internal errors when debugging.
 -      (rng-first-error): Simplify.
 -      (rng-after-change-function): Remove work around.  AFAIK the bug has
 -      been fixed a while ago.
 -
 -      * image-mode.el (image-minor-mode): Exit more gracefully when the image
 -      cannot be displayed (e.g. when doing C-x C-f some-new-file.svg RET).
 -
 -      * man.el (Man-completion-table): Make it easier to enter "<sec> <name>".
 -
 -      * eshell/em-prompt.el (eshell-prompt-function): Abbreviate pwd, since
 -      `cd' doesn't always do it for us (bug#5067).
 -
 -      * pcomplete.el (pcomplete-entries): Revert change installed mistakenly
 -      on 2009-10-25 as part of some other change (bug#5067).
 -
 -2009-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-warning-types): New type
 -      `suspicious'.
 -      (byte-compile-warnings): Use byte-compile-warning-types.
 -      (byte-compile-save-excursion): Warn about use of set-buffer right
 -      after save-excursion.
 -
 -      * progmodes/gud.el (gud-basic-call): Don't only save the buffer but
 -      the excursion as well.
 -
 -2009-11-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * eshell/em-unix.el (eshell/su, eshell/sudo): New defuns,
 -      providing a Tramp related implementation of "su" and "sudo".
 -      (eshell-unix-initialize): Add "su" and "sudo".
 -
 -2009-11-27  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * net/socks.el (socks-send-command): Convert binary request to
 -      unibyte before sending.  This fixes mishandling of some port
 -      numbers such as 129.
 -
 -2009-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help.el (describe-bindings-internal): Remove `interactive'.
 -
 -      * man.el (Man-completion-table): Trim a terminating "(".
 -      Remove the space between name page a section.
 -      Add the command's description on the `help-echo' property.
 -      Remove `process-connection-type' binding since it's unused by
 -      call-process.
 -      Provide completion for the "<section> <name>" format as well.
 -      (Man-default-man-entry): Remove spurious var shadowing the argument.
 -
 -2009-11-26  Kevin Ryde  <user42@zip.com.au>
 -
 -      * log-view.el: Add "Keywords: tools", since its other keywords
 -      aren't in finder-known-keywords, and following vc.el.
 -
 -      * sha1.el (sha1-string-external): default-directory "/" in case
 -      otherwise non-existent.  process-connection-type pipe for touch of
 -      efficiency recommended by elisp manual.  (An aside in Bug#3911.)
 -
 -2009-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Misc coding convention cleanups.
 -      * htmlfontify.el (hfy-init-kludge-hook): Rename from
 -      hfy-init-kludge-hooks.
 -      (hfy-etags-cmd, hfy-flatten-style, hfy-invisible-name, hfy-face-at)
 -      (hfy-fontify-buffer, hfy-prepare-index-i, hfy-subtract-maps)
 -      (hfy-save-kill-buffers, htmlfontify-copy-and-link-dir): Use dolist
 -      and push.
 -      (hfy-slant, hfy-weight): Use tables rather than code.
 -      (hfy-box-to-border-assoc, hfy-box-to-style, hfy-decor)
 -      (hfy-face-to-style-i, hfy-fontify-buffer): Use `case'.
 -      (hfy-face-attr-for-class): Initialize `face-spec' directly.
 -      (hfy-face-to-css): Remove `nconc' with single arg.
 -      (hfy-p-to-face-lennart): Use `or'.
 -      (hfy-face-at): Hoist common code.  Remove spurious quotes in `case'.
 -      (hfy-overlay-props-at, hfy-mark-tag-hrefs): Eta-reduce.
 -      (hfy-compile-stylesheet, hfy-merge-adjacent-spans)
 -      (hfy-compile-face-map, hfy-parse-tags-buffer): Use push.
 -      (hfy-force-fontification): Use run-hooks.
 -
 -2009-11-26  Vivek Dasmohapatra  <vivek@etla.org>
 -
 -      Various minor fixes.
 -      * htmlfontify.el (hfy-default-header): Add toggle_invis since
 -      Javascript belongs in the header, not the body.
 -      (hfy-javascript): Remove.
 -      (hfy-fontify-buffer): Don't insert it any more.
 -      (hfy-face-at): Handle (face0 face1 face2) style face properties.
 -      Fix bug in invis handling when there were no invis props in a chunk.
 -
 -2009-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-annotate-command): Make operation asynchronous.
 -
 -2009-11-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * finder.el (finder-mode-map): Add a menu.
 -
 -2009-11-26  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-at-struct-p): Support "signed" and
 -      "unsigned" structs.
 -
 -      (verilog-leap-to-head, verilog-backward-token): Handle "disable
 -      fork" statement better.
 -
 -2009-11-26  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-insert-lisp)
 -      (verilog-delete-auto, verilog-delete-empty-auto-pair)
 -      (verilog-library-filenames): Fix AUTOINSERTLISP to support insert-file.
 -      Reported by Clay Douglass.
 -
 -      (verilog-auto-inst, verilog-auto-star-safe)
 -      (verilog-delete-auto-star-implicit, verilog-read-sub-decls):
 -      Fix removing "// Interfaces" when saving .* expansions.
 -      Reported by Pierre-David Pfister.
 -
 -2009-11-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * eshell/em-dirs.el (eshell/cd): Don't throw to a tag outside
 -      the scope.
 -
 -2009-11-25  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * vc-annotate.el (vc-annotate-revision-previous-to-line):
 -      Really use previous revision.
 -
 -2009-11-25  Kevin Ryde  <user42@zip.com.au>
 -
 -      * man.el (Man-completion-table): default-directory "/" in case
 -      doesn't otherwise exist.  process-environment COLUMNS=999 so as
 -      not to truncate long names.  process-connection-type pipe to avoid
 -      any chance of hitting the pseudo-tty TIOCGWINSZ.
 -      (man): completion-ignore-case t for friendliness and since man
 -      itself is case-insensitive on the command line.
 -      Further to Bug#3717.
 -
 -      * arc-mode.el: Add "Keywords: files", so the details in its
 -      commentary can be reached from finder-by-keyword.
 -      * textmodes/dns-mode.el: Add "Keywords: comm".  It's only an
 -      editing mode, but it's comms related and sgml-mode.el has "comm"
 -      on that basis too.
 -      * textmodes/bibtex-style.el: Add "Keywords: tex".
 -      * international/isearch-x.el, international/ja-dic-cnv.el:
 -      * international/ja-dic-utl.el, international/kkc.el:
 -      Add "Keywords: i18n", so they can be reached from finder-by-keyword.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      * man.el (Man-completion-table): Modify regexp to include
 -      section names to completion strings.  (Bug#3717)
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Search recursively in gzipped files.  (Bug#4982)
 -
 -      * progmodes/grep.el (grep-highlight-matches): Add new options
 -      `always' and `auto'.  Doc fix.
 -      (grep-process-setup): Check `grep-highlight-matches' for
 -      `auto-detect' to determine the need to compute grep defaults.
 -      Move Windows/DOS specific --colors settings handling
 -      to `grep-compute-defaults'.  Check `grep-highlight-matches'
 -      to get the value of "--color=".
 -      (grep-compute-defaults): Compute `grep-highlight-matches' when it
 -      has the value `auto-detect'.  Move Windows/DOS specific settings
 -      from `grep-process-setup'.
 -      (zrgrep): New command with alias `rzgrep'.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      * doc-view.el (doc-view-mode): Set buffer-local `view-read-only'
 -      to nil instead of switching off view-mode.  (Bug#4896)
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Mouse-wheel scrolling for DocView Continuous mode.  (Bug#4896)
 -
 -      * mwheel.el (mwheel-scroll-up-function)
 -      (mwheel-scroll-down-function): New defvars.
 -      (mwheel-scroll): Funcall `mwheel-scroll-up-function' instead of
 -      `scroll-up', and `mwheel-scroll-down-function' instead of
 -      `scroll-down'.
 -
 -      * doc-view.el (doc-view-scroll-up-or-next-page)
 -      (doc-view-scroll-down-or-previous-page): Add optional ARG.
 -      Use this ARG in the call to image-scroll-up/image-scroll-down.
 -      Change `interactive' spec to "P".  Goto next/previous page only
 -      when `doc-view-continuous-mode' is non-nil or ARG is nil (for the
 -      SPC/DEL case).  Doc fix.
 -      (doc-view-next-line-or-next-page)
 -      (doc-view-previous-line-or-previous-page): Rename arg to ARG
 -      for consistency.
 -      (doc-view-mode): Set buffer-local `mwheel-scroll-up-function' to
 -      `doc-view-scroll-up-or-next-page', and buffer-local
 -      `mwheel-scroll-down-function' to
 -      `doc-view-scroll-down-or-previous-page'.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Provide additional default values (directories at other Dired
 -      windows) via M-n in the minibuffer of some Dired commands.
 -
 -      * dired-aux.el (dired-diff, dired-compare-directories)
 -      (dired-do-create-files): Use `dired-dwim-target-defaults' to set
 -      `minibuffer-default' in `minibuffer-with-setup-hook'.
 -      (dired-dwim-target-directory): Find a window that displays Dired
 -      buffer instead of failing when the next window is not Dired.
 -      Use `get-window-with-predicate' to find for the next Dired window.
 -      (dired-dwim-target-defaults): New function.
 -
 -      * ediff-util.el (ediff-read-file-name):
 -      Use `dired-dwim-target-defaults' to set `minibuffer-default'
 -      in `minibuffer-with-setup-hook'.
 -
 -2009-11-25  Juri Linkov  <juri@jurta.org>
 -
 -      Provide additional default values (file name at point or at the
 -      current Dired line) via M-n for file reading minibuffers.  (Bug#5010)
 -
 -      * minibuffer.el (read-file-name-defaults): New function.
 -      (read-file-name): Reset `minibuffer-default' to nil when
 -      it duplicates initial input `insdef'.
 -      Bind `minibuffer-default-add-function' to lambda that
 -      calls `read-file-name-defaults' in `minibuffer-selected-window'.
 -      (minibuffer-insert-file-name-at-point): New command.
 -
 -      * files.el (file-name-at-point-functions): New defcustom.
 -      (find-file-default): Remove defvar.
 -      (find-file-read-args): Don't use `find-file-default'.
 -      Move `minibuffer-with-setup-hook' that sets `minibuffer-default'
 -      to `read-file-name'.
 -      (find-file-literally): Use `read-file-name' with
 -      `confirm-nonexistent-file-or-buffer'.
 -
 -      * ffap.el (ffap-guess-file-name-at-point): New autoloaded function.
 -
 -      * dired.el (dired-read-dir-and-switches):
 -      Move `minibuffer-with-setup-hook' that sets `minibuffer-default'
 -      to `read-file-name'.
 -      (dired-file-name-at-point): New function.
 -      (dired-mode): Add hook `dired-file-name-at-point' to
 -      `file-name-at-point-functions'.
 -
 -2009-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Really make the *Completions* window soft-dedicated (bug#5030).
 -      * window.el (window--display-buffer-2): Add `dedicated' argument.
 -      (display-buffer): Pass it when needed so the dedicated flag is set
 -      after calling set-window-buffer, which would otherwise reset it.
 -
 -2009-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/meta-mode.el (meta-complete-symbol):
 -      * progmodes/etags.el (complete-tag):
 -      * mail/mailabbrev.el (mail-abbrev-complete-alias):
 -      Use completion-in-region.
 -
 -      * dabbrev.el (dabbrev--minibuffer-origin): Use minibuffer-selected-window.
 -      (dabbrev-completion): Use completion-in-region.
 -      (dabbrev--abbrev-at-point): Simplify regexp.
 -
 -      * abbrev.el (abbrev--before-point): Use word-motion functions
 -      if :regexp is not specified (bug#5031).
 -
 -      * subr.el (string-prefix-p): New function.
 -
 -      * man.el (Man-completion-cache): New var.
 -      (Man-completion-table): Use it.
 -
 -      * vc.el (vc-print-log-internal): Make `limit' optional for better
 -      compatibility (e.g. with vc-annotate.el).
 -
 -2009-11-24  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-regexp):
 -      Build value with regexp-opt instead of explicit joining loop.  (Bug#4927)
 -
 -      * emacs-lisp/elint.el (elint-add-required-env): Better error message
 -      when .el source file not found or other error.
 -
 -2009-11-24  Markus Triska  <markus.triska@gmx.at>
 -
 -      * linum.el (linum-update-window): Ignore intangible (bug#4996).
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Handle the [back] button properly (bug#4979).
 -      * descr-text.el (describe-text-properties): Add a `buffer' argument.
 -      Use help-setup-xref, help-buffer, and with-help-window.
 -      (describe-char): Add `buffer' argument.
 -      Pass proper command to help-setup-xref.  Don't meddle with
 -      help-xref-stack-item directly.
 -      (describe-text-category): Use with-help-window and help-buffer.
 -
 -      * emacs-lisp/shadow.el (list-load-path-shadows): Setup a major mode
 -      for the displayed buffer (bug#4887).
 -
 -      * man.el (Man-completion-table): New function.
 -      (man): Use it.
 -
 -2009-11-24  David Reitter  <david.reitter@gmail.com>
 -
 -      * vc-git.el (vc-git-registered): Use checkout directory (where
 -      .git is) rather than the file's directory and a relative path spec
 -      to work around a bug in git.
 -
 -2009-11-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Improve handling of processes on remote hosts.
 -
 -      * eshell/esh-util.el (eshell-path-env): New defvar.
 -      (eshell-parse-colon-path): New defun.
 -      (eshell-file-attributes): Use `eshell-parse-colon-path'.
 -
 -      * eshell/esh-ext.el (eshell-search-path):
 -      Use `eshell-parse-colon-path'.
 -      (eshell-remote-command): Remove argument HANDLER.
 -      (eshell-external-command): Check for FTP remote connection.
 -
 -      * eshell/esh-proc.el (eshell-gather-process-output):
 -      Use `file-truename', in order to start also symlinked files.
 -      Apply `start-file-process' instead of `start-process'.
 -      Shorten `command' to the local file name part.
 -
 -      * eshell/em-cmpl.el (eshell-complete-commands-list):
 -      Use `eshell-parse-colon-path'.
 -
 -      * eshell/em-unix.el (eshell/du): Check for FTP remote connection.
 -
 -      * net/tramp.el (tramp-eshell-directory-change): New defun.  Add it
 -      to `eshell-directory-change-hook'.
 -
 -2009-11-24  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * doc-view.el (doc-view-mode): Switch off view-mode explicitly,
 -      because it could be enabled automatically if view-read-only is non-nil.
 -
 -2009-11-24  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * ediff-vers.el (ediff-rcs-get-output-buffer): Revert the change
 -      made on 2009-11-22.
 -
 -2009-11-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * bookmark.el (bookmark-bmenu-hide-filenames): Remove assignment to
 -      deleted variable bookmark-bmenu-bookmark-column.
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bookmark.el (bookmark-bmenu-search): Clear echo area when exiting.
 -
 -2009-11-23  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * net/browse-url.el (browse-url-filename-alist): On Windows, add
 -      two slashes to the "file:" prefix.
 -      (browse-url-file-url): De-munge Cygwin filenames before passing
 -      them to Windows browser.
 -      (browse-url-default-windows-browser): Use call-process.
 -
 -2009-11-23  Juri Linkov  <juri@jurta.org>
 -
 -      Implement DocView Continuous mode.  (Bug#4896)
 -      * doc-view.el (doc-view-continuous-mode): New defcustom.
 -      (doc-view-mode-map): Bind C-n/<down> to
 -      `doc-view-next-line-or-next-page', C-p/<up> to
 -      `doc-view-previous-line-or-previous-page'.
 -      (doc-view-next-line-or-next-page)
 -      (doc-view-previous-line-or-previous-page): New commands.
 -
 -2009-11-23  Juri Linkov  <juri@jurta.org>
 -
 -      Implement Isearch in comint input history.  (Bug#3746)
 -      * comint.el (comint-mode): Add `comint-history-isearch-setup' to
 -      `isearch-mode-hook'.
 -      (comint-history-isearch): New defcustom.
 -      (comint-history-isearch-backward)
 -      (comint-history-isearch-backward-regexp): New commands.
 -      (comint-history-isearch-message-overlay): New buffer-local variable.
 -      (comint-history-isearch-setup, comint-history-isearch-end)
 -      (comint-goto-input, comint-history-isearch-search)
 -      (comint-history-isearch-message, comint-history-isearch-wrap)
 -      (comint-history-isearch-push-state)
 -      (comint-history-isearch-pop-state): New functions.
 -
 -2009-11-23  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-shell-prompt-pattern): Use \r for carriage
 -      return.
 -      (tramp-handle-make-symbolic-link)
 -      (tramp-handle-dired-compress-file, tramp-handle-expand-file-name):
 -      Quote file names.
 -      (tramp-send-command-and-check): New argument DONT-SUPPRESS-ERR.
 -      (tramp-handle-process-file): Use it.
 -
 -2009-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.el (move-to-window-line-last-op): Remove.
 -      (move-to-window-line-top-bottom): Reuse recenter-last-op instead.
 -
 -2009-11-23  Deniz Dogan  <deniz.a.m.dogan@gmail.com>  (tiny change)
 -
 -      Make M-r mirror the new cycling behavior of C-l.
 -      * window.el (move-to-window-line-last-op): New var.
 -      (move-to-window-line-top-bottom): New command.
 -      (global-map): Bind M-r move-to-window-line-top-bottom.
 -
 -2009-11-23  Sven Joachim  <svenjoac@gmx.de>
 -
 -      * dired-x.el (dired-guess-shell-alist-default):
 -      Support xz format.  (Bug#4953)
 -
 -2009-11-22  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * emulation/viper-cmd.el: Use viper-last-command-char instead of
 -      last-command-char/last-command-event.
 -      (viper-prefix-arg-value): Do correct conversion of event-char for
 -      XEmacs.
 -
 -      * emulation/viper-util.el, emulation/viper.el:
 -      Use viper-last-command-char instead of
 -      last-command-char/last-command-event.
 -
 -      * ediff-init.el, ediff-mult.el, ediff-util.el:
 -      Replace last-command-char and last-command-event
 -      with (ediff-last-command-char) everywhere.
 -
 -      * ediff-vers.el (ediff-rcs-get-output-buffer): Make sure the buffer is
 -      created in fundamental mode.
 -
 -      * ediff.el (ediff-version): Revert the change of interactive-p to
 -      called-interactively-p.
 -
 -2009-11-22  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/subword.el (subword-mode-map): Fix subword-mode-map
 -      generation from word-movement command names.
 -
 -2009-11-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * cus-start.el (all): Add native condition for font-use-system-font.
 -
 -2009-11-21  Nathaniel Flath  <flat0103@gmail.com>
 -
 -      * progmodes/cc-menus.el (cc-imenu-java-generic-expression):
 -      Correct the patch from 2009-11-18.  (Bug#3910)
 -
 -2009-11-21  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/subword.el: Rename from lisp/subword.el.
 -
 -      * subword.el: Rename to progmodes/subword.el.
 -
 -      * Makefile.in (ELCFILES): Adapt to subword.el move.
 -
 -2009-11-21  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -          Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bookmark.el (bookmark-bmenu-bookmark-column): Remove var.
 -      (bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop.
 -      (bookmark-bmenu-show-filenames): Use push.
 -      (bookmark-bmenu-hide-filenames): Use local var instead of
 -      bookmark-bmenu-bookmark-column.  Use pop.  Don't save window-excursion.
 -      (bookmark-bmenu-bookmark): Use the new `bookmark-name-prop' text-prop.
 -      (bookmark-bmenu-execute-deletions): Don't bother adding/removing the
 -      filenames now that the bookmark names are always available.
 -
 -2009-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bookmark.el (bookmark-search-prompt, bookmark-search-timer): Remove.
 -      (bookmark-search-pattern): Move and leave unbound.
 -      (bookmark-bmenu-mode-map): Change binding.
 -      (bookmark-read-search-input): Simplify.
 -      Don't use text-char-description.  Don't error on non-char events.
 -      (bookmark-filtered-alist-by-regexp-only): Remove by folding into the
 -      only caller (i.e. bookmark-bmenu-filter-alist-by-regexp).
 -      (bookmark-bmenu-search): Don't check we're in a bookmark-list buffer.
 -      Use a local var for the timer.
 -      (bookmark-bmenu-cancel-search): Remove by folding into the only caller
 -      (i.e. bookmark-bmenu-search).
 -
 -2009-11-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime): Decode in fundamental-mode.  (Bug#4993)
 -
 -2009-11-20  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * net/browse-url.el (browse-url-default-windows-browser):
 -      Use cygstart for cygwin.
 -
 -2009-11-20  Karl Fogel  <karl.fogel@red-bean.com>
 -
 -      * bookmark.el: Formatting and doc fixes only:
 -      (bookmark-search-delay): Shorten doc string to fit in 80 columns.
 -      (bookmark-bmenu-search): Wrap to fit within 80 columns.
 -      Minor grammar and punctuation fixes in doc string.
 -      (bookmark-read-search-input): Adjust to fit within 80 columns.
 -
 -2009-11-20  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/cc-cmds.el (c-forward-into-nomenclature)
 -      (c-backward-into-nomenclature): Adapt to subword renaming.
 -
 -      * subword.el (subword-forward, subword-backward, subword-mark)
 -      (subword-kill, subword-backward-kill, subword-transpose)
 -      (subword-downcase, subword-upcase, subword-capitalize)
 -      (subword-forward-internal, subword-backward-internal):
 -      Rename from forward-subword, backward-subword, mark-subword,
 -      kill-subword, backward-kill-subword, transpose-subwords,
 -      downcase-subword, upcase-subword, capitalize-subword,
 -      forward-subword-internal, backward-subword-internal.
 -
 -2009-11-20  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 -
 -      * bookmark.el (bookmark-search-delay, bookmark-search-prompt):
 -      New options.
 -      (bookmark-search-pattern, bookmark-search-timer, bookmark-quit-flag):
 -      New vars.
 -      (bookmark-read-search-input, bookmark-filtered-alist-by-regexp-only)
 -      (bookmark-bmenu-filter-alist-by-regexp)
 -      (bookmark-bmenu-goto-bookmark, bookmark-bmenu-cancel-search): New funs.
 -      (bookmark-bmenu-search): New command.
 -      (bookmark-bmenu-mode-map): Bind it.
 -
 -2009-11-20  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * progmodes/cc-cmds.el: declare-functioned forward-subword and
 -      backward-subword to quit the byte-compiler.
 -
 -      * makefile.w32-in: Don't refer cc-subword.elc but subword.elc.
 -
 -      * Makefile.in: Don't refer cc-subword.elc but subword.elc.
 -
 -      * progmodes/cc-cmds.el (c-update-modeline)
 -      (c-forward-into-nomenclature, c-backward-into-nomenclature):
 -      Refer to subword.el functions instead of cc-subword.el.
 -
 -      * progmodes/cc-mode.el (subword-mode, c-mode-base-map): Refer to
 -      subword.el functions instead of cc-subword.el.
 -
 -      * progmodes/cc-subword.el: Rename to subword.el.
 -      * subword.el: Rename from progmodes/cc-subword.el.
 -      (subword-mode-map): Rename from c-subword-mode-map.
 -      (subword-mode): Rename from c-subword-mode.
 -      (global-subword-mode): New global minor mode.
 -      (forward-subword): Rename from c-forward-subword.
 -      (backward-subword): Rename from c-backward-subword.
 -      (mark-subword): Rename from c-mark-subword.
 -      (kill-subword): Rename from c-kill-subword.
 -      (backward-kill-subword): Rename from c-backward-kill-subword.
 -      (transpose-subwords): Rename from c-tranpose-subword.
 -      (downcase-subword): Rename from c-downcase-subword.
 -      (capitalize-subword): Rename from c-capitalize-subword.
 -      (forward-subword-internal): Rename from c-forward-subword-internal.
 -      (backward-subword-internal): Rename from c-backward-subword-internal.
 -
 -2009-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-deduce-fileset): Allow non-state changing operations
 -      from a dired buffer.
 -      (vc-dired-deduce-fileset): New function.
 -      (vc-root-diff, vc-print-root-log): Use it.
 -
 -      * vc-annotate.el (vc-annotate-show-log-revision-at-line): Pass a
 -      nil LIMIT argument to vc-print-log-internal.
 -
 -2009-11-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-11-20  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-set-mode-line):
 -      Rename `calc-complement-signed-mode' to `calc-twos-complement-mode'.
 -      (math-format-number): Rename `math-format-complement-signed' to
 -      `math-format-twos-complement'.
 -
 -      * calc/calc-bin.el (math-format-twos-complement): Rename from
 -      math-format-complement-signed.
 -      (calc-radix): Rename `calc-complement-signed-mode' to
 -      `calc-twos-complement-mode'.
 -      (calc-octal-radix, calc-hex-radix): Add an argument for
 -      two's complement.
 -
 -      * calc/calc-embed.el (calc-embedded-mode-vars):
 -      Rename `calc-complement-signed-mode' to `calc-twos-complement-mode'.
 -
 -      * calc/calc-ext.el (calc-init-extensions):
 -      Rename `calc-complement-signed-mode' to `calc-twos-complement-mode'.
 -      (math-format-number-fancy): Let `calc-twos-complement-mode' be nil.
 -
 -      * calc/calc-units.el (math-build-units-table-buffer):
 -      Let `calc-twos-complement-mode' be nil.
 -
 -      * calc/calc-menu.el (calc-modes-menu): Clean up two's complement
 -      entries.
 -
 -      * calc/calc-vec.el (calcFunc-vunpack):
 -      * calc/calc-aent.el (calc-do-calc-eval):
 -      * calc/calc-forms.el (math-format-date):
 -      * calc/calc-graph.el (calc-graph-plot):
 -      * calc/calc-math.el (math-use-emacs-fn):
 -      * calc/calccomp.el (math-compose-expr):
 -      Let `calc-twos-complement-mode' be nil.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * abbrev.el (abbrev-with-wrapper-hook): (re)move...
 -      * simple.el (with-wrapper-hook): ...to here.  Add argument `args'.
 -      * minibuffer.el (completion-in-region-functions): New hook.
 -      (completion-in-region): New function.
 -      * emacs-lisp/lisp.el (lisp-complete-symbol):
 -      * pcomplete.el (pcomplete-std-complete): Use it.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/tex-mode.el (latex-complete-bibtex-cache)
 -      (latex-complete-alist): New vars.
 -      (latex-string-prefix-p, latex-complete-bibtex-keys)
 -      (latex-complete-envnames, latex-complete-refkeys)
 -      (latex-complete-data): New functions.
 -      (latex-complete, latex-indent-or-complete): New commands.
 -
 -      * window.el (display-buffer-mark-dedicated): New var.
 -      (display-buffer): Obey it.
 -      * minibuffer.el (minibuffer-completion-help): Use it.
 -
 -      * progmodes/sym-comp.el (symbol-complete): Use completion-in-region.
 -
 -      * filecache.el (file-cache-add-file): Use push and cons.
 -      (file-cache-delete-file-regexp): Use push.
 -      (file-cache-complete): Use completion-in-region.
 -
 -      * simple.el (with-wrapper-hook): Fix thinko.
 -
 -      * hfy-cmap.el (hfy-rgb-file): Use locate-file.
 -      (htmlfontify-load-rgb-file): Remove unnused var `ff'.
 -      Use with-current-buffer and string-to-number.
 -      (hfy-fallback-colour-values): Use assoc-string.
 -      * htmlfontify.el (hfy-face-to-css): Remove unused var `style'.
 -      (hfy-face-at): Remove unused var `found-face'.
 -      (hfy-compile-stylesheet): Remove unused var `css'.
 -      (hfy-fontify-buffer): Remove unused vars `in-style', `invis-button',
 -      and `orig-buffer'.
 -      (hfy-buffer, hfy-copy-and-fontify-file, hfy-parse-tags-buffer):
 -      Use with-current-buffer.
 -      (hfy-text-p): Use expand-file-name and fewer setq.
 -
 -2009-11-19  Vivek Dasmohapatra  <vivek@etla.org>
 -
 -      * htmlfontify.el, hfy-cmap.el: New files.
 -
 -2009-11-19  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuffer.el (completions-format): New defcustom.
 -      (completion--insert-strings): Implement vertical format.
 -
 -      * simple.el (switch-to-completions): Move point to the first
 -      completion when point was at the beginning of the buffer.
 -
 -2009-11-19  Juri Linkov  <juri@jurta.org>
 -
 -      * find-dired.el (find-name-arg): Remove autoload.  (Bug#4387)
 -
 -      * progmodes/grep.el (rgrep): Require `find-dired' for `find-name-arg'.
 -
 -2009-11-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/sendmail.el (mail-yank-prefix): Change default to "> ".
 -      (mail-signature): Change default to t.
 -      (mail-from-style): Deprecate `system-default' value.
 -      (mail-insert-from-field): For default value of mail-from-style,
 -      default to `angles' unless `angles' needs quoting and `parens'
 -      does not.
 -      (mail-citation-prefix-regexp): Use citation regexp from
 -      message-mode.
 -
 -2009-11-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band):
 -      Set variables for computing the prompt for reading password.
 -
 -2009-11-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * dired-aux.el (dired-compress-file-suffixes): Add ".xz".  (Bug#4953)
 -
 -      * textmodes/flyspell.el (sgml-lexical-context): Declare.
 -
 -      * net/newst-treeview.el (newsticker-treeview-treewindow-width)
 -      (newsticker-treeview-listwindow-height): Fix custom type.
 -
 -2009-11-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * descr-text.el (describe-char-padded-string): Compose with TAB
 -      only if there's a font for CH.
 -      (describe-char): Fix the condition for detecting a trivial composition.
 -
 -2009-11-18  Nathaniel Flath  <flat0103@gmail.com>
 -
 -      * progmodes/cc-menus.el (cc-imenu-java-generic-expression): A new,
 -      more accurate version of the regexp.  (Bug#3910)
 -
 -2009-11-18  Bernhard Herzog  <bernhard.herzog@intevation.de>  (tiny change)
 -
 -      * vc-hg.el (vc-hg-diff): Fix last patch: do not change directory.
 -
 -2009-11-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font-setting.el (font-use-system-font): Declare for byte-compiler.
 -      (font-setting-change-default-font): Fix typo in docstring.
 -
 -2009-11-18  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-defs.el (c-version): Bump to 5.31.8.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font-setting.el (font-use-system-font): Move ...
 -
 -      * cus-start.el (all): ... to here.
 -
 -2009-11-17  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-advice-file-expand-wildcards): Simplify.
 -      Don't set `ad-return-value' if `ad-do-it' doesn't.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-write-region): Set file
 -      modification time.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * menu-bar.el: Put "Use system font" in Option-menu.
 -      (menu-bar-options-save): Add font-use-system-font.
 -
 -      * loadup.el: If feature system-font-setting or font-render-setting is
 -      there, load font-setting.
 -
 -      * Makefile.in (ELCFILES): Add font-settings.el.
 -      * font-setting.el: New file.
 -
 -2009-11-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * vc-svn.el (vc-svn-print-log): Fix typo in previous.
 -
 -      * net/newst-treeview.el (newsticker--treeview-list-update-faces):
 -      Preserve point in the list buffer.  (Bug#4939)
 -      Use point-at-eol.
 -      (newsticker--treeview-list-update-highlight)
 -      (newsticker--treeview-tree-update-highlight): Use point-at-bol/eol.
 -
 -2009-11-16  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-bin.el (math-symclip, calcFunc-symclip, calc-symclip):
 -      Remove.
 -
 -      * calc/calc-ext.el (calc-init-extensions): Remove references to
 -      symclip.
 -
 -      * calc/calc-menu.el (calc-arithmetic-menu): Remove `calc-symclip'.
 -
 -      * calc/calc-map.el (calc-get-operator, calc-b-oper-keys):
 -      * calc/calc-help.el (calc-b-prefix-help): Remove references to
 -      `calc-symclip'.
 -
 -2009-11-16  Kevin Ryde  <user42@zip.com.au>
 -
 -      * textmodes/flyspell.el (sgml-mode-flyspell-verify):
 -      Use `sgml-lexical-context' instead of own parse for tag (Bug#4511).
 -
 -      * emacs-lisp/lisp-mnt.el (lm-keywords): Allow multi-line keywords.
 -      (lm-keywords-list): Allow comma-only separator like "foo,bar".
 -      Ignore trailing spaces by omit-nulls to split-string (fixing
 -      regression from Emacs 21 due to the incompatible split-string
 -      change).  (Bug #4928.)
 -
 -2009-11-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-log-show-limit): Default to 2000.
 -      (vc-print-log-internal): Insert buttons to request more entries
 -      when limiting the output.
 -
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-cvs.el (vc-cvs-print-log):
 -      * vc-git.el (vc-git-print-log): Return 'limit-unsupported when
 -      LIMIT is non-nil.
 -
 -2009-11-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Raise only an
 -      error when `tramp-gvfs-dbus-event-vector' is set.
 -      (tramp-gvfs-maybe-open-connection): Loop over `read-event'.
 -
 -2009-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-rcs.el (vc-rcs-consult-headers): Add missing save-excursion.
 -
 -2009-11-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-unregister-service): New defun.
 -      (dbus-register-property): Register the handlers of
 -      "org.freedesktop.DBus.Properties" for SERVICE.
 -      (dbus-property-handler): Fix docstring.
 -
 -2009-11-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-output-file-form):
 -      Quote doc string reference in defvaralias as it is not in special form.
 -      (byte-compile-output-docform): Doc fix.
 -
 -2009-11-16  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (math-2-word-size, math-half-2-word-size)
 -      (calc-complement-signed-mode): New variables.
 -      (calc-set-mode-line): Add indicator for twos-complements.
 -      (math-format-number): Format twos-complement notation.
 -
 -      * calc/calc-bin.el (calc-word-size): Reset the variables
 -      `math-2-word-size' and `math-half-2-word-size'.
 -      (math-format-complement-signed, math-symclip, calcFunc-symclip)
 -      (calc-symclip): New functions.
 -
 -      * calc/calc-aent.el (math-read-token): Read complement signed numbers.
 -
 -      * calc/calc-embed.el (calc-embedded-mode-vars):
 -      Add `calc-complement-signed-mode' to the list of modes.
 -
 -      * calc/calc-map.el (calc-get-operator): Add `calc-symclip'.
 -      (calc-b-oper-keys): Add `calc-symclip' to list.
 -
 -      * calc/calc-ext.el (math-read-number-fancy): Read complement
 -      signed numbers.
 -      (calc-init-extensions): Add binding for `calc-symclip'.
 -      Add autoload for `calcFunc-symclip' and `calc-symclip'.
 -
 -      * calc/calc-menu.el (calc-arithmetic-menu): Add item for
 -      `calc-symclip'.
 -      (calc-modes-menu): Add item for twos complement mode.
 -
 -      * calc/calc-help.el (calc-b-prefix-help): Add help for `calc-symclip'.
 -
 -2009-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * register.el (jump-to-register, insert-register): Handle Semantic
 -      tags.  From commented-out advice in semantic/senator.el.
 -
 -2009-11-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-log-show-limit): New variable.
 -      (vc-print-log, vc-print-root-log): Add new argument LIMIT.  Set it
 -      when using a prefix argument.
 -      (vc-print-log-internal): Add new argument LIMIT.
 -
 -      * vc-svn.el (vc-svn-print-log):
 -      * vc-mtn.el (vc-mtn-print-log):
 -      * vc-hg.el (vc-hg-print-log):
 -      * vc-bzr.el (vc-bzr-print-log): Add new optional argument LIMIT,
 -      pass it to the log command when set.  Make the BUFFER argument
 -      non-optional.
 -
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-git.el (vc-git-print-log):
 -      * vc-cvs.el (vc-cvs-print-log): Add new optional argument LIMIT,
 -      ignore it.  Make the BUFFER argument non-optional
 -
 -      * bindings.el (mode-line-buffer-identification): Do not purecopy.
 -
 -2009-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.el (dired-mode-map): Move encryption items to "Operate"
 -      menu (Bug#4703).
 -
 -      * strokes.el (strokes-update-window-configuration): Make strokes
 -      buffer current before erasing (Bug#4906).
 -
 -2009-11-15  Juri Linkov  <juri@jurta.org>
 -
 -      * simple.el (set-mark-default-inactive): Add :type, :group
 -      and :version.  (Bug#4876)
 -
 -2009-11-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * arc-mode.el (archive-maybe-copy): Move creation of directory ...
 -      (archive-unique-fname): ... here.  (Bug#4929)
 -
 -2009-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help-mode.el (help-make-xrefs): Undo the last revert, and replace it
 -      with a real fix.
 -
 -      * novice.el (disabled-command-function): Add useful args.
 -      Setup the help buffer so that [back] works.
 -      Remove redundant call to help-mode.
 -      (disabled-command-function): Use `case'.
 -      (en/disable-command): New function extracted from enable-command.
 -      (enable-command, disable-command): Use it.
 -
 -2009-11-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * menu-bar.el (menu-bar-tools-menu): Read and send mail entries are not
 -      constants.  (Bug#4913)
 -
 -      * emacs-lisp/elint.el (elint-standard-variables): Doc fix.
 -
 -2009-11-14  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
 -
 -      * emacs-lisp/elint.el (elint-standard-variables): Add some variables
 -      defined in C that have no doc-strings.  (Bug#1063)
 -
 -2009-11-14  Francis Wright  <F.J.Wright@qmul.ac.uk>
 -
 -      * cus-edit.el (data, files):
 -      * ps-print.el (postscript): Doc fixes for custom groups.  (Bug#3327)
 -
 -2009-11-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (shell-command): Doc fix (Bug#4891).
 -
 -      * help-mode.el (help-make-xrefs): Revert 2009-11-13 change.
 -
 -2009-11-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emulation/viper.el (viper-set-hooks): Remove duplicate advice
 -      statements for vc-diff, emerge-quit, and rmail-cease-edit.
 -      If they are already loaded, eval-after-load will do the right thing.
 -
 -      * speedbar.el (top-level): Remove unnecessary load of ange-ftp when
 -      compiling.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-single-version): Remove, unused.
 -
 -      * simple.el (x-selection-owner-p): Declare.
 -      (read-mail-command): Use custom radio type rather than choice.
 -      (completion-no-auto-exit): Doc fix.
 -
 -      * custom.el (defgroup):
 -      * epg-config.el (epg): Doc fixes.
 -
 -2009-11-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * bindings.el (mode-line-buffer-identification): Purecopy only the string.
 -      * international/ccl.el (define-ccl-program): Do not purecopy the
 -      docstring, defconst does it anyway.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * add-log.el (add-change-log-entry): Avoid displaying the changelog
 -      a second time.
 -
 -      * x-dnd.el (x-dnd-maybe-call-test-function):
 -      * window.el (split-window-vertically):
 -      * whitespace.el (whitespace-help-on):
 -      * vc-rcs.el (vc-rcs-consult-headers):
 -      * userlock.el (ask-user-about-lock-help)
 -      (ask-user-about-supersession-help):
 -      * type-break.el (type-break-force-mode-line-update):
 -      * time-stamp.el (time-stamp-conv-warn):
 -      * terminal.el (te-set-output-log, te-more-break, te-filter)
 -      (te-sentinel, terminal-emulator):
 -      * term.el (make-term, term-exec, term-sentinel, term-read-input-ring)
 -      (term-write-input-ring, term-check-source, term-start-output-log):
 -      (term-display-buffer-line, term-dynamic-list-completions):
 -      (term-ansi-make-term, serial-term):
 -      * subr.el (selective-display):
 -      * strokes.el (strokes-xpm-to-compressed-string, strokes-decode-buffer)
 -      (strokes-encode-buffer, strokes-xpm-for-compressed-string):
 -      * speedbar.el (speedbar-buffers-tail-notes, speedbar-buffers-item-info)
 -      (speedbar-reconfigure-keymaps, speedbar-add-localized-speedbar-support)
 -      (speedbar-remove-localized-speedbar-support)
 -      (speedbar-set-mode-line-format, speedbar-create-tag-hierarchy)
 -      (speedbar-update-special-contents, speedbar-buffer-buttons-engine)
 -      (speedbar-buffers-line-directory):
 -      * simple.el (shell-command-on-region, append-to-buffer)
 -      (prepend-to-buffer):
 -      * shadowfile.el (shadow-save-todo-file):
 -      * scroll-bar.el (scroll-bar-set-window-start, scroll-bar-drag-1)
 -      (scroll-bar-maybe-set-window-start):
 -      * sb-image.el (speedbar-image-dump):
 -      * saveplace.el (save-place-alist-to-file, save-places-to-alist)
 -      (load-save-place-alist-from-file):
 -      * ps-samp.el (ps-print-message-from-summary):
 -      * ps-print.el (ps-flush-output, ps-insert-file, ps-get-boundingbox)
 -      (ps-background-image, ps-begin-job, ps-do-despool):
 -      * ps-bdf.el (bdf-find-file, bdf-read-font-info):
 -      * printing.el (pr-interface, pr-ps-file-print, pr-find-buffer-visiting)
 -      (pr-ps-message-from-summary, pr-lpr-message-from-summary):
 -      (pr-call-process, pr-file-list, pr-interface-save):
 -      * novice.el (disabled-command-function)
 -      (enable-command, disable-command):
 -      * mouse.el (mouse-buffer-menu-alist):
 -      * mouse-copy.el (mouse-kill-preserving-secondary):
 -      * macros.el (kbd-macro-query):
 -      * ledit.el (ledit-go-to-lisp, ledit-go-to-liszt):
 -      * informat.el (batch-info-validate):
 -      * ido.el (ido-copy-current-word, ido-initiate-auto-merge):
 -      * hippie-exp.el (try-expand-dabbrev-visible):
 -      * help-mode.el (help-make-xrefs):
 -      * help-fns.el (describe-variable):
 -      * generic-x.el (bat-generic-mode-run-as-comint):
 -      * finder.el (finder-mouse-select):
 -      * find-dired.el (find-dired-sentinel):
 -      * filesets.el (filesets-file-close):
 -      * files.el (list-directory):
 -      * faces.el (list-faces-display, describe-face):
 -      * facemenu.el (list-colors-display):
 -      * ezimage.el (ezimage-image-association-dump, ezimage-image-dump):
 -      * epg.el (epg--process-filter, epg-cancel):
 -      * epa.el (epa--marked-keys, epa--select-keys, epa-display-info)
 -      (epa--read-signature-type):
 -      * emerge.el (emerge-copy-as-kill-A, emerge-copy-as-kill-B)
 -      (emerge-file-names):
 -      * ehelp.el (electric-helpify):
 -      * ediff.el (ediff-regions-wordwise, ediff-regions-linewise):
 -      * ediff-vers.el (rcs-ediff-view-revision):
 -      * ediff-util.el (ediff-setup):
 -      * ediff-mult.el (ediff-append-custom-diff):
 -      * ediff-diff.el (ediff-exec-process, ediff-process-sentinel)
 -      (ediff-wordify):
 -      * echistory.el (Electric-command-history-redo-expression):
 -      * dos-w32.el (find-file-not-found-set-buffer-file-coding-system):
 -      * disp-table.el (describe-display-table):
 -      * dired.el (dired-find-buffer-nocreate):
 -      * dired-aux.el (dired-rename-subdir, dired-dwim-target-directory):
 -      * dabbrev.el (dabbrev--same-major-mode-p):
 -      * chistory.el (list-command-history):
 -      * apropos.el (apropos-documentation):
 -      * allout.el (allout-obtain-passphrase):
 -      (allout-copy-exposed-to-buffer):
 -      (allout-verify-passphrase): Use with-current-buffer.
 -
 -2009-11-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-11-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-registered-objects-table): Rename from
 -      `dbus-registered-functions-table', because it contains also properties.
 -      (dbus-unregister-object): Unregister also properties.
 -      (dbus-get-property, dbus-set-property, dbus-get-all-properties):
 -      Use a timeout of 500 msec, in order to not block.
 -      (dbus-register-property, dbus-property-handler): New defuns.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (minibuffer-default-add-completions): Drop deprecated
 -      4th arg.
 -
 -2009-11-13  Tomas Abrahamsson  <tab@lysator.liu.se>
 -
 -      * textmodes/artist.el (artist-mouse-choose-operation):
 -      Call `tmm-prompt' instead of `x-popup-menu' if we cannot popup
 -      menus.  Bug noticed by Eli Zaretskii <eliz@gnu.org>.
 -      (artist-compute-up-event-key): New function.
 -      (artist-mouse-choose-operation, artist-down-mouse-1): Call it.
 -
 -2009-11-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/japan-util.el: Make sure that the value of jisx0208
 -      property is jisx0208 character.
 -
 -2009-11-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * international/mule.el (auto-coding-regexp-alist): Only purecopy
 -      car or each item, not the whole list.
 -
 -2009-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-completion-help):
 -      Use minibuffer-hide-completions.
 -
 -2009-11-12  Per Starbäck  <per@starback.se>  (tiny change)
 -
 -      * dired.el (dired-save-positions, dired-restore-positions): New funs.
 -      (dired-revert): Use them (bug#4880).
 -
 -2009-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * tooltip.el (tooltip-frame-parameters): Undo previous change.
 -
 -2009-11-12  Juri Linkov  <juri@jurta.org>
 -
 -      * ffap.el (ffap-alternate-file-other-window, ffap-literally):
 -      New functions.
 -      (find-file-literally-at-point): Alias of `ffap-literally'.
 -
 -2009-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/ispell.el (ispell-skip-region-alist):
 -      * textmodes/css-mode.el (auto-mode-alist):
 -      * progmodes/compile.el (auto-mode-alist):
 -      * international/mule.el (ctext-non-standard-encodings-alist)
 -      (ctext-non-standard-encodings-regexp):
 -      * simple.el (shell-command-switch, text-read-only):
 -      * replace.el (occur-mode-map):
 -      * paths.el (rmail-file-name):
 -      * jka-cmpr-hook.el (jka-compr-build-file-regexp):
 -      * find-file.el (ff-special-constructs):
 -      * files.el (file-name-handler-alist):
 -      * composite.el: Purecopy strings.
 -
 -      * emacs-lisp/cl-macs.el (define-compiler-macro): Purecopy the file name.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * widget.el (define-widget): Purecopy the docstring.
 -      * international/mule-cmds.el (charset): Do not purecopy the
 -      docstring here, define-widget does it.
 -
 -      * textmodes/texinfo.el (texinfo-open-quote, texinfo-close-quote):
 -      * textmodes/bibtex-style.el (auto-mode-alist):
 -      * progmodes/inf-lisp.el (inferior-lisp-prompt):
 -      * progmodes/compile.el (compile-command):
 -      * language/korea-util.el (default-korean-keyboard):
 -      * international/mule-conf.el (file-coding-system-alist):
 -      * emacs-lisp/eldoc.el (eldoc-minor-mode-string):
 -      * tooltip.el (tooltip-frame-parameters):
 -      * newcomment.el (comment-end, comment-padding):
 -      * dired.el (dired-trivial-filenames):
 -      * comint.el (comint-file-name-prefix): Purecopy initial values.
 -
 -2009-11-11  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-advice-minibuffer-electric-separator)
 -      (tramp-advice-minibuffer-electric-tilde): Unload advices via
 -      `tramp-unload'.
 -      (tramp-advice-make-auto-save-file-name)
 -      (tramp-advice-file-expand-wildcards): Apply also `ad-activate'
 -      after removing the advice.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * progmodes/grep.el (grep-regexp-alist):
 -      * international/mule-cmds.el (iso-2022-control-alist):
 -      * emacs-lisp/timer.el (timer-duration-words):
 -      * subr.el (version-separator, version-regexp-alist):
 -      * minibuffer.el (completion-styles-alist):
 -      * faces.el (face-attribute-name-alist, list-faces-sample-text):
 -      Change defvars to defconsts.
 -
 -      * Makefile.in (ELCFILES): Add international/mule-conf.elc.
 -      * loadup.el ("international/mule-conf"): Load the byte compiled version.
 -      * international/mule-conf.el: Allow to be byte compiled.
 -
 -      * international/mule.el (define-charset): Purecopy props.
 -      (load-with-code-conversion): Purecopy doc string and file name.
 -      (put-charset-property): Purecopy strings.
 -      (auto-coding-alist, auto-coding-regexp-alist): Purecopy initial value.
 -
 -      * international/mule-cmds.el (register-input-method): Purecopy arguments.
 -      (define-char-code-property): Correctly purecopy the table.
 -
 -      * international/ccl.el (define-ccl-program): Purecopy the docstring.
 -
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Purecopy :lighter.
 -
 -      * subr.el (add-hook): Purecopy strings.
 -      (eval-after-load): Purecopy load-history-regexp and the form.
 -
 -      * custom.el (custom-declare-group): Purecopy load-file-name.
 -
 -      * subr.el (menu-bar-separator): New defconst.
 -      * net/eudc.el (eudc-tools-menu):
 -      * international/mule-cmds.el (set-coding-system-map)
 -      (mule-menu-keymap):
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
 -      * vc-hooks.el (vc-menu-map):
 -      * replace.el (occur-mode-map):
 -      * menu-bar.el (menu-bar-file-menu, menu-bar-search-menu)
 -      (menu-bar-edit-menu, menu-bar-goto-menu)
 -      (menu-bar-custom-menu, menu-bar-showhide-menu)
 -      (menu-bar-options-menu, menu-bar-tools-menu)
 -      (menu-bar-encryption-decryption-menu, menu-bar-describe-menu)
 -      (menu-bar-search-documentation-menu, menu-bar-manuals-menu)
 -      (menu-bar-help-menu):
 -      * ediff-hook.el (menu-bar-ediff-menu, menu-bar-ediff-merge-menu):
 -      * buff-menu.el (Buffer-menu-mode-map): Use menu-bar-separator.
 -
 -      * term/x-win.el (x-gtk-stock-map):
 -      * progmodes/vera-mode.el (auto-mode-alist):
 -      * progmodes/inf-lisp.el (inferior-lisp-filter-regexp)
 -      (inferior-lisp-program, inferior-lisp-load-command):
 -      * progmodes/hideshow.el (hs-special-modes-alist):
 -      * progmodes/gud.el (same-window-regexps):
 -      * progmodes/grep.el (grep-program, find-program, xargs-program):
 -      * net/telnet.el (same-window-regexps):
 -      * net/rlogin.el (same-window-regexps):
 -      * language/ethiopic.el (font-ccl-encoder-alist):
 -      * vc-sccs.el (vc-sccs-master-templates):
 -      * vc-rcs.el (vc-rcs-master-templates):
 -      * subr.el (cl-assertion-failed):
 -      * simple.el (next-error-overlay-arrow-position):
 -      * lpr.el (lpr-command):
 -      * locate.el (locate-ls-subdir-switches):
 -      * info.el (same-window-regexps, info)
 -      (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node):
 -      * image-mode.el (image-mode, auto-mode-alist):
 -      * hippie-exp.el (hippie-expand-ignore-buffers):
 -      * format.el (format-alist):
 -      * find-dired.el (find-ls-subdir-switches, find-grep-options)
 -      (find-name-arg):
 -      * facemenu.el (facemenu-keybindings):
 -      * dired.el (dired-listing-switches, dired-chown-program):
 -      * diff.el (diff-switches, diff-command):
 -      * cus-edit.el (same-window-regexps):
 -      * bindings.el (mode-line-mule-info)
 -      (mode-line-buffer-identification): Purecopy strings.
 -
 -2009-11-11  Juri Linkov  <juri@jurta.org>
 -
 -      * simple.el (dired-get-filename) <declare-function>:
 -      Tell the byte-compiler about dired-get-filename.
 -      (shell-command): In Dired mode, get filename from the current line
 -      as the default value.
 -
 -2009-11-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * dired.el, hi-lock.el, calendar/cal-menu.el, calendar/calendar.el:
 -      * calendar/holidays.el, progmodes/cperl-mode.el:
 -      Update x-popup-menu declarations.
 -
 -      * emacs-lisp/shadow.el (find-emacs-lisp-shadows)
 -      (list-load-path-shadows): Use dolist.
 -      (list-load-path-shadows): Use with-current-buffer.
 -
 -2009-11-10  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuffer.el (read-file-name): Support a list of default values
 -      in `default-filename'.  Use the first file name where only one
 -      element is required.  Doc fix.
 -
 -2009-11-09  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-unregister-object): Release service, if no
 -      other method is registered for it.
 -
 -2009-11-08  Markus Rost  <rost@math.uni-bielefeld.de>
 -
 -      * bookmark.el (bookmark-completing-read): Sort bookmark names if
 -      bookmark-sort-flag is non-nil (Bug#4653).
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emulation/cua-base.el: Add CUA property to some CC mode commands
 -      (Bug#4100).
 -
 -2009-11-08  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-regexp): Match noun
 -      at end of sentence (Bug#4818).
 -
 -2009-11-08  Jared Finder  <jfinder@crypticstudios.com>
 -
 -      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 -      Handle "see declaration of" MSFT statements (Bug#4100).
 -
 -2009-11-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-advice-make-auto-save-file-name)
 -      (tramp-advice-file-expand-wildcards): Unload via
 -      `ad-remove-advice'.
 -
 -      * net/trampver.el: Update release number.
 -
 -2009-11-08  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/tramp.el (tramp-advice-file-expand-wildcards): Don't rely on
 -      `ad-do-it'.
 -
 -2009-11-08  Andr  <m00naticus@gmail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-handle-write-region): Copy but rename temp file,
 -      in order to keep context in SELinux.
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired-aux.el (dired-query): Place cursor in echo area and allow
 -      C-g.
 -
 -      * dired.el (dired-mode-map): Disable dired-maybe-insert-subdir
 -      menu item if not on a directory (Bug#4701).
 -
 -2009-11-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Sync with Tramp 2.1.17.
 -
 -      * net/tramp.el (tramp-handle-copy-directory): Don't use
 -      `file-remote-p' (due to compatibility).
 -
 -      * net/tramp-compat.el (tramp-compat-copy-directory)
 -      (tramp-compat-delete-directory): New defuns.
 -
 -      * net/tramp-fish.el (tramp-fish-handle-delete-directory):
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory):
 -      Use `tramp-compat-delete-directory'.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-copy-directory)
 -      (tramp-smb-handle-delete-directory):
 -      Use `tramp-compat-copy-directory' and `tramp-compat-delete-directory'.
 -
 -      * net/trampver.el: Update release number.
 -
 -2009-11-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * tar-mode.el (tar-copy): Call write-region on the right buffer
 -      (Bug#4857).
 -
 -      * mail/rmailsum.el (rmail-summary-rmail-update): Call linum-update
 -      by hand, if necessary (Bug#4878).
 -
 -2009-11-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buff-menu.el (Buffer-menu-buffer+size): Use display property to
 -      align size column (Bug#4839).
 -
 -      * emacs-lisp/autoload.el (autoload-rubric): Always issue a provide
 -      statement.
 -
 -2009-11-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * progmodes/ld-script.el (auto-mode-alist):
 -      * vc-hooks.el (vc-directory-exclusion-list): Purecopy strings.
 -
 -      * cus-face.el (custom-declare-face): Purecopy face spec.
 -
 -2009-11-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/uni-bidi.el: Re-generated.
 -      * international/uni-category.el: Re-generated.
 -      * international/uni-combining.el: Re-generated.
 -      * international/uni-mirrored.el: Re-generated.
 -
 -2009-11-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/tex-mode.el (tex-alt-dvi-print-command)
 -      (tex-dvi-print-command, tex-bibtex-command, tex-start-commands)
 -      (tex-start-options, slitex-run-command, latex-run-command)
 -      (tex-run-command, tex-directory):
 -      * textmodes/ispell.el (ispell-html-skip-alists)
 -      (ispell-tex-skip-alists, ispell-tex-skip-alists):
 -      * textmodes/fill.el (adaptive-fill-first-line-regexp):
 -      (adaptive-fill-regexp):
 -      * textmodes/dns-mode.el (auto-mode-alist):
 -      * progmodes/python.el (interpreter-mode-alist):
 -      * progmodes/etags.el (tags-compression-info-list):
 -      * progmodes/etags.el (tags-file-name):
 -      * net/browse-url.el (browse-url-galeon-program)
 -      (browse-url-firefox-program):
 -      * mail/sendmail.el (mail-signature-file)
 -      (mail-citation-prefix-regexp):
 -      * international/mule-conf.el (eight-bit):
 -      * international/latexenc.el (latex-inputenc-coding-alist):
 -      * international/fontset.el (x-pixel-size-width-font-regexp):
 -      * emacs-lisp/warnings.el (warning-type-format):
 -      * emacs-lisp/trace.el (trace-buffer):
 -      * emacs-lisp/lisp-mode.el (lisp-interaction-mode-map)
 -      (emacs-lisp-mode-map):
 -      * calendar/holidays.el (holiday-solar-holidays)
 -      (holiday-bahai-holidays, holiday-islamic-holidays)
 -      (holiday-christian-holidays, holiday-hebrew-holidays)
 -      (hebrew-holidays-4, hebrew-holidays-3, hebrew-holidays-2)
 -      (hebrew-holidays-1, holiday-oriental-holidays)
 -      (holiday-general-holidays):
 -      * x-dnd.el (x-dnd-known-types):
 -      * tool-bar.el (tool-bar):
 -      * startup.el (site-run-file):
 -      * shell.el (shell-dumb-shell-regexp):
 -      * rfn-eshadow.el (file-name-shadow-tty-properties)
 -      (file-name-shadow-properties):
 -      * paths.el (remote-shell-program, news-directory):
 -      * mouse.el ([C-down-mouse-3]):
 -      * menu-bar.el (menu-bar-tools-menu):
 -      * jka-cmpr-hook.el (jka-compr-load-suffixes)
 -      (jka-compr-mode-alist-additions, jka-compr-compression-info-list)
 -      (jka-compr-compression-info-list):
 -      * isearch.el (search-whitespace-regexp):
 -      * image-file.el (image-file-name-extensions):
 -      * find-dired.el (find-ls-option):
 -      * files.el (directory-listing-before-filename-regexp)
 -      (directory-free-space-args, insert-directory-program)
 -      (list-directory-brief-switches, magic-fallback-mode-alist)
 -      (magic-fallback-mode-alist, auto-mode-interpreter-regexp)
 -      (automount-dir-prefix):
 -      * faces.el (face-x-resources, x-font-regexp, x-font-regexp-head)
 -      (x-font-regexp-slant, x-font-regexp-weight, face-x-resources)
 -      (face-font-registry-alternatives, face-font-registry-alternatives)
 -      (face-font-family-alternatives):
 -      * facemenu.el (facemenu-add-new-face, facemenu-background-menu)
 -      (facemenu-foreground-menu, facemenu-face-menu):
 -      * epa-hook.el (epa-file-name-regexp):
 -      * dnd.el (dnd-protocol-alist):
 -      * textmodes/rst.el (auto-mode-alist):
 -      * button.el (default-button): Purecopy strings.
 -
 -2009-11-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Update.
 -
 -2009-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lucid.el: Move to obsolete/lucid.el.
 -      * emacs-lisp/levents.el: Move to obsolete/levents.el.
 -
 -      * nxml/xsd-regexp.el (xsdre-gen-categories):
 -      * nxml/xmltok.el (xmltok-parse-entity):
 -      * nxml/rng-parse.el (rng-parse-validate-file):
 -      * nxml/rng-maint.el (rng-format-manual)
 -      (rng-manual-output-force-new-line):
 -      * nxml/rng-loc.el (rng-save-schema-location-1):
 -      * nxml/rng-cmpct.el (rng-c-parse-file):
 -      * nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
 -      * nxml/nxml-parse.el (nxml-parse-file): Use with-current-buffer.
 -
 -2009-11-05  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-getopt-file, verilog-set-define):
 -      Remove extra save-excursions and make-variable-buffer-local's.
 -      Suggested by Stefan Monnier.
 -
 -      (verilog-getopt-file, verilog-module-inside-filename-p)
 -      (verilog-set-define): Merge GNU 1.35 and repair changes from
 -      switching to using with-current-buffer.
 -
 -      (verilog-read-always-signals-recurse): Fix "a == 2'b00 ? b : c"
 -      being treated as a number and confusing AUTORESET.
 -      Reported by Dan Dever.
 -
 -      (verilog-auto-ignore-concat, verilog-read-sub-decls-expr):
 -      Add verilog-auto-ignore-concat to fix backward compatibility with
 -      older verilog-modes.  Reported by Dan Katz.
 -
 -      (verilog-read-auto-template): Fix AUTO_TEMPLATEs with regexps
 -      containing closing anchors "...$".
 -
 -      (verilog-read-decls): Fix AUTOREG not detecting "assign {a,b}".
 -      Reported by Wade Smith.
 -
 -      (verilog-batch-execute-func): Comment on function usage.
 -
 -2009-11-05  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-label-re): Fix regular expression
 -      for labels.
 -
 -      (verilog-label-re, verilog-calc-1): Support proper indent of named
 -      asserts.
 -
 -      (verilog-backward-token, verilog-basic-complete-re)
 -      (verilog-beg-of-statement, verilog-indent-re): Support proper
 -      indent of the assert statement at the beginning of a block of text.
 -
 -      (verilog-beg-block-re, verilog-ovm-begin-re): Support the
 -      `ovm_object_param_utils_begin and `ovm_component_param_utils_begin
 -      tokens as begins.
 -
 -2009-11-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-insert-header): Drop test for
 -      Emacs 19.  (Bug#1531)
 -      (byte-compile-fix-header): Update for the above change.
 -      Drop test for epoch::version.
 -
 -      * emacs-lisp/autoload.el (autoload-rubric): Add optional feature arg.
 -      * cus-dep.el (custom-make-dependencies):
 -      * finder.el (finder-compile-keywords):
 -      Use autoload-rubric's feature argument.
 -
 -      * calendar/diary-lib.el (top-level): Make load behave more like require.
 -
 -      * vc-git.el (vc-git-stash-map): Move definition before use.
 -
 -2009-11-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * custom.el (custom-declare-group): Purecopy standard-value.
 -      (custom-declare-group): Purecopy custom-prefix.
 -
 -      * international/mule.el (load-with-code-conversion):
 -      Call do-after-load-evaluation unconditionally.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-output-file-form): Handle defvaralias.
 -
 -2009-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * descr-text.el: Require help-mode rather than help-fns (bug#4861).
 -
 -2009-11-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-version-cond): Remove macro.
 -      (byte-compile-compatibility): Remove option.
 -      (byte-compile-close-variables, byte-compile-fix-header)
 -      (byte-compile-insert-header, byte-compile-output-docform)
 -      (byte-compile-file-form-defmumble, byte-compile-byte-code-maker)
 -      (byte-compile-lambda, byte-compile-form, byte-defop-compiler19)
 -      (byte-compile-list, byte-compile-concat, byte-compile-function-form)
 -      (byte-compile-insert, byte-compile-defun):
 -      Remove support for byte-compile-compatibility and Emacs 18.  (Bug#4571)
 -      (byte-defop-compiler19): Remove.
 -      Without byte-compile-compatibility, the 'emacs19-opcode property is not
 -      used by anything.  Replace all calls with byte-defop-compiler.
 -
 -2009-11-04  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-make-mm-toggle): Quote each element of `props'.
 -      (menu-bar-options-menu): Don't quote the `prop' arg of
 -      `menu-bar-make-mm-toggle'.
 -
 -2009-11-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * calendar/calendar.el (cal-loaddefs):
 -      * calendar/diary-lib.el (diary-loaddefs):
 -      * calendar/holidays.el (hol-loaddefs):
 -      * eshell/esh-module.el (esh-groups): Load rather than require.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * calendar/todo-mode.el (todo-add-category): Don't hardcode
 -      point-min==1.
 -      (todo-top-priorities): Only display-buffer when called interactively.
 -      (todo-item-start): Don't save excursion point.
 -      (todo-item-end): Be slightly more careful.  Add `include-sep' arg.
 -      (todo-insert-item-here, todo-file-item, todo-remove-item):
 -      Adjust uses of todo-item-start and todo-item-end.
 -
 -      * emacs-lisp/autoload.el (generated-autoload-feature): Remove.
 -      (autoload-rubric): Don't use any more.
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-variable-alias): Use dolist,
 -      and only put a prop if it is non-nil.
 -
 -2009-11-03  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle)
 -      (menu-bar-options-menu): Fix list quoting (Bug#4429).
 -
 -      * buff-menu.el (Buffer-menu-mode-map): Add hyphen between "Buffer"
 -      and "Menu" to make top-level menu item visually one unit (like
 -      it's done for "Lisp-Interaction", "Emacs-Lisp" and other
 -      multi-word menu items).  Fix :help string for quit-window.
 -
 -2009-11-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-file-form-defvar)
 -      (byte-compile-file-form-define-abbrev-table)
 -      (byte-compile-file-form-custom-declare-variable)
 -      (byte-compile-variable-ref, byte-compile-defvar):
 -      Whether or not a warning is enabled should only affect whether we issue
 -      the warning, not whether or not we collect the relevant data.
 -      Eg warnings can be turned on and off throughout the course of a file.
 -
 -      * eshell/esh-mode.el (ansi-color-apply-on-region): Autoload it...
 -      (eshell-handle-ansi-color): ... Rather than requiring ansi-color.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term/ns-win.el (ns-scroll-bar-move, ns-face-at-pos):
 -      * play/mpuz.el (mpuz-create-buffer):
 -      * play/landmark.el (lm-prompt-for-move, lm-print-wts, lm-print-smell)
 -      (lm-print-y,s,noise, lm-print-w0, lm-init):
 -      * play/gomoku.el (gomoku-prompt-for-move):
 -      * play/fortune.el (fortune-in-buffer):
 -      * play/dissociate.el (dissociated-press):
 -      * play/decipher.el (decipher-adjacency-list, decipher-display-regexp)
 -      (decipher-analyze-buffer, decipher-stats-buffer, decipher-stats-buffer):
 -      * mail/supercite.el (sc-eref-show):
 -      * mail/smtpmail.el (smtpmail-send-it):
 -      * mail/rmailsum.el (rmail-summary-next-labeled-message)
 -      (rmail-summary-previous-labeled-message, rmail-summary-wipe)
 -      (rmail-summary-undelete-many, rmail-summary-rmail-update)
 -      (rmail-summary-goto-msg, rmail-summary-expunge)
 -      (rmail-summary-get-new-mail, rmail-summary-search-backward)
 -      (rmail-summary-add-label, rmail-summary-output-menu)
 -      (rmail-summary-output-body):
 -      * mail/rfc822.el (rfc822-addresses):
 -      * mail/reporter.el (reporter-dump-variable, reporter-dump-state):
 -      * mail/mailpost.el (post-mail-send-it):
 -      * mail/hashcash.el (hashcash-generate-payment):
 -      * mail/feedmail.el (feedmail-run-the-queue)
 -      (feedmail-queue-send-edit-prompt-help-first)
 -      (feedmail-send-it-immediately, feedmail-give-it-to-buffer-eater)
 -      (feedmail-deduce-address-list):
 -      * eshell/esh-ext.el (eshell-remote-command):
 -      * eshell/em-unix.el (eshell-occur-mode-mouse-goto):
 -      * emulation/viper-util.el (viper-glob-unix-files, viper-save-setting)
 -      (viper-wildcard-to-regexp, viper-glob-mswindows-files)
 -      (viper-save-string-in-file, viper-valid-marker):
 -      * emulation/viper-keym.el (viper-toggle-key):
 -      * emulation/viper-ex.el (ex-expand-filsyms, viper-get-ex-file)
 -      (ex-edit, ex-global, ex-mark, ex-next-related-buffer, ex-quit)
 -      (ex-get-inline-cmd-args, ex-tag, ex-command, ex-compile):
 -      * emulation/viper-cmd.el (viper-exec-form-in-vi)
 -      (viper-exec-form-in-emacs, viper-brac-function):
 -      * emulation/viper.el (viper-delocalize-var):
 -      * emulation/vip.el (vip-mode, vip-get-ex-token, vip-ex, vip-get-ex-pat)
 -      (vip-get-ex-command, vip-get-ex-opt-gc, vip-get-ex-buffer)
 -      (vip-get-ex-count, vip-get-ex-file, ex-edit, ex-global, ex-mark)
 -      (ex-map, ex-unmap, ex-quit, ex-read, ex-tag, ex-command):
 -      * emulation/vi.el (vi-switch-mode, vi-ex-cmd):
 -      * emulation/edt.el (edt-electric-helpify):
 -      * emulation/cua-rect.el (cua--rectangle-aux-replace):
 -      * emulation/cua-gmrk.el (cua--insert-at-global-mark)
 -      (cua--delete-at-global-mark, cua--copy-rectangle-to-global-mark)
 -      (cua-indent-to-global-mark-column):
 -      * calendar/diary-lib.el (calendar-mark-1):
 -      * calendar/cal-hebrew.el (calendar-hebrew-mark-date-pattern):
 -      Use with-current-buffer.
 -      * emulation/viper.el (viper-delocalize-var): Use dolist.
 -
 -2009-11-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * comint.el (comint-replace-by-expanded-history-before-point):
 -      Replace !! with the previous input string literally (Bug#1795).
 -
 -2009-11-02  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-forms.el (calc-date-notation): Allow a "blank string"
 -      to be made up of whitespace.
 -
 -2009-11-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuffer.el (read-file-name): Don't use file dialogs for
 -      remote directories (Bug#99).
 -
 -2009-11-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/sh-script.el (sh-font-lock-paren): Fix last change.
 -
 -2009-11-01  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * view.el (view-mode-exit): If OLD-BUF is dead bury the buffer
 -      instead of deleting the window or frame.
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * textmodes/sgml-mode.el (sgml-mode-facemenu-add-face-function):
 -      Support face colors.
 -
 -      * textmodes/tex-mode.el (tex-facemenu-add-face-function):
 -      New function.  Support face colors (Bug#1168).
 -      (tex-common-initialization): Use it.
 -
 -      * facemenu.el (facemenu-enable-faces-p): Enable facemenu if the
 -      mode allows it (Bug#1168).
 -
 -2009-10-31  Juri Linkov  <juri@jurta.org>
 -
 -      * facemenu.el (list-colors-display): Don't mark buffer as
 -      modified (Bug#3948).
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * international/mule-diag.el (list-character-sets-1):
 -      Minor message fix (Bug#3526).
 -
 -      * progmodes/etags.el (etags-list-tags, etags-tags-apropos):
 -      Fix face property (Bug#4834).
 -      (etags-list-tags, etags-tags-apropos-additional)
 -      (etags-tags-apropos, tags-select-tags-table): Add follow-link
 -      property.
 -
 -      * menu-bar.el (menu-bar-tools-menu): Add Semantic and EDE menu
 -      items.
 -
 -2009-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/two-column.el (2C-split):
 -      * textmodes/texnfo-upd.el (texinfo-multi-file-included-list):
 -      * textmodes/tex-mode.el (tex-set-buffer-directory):
 -      * textmodes/spell.el (spell-region, spell-string):
 -      * textmodes/reftex.el (reftex-erase-buffer):
 -      (reftex-get-file-buffer-force, reftex-kill-temporary-buffers):
 -      * textmodes/reftex-toc.el (reftex-toc-promote-action):
 -      * textmodes/reftex-sel.el (reftex-get-offset, reftex-insert-docstruct)
 -      (reftex-select-item):
 -      * textmodes/reftex-ref.el (reftex-label-info-update)
 -      (reftex-offer-label-menu):
 -      * textmodes/reftex-index.el (reftex-index-change-entry)
 -      (reftex-index-phrases-info):
 -      * textmodes/reftex-global.el (reftex-create-tags-file)
 -      (reftex-save-all-document-buffers, reftex-ensure-write-access):
 -      * textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite)
 -      (reftex-view-crossref-from-bibtex):
 -      * textmodes/reftex-cite.el (reftex-bibtex-selection-callback)
 -      (reftex-extract-bib-entries-from-thebibliography)
 -      (reftex-all-used-citation-keys, reftex-create-bibtex-file):
 -      * textmodes/refbib.el (r2b-capitalize-title):
 -      (r2b-convert-buffer, r2b-help):
 -      * textmodes/page-ext.el (pages-directory)
 -      (pages-directory-goto-with-mouse):
 -      * textmodes/bibtex.el (bibtex-validate-globally):
 -      * textmodes/bib-mode.el (bib-capitalize-title):
 -      * textmodes/artist.el (artist-clear-buffer, artist-system):
 -      * progmodes/xscheme.el (global-set-scheme-interaction-buffer):
 -      (local-set-scheme-interaction-buffer, xscheme-process-filter)
 -      (verify-xscheme-buffer, xscheme-enter-interaction-mode)
 -      (xscheme-enter-debugger-mode, xscheme-debugger-mode-p)
 -      (xscheme-send-control-g-interrupt, xscheme-start-process)
 -      (xscheme-process-sentinel, xscheme-cd):
 -      * progmodes/verilog-mode.el (verilog-read-always-signals)
 -      (verilog-set-define, verilog-getopt-file)
 -      (verilog-module-inside-filename-p):
 -      * progmodes/sh-script.el:
 -      * progmodes/python.el (python-pdbtrack-get-source-buffer)
 -      (python-pdbtrack-grub-for-buffer, python-execute-file):
 -      * progmodes/octave-inf.el (inferior-octave):
 -      * progmodes/idlwave.el (idlwave-scan-user-lib-files)
 -      (idlwave-shell-compile-helper-routines, idlwave-set-local)
 -      (idlwave-display-completion-list-xemacs, idlwave-list-abbrevs)
 -      (idlwave-display-completion-list-emacs, idlwave-list-load-path-shadows)
 -      (idlwave-completion-fontify-classes, idlwave-display-calling-sequence):
 -      * progmodes/idlw-shell.el (idlwave-shell-examine-display-clear)
 -      (idlwave-shell-filter, idlwave-shell-examine-highlight)
 -      (idlwave-shell-sentinel, idlwave-shell-filter-directory)
 -      (idlwave-shell-display-line, idlwave-shell-set-bp-in-module)
 -      (idlwave-shell-examine-display, idlwave-shell-run-region)
 -      (idlwave-shell-filter-bp, idlwave-shell-save-and-action)
 -      (idlwave-shell-sources-filter, idlwave-shell-goto-next-error):
 -      * progmodes/idlw-help.el (idlwave-help-get-special-help)
 -      (idlwave-help-get-help-buffer):
 -      * progmodes/gud.el (gud-basic-call, gud-find-class)
 -      (gud-tooltip-activate-mouse-motions-if-enabled):
 -      * progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
 -      * progmodes/ebrowse.el (ebrowse-member-table, ebrowse-save-tree-as)
 -      (ebrowse-view-exit-fn, ebrowse-tags-list-members-in-file)
 -      (ebrowse-tags-next-file):
 -      * progmodes/ebnf2ps.el (ebnf-generate-eps, ebnf-generate-eps)
 -      (ebnf-eps-production-list, ebnf-begin-file, ebnf-log)
 -      (ebnf-eps-finish-and-write):
 -      * progmodes/cpp.el (cpp-edit-save):
 -      * progmodes/cperl-mode.el (cperl-pod-to-manpage):
 -      * progmodes/cc-defs.el (c-emacs-features):
 -      * progmodes/antlr-mode.el (antlr-invalidate-context-cache)
 -      (antlr-directory-dependencies):
 -      * progmodes/ada-xref.el (ada-gnat-parse-gpr, ada-get-ali-file-name)
 -      (ada-run-application, ada-find-in-src-path, ada-goto-parent)
 -      (ada-find-any-references, ada-make-filename-from-adaname)
 -      (ada-make-body-gnatstub):
 -      * obsolete/rnews.el (news-list-news-groups):
 -      * obsolete/resume.el (resume-suspend-hook, resume-write-buffer-to-file):
 -      * obsolete/iso-acc.el (iso-acc-minibuf-setup):
 -      * net/rcirc.el (rcirc-debug):
 -      * net/newst-treeview.el (newsticker--treeview-list-add-item)
 -      (newsticker--treeview-list-clear, newsticker-treeview-browse-url)
 -      (newsticker--treeview-list-update-faces, newsticker-treeview-save)
 -      (newsticker--treeview-item-show-text, newsticker--treeview-item-show)
 -      (newsticker--treeview-tree-update-tag, newsticker--treeview-buffer-init)
 -      (newsticker-treeview-show-item, newsticker--treeview-unfold-node)
 -      (newsticker--treeview-list-clear-highlight)
 -      (newsticker--treeview-list-update-highlight)
 -      (newsticker--treeview-list-highlight-start)
 -      (newsticker--treeview-tree-update-highlight)
 -      (newsticker--treeview-get-selected-item)
 -      (newsticker-treeview-mark-list-items-old)
 -      (newsticker--treeview-set-current-node):
 -      * net/newst-plainview.el (newsticker--buffer-set-uptodate):
 -      * net/newst-backend.el (newsticker--get-news-by-funcall)
 -      (newsticker--get-news-by-wget, newsticker--image-get)
 -      (newsticker--image-sentinel):
 -      * net/mairix.el (mairix-rmail-fetch-field, mairix-gnus-fetch-field):
 -      * net/eudcb-ph.el (eudc-ph-do-request, eudc-ph-open-session):
 -      (eudc-ph-close-session):
 -      * net/eudc.el (eudc-save-options):
 -      * language/thai-word.el (thai-update-word-table):
 -      * language/japan-util.el (japanese-string-conversion):
 -      * international/titdic-cnv.el (tsang-quick-converter)
 -      (ziranma-converter, ctlau-converter):
 -      * international/mule-cmds.el (describe-language-environment):
 -      * international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
 -      (skkdic-convert-postfix, skkdic-convert-prefix):
 -      (skkdic-convert-okuri-nasi, skkdic-convert):
 -      * emacs-lisp/re-builder.el (reb-update-overlays):
 -      * emacs-lisp/pp.el (pp-to-string, pp-display-expression):
 -      * emacs-lisp/gulp.el (gulp-send-requests):
 -      * emacs-lisp/find-gc.el (trace-call-tree):
 -      * emacs-lisp/eieio-opt.el (eieio-browse, eieio-describe-class)
 -      (eieio-describe-generic):
 -      * emacs-lisp/eieio-base.el (eieio-persistent-read):
 -      * emacs-lisp/edebug.el (edebug-outside-excursion):
 -      * emacs-lisp/debug.el (debugger-make-xrefs):
 -      * emacs-lisp/cust-print.el (custom-prin1-to-string):
 -      * emacs-lisp/chart.el (chart-new-buffer):
 -      * emacs-lisp/authors.el (authors-scan-el, authors-scan-change-log):
 -      Use with-current-buffer.
 -      * textmodes/artist.el (artist-system): Don't call
 -      copy-sequence on a fresh string.
 -      * progmodes/idlw-shell.el (easymenu setup): Use dolist.
 -
 -2009-10-31  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * calendar/todo-mode.el (todo-edit-item): Signal an error if there
 -      is no item to edit.  (Bug#4820)
 -      (todo-top-priorities): Restore point and restore narrowing in Todo
 -      buffer.  (Bug#4820)
 -
 -2009-10-31  Glenn Morris  <rgm@gnu.org>
 -
 -      * net/ange-ftp.el (top-level): Don't require dired when compiling.
 -      (comint-last-output-start, comint-last-input-start)
 -      (comint-last-input-end): Don't defvar when compiling.
 -      (ange-ftp-process-file): Use bound-and-true-p.
 -
 -      * pcmpl-rpm.el (top-level): Move provide statement to end.
 -      (pcmpl-rpm): Remove unused custom group.
 -
 -      * pcmpl-gnu.el (tar-parse-info, tar-header-name): Declare for compiler.
 -
 -      * mail/emacsbug.el (report-emacs-bug): Request `emacs -Q' recipes.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-warning-types)
 -      (byte-compile-warnings): Add `constants' as an option.
 -      (byte-compile-callargs-warn, byte-compile-arglist-warn)
 -      (display-call-tree): Update for byte-compile-fdefinition possibly
 -      returning `(macro lambda ...)'.  (Bug#4778)
 -      (byte-compile-variable-ref, byte-compile-setq-default):
 -      Respect `constants' member of byte-compile-warnings.
 -
 -2009-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-bzr.el (vc-bzr-revision-keywords): New var.
 -      (vc-bzr-revision-completion-table): Use it to fix completion of "s:"
 -      to "submit:".
 -
 -2009-10-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/ispell.el (ispell-skip-region-alist):
 -      * international/mule-conf.el (eight-bit):
 -      * international/fontset.el (font-encoding-alist):
 -      * startup.el (pure-space-overflow-message):
 -      * simple.el (overwrite-mode-textual, overwrite-mode-binary):
 -      * paths.el (gnus-nntp-service, rmail-spool-directory)
 -      (term-file-prefix):
 -      * files.el (save-some-buffers-action-alist):
 -      * cmuscheme.el (same-window-buffer-names):
 -      * ielm.el (same-window-buffer-names):
 -      * shell.el (same-window-buffer-names):
 -      * mail/sendmail.el (same-window-buffer-names):
 -      * progmodes/inf-lisp.el (same-window-buffer-names):
 -      * bindings.el (mode-line-client)
 -      (mode-line-column-line-number-mode-map):
 -      * language/tibetan.el (tibetan-precomposition-rule-regexp)
 -      (tibetan-precomposed-regexp): Purecopy string arguments.
 -
 -2009-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * calc/calc.el (calc, calc-refresh, calc-trail-buffer, calc-record)
 -      (calcDigit-nondigit):
 -      * calc/calc-yank.el (calc-copy-to-buffer):
 -      * calc/calc-units.el (calc-invalidate-units-table):
 -      * calc/calc-trail.el (calc-trail-yank):
 -      * calc/calc-store.el (calc-insert-variables):
 -      * calc/calc-rewr.el (math-rewrite, math-rewrite-phase):
 -      * calc/calc-prog.el (calc-read-parse-table):
 -      * calc/calc-keypd.el (calc-do-keypad, calc-keypad-right-click):
 -      * calc/calc-help.el (calc-describe-bindings, calc-describe-key):
 -      * calc/calc-graph.el (calc-graph-delete, calc-graph-add-curve)
 -      (calc-graph-juggle, calc-graph-count-curves, calc-graph-plot)
 -      (calc-graph-plot, calc-graph-format-data, calc-graph-set-styles)
 -      (calc-graph-name, calc-graph-find-command, calc-graph-view)
 -      (calc-graph-view, calc-gnuplot-command, calc-graph-init):
 -      * calc/calc-ext.el (calc-realign):
 -      * calc/calc-embed.el (calc-do-embedded, calc-do-embedded)
 -      (calc-embedded-finish-edit, calc-embedded-make-info)
 -      (calc-embedded-finish-command, calc-embedded-stack-change):
 -      * calc/calc-aent.el (calcAlg-enter): Use with-current-buffer.
 -
 -      * pcomplete.el (pcomplete-comint-setup): If there's a choice, replace
 -      shell-dynamic-complete-filename in preference to
 -      comint-dynamic-complete-filename.
 -
 -      * bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
 -      (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames):
 -      Don't consider whether the display supports colors.
 -      (bookmark-import-new-list): Use dolist.
 -      (bookmark-bmenu-mode-map): Move initialization into declaration.
 -      (bookmark-bmenu-list): Use dolist, simplify.
 -      (bookmark-show-all-annotations): Use save-selected-window and dolist.
 -      (menu-bar-final-items): Use push.
 -
 -2009-10-28  Bernhard Herzog  <bernhard.herzog@intevation.de>  (tiny change)
 -
 -      * vc-hg.el (vc-hg-state, vc-hg-working-revision): Use process-file so
 -      it works on remote files.
 -      (vc-hg-diff): Don't pass any `--cwd' argument.
 -
 -2009-10-27  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-region-engine):
 -      Use help-xref-info-regexp and help-xref-url-regexp to identify links.
 -      (Further to Bug#3921).
 -
 -2009-10-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-imap.el (top): Add `X-Size' to `imap-hash-headers'.
 -      (tramp-imap-do-copy-or-rename-file): Don't use the inode, when
 -      calling `tramp-imap-put-file'.  Add file size to the call.
 -      (tramp-imap-get-file-entries): Compute also user name, file size,
 -      and date.
 -      (tramp-imap-handle-insert-directory): Insert uid and gid.
 -      (tramp-imap-handle-file-attributes): Transform uid and gid
 -      according to `id-format'.
 -      (tramp-imap-put-file): New optional parameter SIZE.  Encode file
 -      size in header X-Size.
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * simple.el (transpose-subr): Give clearer error when the mark
 -      is not set.  (Bug#4807)
 -
 -2009-10-26  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-perl-file-truename): New defconst.
 -      Perl code contributed by yary <not.com@gmail.com> (tiny change).
 -      (tramp-handle-file-truename, tramp-get-remote-perl): Use it.
 -      Check also for "perl-file-spec" and "perl-cwd-realpath" properties.
 -      (tramp-handle-write-region): In case of APPEND, reuse the tmpfile name.
 -
 -      * net/tramp-imap.el (tramp-imap-file-name-handler-alist):
 -      Ignore `dired-call-process'.
 -      (tramp-imap-make-iht): Use `user' and `ssl' with `imap-hash-make'.
 -
 -2009-10-26  Julian Scheid  <julians37@gmail.com>
 -
 -      * net/tramp.el (tramp-perl-file-name-all-completions): New defconst.
 -      (tramp-get-remote-readlink): New defun.
 -      (tramp-handle-file-truename): Use it.
 -      (tramp-handle-file-exists-p): Check file-attributes cache, assume
 -      file exists if cache value present.
 -      (tramp-check-cached-permissions): New defun.
 -      (tramp-handle-file-readable-p): Use it.
 -      (tramp-handle-file-writable-p): Likewise.
 -      (tramp-handle-file-executable-p): Likewise.
 -      (tramp-handle-file-name-all-completions): Try using Perl to get
 -      partial completions.  When perl not available, combine `cd' and
 -      `ls' into single remote operation and use shell expansion to get
 -      partial remote directory contents.  Set `file-exists-p' cache for
 -      directory and any files returned by ls.  Change cache handling to
 -      support partial directory contents.  Use error message emitted by
 -      remote `cd' or Perl code for local tramp-error.
 -      (tramp-do-copy-or-rename-file-directly): Avoid separate
 -      tramp-send-command-and-check call.
 -      (tramp-handle-process-file): Merge three remote ops into one.
 -      Do not flush all caches when `process-file-side-effects' is set.
 -      (tramp-handle-write-region): Avoid tramp-set-file-uid-gid if
 -      file-attributes shows uid/gid to be set already.
 -
 -2009-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * textmodes/tex-mode.el (tex-dvi-view-command)
 -      (tex-show-queue-command, tex-open-quote):
 -      * progmodes/ruby-mode.el (auto-mode-alist)
 -      (interpreter-mode-alist): Purecopy strings.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Purecopy item names.
 -
 -      * emacs-lisp/derived.el (define-derived-mode): Purecopy the doc
 -      string for the hook, keymap and abbrev table.
 -
 -      * emacs-lisp/byte-run.el (make-obsolete): Purecopy the current name.
 -
 -      * x-dnd.el (x-dnd-xdnd-to-action):
 -      * startup.el (fancy-startup-text, fancy-about-text): Change to
 -      defconst from defvar.
 -
 -      * ps-print.el (ps-page-dimensions-database): Purecopy initial value.
 -
 -      * mouse.el (mouse-buffer-menu-mode-groups, x-fixed-font-alist):
 -      Purecopy initialization strings.
 -
 -      * mail/sendmail.el (mail-header-separator)
 -      (mail-personal-alias-file):
 -      * mail/rmail.el (rmail-default-dont-reply-to-names)
 -      (rmail-ignored-headers, rmail-retry-ignored-headers)
 -      (rmail-highlighted-headers, rmail-secondary-file-directory)
 -      (rmail-secondary-file-regexp):
 -      * files.el (null-device, file-name-invalid-regexp)
 -      (locate-dominating-stop-dir-regexp)
 -      (inhibit-first-line-modes-regexps): Purecopy initialization strings.
 -      (interpreter-mode-alist): Use mapcar instead of mapc.
 -
 -      * buff-menu.el (Buffer-menu-mode-map): Purecopy name.
 -
 -      * bindings.el (mode-line-major-mode-keymap): Purecopy name.
 -      (completion-ignored-extensions):
 -      (debug-ignored-errors): Purecopy strings.
 -
 -2009-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-std-complete): Obey pcomplete-use-paring.
 -      (pcomplete, pcomplete-parse-buffer-arguments, pcomplete-opt)
 -      (pcomplete--here): Use push.
 -
 -      * subr.el (all-completions): Declare the 4th arg obsolete.
 -
 -2009-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-unquote-argument-function): New var.
 -      (pcomplete-unquote-argument): New function.
 -      (pcomplete--common-suffix): Always pay attention to case.
 -      (pcomplete--table-subvert): Quote and unquote the text.
 -      (pcomplete--common-quoted-suffix): New function.
 -      (pcomplete-std-complete): Use it and pcomplete-begin.
 -
 -      * bookmark.el (bookmark-bmenu-list): Don't use switch-to-buffer if
 -      we're inside a dedicated or minibuffer window.
 -
 -2009-10-24  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el: Update documentation, especially documentation
 -      of `bookmark-alist' and of the bookmark file format.
 -      Patch by Drew Adams, with minor tweaks from me.  (Bug#4195)
 -
 -2009-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/emacsbug.el (report-emacs-bug): Clarify that the
 -      keybindings apply to the mail buffer (Bug#4003).  Shrink help
 -      window to buffer.
 -
 -      * whitespace.el (whitespace-mode, whitespace-newline-mode)
 -      (global-whitespace-mode, global-whitespace-newline-mode)
 -      (whitespace-toggle-options, global-whitespace-toggle-options):
 -      Doc fix (Bug#3660).
 -
 -      * nxml/nxml-mode.el (nxml-balanced-close-start-tag): Use the value
 -      of xmltok-start before the end tag was inserted (Bug#2840).
 -
 -      * progmodes/sh-script.el (sh-font-lock-paren): Handle case
 -      patterns that are preceded by an open-paren (Bug#1320).
 -
 -2009-10-24  Sven Joachim  <svenjoac@gmx.de>
 -
 -      * files.el (delete-directory): Delete symlinks to directories with
 -      delete-file (Bug#4739).
 -
 -2009-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-backend-for-registration): Rename from
 -      vc-get-backend-for-registration.  Update callers.
 -
 -      * international/mule-cmds.el (set-language-info-alist):
 -      Purecopy lang-env.
 -      (leim-list-header, leim-list-entry-regexp): Change defvars to defconst.
 -      (charset): Purecopy the name.
 -      (define-char-code-property): Purecopy string arguments.
 -
 -      * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
 -      Purecopy string arguments.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
 -      * ediff-hook.el (menu-bar-ediff-menu):
 -      * buff-menu.el (Buffer-menu-mode-map): Purecopy names and tooltips.
 -      * bookmark.el (menu-bar-bookmark-map): Add :help and purecopy the name.
 -
 -2009-10-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-dynamic-list-completions):
 -      * term.el (term-dynamic-list-completions): Use choose-completion rather
 -      than obsolete alias mouse-choose-completion.
 -
 -      * filecache.el (file-cache-completions-keymap): Bind mouse-2 to
 -      file-cache-choose-completion.
 -      (file-cache-choose-completion): Handle an optional event argument.
 -      (file-cache-mouse-choose-completion): Make it an obsolete alias.
 -
 -      * progmodes/octave-mod.el (octave-complete-symbol):
 -      Use choose-completion if mouse-choose-completion is ever removed.
 -
 -      * textmodes/sgml-mode.el (sgml-looking-back-at): Move definition before
 -      use.
 -
 -      * emacs-lisp/checkdoc.el (generate-autoload-cookie): Define for
 -      compiler.
 -
 -      * vc-hooks.el (vc-responsible-backend): Fix declaration.
 -
 -2009-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion--embedded-envvar-table): Fix last change.
 -      Ignore `pred' now that we receive one.
 -      Handle test-completion specially.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-responsible-backend): Throw an error if not backend is
 -      found.  Remove the REGISTER argument.  Move the code dealing with
 -      REGISTER ...
 -      (vc-get-backend-for-registration): ... here.  New function.
 -      (vc-deduce-fileset): Call vc-get-backend-for-registration instead
 -      of vc-responsible-backend, pass the file name instead of the
 -      directory name.
 -
 -2009-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcomplete.el (pcomplete-common-suffix, pcomplete-table-subvert):
 -      New funs.
 -      (pcomplete-std-complete): Use them.  Obey pcomplete-termination-string.
 -      (pcomplete-comint-setup): Don't modify a global var via
 -      accidental side-effects.
 -      (pcomplete-shell-setup): Adjust call accordingly.
 -      (pcomplete-parse-comint-arguments): Use push.
 -
 -2009-10-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-proper-noun-region-engine):
 -      Allow uncapitalized info node names (Bug#3921).
 -
 -      * mail/emacsbug.el (report-emacs-bug): Tweak the sentence pointing
 -      to the DEBUG file (Bug#3781).
 -
 -2009-10-23  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * textmodes/ispell.el (ispell-dictionary-base-alist): Add finnish
 -      dictionary entry (Bug#4579).
 -
 -2009-10-23  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (top): Remove `tramp-rfn-eshadow-update-overlay'
 -      from `rfn-eshadow-update-overlay-hook' when unloading.
 -      (tramp-methods): Add `tramp-copy-keep-tmpfile' for "rsync" and
 -      "rsyncc".  Adjust doc string.
 -      (tramp-temp-buffer-file-name): New buffer-local defvar.
 -      (tramp-handle-insert-file-contents, tramp-handle-write-region):
 -      Keep temporary file when indicated by method ("rsync" and
 -      "rsyncc").
 -      (tramp-handle-write-region): Handle APPEND.
 -      (tramp-delete-temp-file-function): New defun.  Added to
 -      `kill-buffer-hook'.
 -
 -2009-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * menu-bar.el (cua-enable-cua-keys): Declare for the byte-compiler.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/tty-colors.el (msdos-color-values): Remove declaration, unused.
 -      (color-name-rgb-alist, tty-standard-colors)
 -      (tty-color-mode-alist): Change to defconst.
 -
 -      * simple.el (mark-inactive): Purecopy message.
 -
 -      * menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): Fix macro.
 -      (global-map, yank-menu):
 -      * textmodes/ispell.el (ispell-menu-map):
 -      * net/eudc.el (eudc-tools-menu):
 -      * international/mule-cmds.el (describe-language-environment-map)
 -      (setup-language-environment-map, set-coding-system-map)
 -      (mule-menu-keymap):
 -      * vc-hooks.el (vc-menu-entry, vc-menu-map):
 -      * replace.el (occur-mode-map):
 -      * pcvs-defs.el (cvs-global-menu): Purecopy names and tooltips.
 -
 -2009-10-23  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (math-read-number, math-read-number-simple):
 -      Use `save-match-data'.
 -
 -2009-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (normal-erase-is-backspace-mode): Use input-decode-map
 -      rather than fiddling with global-map bindings, since it should only
 -      affect per-terminal settings.
 -      See http://bugs.gentoo.org/show_bug.cgi?id=289709.
 -
 -      * minibuffer.el (completion-table-with-terminator): Allow to specify
 -      the terminator-regexp.
 -
 -      * simple.el (switch-to-completions): Look for *Completions* in other
 -      frames as well.
 -
 -      * pcomplete.el: Allow the use of completion-tables.
 -      (pcomplete-std-complete): New command.
 -      (pcomplete-dirs-or-entries): Use a single call to pcomplete-entries.
 -      (pcomplete--here): Use a function for `form' rather than an expression,
 -      so it can be byte-compiled.
 -      (pcomplete-here, pcomplete-here*): Adjust accordingly.
 -      Add edebug declaration.
 -      (pcomplete-show-completions): Remove unused var `curbuf'.
 -      (pcomplete-do-complete, pcomplete-stub):
 -      Don't assume `completions' is a list of strings any more.
 -
 -2009-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * find-dired.el (find-name-arg): Fix typo in docstring.
 -
 -2009-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * pcmpl-linux.el (pcomplete/kill): Don't abuse pcomplete-entries.
 -      (pcmpl-linux-fs-types): Same, and update to new modules layout.
 -
 -      * pcmpl-gnu.el (pcmpl-gnu-makefile-names): Use a single call to
 -      pcomplete-entries.
 -
 -      * comint.el (comint-read-input-ring, comint-write-input-ring)
 -      (comint-substitute-in-file-name)
 -      (comint-dynamic-complete-as-filename)
 -      (comint-dynamic-simple-complete)
 -      (comint-dynamic-list-filename-completions)
 -      (comint-dynamic-list-completions)
 -      (comint-redirect-results-list-from-process): Minor simplifications.
 -
 -2009-10-21  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
 -      When inserting ";;; Code" put it before any ";;;###autoload" cookie on
 -      the first form.  And insert a blank line after ";;; Code" since
 -      that's usual style.  (Bug#4612)
 -
 -      * net/dns.el: Add "Keywords: comm", as per net/net-utils.el.
 -
 -2009-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion-table-with-terminator): Properly implement
 -      boundaries, in case `terminator' appears in the suffix.
 -      (completion--embedded-envvar-table): Don't return boundaries if
 -      there's no valid completion.  Simplify.
 -      (completion-file-name-table): New completion table extracted from
 -      completion--file-name-table.
 -      (completion--file-name-table): Use it.
 -      (read-file-name-predicate): Declare obsolete.
 -      (read-file-name): Use the pred arg i.s.o read-file-name-predicate.
 -      * vc-bzr.el (vc-bzr-revision-completion-table): Use the new
 -      completion-file-name-table, and use the `pred' argument.
 -      * files.el (locate-file-completion-table): Use the `pred' arg rather
 -      than read-file-name-predicate.
 -      (abbreviate-file-name): Use \` rather than ^ for BOS.
 -
 -2009-10-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-deduce-fileset): Undo previous change, do not tell
 -      vc-responsible-backend to register, it causes problems.
 -
 -2009-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help-fns.el: Don't require help-mode (to avoid bootstrap issues).
 -
 -2009-10-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-smb.el (tramp-smb-get-stat-capability): New defun.
 -      (tramp-smb-handle-file-attributes): Use it.
 -      (tramp-smb-do-file-attributes-with-stat): Don't raise an error.
 -      (tramp-smb-handle-insert-directory): Use `mapc' rather than
 -      `mapcar'.  Use `tramp-smb-get-stat-capability'.
 -      Add `dired-filename' text properties.
 -      (tramp-smb-get-cifs-capabilities): Apply `save-match-data'.
 -      (tramp-smb-maybe-open-connection): Simplify check for smbclient
 -      version.
 -
 -2009-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-key-delay): Reduce to 0.01.
 -      (read-key): Use read-key-sequence-vector to avoid turning M-t into 244
 -      (bug#4751).
 -
 -2009-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bindings.el (function-key-map): Map C-@ to C-SPC if C-@ is unbound.
 -
 -      * info.el (Info-complete-menu-item): Handle `boundaries' explicitly.
 -      (Info-menu): Remove unused vars `last' and `completions'.
 -      (Info-index-nodes): Remove unused var `node'.
 -
 -      * info.el (Info-complete-menu-item): Use complete-with-action.
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Make vc-annotate work through copies and renames.
 -      * vc-annotate.el (vc-annotate-extract-revision-at-line):
 -      Return the file name too.
 -      (vc-annotate-revision-at-line)
 -      (vc-annotate-find-revision-at-line)
 -      (vc-annotate-revision-previous-to-line)
 -      (vc-annotate-show-log-revision-at-line): Update to get the file
 -      name from vc-annotate-extract-revision-at-line.
 -      (vc-annotate-show-diff-revision-at-line-internal): Change the
 -      argument to mean whether to show a file diff or not.  Get the file
 -      name from vc-annotate-extract-revision-at-line.
 -      (vc-annotate-show-diff-revision-at-line):
 -      Update vc-annotate-show-diff-revision-at-line call.
 -      (vc-annotate-warp-revision): Add an optional file argument.
 -
 -      * vc-git.el (vc-git-annotate-command): Pass -C -C to the blame command.
 -      (vc-git-annotate-extract-revision-at-line): Also return the file
 -      name if found.
 -
 -      * vc-hg.el (vc-hg-annotate-command): Pass --follow to the annotate
 -      command.  Remove unused code.
 -      (vc-hg-annotate-re): Update to match --follow output.
 -      (vc-hg-annotate-extract-revision-at-line): Also return the file
 -      name if found.
 -
 -      * vc.el: Update annotate-extract-revision-at-line documentation.
 -
 -2009-10-18  Kevin Ryde  <user42@zip.com.au>
 -
 -      * ibuffer.el (ibuffer-confirm-operation-on): Correction to error
 -      re-throw, `err' is a pair not a list so can't use apply (Bug#4740).
 -
 -      * net/browse-url.el (browse-url): Identify alist with "consp and
 -      not functionp" and let all other things go down the `apply' leg,
 -      as suggested by Stefan.  (Further to bug#4531.)
 -
 -2009-10-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuffer.el (read-file-name): Check for repeat before putting
 -      a default argument in file-name-history (Bug#4657).
 -
 -      * emacs-lisp/lisp-mode.el (preceding-sexp): Recognize hash table
 -      read syntax (Bug#4737).
 -
 -      * textmodes/sgml-mode.el (sgml-delete-tag): Use sgml-looking-back-at.
 -
 -2009-10-18  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
 -
 -      * textmodes/sgml-mode.el (sgml-tag-help): Prompt user for tag.
 -      (html-tag-alist, html-tag-help): Add descriptions for undocumented
 -      entries and make note of obsolete tags.
 -
 -2009-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * net/ange-ftp.el (ange-ftp-file-size): Use unwind-protect.
 -
 -2009-10-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (compile-last): Ensure GREP_OPTIONS is null before calling
 -      grep, so that binary files (eg international/uni-bidi.el) can match.
 -      Remove test for "UnicodeData" files, since it is hopefully unnecessary
 -      now, and in any case the file header format has changed.
 -
 -2009-10-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/flyspell.el (flyspell-large-region, flyspell-word)
 -      (flyspell-get-word, flyspell-large-region)
 -      (flyspell-auto-correct-previous-word): Doc/error message fixes.
 -
 -2009-10-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Add ede/shell.
 -
 -2009-10-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/common-win.el (x-colors): Purecopy it.
 -
 -2009-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * tar-mode.el (tar-data-swapped-p): Make the assertion a bit more
 -      permissive for when the buffer is empty.
 -      (tar-header-block-tokenize): Decode the username and groupname.
 -      (tar-chown-entry, tar-chgrp-entry): Encode the names (bug#4730).
 -
 -2009-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/mule-cmds.el (select-safe-coding-system): If the file
 -      has a coding cookie, use it regardless of any other setting (bug#4712).
 -
 -2009-10-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * foldout.el (foldout-mouse-swallow-events):
 -      * gs.el (gs-load-image): Replace obsolete forms of sit-for, sleep-for.
 -
 -      * dired.el (dired-ls-F-marks-symlinks, dired-keep-marker-rename)
 -      (dired-keep-marker-copy, dired-keep-marker-hardlink)
 -      (dired-keep-marker-symlink, dired-dwim-target)
 -      (dired-copy-preserve-time): Do not autoload these defcustoms.
 -
 -      * mail/rmail.el (rmail-write-region-annotate): Prevent viewing different
 -      messages from messing up the file coding.  (Bug#4623)
 -
 -2009-10-17  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * textmodes/ispell.el (ispell-get-decoded-string): Give an error
 -      if no match is found for the current dictionary.  (Bug#4578)
 -
 -      * textmodes/flyspell.el (flyspell-get-word): Make `following' argument
 -      optional, since that is how it is documented, and this is often called
 -      with a nil argument.  (Bug#4577)
 -      (flyspell-external-point-words, flyspell-auto-correct-word)
 -      (flyspell-correct-word-before-point, flyspell-word-search-forward)
 -      (flyspell-word-search-backward): Remove nil argument in calls to
 -      flyspell-get-word, since it is not needed now.
 -
 -2009-10-17  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * play/doctor.el (doctor-adverbp): Exclude some nouns.  (Bug#4565)
 -
 -2009-10-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * net/rcirc.el (rcirc-authenticate): Simplify previous change.
 -
 -2009-10-16  Toru TSUNEYOSHI  <t_tuneyosi@hotmail.com>
 -
 -      * net/ange-ftp.el (ange-ftp-send-cmd): Handle `size' like `mdtm'.
 -      (ange-ftp-file-size): New function.
 -      (ange-ftp-file-attributes): Use it.
 -
 -2009-10-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-smb.el (tramp-smb-version): New defvar.
 -      (tramp-smb-maybe-open-connection): Use it, in order to avoid
 -      repeated checks.
 -
 -2009-10-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-variable-alias): Doc fix.
 -      Maybe copy some custom properties from old to new name.  (Bug#4706)
 -
 -2009-10-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (error, sit-for, start-process-shell-command)
 -      (start-file-process-shell-command): Set the calling convention
 -      after the function definition.
 -
 -2009-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (error, sit-for, start-process-shell-command)
 -      (start-file-process-shell-command): Use the new
 -      set-advertised-calling-convention feature.
 -
 -2009-10-16  Taichi Kawabata  <kawabata.taichi@gmail.com>
 -
 -      * international/ucs-normalize.el (ucs-normalize-version):
 -      Change to 1.2.
 -      (check-range): Adjust for Unicode 5.2.
 -
 -2009-10-15  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-file-menu): Convert `separator-exit'
 -      to the `menu-item' format.
 -
 -2009-10-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-replace-environment-variables): Do not fail
 -      if the environment variable does not exist.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error messages.
 -      (tramp-smb-get-share, tramp-smb-get-localname): Use only VEC as
 -      parameter.
 -      (tramp-smb-handle-add-name-to-file)
 -      (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
 -      (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
 -      (tramp-smb-handle-file-attributes)
 -      (tramp-smb-do-file-attributes-with-stat)
 -      (tramp-smb-handle-file-local-copy)
 -      (tramp-smb-handle-insert-directory)
 -      (tramp-smb-handle-make-directory)
 -      (tramp-smb-handle-make-directory-internal)
 -      (tramp-smb-handle-make-symbolic-link)
 -      (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-modes)
 -      (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
 -      (tramp-smb-maybe-open-connection): Apply the changed parameters.
 -      (tramp-smb-read-file-entry): Read Disk names in compressed format.
 -      Handle long file names.
 -      (tramp-smb-get-cifs-capabilities): Check, whether the connection
 -      process is running.
 -      (tramp-smb-maybe-open-connection): Trace "smbclient -V" command.
 -      Read share names with "-g" option.
 -
 -2009-10-15  Ryan Yeske  <rcyeske@gmail.com>
 -
 -      * net/rcirc.el (rcirc-view-log-file): New command.
 -      (rcirc-track-minor-mode-map): Remove C-c ` binding.
 -      (rcirc-authenticate, rcirc-authinfo): Allow nickserv-nick to be
 -      specified.
 -
 -2009-10-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * w32-fns.el (w32-batch-update-autoloads): Take autoload-make-program
 -      from the second command-line argument.
 -      * makefile.w32-in (autoloads, $(lisp)/calendar/cal-loaddefs.el)
 -      ($(lisp)/calendar/diary-loaddefs.el, $(lisp)/calendar/hol-loaddefs.el)
 -      ($(lisp)/mh-e/mh-loaddefs.el): Pass $(MAKE) as second argument to
 -      w32-batch-update-autoloads.
 -      * emacs-lisp/autoload.el (autoload-make-program): New variable.
 -      (batch-update-autoloads): Handle autoload-excludes on windows-nt.
 -
 -      * mail/rmailedit.el (rmail-cease-edit): Give an error if the end of
 -      the headers cannot be located.  Simplify, subtracting superflous
 -      save-excursions.
 -
 -2009-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Replace completion-base-size by completion-base-position to fix bugs
 -      such as (bug#4699).
 -      * simple.el (completion-base-position): New var.
 -      (completion-base-size): Mark as obsolete.
 -      (choose-completion): Make it work for mouse events as well.
 -      Pass the new base-position to choose-completion-string.
 -      (choose-completion-guess-base-position): New function, extracted from
 -      choose-completion-delete-max-match.
 -      (choose-completion-delete-max-match): Use it.  Make obsolete.
 -      (choose-completion-string): Use the new base-position info.
 -      (completion-root-regexp): Delete.
 -      (completion-setup-function): Preserve completion-base-position.
 -      Eliminate obsolete base-size manipulation.
 -      * minibuffer.el (display-completion-list): Don't mess with base-size.
 -      (minibuffer-completion-help): Set completion-base-position instead.
 -      * mouse.el (mouse-choose-completion): Redefine as a mere alias to
 -      choose-completion.
 -      * textmodes/bibtex.el (bibtex-complete):
 -      * emacs-lisp/crm.el (crm--choose-completion-string):
 -      Adjust to new calling convention.
 -      * complete.el (partial-completion-mode): Use minibufferp to avoid
 -      bumping into incompatible change to choose-completion-string-functions.
 -      * ido.el (ido-choose-completion-string): Make its calling convention
 -      more permissive.
 -      * comint.el (comint-dynamic-list-input-ring-select): Remove obsolete
 -      base-size manipulation.
 -      (comint-dynamic-list-input-ring): Use dotimes and push.
 -      * iswitchb.el (iswitchb-completion-help): Remove dead-code call to
 -      fundamental-mode.  Use `or'.
 -
 -2009-10-14  Juri Linkov  <juri@jurta.org>
 -
 -      * misearch.el (multi-isearch-next-buffer-from-list)
 -      (multi-isearch-next-file-buffer-from-list): Doc fix.  (Bug#4723)
 -
 -2009-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (compile-onefile): Load `bytecomp' rather than
 -      `bytecomp.el'.
 -
 -      * minibuffer.el (completion-pcm--merge-completions): Make sure the
 -      string we return is all made up of text from the completions rather
 -      than part from the completions and part from the input (bug#4219).
 -
 -      * ido.el (ido-everywhere): Use define-minor-mode.
 -
 -      * buff-menu.el (list-buffers, ctl-x-map):
 -      Mark the entry points with ;;;###autoload cookies.
 -
 -2009-10-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-dir-extra-headers): Set the branch name
 -      correctly in the detached head case.
 -      (vc-git-print-log): Remove unused binding.
 -
 -      * vc.el (vc-responsible-backend): When a directory is passed for
 -      for registration create a VC repository if no backend is
 -      responsible for the directory argument.
 -      (vc-deduce-fileset): Tell vc-responsible-backend to register.
 -
 -      * vc.el: Move comments about RCS and SCCS ...
 -      * vc-rcs.el:
 -      * vc-sccs.el: ... here, respectively.
 -
 -2009-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion--file-name-table): Return nil if there's
 -      no file completion, even if substitute-in-file-name changed
 -      the string (bug#4708).
 -
 -2009-10-13  Juri Linkov  <juri@jurta.org>
 -
 -      * files-x.el (read-file-local-variable-value): Don't filter out
 -      minor modes from mode name completion (bug#4664).
 -
 -2009-10-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/mule-cmds.el (ucs-names): Remove exclusion of
 -      "Enclosed Ideographic Supplement" range (U+1F200..U+1F2FF).
 -
 -2009-10-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/uni-name.el: Regenerated.
 -
 -2009-10-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bs.el (bs-mode): Fix last change.  (`revert-buffer-function'
 -      should be automatically buffer-local, but isn't.)
 -
 -2009-10-12  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/compile.el (compilation-next-error-function): Fix the
 -      timestamps if the buffer has been visited before.
 -      (compilation-mode-font-lock-keywords): Do not prepend "^ *" to
 -      non-anchored patterns, like the perl one (bug#3928).
 -
 -2009-10-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat):
 -      Let-bind `size'.
 -
 -2009-10-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * proced.el (proced-unload-function): New function.
 -
 -      * bs.el (bs-mode): Set `revert-buffer-function' to `bs-refresh'.
 -      (bs-refresh): Add IGNORED arg for `revert-buffer' compatibility.
 -      Doc fix.
 -
 -      * menu-bar.el (menu-bar-file-menu): Fix format of `separator-exit' item.
 -
 -2009-10-11  Juri Linkov  <juri@jurta.org>
 -
 -      * files-x.el (read-file-local-variable-value):
 -      Provide default value only for bound variables (bug#4664).
 -
 -2009-10-11  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-local-host-p): Function shall return nil for
 -      connection methods like smb.
 -
 -      * net/tramp-cache.el (tramp-flush-connection-property): The hash
 -      can be empty.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error messages.
 -      (tramp-smb-file-name-handler-alist): Add handlers for
 -      `add-name-to-file', `make-symbolic-link'.
 -      (tramp-smb-handle-add-name-to-file)
 -      (tramp-smb-do-file-attributes-with-stat)
 -      (tramp-smb-handle-make-symbolic-link)
 -      (tramp-smb-get-cifs-capabilities): New defuns.
 -      (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
 -      (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
 -      (tramp-smb-handle-file-local-copy)
 -      (tramp-smb-handle-make-directory-internal)
 -      (tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
 -      The file name syntax depends on cifs capabilities.
 -      (tramp-smb-handle-file-attributes):
 -      Call `tramp-smb-do-file-attributes-with-stat' if possible.
 -      (tramp-smb-handle-insert-directory): Use posix attributes if possible.
 -      (tramp-smb-handle-set-file-modes): It is applicable for posix only.
 -
 -2009-10-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/eieio.el: Avoid requiring cl at runtime.
 -      (eieio-defclass): Apply deftype handler and setf-method properties
 -      directly.
 -      (eieio-add-new-slot): Avoid union function from cl library.
 -      (eieio--typep): New function.
 -      (eieio-perform-slot-validation): Use it.
 -
 -2009-10-10  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-yank-word, bookmark-insert-current-bookmark):
 -      Update documentation to refer to the variables documented in r1.135.
 -      (Bug#4188)
 -
 -2009-10-10  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (Info-suffix-list): Remove this unused variable.
 -      (bookmark-current-point): Remove this obsolete variable.
 -      (bookmark-set, bookmark-rename, bookmark-send-edited-annotation):
 -      Adjust for removal of bookmark-current-point.
 -
 -      (bookmarks-already-loaded, bookmark-current-buffer)
 -      (bookmark-yank-point): Document.  (Bug#4188)
 -
 -2009-10-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.el (frame-height): Doc fix.
 -
 -      * calendar/calendar.el (calendar-split-width-threshold): New option.
 -      (calendar-basic-setup): Use calendar-split-width-threshold.
 -
 -2009-10-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/mule-cmds.el (ucs-names): Exclude new "Enclosed
 -      Ideographic Supplement" range (U+1F200..U+1F2FF).
 -
 -2009-10-09  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-bmenu-rename): Don't call bookmark-bmenu-list,
 -      since the list will have been rebuilt anyway.  (Bug#4349)
 -
 -2009-10-09  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
 -      (bookmark-bmenu-execute-deletions): Don't save here, as
 -      bookmark-delete will now do so if necessary.
 -      Suggested by Thierry Volpiatto <thierry.volpiatto {_AT_} gmail.com>.
 -      (Bug#4348)
 -
 -2009-10-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/emacsbug.el (report-emacs-bug): Also print `features'.
 -
 -2009-10-09  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-jump): Add new `display-func' parameter.
 -      (bookmark-jump-other-window): Just invoke bookmark-jump with new
 -      argument now, so the two function's behaviors will match.  (Bug#3645)
 -
 -2009-10-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-file-name-real-user, tramp-file-name-domain)
 -      (tramp-file-name-real-host, tramp-file-name-port):
 -      Apply `save-match-data'.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-copy-directory): Handle the
 -      case both directories are remote.
 -      (tramp-smb-handle-expand-file-name): Implement "~" expansion.
 -      (tramp-smb-maybe-open-connection): Flush the cache only if necessary.
 -
 -2009-10-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (WINS_UPDATES): Fix typo in previous change.
 -
 -2009-10-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Remove useless use
 -      of concat.
 -
 -2009-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files-x.el (read-file-local-variable): Include some
 -      non-user-variables in the completion table (bug#4664).
 -
 -2009-10-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-cache.el (tramp-flush-connection-property): Add trace
 -      message.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error messages.
 -      (tramp-smb-file-name-handler-alist): Add handler for
 -      `copy-directory', `expand-file-name', `set-file-modes'.
 -      (tramp-smb-handle-copy-directory)
 -      (tramp-smb-handle-expand-file-name)
 -      (tramp-smb-handle-set-file-modes): New defuns.
 -      (tramp-smb-handle-copy-file): Handle KEEP-DATE.
 -      (tramp-smb-handle-file-attributes): Simplify check for retrieving
 -      entry.
 -      (tramp-smb-handle-insert-directory): Don't flush the cache.
 -      (tramp-smb-maybe-open-connection): Check for samba client and
 -      server versions.
 -
 -2009-10-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Fix last change
 -      to not error out of search for "^lisp=" fails.
 -
 -2009-10-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (WINS_UPDATES): New macro.
 -      (custom-deps, finder-data, autoloads): Use it.
 -
 -2009-10-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (autoloads): Revert previous change.
 -      * emacs-lisp/autoload.el (batch-update-autoloads): Rather than having
 -      the list of preloaded files passed on the command-line, get
 -      it from src/Makefile.
 -
 -      * calendar/calendar.el (calendar-basic-setup): In the wide frame case,
 -      show the original buffer rather than a random one.
 -
 -2009-10-07  Markus Rost  <rost@math.uni-bielefeld.de>
 -
 -      * help.el (describe-no-warranty): Place point in a slightly better
 -      position in the GPLv3 text.
 -
 -2009-10-06  Sam Steingold  <sds@gnu.org>
 -
 -      * net/tramp-compat.el (tramp-compat-process-running-p): Check that
 -      the comm attribute is present before calling regexp-quote.
 -
 -2009-10-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * play/animate.el (animate-string): For good effect, make sure
 -      `indent-tabs-mode' and `show-trailing-whitespace' are nil.
 -
 -      * play/animate.el (animate-sequence, animate-birthday-present):
 -      * misc.el (butterfly): Don't set `indent-tabs-mode'.
 -
 -2009-10-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-face-alias): Doc fix.
 -
 -      * emacs-lisp/autoload.el (autoload-excludes): New variable.
 -      (autoload-generate-file-autoloads): Skip files in autoload-excludes.
 -      (batch-update-autoloads): Process a string value of autoload-excludes,
 -      set during the build process.
 -      * Makefile.in (autoloads): Skip preloaded files.  (Bug#4446)
 -
 -      * net/tramp.el (tramp-handle-start-file-process): Move tramp-error call
 -      inside with-parsed...  macro so that `v' is defined.
 -
 -      * progmodes/f90.el (f90-end-of-block, f90-beginning-of-block):
 -      * progmodes/fortran.el (fortran-end-of-block)
 -      (fortran-beginning-of-block):
 -      Also push mark in the macro case.
 -
 -      * emerge.el (emerge-show-file-name):
 -      * calc/calc.el (calc-quit):
 -      * calc/calc-misc.el (calc-big-or-small):
 -      * calc/calc-graph.el (calc-graph-view):
 -      * calc/calc-ext.el (calc-reset):
 -      * calendar/calendar.el (calendar-basic-setup):
 -      Use window-full-height-p.
 -
 -      * mail/rmailedit.el (rmail-cease-edit): If there is a Content-Type
 -      header we don't understand, don't insert another.  (Bug#4624)
 -      If changing mime charset, insert the new one in the right place.
 -
 -2009-10-06  Matthew Junker  <matthew.junker@sbcglobal.net>  (tiny change)
 -
 -      * calendar/cal-tex.el (cal-tex-cursor-month-landscape)
 -      (cal-tex-cursor-month): Correctly increment the end date for diary and
 -      holiday listing.  (Bug#4626)
 -
 -2009-10-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help-fns.el (describe-function-1): Don't burp if the function is not
 -      a symbol.
 -
 -2009-10-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs-lisp/chart.el (chart-face-pixmap-list, chart-new-buffer, chart)
 -      (chart-axis-range, chart-axis-names, chart-sequece, chart-bar)
 -      (chart-draw, chart-axis-draw, chart-sort, chart-sort-matchlist)
 -      (chart-draw-line, chart-bar-quickie): Fix typos in docstrings.
 -
 -      * emacs-lisp/eieio.el (generic-p, eieiomt-next, eieio-generic-form)
 -      (eieio-default-superclass): Reflow docstrings.
 -      (this, class-option-assoc, defclass, eieio-class-un-autoload)
 -      (eieio-unbind-method-implementations, defmethod)
 -      (eieio-validate-slot-value, eieio-validate-class-slot-value)
 -      (oref-default, eieio-oref-default, eieio-oset, eieio-oset-default)
 -      (with-slots, eieio-add-new-slot, object-assoc, object-remove-from-list)
 -      (eieio-slot-originating-class-p, eieio-slot-name-index)
 -      (eieio-pre-method-execution-hooks, eieio-initarg-to-attribute)
 -      (constructor, initialize-instance, no-next-method, object-print)
 -      (object-write, eieio-override-prin1, eieio-edebug-prin1-to-string):
 -      Fix typos in docstrings.
 -      (eieio-defclass, eieio-perform-slot-validation-for-default, defgeneric)
 -      (child-of-class-p, object-slots, slot-boundp, slot-exists-p)
 -      (next-method-p): Doc fixes.
 -      (eieio-add-new-slot, call-next-method, eieiomt-add, change-class):
 -      Fix typos in error messages.
 -      (eieio-defmethod): Fix typo in description of generic method.
 -
 -      * emacs-lisp/eieio-base.el (eieio-instance-inheritor, slot-unbound)
 -      (eieio-persistent-save-interactive, slot-missing):
 -      Fix typos in docstrings.
 -      (eieio-instance-inheritor-slot-boundp): Doc fix.
 -
 -      * emacs-lisp/eieio-comp.el (byte-compile-file-form-defmethod)
 -      (byte-compile-defmethod-param-convert): Fix typos in docstrings.
 -
 -      * emacs-lisp/eieio-custom.el (eieio-done-customizing)
 -      (eieio-custom-object-apply-reset):
 -      Fix typos in docstrings and error messages.
 -
 -      * emacs-lisp/eieio-datadebug.el (data-debug-show):
 -      Fix typo in docstring.
 -
 -      * emacs-lisp/eieio-opt.el (top): Fix typo in error message.
 -      (eieio-browse-tree): Doc fix.
 -      (eieio-all-generic-functions, eieio-class-speedbar): Reflow docstrings.
 -      (eieio-help-mode-augmentation-maybee, eieio-class-speedbar-make-map):
 -      Fix typos in docstrings.
 -
 -      * emacs-lisp/eieio-speedbar.el (eieio-speedbar-file-button): Doc fix.
 -      (eieio-speedbar-key-map, eieio-speedbar-create-engine)
 -      (eieio-speedbar-buttons, eieio-speedbar, eieio-speedbar-object-children)
 -      (eieio-speedbar-make-tag-line, eieio-speedbar-object-expand):
 -      Reflow docstrings.
 -
 -2009-10-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hg.el (log-view-vc-backend): Declare for compiler.
 -      (vc-hg-outgoing-mode, vc-hg-incoming-mode):
 -      Set log-view-vc-backend so that diff can work.
 -
 -      * log-view.el (log-view-diff): Use vc-diff-internal instead of
 -      vc-version-diff.
 -      (vc-diff-internal): Autoload this instead of vc-version-diff.
 -
 -2009-10-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * simple.el (eval-expression): Doc fix.
 -
 -      * progmodes/cwarn.el (cwarn-mode): Doc fix.
 -
 -2009-10-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (directory-files-no-dot-files-regexp): New defconst.
 -      (delete-directory): Use it.
 -      (copy-directory): Use it.  Remove parameter PRESERVE-UID-GID.
 -
 -      * net/tramp.el (tramp-verbose): Fix docstring.
 -      (tramp-methods): Add recursive option to `tramp-copy-args'.
 -      Add `tramp-copy-recursive'.  Valid for "rcp", "scp", "scp1", "scp2",
 -      "scp1_old", "scp2_old", "rsync", "rsyncc".
 -      (tramp-default-method): Check also for `auth-source-user-or-password'.
 -      (tramp-file-name-handler-alist, tramp-file-name-for-operation):
 -      Add handler for `copy-directory'.
 -      (tramp-handle-copy-directory): New defun.
 -      (tramp-do-copy-or-rename-file-out-of-band): Handle directory case.
 -      (tramp-handle-start-file-process): Raise an error when PROGRAM is nil.
 -      Optimize sent command.
 -
 -2009-10-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * calendar/diary-lib.el (diary-show-all-entries): Re-fit the calendar
 -      window if necessary.
 -
 -      * calendar/calendar.el (calendar-basic-setup): Don't call
 -      switch-to-buffer in a dedicated window.
 -
 -2009-10-05  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
 -      don't do anything related to relocating, just return nil.
 -      (bookmark-error-no-filename): New error.
 -      (bookmark-default-handler): Signal `bookmark-error-no-filename' if
 -      bookmark has no file.  Don't even attempt to handle things that
 -      are not files; the whole point of custom handlers is to keep that
 -      knowledge elsewhere anyway.  Tighten some comments.
 -      (bookmark-file-or-variation-thereof): Remove now-unused function.
 -      (bookmark-location): Doc string fix.
 -      (Bug#4250)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-handle-bookmark): When relocating a bookmark,
 -      don't use a file dialog, because they usually don't know how to read
 -      a directory target from the user.  (Bug#4230)
 -      Also, make sure the prompt can display directories as well as files.
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-set, bookmark-buffer-name):
 -      Improve doc strings.  (Bug#1193)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-get-bookmark, bookmark-get-bookmark-record)
 -      (bookmark-set-name, bookmark-prop-get, bookmark-prop-set)
 -      (bookmark-get-annotation, bookmark-set-annotation)
 -      (bookmark-get-filename, bookmark-set-filename, bookmark-get-position)
 -      (bookmark-set-position, bookmark-get-front-context-string)
 -      (bookmark-set-front-context-string, bookmark-get-rear-context-string)
 -      (bookmark-set-rear-context-string, bookmark-location, bookmark-jump)
 -      (bookmark-jump-other-window, bookmark-handle-bookmark)
 -      (bookmark-relocate, bookmark-insert-location, bookmark-rename)
 -      (bookmark-insert, bookmark-delete, bookmark-time-to-save-p)
 -      (bookmark-edit-annotation-mode, bookmark-edit-annotation):
 -      Improve doc strings to say whether bookmark can be a string or
 -      a record or both, and make other consistency and clarity fixes.
 -      (bookmark-get-handler, bookmark--jump-via, bookmark-write-file)
 -      (bookmark-default-annotation-text, bookmark-yank-word)
 -      (bookmark-maybe-load-default-file, bookmark-maybe-sort-alist)
 -      (bookmark-import-new-list, bookmark-maybe-rename)
 -      (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
 -      (bookmark-bmenu-bookmark): Give these doc strings.
 -      (bookmark-bmenu-check-position): Give this a doc string, but also
 -      add a FIXME comment about how the function may be pointless.
 -      (bookmark-default-handler): Rework doc string and change a
 -      parameter name, to clarify that this takes a bookmark record
 -      not a bookmark name.
 -      (bookmark-set): Change a parameter name to indicate its meaning,
 -      and improve the doc string a bit.
 -      (Bug#4188)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * bookmark.el (bookmark-alist): Document the new `handler' element
 -      in the param alist.
 -      (bookmark-make-record-function): Adjust documentation for above.
 -      (Bug#4193)
 -
 -2009-10-04  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * info.el (Info-bookmark-make-record): Document this function.
 -      (Info-bookmark-jump): Document with a doc string, not just a comment.
 -      (Bug#4203)
 -
 -2009-10-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (copy-directory): New defun.
 -
 -      * dired-aux.el (dired-copy-file-recursive): Use it.
 -
 -2009-10-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * files-x.el (modify-dir-local-variable)
 -      (copy-dir-locals-to-file-locals-prop-line): Fix typos in
 -      docstrings.
 -
 -      * recentf.el (recentf-unload-function): New function.
 -
 -2009-10-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * window.el (window-full-height-p): Add doc string.
 -
 -2009-10-04  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.el (window-full-height-p): New function.  (Bug#4543)
 -
 -2009-10-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el: Remove commented out code.
 -      (vc-derived-from-dir-mode): Remove, unused.
 -      (vc-version-diff, vc-diff): Consistently pass t to vc-deduce-fileset.
 -
 -2009-10-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-ftp.el (tramp-ftp-file-name-handler):
 -      Disable `file-name-handler-alist' when loading 'ange-ftp.  Otherwise,
 -      there could be recursive loading when `default-directory' is a
 -      remote file name.  (Bug#4614)
 -
 -2009-10-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-basic-setup): Handle the case where
 -      the frame is wide.
 -      (calendar-generate-window): Test for shrinkability rather than width.
 -
 -      * mail/rmail.el (rmail-generate-viewer-buffer): Be more careful about
 -      reusing existing buffers, in case we happen to visit two files with the
 -      same basename.  (Bug#4593)
 -
 -2009-10-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (update-subdirs-CMD): Add cedet to $(WINS_SUBDIR).
 -      (WINS_CEDET_SUBDIRS): List of subdirectories of cedet.
 -      (bootstrap-clean-CMD, bootstrap-clean-SH): Remove *.elc files in
 -      subdirs of cedet as well.
 -      (AUTOGENEL): Add loaddefs.el files in cedet subdirectories.
 -
 -2009-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/eldoc.el (eldoc-get-fnsym-args-string):
 -      Obey advertised-signature-table.
 -
 -      * help-fns.el (help-function-arglist): Don't check
 -      advertised-signature-table.
 -      (describe-function-1): Do it here instead so it also applies to subrs.
 -
 -2009-10-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * simple.el (start-file-process): Say in the doc-string, that file
 -      handlers might not support pty association, if PROGRAM is nil.
 -
 -      * net/ange-ftp.el (ange-ftp-generate-passwd-key): Check, whether
 -      HOST and USER are strings.  They are nil, when there are
 -      incomplete entries in ~/.netrc, for example.
 -      (ange-ftp-delete-directory): Implement RECURSIVE case.  Change to
 -      root directory ("device busy" error otherwise).
 -
 -      * net/tramp-smb.el (tramp-smb-handle-make-directory-internal):
 -      Flush file properties of created directory.
 -
 -2009-10-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (WINS_BASIC): Remove cedet.
 -      (WINS_CEDET): Add cedet.
 -      (update-subdirs-SH): Use $(WINS_SUBDIR), not $(WINS).
 -
 -2009-10-02  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/browse-url.el (browse-url): Pass any symbol in
 -      browse-url-browser-function to `apply', since if you've mistakenly put
 -      an unbound symbol then the error is clearer.  (Bug#4531)
 -
 -2009-10-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * allout.el (allout-init, allout-back-to-current-heading)
 -      (allout-beginning-of-current-entry, allout-ascend-to-depth)
 -      (allout-ascend, allout-up-current-level, allout-end-of-level)
 -      (allout-previous-visible-heading, allout-forward-current-level)
 -      (allout-backward-current-level, allout-show-children):
 -      * apropos.el (apropos-describe-plist):
 -      * bookmark.el (bookmark-maybe-historicize-string, bookmark-bmenu-list):
 -      * comint.el (comint-strip-ctrl-m, comint-goto-process-mark):
 -      * completion.el (add-completion, add-permanent-completion):
 -      * descr-text.el (describe-text-category, describe-char):
 -      * desktop.el (desktop-lazy-abort):
 -      * dired-x.el (dired-omit-expunge, dired-x-bind-find-file):
 -      * dired.el (dired-build-subdir-alist):
 -      * ediff.el (ediff-version):
 -      * elide-head.el (elide-head, elide-head-show):
 -      * emerge.el (emerge-version):
 -      * env.el (getenv):
 -      * face-remap.el (variable-pitch-mode):
 -      * faces.el (describe-face):
 -      * ffap.el (ffap-next-url, find-file-at-point, ffap-at-mouse)
 -      (dired-at-point):
 -      * files.el (find-file-existing, auto-save-mode):
 -      * font-lock.el (font-lock-fontify-buffer):
 -      * help-fns.el (describe-function, describe-variable)
 -      (describe-syntax, describe-categories):
 -      * help.el (view-lossage, describe-bindings, describe-key)
 -      (describe-mode):
 -      * hexl.el (hexl-current-address):
 -      * hi-lock.el (hi-lock-mode, hi-lock-find-patterns):
 -      * info.el (Info-goto-emacs-key-command-node):
 -      * log-edit.el (log-edit-insert-cvs-template)
 -      (log-edit-insert-cvs-rcstemplate):
 -      * menu-bar.el (menu-bar-mode):
 -      * mouse.el (mouse-appearance-menu):
 -      * newcomment.el (comment-indent-new-line):
 -      * pgg.el (pgg-save-coding-system, pgg-encrypt-region)
 -      (pgg-encrypt-symmetric-region, pgg-encrypt-symmetric)
 -      (pgg-encrypt, pgg-decrypt-region, pgg-decrypt)
 -      (pgg-sign-region, pgg-sign, pgg-verify-region, pgg-verify):
 -      * recentf.el (recentf-mode):
 -      * savehist.el (savehist-mode, savehist-save):
 -      * shadowfile.el (shadow-copy-files):
 -      * simple.el (kill-ring-save, next-line, previous-line)
 -      (normal-erase-is-backspace-mode):
 -      * strokes.el (strokes-update-window-configuration)
 -      (strokes-load-user-strokes, strokes-prompt-user-save-strokes)
 -      (strokes-xpm-for-stroke):
 -      * time.el (emacs-uptime, emacs-init-time):
 -      * tutorial.el (tutorial--describe-nonstandard-key)
 -      (tutorial--detailed-help):
 -      * type-break.el (type-break-mode)
 -      (type-break-mode-line-message-mode, type-break-query-mode)
 -      (type-break-guesstimate-keystroke-threshold):
 -      * vc.el (vc-version-diff, vc-diff, vc-root-diff):
 -      * version.el (emacs-version):
 -      * vt-control.el (vt-keypad-on, vt-keypad-off, vt-numlock):
 -      * winner.el (winner-mode):
 -      * calendar/timeclock.el (timeclock-in, timeclock-out)
 -      (timeclock-status-string, timeclock-change)
 -      (timeclock-workday-remaining-string)
 -      (timeclock-workday-elapsed-string)
 -      (timeclock-when-to-leave-string):
 -      * calendar/todo-mode.el (todo-add-category):
 -      * emacs-lisp/advice.el (ad-enable-regexp, ad-disable-regexp):
 -      * emacs-lisp/autoload.el (update-file-autoloads):
 -      * emacs-lisp/checkdoc.el (checkdoc-current-buffer)
 -      (checkdoc-start, checkdoc-continue, checkdoc-rogue-spaces)
 -      (checkdoc-message-text, checkdoc-defun):
 -      * emacs-lisp/debug.el (debugger-list-functions):
 -      * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
 -      * emacs-lisp/eieio-opt.el (eieio-describe-class)
 -      (eieio-describe-generic):
 -      * emacs-lisp/lisp-mnt.el (lm-synopsis):
 -      * emacs-lisp/shadow.el (list-load-path-shadows):
 -      * emulation/cua-base.el (cua-mode):
 -      * emulation/edt.el (edt-set-scroll-margins):
 -      * emulation/tpu-edt.el (tpu-toggle-newline-and-indent)
 -      (tpu-toggle-regexp, tpu-toggle-search-direction)
 -      (tpu-toggle-rectangle, tpu-toggle-control-keys):
 -      * emulation/tpu-extras.el (tpu-set-scroll-margins):
 -      * emulation/viper-cmd.el (viper-set-searchstyle-toggling-macros)
 -      (viper-set-parsing-style-toggling-macro)
 -      (viper-set-emacs-state-searchstyle-macros):
 -      * emulation/viper.el (viper-set-hooks):
 -      * eshell/esh-mode.el (eshell-truncate-buffer):
 -      * international/mule-cmds.el (prefer-coding-system)
 -      (describe-input-method, describe-language-environment):
 -      * international/mule-diag.el (list-character-sets)
 -      (describe-character-set, describe-coding-system)
 -      (describe-fontset, list-fontsets, list-input-methods):
 -      * mail/sendmail.el (mail-signature):
 -      * net/ange-ftp.el (ange-ftp-copy-file):
 -      * net/browse-url.el (browse-url):
 -      * net/eudc.el (eudc-set-server, eudc-get-attribute-list):
 -      * net/quickurl.el (quickurl-add-url):
 -      * net/rcirc.el (names, topic):
 -      * net/xesam.el (xesam-mode):
 -      * play/5x5.el (5x5-new-game):
 -      * play/yow.el (apropos-zippy):
 -      * progmodes/ada-mode.el (ada-mode-version):
 -      * progmodes/f90.el (f90-beginning-of-subprogram, f90-end-of-subprogram)
 -      (f90-end-of-block)
 -      (f90-beginning-of-block):
 -      * progmodes/fortran.el (fortran-end-of-block)
 -      (fortran-beginning-of-block):
 -      * progmodes/js.el (js-syntactic-context, js-gc, js-eval):
 -      * progmodes/python.el (python-describe-symbol, python-shell):
 -      * term/ns-win.el (ns-print-buffer):
 -      * textmodes/bibtex.el (bibtex-end-of-entry, bibtex-url):
 -      * textmodes/flyspell.el (flyspell-mode-on):
 -      * textmodes/page-ext.el (set-page-delimiter, pages-directory)
 -      (pages-directory-for-addresses):
 -      * textmodes/table.el (table-recognize-cell)
 -      (table-query-dimension, table-generate-source)
 -      (table-insert-sequence, table--warn-incompatibility):
 -      * textmodes/tex-mode.el (tex-validate-buffer):
 -      * textmodes/texinfmt.el (texinfmt-version)
 -      (texinfo-format-buffer):
 -      Use `called-interactively-p' instead of `interactive-p'.
 -
 -2009-10-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image-mode.el (image-toggle-display):
 -      * emacs-lisp/elp.el (elp-instrument-function):
 -      * emacs-lisp/advice.el (ad-make-advised-definition):
 -      * emacs-lisp/easy-mmode.el (define-minor-mode):
 -      * net/browse-url.el (browse-url-maybe-new-window):
 -      * progmodes/sh-script.el (sh-learn-buffer-indent):
 -      Pass new argument 'any to `called-interactively-p'.
 -
 -2009-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/uni-bidi.el:
 -      * international/uni-category.el:
 -      * international/uni-combining.el:
 -      * international/uni-comment.el:
 -      * international/uni-decimal.el:
 -      * international/uni-decomposition.el:
 -      * international/uni-digit.el:
 -      * international/uni-lowercase.el:
 -      * international/uni-mirrored.el:
 -      * international/uni-name.el:
 -      * international/uni-numeric.el:
 -      * international/uni-old-name.el:
 -      * international/uni-titlecase.el:
 -      * international/uni-uppercase.el:
 -      Regenerate from Unicode 5.2.0 data.
 -
 -2009-10-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Regenerate.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (interactive-p): Mark obsolete.
 -      (called-interactively-p): Make the optional-ness of `kind' obsolete.
 -      * emacs-lisp/bytecomp.el (byte-compile-fdefinition): Make it obey
 -      advertised-signature-table for subroutines as well.
 -
 -      * emacs-lisp/byte-run.el (advertised-signature-table): New var.
 -      (set-advertised-calling-convention): New function.
 -      (make-obsolete, define-obsolete-function-alias)
 -      (make-obsolete-variable, define-obsolete-variable-alias):
 -      Make the optional-ness of `when' obsolete.
 -      (define-obsolete-face-alias): Make `when' non-optional.
 -      * help-fns.el (help-function-arglist):
 -      * emacs-lisp/bytecomp.el (byte-compile-fdefinition):
 -      Use advertised-signature-table.
 -
 -2009-10-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * files.el (delete-directory): New defun.  The original function
 -      in fileio.c has been renamed to `delete-directory-internal'.
 -
 -      * dired.el (dired-delete-file): Call `delete-directory' with
 -      RECURSIVE parameter.
 -
 -      * net/ange-ftp.el (ange-ftp-delete-directory): Add optional
 -      parameter RECURSIVE.  Implementation is missing.
 -
 -      * net/tramp.el (tramp-handle-make-directory): Flush upper
 -      directory's file properties.
 -      (tramp-handle-delete-directory): Handle optional parameter RECURSIVE.
 -      (tramp-handle-dired-recursive-delete-directory): Flush directory
 -      properties after the remove command only.
 -
 -      * net/tramp-fish.el (tramp-fish-handle-delete-directory):
 -      Handle optional parameter RECURSIVE.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory):
 -      Handle optional parameter RECURSIVE.
 -
 -      * net/tramp-smb.el (tramp-smb-errors): Add error message for
 -      connection timeout.
 -      (tramp-smb-handle-delete-directory): Handle optional parameter
 -      RECURSIVE.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-defmacro-declaration): New fun.
 -      (byte-compile-file-form-defmumble, byte-compile-defmacro): Use it.
 -      (byte-compile-defmacro): Use backquotes.
 -
 -      * files.el (cd-absolute): Don't abbreviate-file-name (bug#4599).
 -
 -      * vc-dispatcher.el (vc-resynch-window): Don't revert a buffer which
 -      has no associated file.
 -      (vc-resynch-buffer): Use vc-dir-buffers.
 -
 -2009-10-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/chart.el (chart-zap-chars, chart-bar-quickie)
 -      (chart-file-count):
 -      * emacs-lisp/eieio-comp.el (byte-compile-defmethod-param-convert):
 -      * emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
 -      * emacs-lisp/eieio-opt.el (eieio-describe-class):
 -      * emacs-lisp/eieio-speedbar.el (eieio-speedbar-create):
 -      * emacs-lisp/eieio.el (defclass, eieio-defclass-autoload)
 -      (eieio-copy-parents-into-subclass, make-instance, class-children)
 -      (eieio-generic-form):
 -
 -      * vc-cvs.el (vc-cvs-parse-entry): Be more careful with the
 -      match-data.  (Bug#4555).
 -
 -      * emacs-lisp/check-declare.el (check-declare-scan): Read the declaration
 -      rather than parsing it as a regexp.  This relaxes the layout
 -      requirements and makes errors easier to detect.
 -      (check-declare-verify): Check file is regular.
 -      (check-declare-directory): Doc fix.
 -      * subr.el (declare-function): Doc fix.
 -
 -      * ibuffer.el (ibuffer-format-qualifier):
 -      * isearch.el (hi-lock-regexp-okay):
 -      * calc/calc.el (math-zerop):
 -      * mail/uce.el (rmail-msgbeg, rmail-msgend):
 -      * term/w32-win.el (setup-default-fontset, set-fontset-font):
 -      Remove unused declarations.
 -
 -2009-09-30  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/authors.el (authors-ignored-files): Add "js2-mode.el".
 -
 -      * emacs-lisp/elint.el (elint-init-form): Report declarations where the
 -      filename is not a string.
 -
 -2009-09-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (safe-local-eval-forms): Fix typo.
 -
 -2009-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * vc-hooks.el (vc-dir-buffers): New var.
 -      (vc-state-refresh): New function.
 -      (vc-state): Use it.
 -      (vc-after-save): Always ask the backend to recompute the new state.
 -      Always call vc-dir if necessary, using vc-dir-buffers.
 -      * vc-dir.el (vc-dir-prepare-status-buffer, vc-dir-resynch-file):
 -      Use vc-dir-buffers.
 -      (vc-dir-mode): Use vc-dir-buffers rather than after-save-hook.
 -      (vc-dir-prepare-status-buffer, vc-dir-update)
 -      (vc-dir-resync-directory-files, vc-dir-resynch-file, vc-dir-mode):
 -      Don't call expand-file-name on default-directory.
 -
 -2009-09-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * speedbar.el (speedbar-item-delete):
 -      * calc/calc-prog.el (calc-kbd-if):
 -      * language/hanja-util.el (hanja-init-load): Fix typos in messages.
 -
 -      * epa.el (epa-key-list-mode-map):
 -      * hi-lock.el (hi-lock-menu): Fix typos in menus.
 -
 -      * progmodes/hideshow.el (hs-allow-nesting): Reflow docstring.
 -      (hs-show-hook): Fix typo in docstring.
 -
 -2009-09-29  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/check-declare.el (check-declare-locate): Remove pointless
 -      file-name-nondirectory call preventing location of cedet files.
 -      (check-declare-verify): Use literal search rather than re-search.
 -      Add basic defmethod and defclass, and define-overloadable-function.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes):
 -      Use tramp-compat-file-attributes rather than nonexistent
 -      tramp-compat-handle-file-attributes.
 -
 -      * Makefile.in (lisptagsfiles4): New.
 -      (AUTOGENEL): Add cedet loaddefs files.
 -      (TAGS, TAGS-LISP): Use $lisptagsfiles4.
 -      (update-elclist, compile-always, backup-compiled-files)
 -      (bootstrap-clean): Add yet another directory level.
 -      (update-elclist): Use LC_COLLATE rather than COLLATE.
 -      (ELCFILES): Update, via `make update-elclist'.
 -
 -2009-09-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (WINS_CEDET, WINS_BASIC, WINS_SUBDIR): New macros.
 -      (WINS_ALMOST): Set from WINS_BASIC and WINS_CEDET.
 -      (update-subdirs-CMD): Use WINS_SUBDIR, not WINS_ALMOST.
 -
 -2009-09-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (lisptagsfiles3): Define.
 -      (TAGS, TAGS-LISP): Use it.
 -      (update-elclist): Add third directory level to look for elc files.
 -      (compile-always): Likewise.
 -      (backup-compiled-files): Likewise.
 -      (bootstrap-clean): Likewise.
 -      (ELCFILES): Update.
 -
 -2009-09-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Add CEDET files.
 -
 -2009-09-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * Makefile.in (ELCFILES): Add net/tramp-imap.elc.
 -
 -      * net/tramp.el (top): Require tramp-imap.
 -
 -      * net/tramp-smb.el (tramp-smb-handle-directory-files-and-attributes):
 -      Use `tramp-compat-handle-file-attributes'.
 -
 -2009-09-28  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/tramp-imap.el: New package.
 -
 -2009-09-27  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el (whitespace-trailing-regexp)
 -      (whitespace-empty-at-bob-regexp, whitespace-empty-at-eob-regexp):
 -      Fix doc string.
 -
 -2009-09-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * menu-bar.el: Remove menu-bar-ediff-misc-menu from the Tools
 -      menu.
 -
 -      * ediff-hook.el: Move menu-bar-ediff-misc-menu into
 -      menu-bar-ediff-menu.
 -
 -      * emacs-lisp/lisp-mode.el: Add doc-string-elt property to
 -      define-overloadable-function.
 -
 -      * progmodes/autoconf.el: Provide autoconf as well, so that this
 -      file can be `require'd.
 -
 -      * emacs-lisp/cl-macs.el (deftype): Add to cl-loaddefs.
 -
 -      * emacs-lisp/autoload.el (generated-autoload-feature)
 -      (generated-autoload-load-name): New vars.
 -      (autoload-rubric, autoload-generate-file-autoloads): Use them.
 -      (make-autoload): Recognize define-overloadable-function and
 -      defclass forms (for EIEIO).
 -
 -      * Makefile.in (update-subdirs): Exclude cedet directory.
 -
 -2009-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * term/ns-win.el: Don't set the region face background.  (Bug#4381)
 -
 -      * faces.el: Default light-background background for region face to
 -      ns_selection_color under NS.
 -
 -2009-09-27  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/imap-hash.el: New library, see NEWS.
 -
 -      * Makefile.in (ELCFILES): Add imap-hash.el.
 -
 -2009-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * help.el (help-for-help-internal): Don't purecopy the text (bug#4560).
 -      * isearch.el (isearch-help-for-help-internal): Purecopy the second arg.
 -      * help-macro.el (make-help-screen): Avoid using an ambiguous function
 -      definition where the docstring could be taken for the return value.
 -
 -2009-09-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime-show-images, rmail-mime-bulk-handler):
 -      Add option to only show images below a certain size.
 -      (rmail-mime-multipart-handler): Remove unnecessary save-match-data and
 -      save-excursion calls.
 -
 -2009-09-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (WINS_ALMOST): Add cedet (with its
 -      subdirectories) and eieio.
 -
 -2009-09-26  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-engine.el (c-beginning-of-statement-1):
 -      Correct buggy bracketing.  (Bug#4289)
 -
 -      * progmodes/cc-langs.el (c-nonlabel-token-key): Allow quoted
 -      character constants (as case labels).  (Bug#4289)
 -
 -2009-09-25  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el (safe-local-eval-forms): Allow time-stamp in
 -      before-save-hook (Bug#4554).
 -
 -2009-09-25  Drew Adams  <drew.adams@oracle.com>
 -
 -      * menu-bar.el (list-buffers-directory): Doc fix.
 -
 -2009-09-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * log-edit.el (log-edit-changelog-entries): Avoid inf-loops.
 -      Try and avoid copying twice the same paragraph.
 -      (log-edit-changelog-paragraph, log-edit-changelog-subparagraph):
 -      Remove save-excursion.
 -      (log-edit-changelog-entry): Do it here instead.
 -
 -2009-09-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bs.el (bs--get-file-name): Use `list-buffers-directory'
 -      when available, instead of hardcoding mode names.  Doc fix.
 -
 -      * menu-bar.el (list-buffers-directory): Add docstring.
 -      Make automatically buffer-local.
 -
 -      * dired.el (dired-mode):
 -      * files.el (cd-absolute):
 -      * pcvs.el (cvs-temp-buffer):
 -      * pcvs-util.el (cvs-get-buffer-create):
 -      * shell.el (shell-mode):
 -      * vc-dir.el (vc-dir-mode):
 -      Don't make `list-buffers-directory' buffer local.
 -
 -2009-09-25  Devon Sean McCullough  <emacs-hacker@Jovi.Net>
 -
 -      * comint.el (comint-exec, comint-run, make-comint):
 -      Doc fixes (Bug#4542).
 -
 -2009-09-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmailmm.el (rmail-mime): New custom group.
 -      Move all defcustoms in this file into this group.
 -      (rmail-mime-media-type-handlers-alist): Revert previous change.
 -      (rmail-mime-show-images): New option.
 -      (rmail-mime-total-number-of-bulk-attachments): Remove variable and all
 -      references to it, since it wasn't actually used for anything.
 -      (rmail-mime-insert-image): New function.
 -      (rmail-mime-image): Use rmail-mime-insert-image.
 -      (rmail-mime-bulk-handler): Remove optional `image' argument, instead
 -      obey the value of `rmail-mime-show-images' option.  Print the size of
 -      attachments.
 -
 -2009-09-25  David Engster  <deng@randomsample.de>
 -
 -      * progmodes/hideshow.el (hs-show-block): Run `hs-show-hook'.  (Bug#4548)
 -
 -2009-09-24  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 -
 -      * whitespace.el: Does not highlight trailing spaces While point is
 -      at end of line.  Does not highligt spaces at beginning of buffer
 -      while point is at beginning of buffer.  Does not highlight spaces
 -      at end of buffer while point is at end of buffer.  (Bug#4177)
 -      New version 12.0.
 -      (whitespace-display-mappings): Adjust initialization.
 -      (whitespace-point, whitespace-font-lock-refontify): New vars.
 -      (whitespace-color-on, whitespace-color-off): Adjust code.
 -      (whitespace-trailing-regexp, whitespace-empty-at-bob-regexp)
 -      (whitespace-empty-at-eob-regexp, whitespace-space-regexp)
 -      (whitespace-tab-regexp, whitespace-post-command-hook): New funs.
 -
 -2009-09-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nxml/nxml-mode.el: Alias xml-mode to nxml-mode.
 -
 -      * textmodes/sgml-mode.el: Remove xml-mode alias.
 -
 -      * files.el (auto-mode-alist, conf-mode-maybe)
 -      (magic-fallback-mode-alist): Revert 2009-09-18 and 2009-09-21 changes.
 -
 -2009-09-24  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-cmds.el (c-scan-conditionals): A new function like
 -      c-forward-conditionals, but it doesn't move point and doesn't set
 -      the mark.
 -      (c-up-conditional, c-up-conditional-with-else, c-down-conditional)
 -      (c-down-conditional-with-else, c-backward-conditional)
 -      (c-forward-conditional): Refactor to use c-scan-conditionals.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * help-fns.el (help-downcase-arguments): New option, defaulting to nil.
 -      (help-default-arg-highlight): Remove.
 -      (help-highlight-arg): New function.
 -      (help-do-arg-highlight): Use it.
 -      Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#4510, bug#4520)
 -
 -2009-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.el (term-set-scroll-region, term-handle-ansi-escape):
 -      Undo last change, which didn't fix the problem and introduced others.
 -
 -2009-09-24  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el: Don't require speedbar.
 -      (gdb-jsonify-buffer): Handle case where "=" is part of value string.
 -
 -2009-09-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-fancy-display): Always run the hook.
 -
 -      * term/ns-win.el (ns-reg-to-script): Define for compiler.
 -
 -      * mail/rmailmm.el (rmail-mime-multipart-handler): Accept the case where
 -      there is no newline after the final mime boundary.  (Bug#4539)
 -      Move markers on insertion so that any buttons inserted don't end up in
 -      the next part of a multipart message.
 -      (rmail-mime-media-type-handlers-alist): Doc fix.  Add image handler.
 -      (rmail-mime-bulk-handler): Optionally handle images.
 -      (rmail-mime-image): New button action.
 -      (rmail-mime-image-handler): New function.
 -      (rmail-mime-mode): New mode.
 -      (rmail-mime): Doc fix.  Use rmail-mime-mode (for font-lock).
 -
 -2009-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (minibuffer-force-complete): Cycle the list, rather
 -      than just dropping elements from it (bug#4504).
 -
 -      * term.el (term-set-scroll-region): Don't move cursor any more.
 -      (term-handle-ansi-escape): Call term-goto here instead.
 -      Suggested by Ivan Kanis <apple@kanis.eu>.
 -
 -      * term.el: Require CL.
 -      (term-ansi-reset): New function.
 -      (term-mode, term-emulate-terminal, term-handle-colors-array): Use it.
 -      (term-handle-colors-array): Simplify.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * allout.el (allout-overlay-interior-modification-handler)
 -      (allout-obtain-passphrase):
 -      * epa-file.el (epa-file-write-region):
 -      * ps-print.el (ps-begin-job):
 -      * vc-hooks.el (vc-toggle-read-only):
 -      * vc-rcs.el (vc-rcs-rollback):
 -      * vc-sccs.el (vc-sccs-rollback):
 -      * vc.el (vc-deduce-fileset, vc-next-action, vc-register-with)
 -      (vc-version-diff, vc-revert, vc-rollback):
 -      * wdired.el (wdired-check-kill-buffer):
 -      * emacs-lisp/authors.el (authors):
 -      * net/socks.el (socks-open-connection):
 -      * net/zeroconf.el (zeroconf-service-add-hook):
 -      * obsolete/vc-mcvs.el (vc-mcvs-register):
 -      * progmodes/gdb-mi.el (def-gdb-thread-buffer-gud-command)
 -      (gdb-select-frame):
 -      * progmodes/grep.el (lgrep, rgrep):
 -      * progmodes/idlw-help.el (idlwave-help-check-locations)
 -      (idlwave-help-html-link, idlwave-help-assistant-open-link):
 -      * textmodes/ispell.el (ispell-find-aspell-dictionaries):
 -      * textmodes/reftex-toc.el (reftex-toc-promote-prepare)
 -      (reftex-toc-rename-label): Fix typos in error messages.
 -
 -      * dired-aux.el (dired-do-shell-command): Reflow docstring.
 -      (dired-copy-how-to-fn): Doc fix.
 -      (dired-files-attributes, dired-read-shell-command):
 -      Fix typos in docstrings.
 -
 -      * dired-x.el (dired-enable-local-variables, dired-filename-at-point)
 -      (dired-x-find-file-other-window): Reflow docstrings.
 -      (dired-omit-marker-char, dired-read-shell-command)
 -      (dired-x-submit-report): Fix typos in docstrings.
 -
 -      * shell.el (shell-mode-hook):
 -      * view.el (View-scroll-line-forward):
 -      * progmodes/inf-lisp.el (inferior-lisp-mode-hook):
 -      Fix typos in docstrings.
 -
 -      * net/dig.el (dig-invoke): Fix typo in docstring.
 -      (query-dig): Reflow docstring.
 -
 -      * progmodes/idlwave.el (idlwave-create-user-catalog-file)
 -      (idlwave-quoted, idlwave-rinfo-max-source-lines): Doc fixes.
 -      (idlwave-abbrev-move, idlwave-auto-routine-info-updates)
 -      (idlwave-begin-block-reg, idlwave-begin-unit-reg)
 -      (idlwave-beginning-of-subprogram, idlwave-block-jump-out)
 -      (idlwave-block-match-regexp, idlwave-calculate-paren-indent)
 -      (idlwave-check-abbrev, idlwave-class-file-or-buffer)
 -      (idlwave-class-found-in, idlwave-complete, idlwave-complete-in-buffer)
 -      (idlwave-completion-map, idlwave-current-indent)
 -      (idlwave-custom-ampersand-surround, idlwave-customize)
 -      (idlwave-default-font-lock-items, idlwave-default-insert-timestamp)
 -      (idlwave-define-abbrev, idlwave-determine-class-special)
 -      (idlwave-do-action, idlwave-doc-header, idlwave-doc-modification)
 -      (idlwave-end-block-reg, idlwave-end-of-statement)
 -      (idlwave-end-of-statement0, idlwave-end-of-subprogram)
 -      (idlwave-end-unit-reg, idlwave-entry-find-keyword)
 -      (idlwave-explicit-class-listed, idlwave-file-header)
 -      (idlwave-fill-paragraph, idlwave-find-class-definition)
 -      (idlwave-fix-keywords, idlwave-hang-indent-regexp, idlwave-hard-tab)
 -      (idlwave-idlwave_routine_info-compiled, idlwave-in-comment)
 -      (idlwave-in-quote, idlwave-indent-action-table)
 -      (idlwave-indent-expand-table, idlwave-indent-line)
 -      (idlwave-indent-subprogram, idlwave-indent-to-open-paren)
 -      (idlwave-is-comment-line, idlwave-is-comment-or-empty-line)
 -      (idlwave-is-continuation-line, idlwave-is-pointer-dereference)
 -      (idlwave-kill-autoloaded-buffers, idlwave-lib-p, idlwave-look-at)
 -      (idlwave-make-tags, idlwave-mode, idlwave-mode-abbrev-table)
 -      (idlwave-mouse-active-rinfo, idlwave-newline, idlwave-no-change-comment)
 -      (idlwave-outlawed-buffers, idlwave-popup-select)
 -      (idlwave-previous-statement, idlwave-rescan-catalog-directories)
 -      (idlwave-routine-entry-compare, idlwave-routine-info.pro)
 -      (idlwave-scan-all-buffers-for-routine-info, idlwave-scan-class-info)
 -      (idlwave-shell-automatic-start, idlwave-shell-explicit-file-name)
 -      (idlwave-show-begin, idlwave-split-line, idlwave-split-link-target)
 -      (idlwave-statement-type, idlwave-struct-skip)
 -      (idlwave-substitute-link-target, idlwave-toggle-comment-region)
 -      (idlwave-update-current-buffer-info, idlwave-use-library-catalogs)
 -      (idlwave-what-module-find-class): Fix typos in docstrings.
 -      (idlwave-all-method-classes, idlwave-calc-hanging-indent)
 -      (idlwave-calculate-cont-indent, idlwave-expand-equal)
 -      (idlwave-find-module, idlwave-find-structure-definition)
 -      (idlwave-init-rinfo-when-idle-after, idlwave-insert-source-location)
 -      (idlwave-list-load-path-shadows, idlwave-next-statement)
 -      (idlwave-routine-entry-compare-twins, idlwave-routine-info)
 -      (idlwave-routines, idlwave-sintern-rinfo-list, idlwave-statement-match)
 -      (idlwave-template): Reflow docstrings.
 -
 -      * progmodes/idlw-shell.el (idlwave-shell-syntax-error): Doc fix.
 -      (idlwave-shell-batch-command, idlwave-shell-bp-alist)
 -      (idlwave-shell-bp-get, idlwave-shell-bp-overlays)
 -      (idlwave-shell-bp-query, idlwave-shell-break-here, idlwave-shell-buffer)
 -      (idlwave-shell-display-line, idlwave-shell-display-wframe)
 -      (idlwave-shell-electric-debug-mode, idlwave-shell-examine-select)
 -      (idlwave-shell-file-name-chars, idlwave-shell-filter-bp)
 -      (idlwave-shell-goto-frame, idlwave-shell-halt-messages-re)
 -      (idlwave-shell-highlighting-and-faces, idlwave-shell-idl-wframe)
 -      (idlwave-shell-mode-hook, idlwave-shell-mode-line-info)
 -      (idlwave-shell-mode-map, idlwave-shell-module-source-filter)
 -      (idlwave-shell-mouse-help, idlwave-shell-mouse-print)
 -      (idlwave-shell-pc-frame, idlwave-shell-pending-commands)
 -      (idlwave-shell-print, idlwave-shell-quit, idlwave-shell-redisplay)
 -      (idlwave-shell-scan-for-state, idlwave-shell-send-command)
 -      (idlwave-shell-sentinel-hook, idlwave-shell-separate-examine-output)
 -      (idlwave-shell-shell-command, idlwave-shell-sources-alist)
 -      (idlwave-shell-sources-bp, idlwave-shell-sources-filter)
 -      (idlwave-shell-step, idlwave-shell-use-breakpoint-glyph)
 -      (idlwave-toolbar-add-everywhere, idlwave-toolbar-toggle):
 -      Fix typos in docstrings.
 -      (idlwave-shell-bp, idlwave-shell-clear-current-bp)
 -      (idlwave-shell-hide-output, idlwave-shell-mode)
 -      (idlwave-shell-run-region, idlwave-shell-set-bp-in-module):
 -      Reflow docstrings.
 -
 -      * textmodes/bibtex.el (bibtex-sort-entry-class): Fix group name.
 -
 -2009-09-24  Ivan Kanis  <apple@kanis.eu>
 -
 -      * term.el (term-bold-attribute): New var.
 -      (term-handle-colors-array): Use it.
 -
 -2009-09-23  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-version): New variable.
 -      (gdb-non-stop-handler): Set gdb-version.
 -      (gdb-gud-context-command, gdb-current-context-command, gdb-stopped):
 -      Condition "--thread" option on gdb-version.
 -      (gdb-invalidate-threads): Remove unused argument.
 -
 -2009-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/flyspell.el (sgml-mode-flyspell-verify): Pass limit args
 -      to looking-back to avoid ridiculous slow down in large files (bug#4511).
 -
 -2009-09-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * mail/rmail.el (rmail-reply): Don't try to add a References header when
 -      replying to mail without References or Message-Id.  (Bug#4525)
 -
 -2009-09-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * term/ns-win.el (ns-reg-to-script): New variable.
 -
 -2009-09-23  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg-wait-for-status): Preserve existing 'error results.
 -
 -2009-09-22  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-hg.el (vc-hg-print-log): Fix shortlog arg passing.
 -      (vc-hg-outgoing, vc-hg-incoming): Bump okstatus in `vc-hg-command'
 -      to 1 because hg returns status 1 when nothing is found.
 -      Bind `vc-short-log' for the sake of `vc-hg-log-view-mode'.
 -
 -2009-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/fill.el: Convert to utf-8 encoding.
 -      (fill-french-nobreak-p): Remove redundant » and « inherited from our
 -      pre-unicode days.
 -
 -      * add-log.el (change-log-fill-forward-paragraph): New function.
 -      (change-log-mode): Use it so fill-region DTRT.
 -      Set fill-indent-according-to-mode here rather than in
 -      change-log-fill-paragraph.
 -      (change-log-fill-paragraph): Remove.
 -
 -2009-09-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * info.el (Info-try-follow-nearest-node): Use the URL extracted by
 -      `Info-get-token', instead of `browse-url-url-at-point'.  (Bug#4508)
 -
 -2009-09-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-mode-map): Make mouse-1 and 3 clicks on
 -      the scroll-bar scroll the calendar window rather than the buffer.
 -
 -      * calendar/cal-menu.el (cal-menu-scroll-menu): Add a sub-section with
 -      commands that move point (as opposed to scrolling).
 -
 -      * emulation/tpu-edt.el (tpu-copy-keyfile): Fix condition-case handler.
 -
 -      * emacs-lisp/elint.el (elint): New custom group.
 -      (elint-log-buffer): Make it a defcustom.
 -      (elint-scan-preloaded, elint-ignored-warnings)
 -      (elint-directory-skip-re): New options.
 -      (elint-builtin-variables): Doc fix.
 -      (elint-preloaded-env): New variable.
 -      (elint-unknown-builtin-args): Add an entry for encode-time.
 -      (elint-extra-errors): Make it a variable rather than a constant.
 -      (elint-preloaded-skip-re): New constant.
 -      (elint-directory): Skip files matching elint-directory-skip-re.
 -      (elint-features): New variable, local to linted buffers.
 -      (elint-update-env): Initialize elint-features.  Possibly add
 -      elint-preloaded-env to the buffer's environment.
 -      (elint-get-top-forms): Bind elint-current-pos, for log messages.
 -      Skip quoted forms.
 -      (elint-init-form): New function, extracted from elint-init-env.
 -      Make non-list forms a warning rather than an error.
 -      Add the mode-map for define-derived-mode.  Handle define-minor-mode,
 -      easy-menu-define, put that adds an error-condition, and provide.
 -      When requiring cl, also require cl-macs.  Really require cl, to handle
 -      some cl macros.  Store required libraries in the list elint-features,
 -      so as not to re-load them.  Treat cc-require like require.
 -      (elint-init-env): Call elint-init-form to do the work.
 -      Handle eval-and-compile and such like.
 -      (elint-add-required-env): Do not clear messages.
 -      (elint-special-forms): Add handlers for function, defalias, if, when,
 -      unless, and, or.
 -      (elint-form): Add optional argument to ignore elint-special-forms,
 -      useful to prevent recursive calls from handlers.  Doc fix.
 -      Respect elint-ignored-warnings.
 -      (elint-form): Respect elint-ignored-warnings.
 -      (elint-bound-variable, elint-bound-function): New variables.
 -      (elint-unbound-variable): Respect elint-bound-variable.
 -      (elint-get-args): Respect elint-bound-function.
 -      (elint-check-cond-form): Add some simple handling for (f)boundp and
 -      featurep tests.
 -      (elint-check-defalias-form): New handler.
 -      (elint-check-let-form): Make an empty let a warning rather than an
 -      error.
 -      (elint-check-setq-form): Make an empty setq a warning rather than an
 -      error.  Respect elint-ignored-warnings.
 -      (elint-check-defvar-form): Accept null doc-strings.
 -      (elint-check-conditional-form): New handler.  Does some simple-minded
 -      checking of featurep and (f)boundp tests.
 -      (elint-put-function-args): New function.
 -      (elint-initialize): Use elint-scan-doc-file rather than
 -      elint-find-builtin-variables.  Use elint-put-function-args.
 -      Possibly scan preloaded-file-list.
 -      (elint-scan-doc-file): Rename from elint-find-builtin-variables and
 -      extend to handle functions as well.
 -
 -2009-09-22  Lennart Borgman  <lennart.borgman@gmail.com>
 -
 -      * linum.el (linum-delete-overlays, linum-update-window):
 -      Do not modify the right margin.  (Bug#3971)
 -
 -2009-09-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (conf-mode-maybe, magic-fallback-mode-alist):
 -      Use nxml-mode instead of xml-mode.
 -
 -2009-09-21  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/dig.el: Add "Keywords: comm", as per net-utils.el.  (Bug#4501)
 -
 -2009-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * net/dig.el (dig-mode): Use define-derived-mode.
 -
 -2009-09-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dispatcher.el (vc-do-command): Return the process object in
 -      the asynchronous case.  Use when instead of if.  Do not run
 -      vc-exec-after to display a message if not enabled.  (Bug#4463)
 -
 -      * vc-git.el (vc-git-dir-extra-headers): Add keymap and mouse-face
 -      properties to the stash strings.
 -      (vc-git-stash-list): Return a list of strings.
 -      (vc-git-stash-get-at-point, vc-git-stash-delete-at-point)
 -      (vc-git-stash-show-at-point): New functions.
 -      (vc-git-stash-map): New keymap.
 -
 -      * register.el (ctl-x-r-map): Define the keys here instead of
 -      using autoload.
 -
 -2009-09-20  Thierry Volpiatto  <thierry.volpiatto@gmail.com>  (tiny change)
 -
 -      * bookmark.el (bookmark-write-file): Avoid calling `pp' with large
 -      list, to workaround performance problem (bug#4485).
 -
 -2009-09-20  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gud.el (gud-sentinel): Revert indavertant change.
 -
 -2009-09-20  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epa-file.el (epa-file-cache-passphrase-for-symmetric-encryption):
 -      Document that this option is not recommended to use.
 -
 -2009-09-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * calc/calc-graph.el (calc-graph-lookup): Avoid assignment to free
 -      variable `var'.
 -
 -      * calc/calc-alg.el (var):
 -      * calc/calcalg2.el (var): Define for compiler.
 -
 -2009-09-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-lisp/advice.el (ad-get-argument, ad-set-argument):
 -      Doc fix (Bug#3932).
 -
 -      * subr.el (baud-rate): Remove long-obsolete function (Bug#4372).
 -
 -      * time-stamp.el (time-stamp-month-dd-yyyy)
 -      (time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy)
 -      (time-stamp-dd-mon-yy, time-stamp-yy/mm/dd)
 -      (time-stamp-yyyy/mm/dd, time-stamp-yyyy-mm-dd)
 -      (time-stamp-yymmdd, time-stamp-hh:mm:ss, time-stamp-hhmm):
 -      Remove functions that have been obsolete since 1995 (Bug#4436).
 -
 -      * progmodes/sh-script.el (sh-learn-buffer-indent): Pop to the
 -      indent buffer only if called interactively (Bug#4452).
 -
 -2009-09-19  Juanma Barranquero  <lekktu@gmail.com>
 -          Eli Zaretskii  <eliz@gnu.org>
 -
 -      This fixes bug#4197 (merged to bug#865, though not identical).
 -      * server.el (server-auth-dir): Add docstring note about FAT32.
 -      (server-ensure-safe-dir): Accept FAT32 directories as "safe",
 -      but warn against using them.
 -
 -2009-09-19  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-update-handler-1): Include case of
 -      older GDB where there is no has_more field.
 -
 -2009-09-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * pgg-pgp.el (pgg-pgp-encrypt-region): Add missing mapconcat separator.
 -
 -2009-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (auto-mode-alist): Change default for XML files to nXML
 -      mode (Bug#4169).
 -
 -2009-09-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * server.el (server-ensure-safe-dir): Pass 'integer
 -      to `file-attributes', as suggested.
 -
 -2009-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired-aux.el (dired-query-alist): Remove spurious backslash.
 -      (dired-query): Use read-key.
 -
 -2009-09-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * cus-start.el (ns-use-qd-smoothing): Remove.
 -
 -2009-09-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * allout.el (top-level): Remove unnecessary progn.
 -
 -      * progmodes/js.el (js-end-of-defun): Remove malformed and unneeded let.
 -
 -      * emacs-lisp/derived.el (define-derived-mode): Fix paren typo in
 -      definition of abbrev table.
 -
 -      * speedbar.el (speedbar-track-mouse):
 -      * net/eudc-bob.el (eudc-bob-pipe-object-to-external-program):
 -      * net/eudc.el (eudc-expand-inline):
 -      * net/newst-backend.el (newsticker--cache-read-feed):
 -      * nxml/nxml-outln.el (nxml-end-of-heading): Fix typos in
 -      condition-case handlers.
 -
 -2009-09-18  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-frame-address): New variable.
 -      (gdb-var-list): Add an element for has_more field.
 -      (gdb-non-stop-handler): Enable pretty printing for STL containers.
 -      (gdb-var-create-handler, gdb-var-list-children-handler-1)
 -      (gdb-var-update-handler-1): Parse output of dynamic variable
 -      objects (STL containers).
 -      (gdb-var-delete-1): Pass var1 as an explicit second argument.
 -      (gdb-get-field): Delete alias.  Use bindat-get-field directly.
 -
 -      * progmodes/gud.el (gud-speedbar-item-info): Adjust for change to
 -      gdb-var-list.
 -      (gud-speedbar-buttons): Make node expandable if expression "has more"
 -      children.
 -
 -2009-09-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * startup.el (emacs-quick-startup): Remove variable and all uses.
 -      (command-line): Set `inhibit-x-resources' instead.
 -      (command-line-1): Use `inhibit-x-resources' instead.
 -
 -2009-09-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * subr.el: Fix last change to avoid using the `unless' macro,
 -      which breaks bootstrapping.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (push, pop, dolist, dotimes, declare): Don't overwrite CL's
 -      extended definitions, in case we reload subr.el after having
 -      loaded CL.
 -      (eval-next-after-load): Mark as obsolete.
 -
 -2009-09-17  Juri Linkov  <juri@jurta.org>
 -
 -      * menu-bar.el (menu-bar-search-menu, menu-bar-edit-menu)
 -      (menu-bar-options-menu, menu-bar-showhide-fringe-menu)
 -      (menu-bar-showhide-menu, menu-bar-tools-menu)
 -      (menu-bar-describe-menu, menu-bar-help-menu)
 -      (minibuffer-local-completion-map, minibuffer-local-map):
 -      Fix list quoting.
 -
 -2009-09-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-form): Always check the function
 -      arguments, whether or not it has a handler.
 -
 -      * ansi-color.el (ansi-color-get-face-1): Fix typo in handler.
 -
 -      * simple.el (hard-newline): Give it a doc-string.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
 -      (lisp-mode-syntax-table): Give them doc-strings.
 -
 -2009-09-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * menu-bar.el (menu-bar-file-menu, menu-bar-file-menu)
 -      (menu-bar-i-search-menu, menu-bar-edit-menu, menu-bar-custom-menu)
 -      (menu-bar-options-menu, menu-bar-showhide-menu)
 -      (menu-bar-showhide-fringe-ind-menu, menu-bar-showhide-fringe-menu)
 -      (menu-bar-showhide-scroll-bar-menu, menu-bar-showhide-menu)
 -      (menu-bar-options-menu, menu-bar-line-wrapping-menu)
 -      (menu-bar-options-menu, menu-bar-tools-menu)
 -      (menu-bar-describe-menu, menu-bar-search-documentation-menu)
 -      (menu-bar-help-menu):
 -      (menu-bar-make-mm-toggle, menu-bar-make-toggle): Purecopy the
 -      string arguments.
 -
 -      * ediff-hook.el (menu-bar-ediff-menu, menu-bar-ediff-merge-menu)
 -      (menu-bar-epatch-menu, menu-bar-ediff-misc-menu): Add purecopy
 -      calls for the menu names and :help.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mouse.el (minor-mode-menu-from-indicator): Pay attention
 -      to :minor-mode-function (bug#4455).
 -
 -2009-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * startup.el (command-line): Initialize the window-system after
 -      processing the command-line.
 -
 -      * textmodes/page.el (what-page): Make sure we don't inf-loop if
 -      page-delimiter matches the empty string.
 -
 -2009-09-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-not-obsolete-vars): Rename from
 -      byte-compile-not-obsolete-var.  It's a list now.
 -      (byte-compile-not-obsolete-funcs): New variable.
 -      (byte-compile-warn-obsolete): Don't warn about functions if they are in
 -      byte-compile-not-obsolete-funcs.
 -      (byte-compile-variable-ref, byte-compile-defvar): Update for
 -      byte-compile-not-obsolete-vars name-change and list nature.
 -      (byte-compile-maybe-guarded): Suppress warnings about obsolete functions
 -      and variables behind (f)boundp tests.
 -      * net/tramp-compat.el (byte-compile-not-obsolete-vars): Set if bound.
 -
 -2009-09-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-log-view-mode): Undo inadvertent change.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (compile-onefile): Use byte-compile-refresh-preloaded.
 -      * emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded):
 -      Don't autoload.
 -
 -2009-09-15  Stephen Eglen  <stephen@gnu.org>
 -
 -      * iswitchb.el (iswitchb-read-buffer): When selecting a match from
 -      the virtual-buffers, use the name of the buffer specified by
 -      find-file-noselect, as the match may be a symlink.  (This was a
 -      problem if the target and the symlink had different names.)
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * custom.el (custom-initialize-default, custom-initialize-set): CSE.
 -
 -      * desktop.el (desktop-path): Check user-emacs-directory.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): New function.
 -
 -      * loadup.el: Use after-load-functions to GC after loading each file.
 -      Remove the explicit GC calls that used to be sprinkled around.
 -
 -      * subr.el (after-load-functions): New hook.
 -      (do-after-load-evaluation): Run it.  Use string-match-p to detect
 -      `obsolete' packages, rather than painfully extracting the relevant
 -      directory name.
 -
 -2009-09-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * apropos.el (apropos-documentation-check-doc-file): Avoid assignment to
 -      free variable `doc'.
 -
 -      * dired.el (dired-mode-map): Add menu entry for async shell command.
 -
 -      * help-fns.el (find-lisp-object-file-name): When looking for autoloaded
 -      variables, also consider the .elc files, since the .el files are
 -      normally gzipped (subsequent code locates the .el.gz from the .elc).
 -
 -      * calc/calc-prog.el (arglist): Define for compiler.
 -
 -      * calendar/diary-lib.el (diary-display-function): Change the default to
 -      fancy display.
 -      (body): Define for compiler.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-keep-pending)
 -      (byte-compile-file-form, byte-compile-lambda)
 -      (byte-compile-top-level-body, byte-compile-form)
 -      (byte-compile-variable-ref, byte-compile-setq)
 -      (byte-compile-setq-default, byte-compile-body)
 -      (byte-compile-body-do-effect, byte-compile-and, byte-compile-or)
 -      (batch-byte-compile): Give some more local variables with common names
 -      a "bytecomp-" prefix to avoid masking warnings about free variables.
 -
 -      * startup.el (command-line-1): Give local variables with common names a
 -      distinguishing prefix, so as not to hide free variable warnings during
 -      bootstrap.
 -
 -      * mail/rmailmm.el (rmail-mime-save): If file exists, don't try to be
 -      clever and add a suffix to make a unique name, just let the user decide
 -      whether or not to overwrite it.  If the input is a directory, write the
 -      default filename to that directory.  (Bug#4388)
 -      (rmail-mime-bulk-handler): Ensure the save button's 'directory property
 -      is a filename-as-a-directory.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/page.el (what-page): Don't move to beginning of line.
 -      See <87tyz5ajte.fsf@x2.delysid.org> in emacs-devel.
 -
 -2009-09-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-dir-extra-headers): Show the remote location.
 -
 -2009-09-14  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * bindings.el (mode-line-mode-menu): Add purecopy calls for :help.
 -      * help.el (help-for-help-internal): Add purecopy calls for text.
 -
 -      * vc.el (top): print-log method now takes an optional SHORTLOG
 -      argument.  Add a new method: root.
 -      (vc-root-diff, vc-print-root-log): New functions.
 -      (vc-log-short-style): New variable.
 -      (vc-print-log-internal): Add support for showing short logs.
 -
 -      * vc-hooks.el (vc-prefix-map, vc-menu-map): Add bindings for
 -      vc-print-root-log and vc-print-root-diff.
 -
 -      * vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-print-log):
 -      * vc-git.el (vc-git-print-log, vc-git-log-view-mode):
 -      * vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode): Add support for
 -      short logs.
 -
 -      * vc-cvs.el (vc-cvs-print-log):
 -      * vc-mtn.el (vc-mtn-print-log):
 -      * vc-rcs.el (vc-rcs-print-log):
 -      * vc-sccs.el (vc-sccs-print-log):
 -      * vc-svn.el (vc-svn-print-log): Add an optional argument shortlog
 -      that is ignored for now.
 -
 -      * vc-mtn.el (vc-mtn-annotate-command):
 -      * vc-svn.el (vc-svn-annotate-command): Run asynchronously.
 -
 -2009-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el: Add mapping for backspace/delete/clear/tab/escape/return
 -      to function-key-map, and give them ascii-character property.
 -      * term/x-win.el (x-alternatives-map):
 -      * term/ns-win.el (ns-alternatives-map):
 -      * term/internal.el (msdos-key-remapping-map):
 -      * w32-fns.el (x-alternatives-map): Remove redundant mappings.
 -
 -2009-09-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/elint.el (elint-add-required-env): Revert to not using
 -      temp-buffers (2009-09-12).
 -
 -2009-09-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/ispell.el (ispell-command-loop): Improve last fix, using
 -      the new read-key function.
 -
 -2009-09-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term/x-win.el (x-menu-bar-open): Only call accelerate-menu if it
 -      is defined (Bug#4405).
 -
 -2009-09-13  Vincent Belaïche  <vincent.belaiche@gmail.com>
 -
 -      * recentf.el (recentf-cleanup): Use a hash table to find
 -      duplicates (Bug#4407).
 -
 -2009-09-13  Per Starbäck  <per@starback.se>  (tiny change)
 -
 -      * textmodes/ispell.el (ispell-command-loop): Convert keys such as
 -      kp-0 to ascii equivalents (Bug#4325).
 -
 -2009-09-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cperl-mode.el (cperl-init-faces): Revert last change.
 -
 -      * eshell/em-hist.el:
 -      * eshell/em-dirs.el (eshell-complete-user-reference):
 -      Declare pcomplete functions and variables to avoid compiler warnings.
 -
 -2009-09-13  Leo  <sdl.web@gmail.com>  (tiny change)
 -
 -      * eshell/em-script.el (eshell-login-script, eshell-rc-script):
 -      * eshell/em-dirs.el (eshell-last-dir-ring-file-name):
 -      * eshell/em-alias.el (eshell-aliases-file):
 -      * eshell/em-hist.el (eshell-history-file-name):
 -      Use expand-file-name instead of concat to make file names (Bug#4308).
 -
 -2009-09-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * ediff-merg.el (ediff-do-merge):
 -      * filesets.el (filesets-run-cmd):
 -      * emulation/ws-mode.el (ws-show-markers, ws-move-block, ws-delete-block)
 -      (ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3)
 -      (ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7)
 -      (ws-find-marker-8, ws-find-marker-9, ws-goto-block-begin)
 -      (ws-goto-block-end, ws-goto-last-cursorposition, ws-copy-block):
 -      Replace empty `let's with `progn'.
 -
 -2009-09-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mail/sendmail.el (send-mail-function):
 -      * tooltip.el (tooltip-mode):
 -      * simple.el (transient-mark-mode):
 -      * rfn-eshadow.el (file-name-shadow-mode):
 -      * frame.el (blink-cursor-mode):
 -      * font-core.el (global-font-lock-mode):
 -      * files.el (temporary-file-directory)
 -      (small-temporary-file-directory, auto-save-file-name-transforms):
 -      * epa-hook.el (auto-encryption-mode):
 -      * composite.el (global-auto-composition-mode):
 -      Use custom-initialize-delay.
 -      * startup.el (command-line): Don't explicitly call
 -      custom-reevaluate-setting for all the above vars.
 -      * custom.el (custom-initialize-safe-set)
 -      (custom-initialize-safe-default): Delete.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term/x-win.el (x-initialize-window-system):
 -      * term/w32-win.el (w32-initialize-window-system):
 -      * term/ns-win.el (ns-initialize-window-system): Don't call
 -      mouse-wheel-mode since it's enabled globally by default already.
 -
 -      * mwheel.el (mouse-wheel-mode): Make sure the new defvar doesn't
 -      actually define the variable, but only silences the byte-compiler.
 -      (mouse-wheel-change-button): Check whether mouse-wheel-mode is bound
 -      before looking it up.
 -      (mouse-wheel-scroll-amount): Also reset the bindings if this value
 -      is changed.
 -
 -2009-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/elint.el (elint-file): Make max-lisp-eval-depth at least
 -      1000.
 -      (elint-add-required-env): Don't beep on error.
 -      (elint-forms): In case of error, return ENV unchanged.
 -      (elint-init-env): Skip non-list forms.
 -      (elint-log): Handle unknown file positions.
 -
 -2009-09-12  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg-make-context): Add autoload cookie.
 -      (epg-list-keys, epg-cancel, epg-start-decrypt, epg-decrypt-file)
 -      (epg-decrypt-string, epg-start-verify, epg-verify-file)
 -      (epg-verify-string, epg-start-sign, epg-sign-file)
 -      (epg-sign-string, epg-start-encrypt, epg-encrypt-file)
 -      (epg-encrypt-string, epg-start-export-keys)
 -      (epg-export-keys-to-file, epg-export-keys-to-string)
 -      (epg-start-import-keys, epg-import-keys-from-file)
 -      (epg-import-keys-from-string, epg-start-receive-keys)
 -      (epg-receive-keys, epg-import-keys-from-server)
 -      (epg-start-delete-keys, epg-delete-keys, epg-start-sign-keys)
 -      (epg-sign-keys, epg-start-generate-key)
 -      (epg-generate-key-from-file, epg-generate-key-from-string):
 -      Remove autoload cookie.
 -
 -2009-09-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dos-fns.el (dos-reevaluate-defcustoms): Comment out the
 -      reevaluation of trash-directory.
 -
 -      * mwheel.el: Fix last change.
 -      (mouse-wheel-mode): New defvar.
 -      (mouse-wheel-mode): Remove autoload cookie.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mwheel.el (mwheel-installed-bindings): New var.
 -      (mouse-wheel-mode): Use it, so as to make sure we really remove all
 -      the bindings we set last time.  Use custom-initialize-delay.
 -      * loadup.el: Load mwheel after term/*-win.el.
 -      * startup.el (command-line): Don't reevaluate mouse-wheel-down-event
 -      and mouse-wheel-up-event now that their first evaluation is done
 -      sufficiently late to be correct.
 -
 -      * startup.el (tutorial-directory): Make it a defcustom.
 -      Use custom-initialize-delay rather than eval-at-startup to set it.
 -      * image.el (image-load-path): Make it a defcustom.
 -      Use custom-initialize-delay rather than eval-at-startup to set it.
 -      * subr.el (eval-at-startup): Remove.
 -      * font-lock.el (lisp-font-lock-keywords-2): Remove eval-at-startup.
 -
 -      * subr.el (do-after-load-evaluation): Warn the user after loading an
 -      obsolete package.
 -
 -2009-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * proced.el (proced-mark-alt): Remove alias.
 -      (proced-mode-map): Remove proced-mark-alt.
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Add menu entries to
 -      Elint file and directory.  Remove initialization entry.
 -
 -      * emacs-lisp/elint.el (elint-file, elint-directory): New autoloaded
 -      commands.
 -      (elint-current-buffer): Set mode-line-process.
 -      (elint-init-env): Handle define-derived-mode.
 -      Fix declare-function with unspecified arglist.  Guard against odd
 -      defalias statements (eg iso-insert's 8859-1-map).
 -      (elint-add-required-env): Use a temp buffer.
 -      (elint-form): Just print the function/macro name, not the whole form.
 -      Return env unchanged if we fail to parse a macro.
 -      (elint-forms): Guard against parse errors.
 -      (elint-output): New function, to handle batch mode.
 -      (elint-log-message): Add optional argument.  Use elint-output.
 -      (elint-set-mode-line): New function.
 -
 -2009-09-12  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * emacs-lisp/elp.el (elp-not-profilable): Add more
 -      functions (Bug#4233).
 -
 -2009-09-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emulation/pc-select.el (scroll-down-mark, scroll-down-nomark)
 -      (scroll-up-mark, scroll-up-nomark): Doc fix (Bug#4190).
 -
 -2009-09-11  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-list-children-regexp): Delete.
 -      (gdb-var-list-children): Use json parsing.
 -
 -2009-09-11  Daniel Colascione  <dan.colascione@gmail.com>
 -
 -      * progmodes/js.el (js--proper-indentation): Handle the case where
 -      char-before is null.  Reported by Deniz Dogan.
 -
 -2009-09-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs-lisp/cl-macs.el (help-add-fundoc-usage): Declare.
 -
 -2009-09-11  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * epg.el (epg-cipher-algorithm-alist): Add CAMELLIA.
 -      (epg-digest-algorithm-alist): Add SHA224.
 -      (epg-context-set-passphrase-callback)
 -      (epg-context-set-progress-callback): Add description about
 -      callback function.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * custom.el (custom-delayed-init-variables): New var.
 -      (custom-initialize-delay): New function.
 -      * startup.el (command-line): "Re"evaluate all vars in
 -      custom-delayed-init-variables.  Don't reevaluate abbrev-file-name
 -      explicitly any more.
 -      * abbrev.el (abbrev-file-name): Use custom-initialize-delay
 -      to avoid creating a ~/.emacs.d at build-time (bug#4347).
 -
 -      * proced.el (proced-mode-map): Prefer "m" for proced-mark (bug#4362).
 -
 -2009-09-11  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-update-regexp): Delete.
 -      (gdb-var-update-handler): Use json parsing.
 -
 -2009-09-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * vc-annotate.el (vc-annotate): Use the main file's coding-system to
 -      decode annotated text, regardless of language environment.  (Bug#2741)
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (autoloads): Make rmail.el writable as well.
 -
 -2009-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * dired-aux.el, dired-x.el: Put autoloads in dired.el rather than
 -      loaddefs.el.
 -      * dired.el: Regenerate with extracted autoloads.
 -      * Makefile.in (autoloads): Make dired.el writable.
 -
 -      * ibuf-ext.el: Put autoloads in ibuffer.el rather than loaddefs.el.
 -      * ibuffer.el: Regenerate with extracted autoloads.
 -      * Makefile.in (autoloads): Make ibuffer.el writable.
 -
 -      * paths.el (prune-directory-list, gnus-nntp-service, rmail-file-name):
 -      * version.el (emacs-copyright, emacs-major-version)
 -      (emacs-minor-version): Reformat doc-strings for make-docfile.
 -
 -      * apropos.el (apropos-documentation-check-doc-file): Exclude unbound
 -      functions and variables, since they must be stuff specific to some other
 -      platform.
 -      (apropos-print): Make mouse-click message less specific about button.
 -
 -      * emacs-lisp/cl-macs.el (define-compiler-macro): Add a property
 -      that records where a macro was defined.
 -      * help-fns.el (describe-function-1): Mention if a function has a
 -      compiler-macro.
 -      * help-mode.el (help-function-cmacro): New button.
 -
 -      * locate.el (top-level): Always require dired.
 -      (locate-mode-map): Initialize inside the defvar.
 -
 -      * net/ange-ftp.el (dired-compress-file): Declare.
 -      (ange-ftp-dired-compress-file): Add doc string.
 -
 -      * term/ns-win.el (x-display-name, x-setup-function-keys):
 -      Unify doc-strings with X versions.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emulation/crisp.el (crisp-mode-map): Move initialization
 -      into declaration.
 -      (crisp-mode): Use define-minor-mode.
 -
 -      * progmodes/xscheme.el (xscheme-evaluation-commands):
 -      Put a :advertised-binding property rather than using
 -      advertised-xscheme-send-previous-expression.
 -      (advertised-xscheme-send-previous-expression): Declare obsolete.
 -      * emulation/crisp.el (crisp-mode-map): Use `undo' rather than
 -      `advertised-undo'.
 -      (crisp-mode): Add corresponding bindings to
 -      undo's :advertised-binding instead.
 -      * dired.el (dired-mode-map): Put a :advertised-binding property rather
 -      than using dired-advertised-find-file.
 -      (dired-advertised-find-file):
 -      * simple.el (advertised-undo):
 -      * wid-edit.el (advertised-widget-backward): Declare obsolete.
 -      (widget-keymap): Put a :advertised-binding property rather
 -      than using advertised-widget-backward.
 -      * bindings.el (ctl-x-map): Put a :advertised-binding property rather
 -      than using advertised-undo.
 -      * tutorial.el (tutorial--default-keys): Adjust accordingly.
 -
 -2009-09-10  Simon South  <ssouth@slowcomputing.org>
 -
 -      * progmodes/delphi.el (delphi-tab): Indent region when Transient
 -      Mark mode is enabled and region is active; otherwise indent or
 -      insert TAB as usual.
 -      (delphi-mode): Update description of TAB-key binding.
 -
 -2009-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (define-key-rebound-commands): Mark obsolete.
 -      * startup.el (precompute-menubar-bindings): Remove.
 -      (normal-top-level): Remove obsolete code that tried to precompute
 -      menubar bindings.
 -      * loadup.el (define-key-rebound-commands): Don't bother fiddling with
 -      define-key-rebound-commands and precompute-menubar-bindings.
 -
 -2009-09-10  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/imap.el (imap-interactive-login): Better messages.
 -      (imap-open): Fix bug with renamed buffer on reconnect.
 -      (imap-authenticate): Add buffer-local imap-last-authenticator variable
 -      for easier debugging and cleaner code.  On successful (guessed based on
 -      server capabilities) secondary authentication, set imap-state
 -      correctly.
 -      (imap-last-authenticator): Define imap-last-authenticator as a variable
 -      to avoid warnings.
 -
 -2009-09-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * pcvs.el (cvs-mode-find-file): Use forward-line rather than goto-line.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-function-environment): Doc fix.
 -      (byte-compile-file-form-autoload): Don't warn about unknown functions
 -      where the autoload statement comes after the use.
 -      (with-no-warnings): Give it a byte-hunk-handler like than of progn, so
 -      that any handlers inside the body (eg require) are in turn respected.
 -
 -      * emacs-lisp/byte-opt.el (degrees-to-radians): Mark as free from side
 -      effects.
 -
 -      * emacs-lisp/derived.el (define-derived-mode): Give the mode's map,
 -      and syntax and abbrev tables basic docs, if they don't have any.
 -
 -      * emacs-lisp/easy-mmode.el (easy-mmode-defmap): Add doc-string.
 -
 -      * international/mule-cmds.el (top-level): Require cl when compiling.
 -      (view-hello-file): Use default-value rather than
 -      default-enable-multibyte-characters.
 -
 -      * progmodes/fortran.el: Move all safe and risky properties into the
 -      defcustoms.
 -
 -      * mail/rmailedit.el, mail/rmailkwd.el, mail/rmailmm.el:
 -      * mail/rmailmsc.el, mail/rmailsort.el, mail/rmailsum.el:
 -      * mail/undigest.el:
 -      Put autoloads in rmail.el rather than loaddefs.el.
 -      * mail/rmail.el: Regenerate with extracted autoloads.
 -
 -      * mail/rmailsum.el (rmail-user-mail-address-regexp): Move to rmail.el.
 -      * mail/rmail.el (rmail-user-mail-address-regexp): Move from rmailsum.el.
 -
 -2009-09-10  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      Reported in thread for Bug#4375.
 -      * progmodes/gud.el (gud-tooltip-print-command): Use MI command
 -      "-data-evaluate-expression" instead of print.
 -      * progmodes/gdb-mi.el (gdb-tooltip-print-1): Ditto.
 -      (gdb-tooltip-print): Parse output from above MI command.
 -      (gdb): Revert 2009-08-11 change.  User should detach inferior
 -      manually.
 -
 -      Remove the word "separate" from IO functions as inferior
 -      output is now never displayed in the GUD buffer.
 -
 -2009-09-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * startup.el (command-line-normalize-file-name): On Windows and
 -      MS-DOS, also convert C:\/ and C:\\ (two backslashes) into C:/.
 -
 -2009-09-10  Juri Linkov  <juri@jurta.org>
 -
 -      * isearch.el (isearch-text-char-description): Propertize escape
 -      character sequences with the `escape-glyph' face.  (Bug#4344)
 -
 -      * simple.el (shell-command): Set asynchronous process filter to
 -      `comint-output-filter'.  (Bug#4343)
 -
 -      * progmodes/grep.el (grep-template): Add "<X>" to docstring.
 -      (grep-files-aliases): Add "all".  Move "el" and "ch" to the top of
 -      the list.  Move "asm" to the bottom.
 -      (grep-find-ignored-directories): Add `choice' with nil value
 -      to empty the list easily.
 -      (grep-find-ignored-files): New option.
 -      (grep-files-history): Set to nil by default instead of '("ch" "el").
 -      (grep-compute-defaults): Add "<X>" to `grep-template'.
 -      (grep-read-files): Bind new local variables `default-alias' and
 -      `default-extension'.  Use a list of default values for the file prompt.
 -      (lgrep): Add `--exclude=' command line options composed from
 -      `grep-find-ignored-files'.
 -      (rgrep): Add `-name' command line options composed from
 -      `grep-find-ignored-files'.  (Bug#4301)
 -
 -2009-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * diff-mode.el (diff-hunk-kill): Fix the search of the next hunk
 -      (bug#4368).
 -
 -2009-09-09  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * calendar/time-date.el (autoload):
 -      Expand define-obsolete-function-alias into defalias and make-obsolete
 -      for old Emacsen that Gnus supports.
 -      (with-no-warnings): Define it for old Emacsen.
 -      (time-to-seconds): Don't use (featurep 'xemacs) to check if float-time
 -      is available.
 -      (time-to-number-of-days): Don't use (featurep 'xemacs) to check if
 -      float-time is available; suppress compile warning for time-to-seconds.
 -
 -2009-09-09  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * net/imap.el (imap-message-map): Docstring fix.
 -
 -2009-09-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * ffap.el (ffap-file-at-point): Handle absolute (non-remote) files with
 -      line numbers too.  (Bug#4374)
 -
 -2009-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * smerge-mode.el (smerge-remove-props, smerge-refine):
 -      Use with-silent-modifications (bug#4342).
 -
 -      * subr.el (with-silent-modifications): New macro.
 -
 -2009-09-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * files.el (top-level): Require `cl' when compiling.
 -
 -2009-09-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * files.el (auto-mode-alist): Use delphi-mode for .dpr files.
 -
 -      * proced.el (proced-mode-map): Bind "d" to proced-mark-alt.
 -      (proced-mark-alt): New alias, to control the advertised key.  (Bug#4362)
 -
 -2009-09-06  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * vc-git.el (vc-git-annotate-command): Use separator to parse
 -      arguments correctly.
 -
 -2009-09-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * proced.el (proced-mode): Doc fix.
 -
 -2009-09-06  Julian Scheid  <julians37@gmail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-perl-file-attributes): Print "nil" when
 -      lstat fails.
 -      (tramp-do-file-attributes-with-ls): Check for file existence at
 -      remote end.
 -      (tramp-do-file-attributes-with-stat): Likewise.
 -      (tramp-convert-file-attributes): Return nil when attr is nil.
 -
 -2009-09-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-entry): Add help-echo and follow-link
 -      properties to this button.
 -      (diary-fancy-display): Don't extend the button to the final newline.
 -      (diary-fancy-display-mode): Continue to define "q" as a local key.
 -
 -      * calendar/cal-china.el (holiday-chinese): Make it slightly more
 -      efficient.
 -
 -      * font-lock.el (lisp-font-lock-keywords-2): Add letf.
 -
 -      * emacs-lisp/bytecomp.el (emacs-lisp-file-regexp): Doc fix.
 -      (byte-compile-dest-file-function): New option.
 -      (byte-compile-dest-file): Doc fix.
 -      Obey byte-compile-dest-file-function.
 -      (byte-compile-cl-file-p): New function.
 -      (byte-compile-eval): Only suppress noruntime warnings about cl functions
 -      if the cl-functions warning is enabled.  Use byte-compile-cl-file-p.
 -      (byte-compile-eval): Check for non-nil byte-compile-cl-functions rather
 -      than for file being previously loaded.
 -      (byte-compile-find-cl-functions): Use byte-compile-cl-file-p.
 -      (byte-compile-file-form-require): Handle the case where requiring a file
 -      indirectly causes CL to be loaded.
 -
 -2009-09-05  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * files.el (find-alternate-file): Run `kill-buffer-hook' manually
 -      before killing the old buffer, since by the time `kill-buffer' is
 -      run so many buffer variables have been set to nil that it may not
 -      behave as expected.  (Bug#4061)
 -
 -2009-09-05  Karl Fogel  <kfogel@red-bean.com>
 -
 -      * files.el (find-alternate-file): If the old buffer is modified
 -      and visiting a file, behave similarly to `kill-buffer' when
 -      killing it, thus reverting to the pre-1.878 behavior; see
 -      http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00101.html
 -      for discussion.  Also, consult `buffer-file-name' as a variable
 -      not as a function, for consistency with the rest of the code.
 -
 -2009-09-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-directory): Handle "--dired"
 -      also when adding a new directory.
 -
 -      * net/tramp-compat.el (tramp-compat-line-beginning-position):
 -      New defun.
 -
 -2009-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (locate-file-completion-table): Make it provide boundary
 -      information, so partial-completion works better.
 -
 -2009-09-04  Leo  <sdl.web@gmail.com>  (tiny change)
 -
 -      * mail/footnote.el (Footnote-text-under-cursor):
 -      Check footnote-text-marker-alist before using it (bug#4324).
 -
 -2009-09-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * play/5x5.el, play/decipher.el, play/gametree.el, play/handwrite.el:
 -      * play/hanoi.el, play/landmark.el, play/mpuz.el, play/pong.el:
 -      * play/solitaire.el, play/tetris.el:
 -      Remove leading * from defcustom and defface docs.
 -
 -      * calendar/diary-lib.el (diary-fancy-display): Only switch modes if
 -      necessary.
 -      (diary-fancy-overriding-map): New variable.
 -      (diary-fancy-display-mode): Set minor-mode-overriding-map-alist.
 -      Use view-mode.
 -
 -      * vc-rcs.el (vc-rcs-annotate-command): Use forward-line rather than
 -      goto-line.
 -
 -2009-09-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * arc-mode.el (archive-mode):
 -      * dos-fns.el (set-default-process-coding-system):
 -      * man.el (Man-getpage-in-background):
 -      * menu-bar.el (menu-bar-describe-menu):
 -      * server.el (server-process-filter):
 -      * startup.el (command-line):
 -      * tar-mode.el (tar-header-block-tokenize, tar-extract):
 -      * w32-fns.el (set-default-process-coding-system):
 -      * x-dnd.el (x-dnd-handle-file-name):
 -      * international/mule-cmds.el (mule-menu-keymap)
 -      (set-default-coding-systems, language-info-alist, set-language-info)
 -      (set-language-environment, standard-display-european-internal)
 -      (set-locale-environment):
 -      * international/mule-diag.el (mule-diag):
 -      * mail/emacsbug.el (report-emacs-bug):
 -      * mail/rmail.el (rmail-mode):
 -      * mail/sendmail.el (mail-setup):
 -      Use default-value rather than default-enable-multibyte-characters.
 -
 -      * progmodes/f90.el: Move all safe properties into the defcustoms.
 -      (f90-get-correct-indent, f90-indent-region, f90-abbrev-start): Use memq.
 -
 -      * calendar/appt.el (appt-check):
 -      * calendar/diary-lib.el (diary-set-header, diary-live-p)
 -      (diary-check-diary-file, diary-list-entries)
 -      (diary-include-other-diary-files, diary-simple-display)
 -      (diary-fancy-display, diary-print-entries)
 -      (diary-mark-included-diary-files, diary-make-entry):
 -      Don't call substitute-in-file-name on diary-file.
 -
 -2009-09-03  Eduard Wiebe  <usenet@pusto.de>
 -          Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * mail/footnote.el (footnote-prefix): Make it a defcustom.
 -      (footnote-mode-map): Move initialization into the declaration.
 -      (footnote-minor-mode-map): Define it rather than changing global-map.
 -      (footnote-mode): Use define-minor-mode.
 -
 -2009-09-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-file-attributes-with-ls)
 -      (tramp-do-file-attributes-with-perl)
 -      (tramp-do-file-attributes-with-stat): Rename from
 -      `tramp-handle-file-attributes-with-*'.
 -      (tramp-handle-file-attributes): Use them.
 -      (tramp-do-directory-files-and-attributes-with-perl)
 -      (tramp-do-directory-files-and-attributes-with-stat): Rename from
 -      `tramp-handle-directory-files-and-attributes-with-*'.
 -      (tramp-handle-directory-files-and-attributes): Use them.
 -      (tramp-method-out-of-band-p): Additional parameter SIZE.
 -      (tramp-do-copy-or-rename-file, tramp-handle-file-local-copy)
 -      (tramp-handle-write-region): Use it.
 -      (tramp-handle-insert-directory): Use "?\ " for compatibility reasons.
 -      (tramp-handle-vc-registered): Check, whether the first run did
 -      return files to be tested.
 -      (tramp-advice-make-auto-save-file-name): Do not call directly
 -      `tramp-handle-make-auto-save-file-name', because this would bypass
 -      the locking mechanism.
 -
 -      * net/tramp-compat.el (top): Autoload used functions from tramp.el.
 -      (file-remote-p, process-file, start-file-process, set-file-times)
 -      (tramp-compat-file-attributes): Compatibility functions shall not
 -      call directly `tramp-handle-*', because this would bypass the
 -      locking mechanism.
 -      (tramp-compat-number-sequence): New defun.
 -
 -2009-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/time-date.el (time-to-seconds): In Emacs, make it an obsolete
 -      alias for float-time.
 -      (time-to-number-of-days): In Emacs, use float-time.
 -      * net/newst-backend.el (time-add): Suppress warnings from compat
 -      function.
 -      * time.el (emacs-uptime, emacs-init-time):
 -      * net/rcirc.el (rcirc-keepalive, rcirc-handler-ctcp-KEEPALIVE):
 -      Use float-time rather than time-to-seconds.
 -
 -      * minibuffer.el (completion-initials-expand): Fix typo.
 -
 -      * faces.el (modeline, modeline-inactive, modeline-highlight)
 -      (modeline-buffer-id):
 -      * info.el (info-menu-5): Mark these face aliases as obsolete.
 -
 -2009-09-01  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-current-context-command): Move the
 -      space ...
 -      (gdb-gud-context-call): ... to here for pre GDB 7.0 when there is
 -      no "--thread" option.
 -      (gdb-stopped): Don't print "Switched to thread" message when it is
 -      unchanged.
 -
 -2009-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuffer.el (completion-try-completion)
 -      (completion-all-completions): Remove ill-defined (and
 -      mistakenly installed and luckily never used nor documented)
 -      `completion-styles' property.
 -      (completion-initials-expand, completion-initials-all-completions)
 -      (completion-initials-try-completion): New functions.
 -      (completion-styles-alist): Add doc to each entry.
 -      Add new `initials' entry.
 -
 -2009-09-01  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-var-create-handler): Remove redundant
 -      MI command -var-evaluate-expression.
 -      (gdb-var-list-children-regexp): Update from regexp-1 in gdb-ui.el
 -      and tweak for case of string child.
 -      (gdb-var-list-children-handler): Update from handler-1 in gdb-ui.el.
 -
 -2009-09-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * add-log.el (change-log-date-face, change-log-name-face)
 -      (change-log-email-face, change-log-file-face, change-log-list-face)
 -      (change-log-conditionals-face, change-log-function-face)
 -      (change-log-acknowledgement-face):
 -      * cus-edit.el (custom-invalid-face, custom-rogue-face)
 -      (custom-modified-face, custom-set-face, custom-changed-face)
 -      (custom-saved-face, custom-button-face, custom-button-pressed-face)
 -      (custom-documentation-face, custom-state-face, custom-comment-face)
 -      (custom-comment-tag-face, custom-variable-tag-face)
 -      (custom-variable-button-face, custom-face-tag-face)
 -      (custom-group-tag-face-1, custom-group-tag-face):
 -      * diff-mode.el (diff-header-face, diff-file-header-face)
 -      (diff-index-face, diff-hunk-header-face, diff-removed-face)
 -      (diff-added-face, diff-changed-face, diff-function-face)
 -      (diff-context-face, diff-nonexistent-face):
 -      * generic-x.el (show-tabs-tab-face, show-tabs-space-face):
 -      * hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
 -      * info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face)
 -      (Info-title-4-face):
 -      * isearch.el (isearch-lazy-highlight-face):
 -      * log-view.el (log-view-file-face, log-view-message-face):
 -      * paren.el (show-paren-match-face, show-paren-mismatch-face):
 -      * pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face)
 -      (cvs-handled-face, cvs-need-action-face, cvs-marked-face)
 -      (cvs-msg-face):
 -      * smerge-mode.el (smerge-mine-face, smerge-other-face)
 -      (smerge-base-face, smerge-markers-face):
 -      * wid-edit.el (widget-documentation-face, widget-button-face)
 -      (widget-field-face, widget-single-line-field-face)
 -      (widget-inactive-face, widget-button-pressed-face):
 -      * woman.el (woman-italic-face, woman-bold-face, woman-unknown-face)
 -      (woman-addition-face):
 -      * eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face)
 -      (eshell-ls-executable-face, eshell-ls-readonly-face)
 -      (eshell-ls-unreadable-face, eshell-ls-special-face)
 -      (eshell-ls-missing-face, eshell-ls-archive-face)
 -      (eshell-ls-backup-face, eshell-ls-product-face)
 -      (eshell-ls-clutter-face):
 -      * eshell/em-prompt.el (eshell-prompt-face):
 -      * eshell/esh-test.el (eshell-test-ok-face, eshell-test-failed-face):
 -      * obsolete/old-whitespace.el (whitespace-highlight-face):
 -      * progmodes/antlr-mode.el (antlr-font-lock-default-face)
 -      (antlr-font-lock-keyword-face, antlr-font-lock-syntax-face)
 -      (antlr-font-lock-ruledef-face, antlr-font-lock-tokendef-face)
 -      (antlr-font-lock-ruleref-face, antlr-font-lock-tokenref-face)
 -      (antlr-font-lock-literal-face):
 -      * progmodes/ebrowse.el (ebrowse-tree-mark-face)
 -      (ebrowse-root-class-face, ebrowse-file-name-face)
 -      (ebrowse-default-face, ebrowse-member-attribute-face)
 -      (ebrowse-member-class-face, ebrowse-progress-face):
 -      * progmodes/make-mode.el (makefile-space-face):
 -      * progmodes/sh-script.el (sh-heredoc-face):
 -      * textmodes/flyspell.el (flyspell-incorrect-face)
 -      (flyspell-duplicate-face):
 -      * textmodes/tex-mode.el (tex-math-face, tex-verbatim-face):
 -      * textmodes/texinfo.el (texinfo-heading-face):
 -      Mark face aliases with "-face" suffix as obsolete.
 -
 -      * mail/feedmail.el (file-name-buffer-file-type-alist): Define for
 -      compiler.
 -
 -      * net/eudc-bob.el (eudc-bob-generic-menu, eudc-bob-image-menu)
 -      (eudc-bob-sound-menu): Use defvar rather than defconst, since
 -      easy-menu-define wants to modify these.
 -
 -      * net/net-utils.el (nslookup): Use make-comint rather than comint-run.
 -
 -      * net/browse-url.el (browse-url-file-url):
 -      * term/internal.el (dos-codepage-setup):
 -      Use default-value rather than default-enable-multibyte-characters.
 -
 -      * progmodes/etags.el (etags-goto-tag-location):
 -      * progmodes/flymake.el (flymake-highlight-line)
 -      (flymake-goto-file-and-line, flymake-goto-line):
 -      * progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump)
 -      (gdb-goto-breakpoint):
 -      * progmodes/idlw-shell.el (idlwave-shell-move-to-bp):
 -      * progmodes/python.el (python-find-function)
 -      (python-pdbtrack-track-stack-file):
 -      * progmodes/verilog-mode.el (verilog-surelint-off):
 -      * term/ns-win.el (ns-open-file-select-line):
 -      * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
 -      Use forward-line rather than goto-line.
 -
 -      * textmodes/reftex-cite.el (reftex-offer-bib-menu):
 -      * textmodes/reftex-index.el (reftex-display-index):
 -      * textmodes/reftex-ref.el (reftex-offer-label-menu):
 -      * textmodes/reftex-toc.el (reftex-toc):
 -      Remove unnecessary bindings of default-major-mode (all are followed by
 -      major-mode check and possible mode switch).
 -
 -2009-08-31  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom):
 -      Handle watchpoints (bug#4282).
 -      (def-gdb-thread-buffer-command): Enable thread to be selected by
 -      clicking without selecting threads buffer first.
 -      (gdb-current-context-command): Use selected frame so that "up",
 -      "down" etc work in the GUD buffer.
 -      (gdb-update): Find selected frame before rendering stack buffer.
 -      (gdb-frame-handler): Set gdb-frame-number for stack buffer.
 -
 -2009-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/sym-comp.el (displayed-completions): Remove.
 -      (symbol-complete): Use minibuffer-complete.
 -
 -2009-08-31  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/byte-run.el (define-obsolete-face-alias): New macro.
 -
 -      * apropos.el (apropos-symbols-internal):
 -      Handle (obsolete) face aliases.
 -
 -      * faces.el (describe-face): Adjust the output format to be more like
 -      describe-variable, and to mention (obsolete) face aliases.
 -      Adjust the whitespace so that help-setup-xref works.
 -
 -      * calendar/calendar.el (calendar-today-face, diary-face, holiday-face):
 -      * calendar/diary-lib.el (diary-button-face):
 -      Mark these face aliases as obsolete.
 -
 -      * calendar/calendar.el (calendar-today): Doc fix.
 -
 -2009-08-31  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-control-all-threads)
 -      (gdb-control-current-thread): Force tool bar update.
 -      (gdb-non-stop-handler): New function.
 -      (gdb-init-1): Use it to test if non-stop mode is supported.
 -      Remove unused gdbmi buffer type.
 -
 -2009-08-30  Kevin Rodgers  <kevin.d.rodgers@gmail.com>
 -
 -      * progmodes/grep.el (grep-read-files): Strip trailing <N> from
 -      buffer names not visiting a file (e.g. cloned buffers).  (Bug#4210)
 -
 -2009-08-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * comint.el (comint-exec-1): Check command is non-null first.
 -      Part of gdb-mi.el change (2009-08-28).
 -
 -2009-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lisp.el (lisp-complete-symbol): Use minibuffer-complete.
 -
 -2009-08-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (do-after-load-evaluation): Fix last change: use `mapc'
 -      instead of `dolist' to avoid a recursive require when bootstrapping.
 -
 -2009-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/lisp.el (field-complete): Use minibuffer-complete.
 -
 -      * net/ldap.el (ldap-search-internal): Use with-current-buffer and push.
 -
 -      * net/imap.el (imap-send-command): Simplify.
 -      (imap-wait-for-tag): point-max -> buffer-size.
 -
 -      * net/ange-ftp.el (internal-ange-ftp-mode): Use define-derived-mode.
 -
 -      * emacs-lisp/easy-mmode.el (define-minor-mode): Don't use symbol-value
 -      with constant argument.
 -
 -      * emacs-lisp/debug.el (debugger-setup-buffer): Make it multibyte.
 -
 -      * emacs-lisp/cl.el (cl-macro-environment): Don't define it here.
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-force-history-flag):
 -      Change default, since most of our files don't have a history.
 -      (checkdoc-display-status-buffer): Don't use a hidden buffer to show to
 -      the user.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
 -      Add comint-run.
 -
 -      * calc/calc.el: Improve commenting convention.
 -      (calc-digit-map, toplevel): Simplify.
 -
 -      * comint.el (comint-insert-input): Be careful to only set point if we
 -      don't delegate to some other command.
 -
 -      * proced.el (proced-signal-list): Make it an alist.
 -      (proced-grammar-alist): Capitalize names.
 -      (proced-send-signal): Use a non-hidden buffer (since it's displayed).
 -      Disable undo manually and make it read-only.
 -      Use completion-annotate-function.
 -
 -      * minibuffer.el (minibuffer-message): If the current buffer is not
 -      a minibuffer, insert the message in the echo area rather than at the
 -      end of the buffer.
 -      (completion-annotate-function): New variable.
 -      (minibuffer-completion-help): Use it.
 -      (completion--embedded-envvar-table): Environment vars are
 -      always case-sensitive.
 -
 -2009-08-30  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/fortran.el (fortran-start-prog-re): New constant, extracted
 -      from fortran-current-defun.
 -      (fortran-beginning-of-subprogram): Be more precise about finding the
 -      start, to avoid an infinite loop in end-of-defun.  (Bug#4259)
 -      (fortran-end-of-subprogram): Simplify.
 -      (fortran-current-defun): Use fortran-start-prog-re.
 -
 -2009-08-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * subr.el (do-after-load-evaluation): Simplify.
 -
 -2009-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-print-log-internal): Move RCS/CVS specific code ...
 -
 -      * vc-rcs.el (vc-rcs-print-log-cleanup): ... here.  New function.
 -      (vc-rcs-print-log): Use it.
 -
 -      * vc-cvs.el (vc-cvs-print-log): Use vc-rcs-print-log-cleanup.
 -
 -2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * paths.el (abbrev-file-name): Move to abbrev.el.
 -      * abbrev.el (abbrev-file-name): Move from paths.el.
 -      Obey user-emacs-directory.
 -      * calc/calc.el (calc-settings-file): Don't autoload and instead obey
 -      user-emacs-directory.
 -      * dos-fns.el (dos-reevaluate-defcustoms): Don't reevaluate
 -      abbrev-file-name and calc-settings-file any more.
 -      * startup.el (command-line): Recompute abbrev-file-name and
 -      abbreviated-home-dir.
 -      (normal-no-mouse-startup-screen): Improve the generic code and get rid
 -      of the special code for when C-h bindings haven't been changed.
 -      (display-startup-echo-area-message): Use with-current-buffer.
 -      (command-line-1): Use a list of strings, rather than a list of lists
 -      of strings for longopts.
 -
 -      * files.el (get-free-disk-space): Use / for default-directory.
 -
 -      * textmodes/ispell.el (ispell-accept-output, ispell-command-loop):
 -      Use with-current-buffer.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p):
 -      Recognize immutable variables like most-positive-fixnum.
 -      (byte-compile-setq-default): Check and warn if trying to assign
 -      to an immutable variable, or a non-variable.
 -
 -      * progmodes/cc-vars.el (c-comment-continuation-stars):
 -      * progmodes/cc-engine.el (c-looking-at-bos):
 -      * progmodes/cc-cmds.el (c-toggle-auto-state)
 -      (c-forward-into-nomenclature, c-backward-into-nomenclature)
 -      (c-comment-line-break-function): Add version of obsolescence.
 -
 -2009-08-28  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el (magic-fallback-mode-alist): Add ZIP magic number
 -      associated with `archive-mode'.
 -
 -      * image.el (image-type-header-regexps): Use only JPEG magic number
 -      to determine JPEG images, and don't use `image-jpeg-p' because
 -      Emacs can display non-JFIF non-Exif JPEG images.
 -
 -2009-08-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * arc-mode.el (archive-mode):
 -      * emacs-lisp/re-builder.el (re-builder-unload-function):
 -      Protect against the default value of `major-mode' being nil.
 -
 -2009-08-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * international/ucs-normalize.el (ucs-normalize-sort, quick-check-list):
 -      Fix typos in docstrings.
 -
 -      * progmodes/js.el (js--macro-decl-re): Doc fix.
 -      (js--plain-method-re, js--split-name): Refloc docstring.
 -      (js--class-styles, js--make-merged-item, js--splice-into-items):
 -      Fix typos in docstrings; reflow docstrings.
 -      (js--maybe-join, js--function-prologue-beginning, js--flush-caches)
 -      (js--variable-decl-matcher, js--inside-pitem-p)
 -      (js--parse-state-at-point, js--get-all-known-symbols)
 -      (js--symbol-history, js-find-symbol, js--js-references)
 -      (js--moz-interactor, js--js-encode-value, js--read-tab):
 -      Fix typos in docstrings.
 -
 -2009-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/reftex.el (reftex-get-file-buffer-force):
 -      * progmodes/verilog-mode.el (verilog-batch-execute-func):
 -      * emulation/viper.el (viper-go-away, viper-set-hooks):
 -      * emacs-lisp/re-builder.el (re-builder-unload-function):
 -      * emacs-lisp/bytecomp.el (byte-compile-file):
 -      * ses.el (ses-unload-function):
 -      * hexl.el (hexl-find-file):
 -      * files.el (normal-mode):
 -      * ehelp.el (with-electric-help):
 -      * autoinsert.el (auto-insert-alist):
 -      * arc-mode.el (archive-mode):
 -      Use (default-value 'major-mode) instead of default-major-mode.
 -
 -      * textmodes/ispell.el (ispell-check-version, ispell-send-string):
 -      * international/mule.el (load-with-code-conversion):
 -      * emacs-lisp/debug.el (debug):
 -      * ediff-vers.el (ediff-rcs-get-output-buffer):
 -      * dired.el (dired-internal-noselect): Don't let-bind
 -      default-major-mode around code that doesn't use it.
 -      E.g. buffer creation via get-buffer-create doesn't use it.
 -
 -2009-08-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (all): Replace "'(lambda" by "(lambda".
 -      (tramp-handle-file-local-copy): Unset `file-name-handler-alist'
 -      when writing the temp file.  Otherwise, epa-file gets confused.
 -      (tramp-register-file-name-handlers): Make it a defun.  Move also
 -      `epa-file-handler' to the front of `file-name-handler-alist'.
 -
 -2009-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * net/tramp.el (tramp-shell-prompt-pattern): Allow a prompt to
 -      start right after a ^M.
 -      (tramp-root-regexp, tramp-completion-file-name-regexp-unified)
 -      (tramp-completion-file-name-regexp-separate)
 -      (tramp-completion-file-name-regexp-url): Use \\` and \\'.
 -      (tramp-handle-file-attributes, tramp-set-file-uid-gid):
 -      Don't modify last-coding-system-used by accident.
 -      (tramp-completion-file-name-handler): Apply the checks here,
 -      instead during registration.
 -      (tramp-register-file-name-handlers): Rename from
 -      `tramp-register-file-name-handler'.  Register both
 -      `tramp-file-name-handler' and `tramp-completion-file-name-handler'.
 -      (tramp-register-completion-file-name-handler): Remove.  (Bug#4260)
 -
 -2009-08-28  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-use-separate-io-buffer):
 -      Remove variable ...
 -      (gdb-init-1, gdb-display-separate-io-buffer)
 -      (gdb-frame-separate-io-buffer, gdb-setup-windows): ... and
 -      references to it.
 -      (gdb-inferior-io-mode): Use make-comint-in-buffer.
 -      (gdb-inferior-filter): Use comint-output-filter to stop
 -      echoing and remove ^M characters.
 -
 -2009-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emulation/viper-init.el (viper-restore-cursor-type):
 -      * emulation/cua-base.el (cua--update-indications):
 -      Replace default-cursor-type with (default-value 'cursor-type).
 -
 -      * mail/sendmail.el (mail-recover-1):
 -      * international/mule-diag.el (describe-current-coding-system-briefly)
 -      (describe-current-coding-system):
 -      * international/mule-cmds.el (select-safe-coding-system)
 -      (select-message-coding-system)
 -      (set-language-environment-coding-systems, set-locale-environment):
 -      * hexl.el (hexl-insert-multibyte-char):
 -      * dos-w32.el (find-buffer-file-type-coding-system):
 -      * simple.el (what-cursor-position):
 -      Replace uses of default-buffer-file-coding-system
 -      with (default-value 'buffer-file-coding-system).
 -
 -      * emacs-lisp/edebug.el (edebug-display, edebug-outside-excursion):
 -      Replace uses of default-cursor-in-non-selected-windows
 -      with (default-value 'cursor-in-non-selected-windows).
 -      Use with-current-buffer.
 -
 -      * mail/feedmail.el: Use CL macros.
 -      (feedmail-run-the-queue, feedmail-send-it-immediately):
 -      * dos-w32.el (find-buffer-file-type): Replace uses of
 -      default-buffer-file-type with (default-value 'buffer-file-type).
 -
 -2009-08-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/diary-lib.el (diary-list-entries, diary-goto-entry)
 -      (diary-show-all-entries, diary-mark-entries, diary-make-entry):
 -      Use default-value of major-mode rather than default-major-mode.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (update-elcfiles): Report left over elc files.
 -
 -      * mail/mailalias.el (build-mail-aliases): Use with-temp-buffer,
 -      expand-file-name and with-current-buffer.
 -      (mail-get-names, mail-directory): Use with-current-buffer.
 -
 -      * vc.el (vc-read-revision): New function.
 -      (vc-version-diff, vc-merge): Use it.
 -
 -2009-08-27  Sam Steingold  <sds@gnu.org>
 -
 -      * simple.el (kill-do-not-save-duplicates): New user option.
 -      (kill-new): When it is non-nil, and the new string is the same as
 -      the latest kill, set replace to t to avoid duplicates in kill-ring.
 -
 -2009-08-27  Julian Scheid  <julians37@gmail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-handle-process-file): Do not flush all
 -      caches when `process-file-side-effects' is set.
 -      (tramp-handle-vc-registered): Use `tramp-get-file-exists-command'
 -      instead of `tramp-find-file-exists-command'.
 -      Unset `process-file-side-effects'.
 -
 -2009-08-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-methods): New method "rsyncc".
 -      (top): Add completion function for "rsyncc".
 -      (tramp-message-show-message): New defvar.
 -      (tramp-message, tramp-error): Use it.
 -      (tramp-do-copy-or-rename-file-directly): Extend check for direct
 -      remote copying.
 -      (tramp-do-copy-or-rename-file-out-of-band): Handle new
 -      `tramp-methods' entry `copy-env' of "rsyncc".
 -      (tramp-vc-registered-read-file-names): New defconst.
 -      (tramp-vc-registered-file-names): New defvar.
 -      (tramp-handle-vc-registered): Implement optimization strategy.
 -      (tramp-run-real-handler): Add `tramp-vc-file-name-handler'.
 -      (tramp-vc-file-name-handler): New defun.
 -      (tramp-get-ls-command, tramp-get-test-command)
 -      (tramp-get-file-exists-command, tramp-get-remote-ln)
 -      (tramp-get-remote-perl, tramp-get-remote-stat)
 -      (tramp-get-remote-id): Remove superfluous `with-current-buffer'.
 -
 -      * net/tramp-cache.el (top): Autoload `tramp-time-less-p'.
 -      (tramp-cache-inhibit-cache): Extend doc string.  It allows also
 -      timestamps.
 -      (tramp-get-file-property): Check for timestamps in
 -      `tramp-cache-inhibit-cache'.
 -      (tramp-set-file-property): Write timestamp.
 -
 -2009-08-27  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 -
 -      * language/japan-util.el (japanese-symbol-table): Add entries for
 -      cp932-2-byte.
 -
 -      * international/characters.el: Add category `j' to cp932-2-byte.
 -
 -2009-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (build-default-fontset-data): New macro.
 -      (setup-default-fontset): Use build-default-fontset-data for CJK,
 -      tibetan, ethiopic, and ipa.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * cus-start.el (default-major-mode): Customize `major-mode' instead.
 -      (enable-multibyte-characters): Not customizable any more.
 -
 -      * subr.el (default-mode-line-format, default-header-line-format)
 -      (default-line-spacing, default-abbrev-mode, default-ctl-arrow)
 -      (default-direction-reversed, default-truncate-lines)
 -      (default-left-margin, default-tab-width, default-case-fold-search)
 -      (default-left-margin-width, default-right-margin-width)
 -      (default-left-fringe-width, default-right-fringe-width)
 -      (default-fringes-outside-margins, default-scroll-bar-width)
 -      (default-vertical-scroll-bar, default-indicate-empty-lines)
 -      (default-indicate-buffer-boundaries, default-fringe-indicator-alist)
 -      (default-fringe-cursor-alist, default-scroll-up-aggressively)
 -      (default-scroll-down-aggressively, default-fill-column)
 -      (default-cursor-type, default-buffer-file-type)
 -      (default-cursor-in-non-selected-windows)
 -      (default-buffer-file-coding-system, default-major-mode)
 -      (default-enable-multibyte-characters): Mark as obsolete.
 -
 -2009-08-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dir.el (vc-dir-update): Remove debug helper.
 -
 -      * vc-cvs.el (vc-cvs-update-changelog): Fix typo.
 -
 -2009-08-26  Sam Steingold  <sds@gnu.org>
 -
 -      * simple.el (save-interprogram-paste-before-kill): New user option.
 -      (kill-new): When `save-interprogram-paste-before-kill' is non-nil,
 -      save the interprogram-paste into kill-ring before overriding it
 -      with the Emacs kill.
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-trunk-p): Rename to vc-rcs-trunk-p and move to vc-rcs.el.
 -      (vc-minor-part): Rename to vc-rcs-minor-part and move to vc-rcs.el.
 -      (vc-default-previous-revision): Rename to vc-rcs-previous-revision
 -      and move to vc-rcs.el.
 -      (vc-default-next-revision): Rename to vc-rcs-next-revision and
 -      move to vc-rcs.el.
 -      (vc-cvs-update-changelog): Move to vc-cvs.el, use vc-call-backend.
 -      (vc-rcs-update-changelog): Remove.
 -      (vc-update-changelog-rcs2log): Rename to vc-rcs-update-changelog
 -      and move to vc-rcs.el.
 -
 -      * vc-rcs.el (vc-rcs-latest-on-branch-p, vc-rcs-checkin)
 -      (vc-rcs-checkout, vc-rcs-rollback): Adjust for the vc-rcs-trunk-p
 -      renaming.
 -      (vc-rcs-trunk-p, vc-rcs-minor-part, vc-rcs-previous-revision)
 -      (vc-rcs-next-revision, vc-rcs-update-changelog): Move here from
 -      vc.el, renamed to be RCS specific.
 -
 -      * vc-cvs.el (vc-cvs-previous-revision, vc-cvs-next-revision):
 -      New functions.
 -      (vc-cvs-update-changelog): Move here from vc.el.
 -
 -      * vc-sccs.el (vc-sccs-previous-revision, vc-sccs-next-revision):
 -      New functions.
 -
 -2009-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix up last change.
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-register): Use "git add" for directories.
 -      (vc-git-stash, vc-git-stash-show): New functions.
 -      (vc-git-extra-menu-map): Bind them.
 -
 -      * vc-dir.el (vc-dir-node-directory, vc-dir-update): Get the parent
 -      directory correctly in case the item is a directory itself.
 -
 -      * vc.el: Document the desired behavior for reverted files in the
 -      `added' state.
 -      (vc-default-prettify-state-info): Remove function, unused.
 -
 -      * vc-bzr.el (vc-bzr-prettify-state-info): Remove function, unused.
 -
 -2009-08-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * bindings.el (standard-mode-line-format): Reposition dashes in
 -      which-func entry.  (Bug#4217)
 -
 -      * files.el (enable-local-variables, enable-local-eval)
 -      (safe-local-variable-values, safe-local-eval-forms): Mark as risky in
 -      the defcustoms.
 -      (auto-mode-alist, ignored-local-variables)
 -      (save-some-buffers-action-alist): Move risky declarations to the
 -      definitions.
 -      (dabbrev-case-fold-search, dabbrev-case-replace, display-time-string)
 -      (font-lock-defaults, format-alist, imenu--index-alist)
 -      (imenu-generic-expression, input-method-alist, minor-mode-alist)
 -      (mode-line-buffer-identification, mode-line-client, mode-line-modes)
 -      (mode-line-modified, mode-line-mule-info, mode-line-position)
 -      (mode-line-process, mode-line-remote, outline-level)
 -      (parse-time-rules, rmail-output-file-alist)
 -      (special-display-buffer-names, vc-mode):
 -      Move risky declarations to the relevant files.
 -      * bindings.el (mode-line-client, mode-line-mule-info, mode-line-remote)
 -      (mode-line-modified, mode-line-process, mode-line-position)
 -      (mode-line-modes, mode-line-buffer-identification, minor-mode-alist)
 -      * font-core.el (font-lock-defaults):
 -      * format.el (format-alist):
 -      * vc-hooks.el (vc-mode):
 -      * window.el (special-display-buffer-names):
 -      * international/mule-cmds.el (input-method-alist):
 -      Define riskiness here (dumped file) rather than in files.el.
 -      * dabbrev.el (dabbrev-case-fold-search, dabbrev-case-replace):
 -      * imenu.el (imenu-generic-expression, imenu--index-alist):
 -      * outline.el (outline-level):
 -      * time.el (display-time-string):
 -      * calendar/parse-time.el (parse-time-rules):
 -      * mail/rmailout.el (rmail-output-file-alist):
 -      Autoload riskiness here, rather than placing in files.el.
 -
 -2009-08-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-lapcode): Signal overflow.
 -
 -2009-08-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * simple.el (process-file-side-effects): New defvar.
 -
 -      * dired-aux.el (dired-show-file-type):
 -      * vc.el (vc-diff-internal):
 -      * vc-arch.el (vc-arch-diff):
 -      * vc-bzr.el (vc-bzr-sha1, vc-bzr-revision-completion-table):
 -      * vc-cvs.el (vc-cvs-state, vc-cvs-diff, vc-cvs-revision-table):
 -      * vc-git.el (vc-git-registered, vc-git-working-revision)
 -      (vc-git-find-revision, vc-git-diff, vc-git-revision-table)
 -      (vc-git--empty-db-p):
 -      * vc-hooks.el (vc-user-login-name):
 -      * vc-svn.el (vc-svn-registered, vc-svn-state)
 -      (vc-svn-dir-extra-headers, vc-svn-find-revision):
 -      * progmodes/grep.el (grep-probe): Let-bind
 -      `process-file-side-effects' with nil.
 -
 -      * net/dbus.el (dbus-ping): Add optional parameter TIMEOUT.
 -
 -      * net/tramp-gvfs.el (top): Use timeout of 100 msec pinging GVFS
 -      daemon.  Replace ping by checking for running service for bluez
 -      and zeroconf.  (Bug#4239)
 -
 -2009-08-25  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/dig.el (dig): Add autoload cookie.
 -
 -2009-08-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-eval): Fix test for cl in
 -      load-history for absolute file-names.
 -      (byte-compile-file-form-require): Warn about use of the cl package.
 -
 -      * format.el (format-alist): Doc fix.
 -
 -      * play/bubbles.el (top-level): Don't require cl at run-time.
 -
 -      * progmodes/verilog-mode.el (top-level): Don't require lucid (and hence
 -      run-time cl).
 -
 -2009-08-24  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-mapcar*): Replacement for `mapcar*'
 -      from cl package.
 -      (gdb-table-add-row, gdb-table-string): Use `gdb-mapcar*'.
 -
 -2009-08-24  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-alg.el (math-trig-rewrite)
 -      (math-hyperbolic-trig-rewrite): New functions.
 -      (calc-simplify): Simplify trig functions when asked.
 -
 -2009-08-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * diff-mode.el (diff-find-source-location): Avoid goto-line.
 -
 -2009-08-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/ind-util.el (mapthread): Delete it.
 -      (combinatorial): New function.
 -      (indian--puthash-cv): Use combinatorial instead of mapthread.
 -
 -2009-08-22  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/checkdoc.el (checkdoc-force-history-flag)
 -      (checkdoc-arguments-in-order-flag): Add safe-local-variable booleanp.
 -      (checkdoc-symbol-words): Add safe-local-variable for list of strings.
 -      Clarify docstring that the value is strings not symbols.
 -      (checkdoc-list-of-strings-p): New function.
 -
 -2009-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * files.el (auto-mode-alist):
 -      * hippie-exp.el (he-concat-directory-file-name):
 -      * lpr.el (lpr-windows-system, printer-name):
 -      * ls-lisp.el (ls-lisp-emulation, ls-lisp-use-insert-directory-program):
 -      * ps-print.el (ps-windows-system):
 -      * startup.el (command-line):
 -      * emulation/viper-ex.el (viper-glob-function):
 -      * international/mule-cmds.el (set-language-environment-coding-systems):
 -      * net/ange-ftp.el (ange-ftp-write-region):
 -      * obsolete/fast-lock.el (fast-lock-cache-name):
 -      Remove code for defunct system-types emx, macos, mswindows, next-mach,
 -      unisoft-unix, vax-vms, win32, w32.
 -
 -      * calendar/diary-lib.el (diary-mark-entries-1): Only mark all days of a
 -      given name if the pattern is not more specific.
 -
 -      * calendar/lunar.el (lunar-phase-names): New option.
 -      (lunar-phase): Doc fix.
 -      (lunar-cycles-per-year): New constant.
 -      (lunar-index): New function.
 -      (lunar-phase-list, diary-lunar-phases): Use lunar-index.
 -      (lunar-phase-name): Use lunar-phase-names.
 -      (calendar-lunar-phases): Use format.
 -      (lunar-new-moon-on-or-after): Use lunar-cycles-per-year.
 -
 -      * progmodes/cperl-mode.el (cperl-imenu-name-and-position):
 -      Copy imenu-example--name-and-position function here for own use.
 -      (cperl-xsub-scan): Use cperl-imenu-name-and-position.
 -
 -      * bs.el (bs--redisplay):
 -      * cus-edit.el (custom-redraw):
 -      * ibuffer.el (ibuffer-bury-buffer):
 -      * server.el (server-goto-line-column):
 -      * startup.el (command-line-1):
 -      * strokes.el (strokes-xpm-for-stroke):
 -      * term.el (term-display-buffer-line):
 -      * view.el (View-goto-line):
 -      * calc/calc.el (calc-do, calc-trail-buffer):
 -      * play/gamegrid.el (gamegrid-add-score-insecure):
 -      * progmodes/ada-mode.el (ada-compile-goto-error):
 -      * progmodes/ada-xref.el (ada-xref-find-in-modified-ali):
 -      (ebrowse-select-1st-to-9nth):
 -      * progmodes/cperl-mode.el (cperl-time-fontification):
 -      * progmodes/ebrowse.el (ebrowse-toggle-file-name-display)
 -      * progmodes/gud.el (gud-display-line):
 -      (idlwave-shell-display-line):
 -      * progmodes/idlw-shell.el (idlwave-shell-goto-frame)
 -      * progmodes/make-mode.el (makefile-browser-toggle):
 -      (vhdl-speedbar-port-copy, vhdl-compose-components-package):
 -      * progmodes/vhdl-mode.el (vhdl-speedbar-find-file)
 -      * textmodes/picture.el (picture-draw-rectangle):
 -      * textmodes/reftex-index.el (reftex-index-goto-letter):
 -      (reftex-select-jump-to-previous):
 -      * textmodes/reftex-sel.el (reftex-find-start-point)
 -      * textmodes/reftex-toc.el (reftex-toc, reftex-toc-restore-region):
 -      (rst-straighten-deco-spacing, rst-section-tree, rst-toc):
 -      * textmodes/rst.el (rst-promote-region, rst-straighten-decorations)
 -      * textmodes/tex-mode.el (tex-compilation-parse-errors):
 -      * textmodes/two-column.el (2C-associated-buffer):
 -      Use forward-line rather than goto-line.
 -
 -      * emulation/vi.el (vi-goto-line): Don't warn about non-interactive
 -      goto-line.
 -
 -      * international/ucs-normalize.el (nfd, decomposition-translation-alist)
 -      (decomposition-char-recursively, alist-list-to-vector, quick-check-list)
 -      (quick-check-list-to-regexp): Declare.
 -
 -      * progmodes/make-mode.el (makefile-browser-insert-selection):
 -      Use goto-char rather than goto-line.
 -
 -      * progmodes/prolog.el (compilation-error-regexp-alist)
 -      (compilation-forget-errors): Declare.
 -
 -2009-08-22  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (lgrep, rgrep): At the beginning
 -      set `dir' to `default-directory' unless `dir' is a non-nil
 -      readable directory.  (Bug#4052)
 -      (lgrep, rgrep): Change a weird way to report an error
 -      from using `read-string' to using `error'.
 -      Instead of using interactive arguments in the function body,
 -      add new argument `confirm'.
 -
 -2009-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textmodes/remember.el (remember-buffer):
 -      * progmodes/cperl-mode.el (cperl-vc-header-alist):
 -      * calendar/icalendar.el (icalendar-convert-diary-to-ical)
 -      (icalendar-extract-ical-from-buffer):
 -      * net/newst-treeview.el (newsticker-groups-filename):
 -      * net/newst-backend.el (newsticker-cache-filename):
 -      * speedbar.el (speedbar-update-speed, speedbar-navigating-speed)
 -      (speedbar-ignored-path-expressions, speedbar-ignored-path-regexp)
 -      (speedbar-add-ignored-path-regexp, speedbar-line-path)
 -      (speedbar-buffers-line-path, speedbar-path-line)
 -      (speedbar-buffers-line-path):
 -      * epg.el (epg-passphrase-callback-function, epg-start-sign-keys)
 -      (epg-sign-keys):
 -      * epa.el (epa-display-verify-result):
 -      * progmodes/pascal.el (pascal-outline): Add version of obsolescence.
 -
 -2009-08-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/js.el (inferior-moz-process): Fix declaration.
 -
 -      * imenu.el (imenu-example--name-and-position): Fix obsolescence message.
 -
 -      * obsolete/rnewspost.el (news-mail-reply):
 -      Use goto-char rather than goto-line.
 -
 -      * term/ns-win.el (ns-open-file-select-line):
 -      Use line-beginning-position rather than goto-line.
 -
 -      * apropos.el (apropos-command):
 -      * ehelp.el (electric-helpify):
 -      * printing.el (pr-show-setup):
 -      * strokes.el (strokes-help):
 -      * tutorial.el (tutorial--describe-nonstandard-key)
 -      (tutorial--detailed-help):
 -      * woman.el (woman-mini-help, woman-display-extended-fonts):
 -      * calc/calc-help.el (calc-describe-key):
 -      * emulation/edt.el (edt-electric-helpify):
 -      * international/mule-diag.el (mule-diag):
 -      * play/yow.el (apropos-zippy):
 -      * progmodes/python.el (python-describe-symbol):
 -      * progmodes/vhdl-mode.el (vhdl-doc-variable, vhdl-doc-mode):
 -      * textmodes/table.el (*table--cell-describe-mode)
 -      (*table--cell-describe-bindings):
 -      Use help-print-return-message rather than the now obsolete alias.
 -
 -      * calendar/cal-move.el (calendar-cursor-to-nearest-date)
 -      (calendar-cursor-to-visible-date):
 -      * play/5x5.el (5x5-position-cursor):
 -      * play/decipher.el (decipher):
 -      * play/gomoku.el (gomoku-goto-xy):
 -      * play/landmark.el (lm-goto-xy):
 -      * play/mpuz.el (mpuz-paint-errors, mpuz-paint-statistics)
 -      (mpuz-paint-digit):
 -      Use forward-line, not goto-line.
 -
 -      * mail/rmail.el (rmail-obsolete): Delete custom group.
 -      (rmail-pop-password, rmail-pop-password-required): Make into aliases.
 -      (rmail-remote-password, rmail-remote-password-required):
 -      Remove unneeded :set-after and :set properties.
 -
 -2009-08-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (top): Initialize only when `dbusbind' is loaded.
 -
 -2009-08-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * loadup.el: Remove leftover macos code.
 -
 -      * vc-git.el (vc-git-annotate-command): Run asynchronously.
 -      Explicitly pass the date format to git blame so that user local
 -      so that the output format can be parsed.
 -
 -2009-08-20  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (top): Don't check for (getenv
 -      "DBUS_SESSION_BUS_ADDRESS").  It's done in dbusbind.c now.
 -
 -2009-08-19  Magnus Henoch  <magnus.henoch@gmail.com>
 -
 -      * log-edit.el (log-edit-strip-single-file-name): New var.
 -      (log-edit-insert-changelog): Use it.  Bug#3571
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (read-passwd): Use read-key so keypad keys work as well.
 -      Bug#3287
 -
 -      * help.el (help-print-return-message): Rename from
 -      print-help-return-message.
 -
 -      * log-view.el (log-view-mode-map): Remove `q' binding, and unreliable
 -      cvs-mode-map parent hack.
 -      (log-view-mode): Derive from special-mode.
 -
 -      * linum.el (linum-mode): window-size-change-functions is redundant.
 -      Adapt to new window-configuration-change-hook behavior.
 -      (linum-after-size, linum-after-config): Remove.
 -
 -      * imenu.el (imenu-example--name-and-position)
 -      (imenu-example--lisp-extract-index-name)
 -      (imenu-example--create-lisp-index, imenu-example--create-c-index):
 -      Mark as obsolete.
 -
 -      * progmodes/prolog.el (inferior-prolog-error-regexp-alist): New var.
 -      (inferior-prolog-mode): Use it.
 -      (inferior-prolog-load-file): Reset list of errors.
 -
 -2009-08-19  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 -
 -      * language/tibetan.el ("Tibetan"): Fix sample-text entry.
 -
 -      * language/tai-viet.el ("TaiViet"): Fix sample-text entry.
 -
 -2009-08-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (top): Apply `dbus-init-bus' only if the session bus
 -      is running already.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (listify-key-sequence-1): Use normal syntax since those
 -      integers are nowadays always represented by the same (positive) number
 -      on all platforms.
 -      (read-key-empty-map): New const.
 -      (read-key-delay): New var.
 -      (read-key): New function.
 -      (force-mode-line-update): Use with-current-buffer.
 -      (locate-user-emacs-file): Don't forget to abbreviate the file name.
 -      (start-process-shell-command, start-file-process-shell-command):
 -      Discourage the use of command-args.
 -
 -2009-08-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/authors.el (authors-fixed-entries): Remove cvtmail.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (choose-completion-string): Don't rely on
 -      minibuffer-completing-file-name and ad-hoc checks to decide whether
 -      to continue completion or not.
 -
 -      * minibuffer.el (minibuffer-hide-completions): New function.
 -      (completion--do-completion): Use it.
 -      (completions-annotations): New face.
 -      (completion--insert-strings): Use it.
 -      (completion-pcm--delim-wild-regex): Add docstring.
 -      (completion-pcm--string->pattern): Add support for 0-width delimiters
 -      in completion-pcm--delim-wild-regex.
 -
 -2009-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/ucs-normalize.el (ucs-normalize-hfs-nfd-post-read-conversion):
 -      Remove unused var `buffer-modified-p'.
 -
 -      * minibuffer.el (completion--do-completion): Move point for the #b001
 -      case as well (bug#4176).
 -      (minibuffer-complete, minibuffer-complete-word): Don't move point.
 -
 -2009-08-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-init-bus): Declare.  Apply it for the :system
 -      and :session buses.
 -
 -2009-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/ucs-normalize.el (ucs-normalize-version):
 -      Change to 1.1.
 -      (ucs-normalize-hfs-nfd-pre-write-conversion): New function.
 -      (utf-8-hfs): Make it perform normalization on encoding too.
 -
 -      * textmodes/paragraphs.el: Change to utf-8.  Adjust coding cookie.
 -      (sentence-end-without-space): Delete duplicated chars.
 -      (sentence-end-base): Likewise.
 -
 -      * textmodes/sgml-mode.el: Change to utf-8.  Adjust coding cookie.
 -      (html-mode): Delete duplicated chars from sentence-end-base.
 -
 -      * textmodes/texinfo.el: Change to utf-8.  Adjust coding cookie.
 -      (texinfo-mode): Delete duplicated chars from sentence-end-base.
 -
 -2009-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-one-local-variable): If the mode function is for
 -      a minor mode, pass it an argument (Bug#4148).
 -
 -2009-08-17  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-register-completion-file-name-handler):
 -      Check also for (member 'partial-completion completion-styles).
 -
 -2009-08-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/cperl-mode.el (cperl-electric-paren): Don't expand
 -      abbrev (Bug#3943).
 -
 -2009-08-16  Ilya Zakharevich  <ilyaz@cpan.org>
 -
 -      * progmodes/cperl-mode.el: Merge upstream 6.2.
 -      (cperl-mode-syntax-table): Modify syntax entry for ["'`].
 -      (cperl-forward-re): Check cperl-brace-recursing.
 -      (cperl-highlight-charclass): New function.
 -      (cperl-find-pods-heres): Use it.
 -      (cperl-fill-paragraph): Synch to save-excursion placement used upstream.
 -      (cperl-beautify-regexp-piece): Fix column calculation.
 -      (cperl-make-regexp-x): Handle case where point is between "q" and "rs".
 -      (cperl-beautify-level): Don't process entire regexp.
 -      (cperl-build-manpage, cperl-perldoc): Bind Man-switches before
 -      calling man.
 -      (cperl-tips-faces, cperl-mode, cperl-electric-backspace): Doc fix.
 -      (cperl-init-faces): Build a list in the normal way.
 -
 -2009-08-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * calendar/parse-time.el (parse-time-string-chars): Save match
 -      data.
 -
 -2009-08-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * progmodes/sql.el (sql-product-alist): Add :name tag to entries.
 -      (sql-product): Use it.
 -      (sql-mode-menu): Auto-generate the menu based on sql-product-alist.
 -      (sql-set-product): Add completion.
 -      (sql-highlight-oracle-keywords, sql-highlight-postgres-keywords)
 -      (sql-highlight-linter-keywords, sql-highlight-ms-keywords)
 -      (sql-highlight-ansi-keywords, sql-highlight-sybase-keywords)
 -      (sql-highlight-informix-keywords, sql-highlight-interbase-keywords)
 -      (sql-highlight-ingres-keywords, sql-highlight-solid-keywords)
 -      (sql-highlight-mysql-keywords, sql-highlight-sqlite-keywords)
 -      (sql-highlight-db2-keywords): Remove.
 -      (sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
 -      (sql-highlight-product): Use derived-mode-p.
 -      (sql-set-sqli-buffer): Use with-current-buffer.
 -      (sql-connect-informix, sql-connect-ingres, sql-connect-oracle):
 -      Simplify.
 -
 -      * emacs-lisp/lisp-mode.el (lisp-indent-region): Remove unused function.
 -
 -      * term.el: Fix commenting convention, turn comments into docstrings.
 -
 -2009-08-16  E. Jay Berkenbilt  <ejb@ql.org>  (tiny change)
 -
 -      * whitespace.el (whitespace-style): Doc fix (Bug#3661).
 -
 -2009-08-16  Jan Seeger  <jan.seeger@thenybble.de>  (tiny change)
 -
 -      * calendar/parse-time.el (parse-time-string-chars): Compute using
 -      character classes, to handle non-ascii characters (Bug#3190).
 -
 -2009-08-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/sh-script.el (sh-maybe-here-document): Avoid inserting
 -      another heredoc if the user adds another < (Bug#3226).
 -
 -      * mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event):
 -      Don't initialize based on window-system (Bug#4124).
 -
 -      * facemenu.el (facemenu-read-color): Use a completion function
 -      that accepts any defined color, such as RGB triplets (Bug#3677).
 -
 -      * files.el (get-free-disk-space): Change fallback default
 -      directory to /.  Expand DIR argument before switching to fallback.
 -      Suggested by Kevin Ryde (Bug#2631, Bug#3911).
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (load-library): Doc fix.
 -
 -2009-08-15  Michael Kifer  <kifer@cs.stonybrook.edu>
 -
 -      * emulation/viper-cmd.el (viper-insert-isearch-string): New function.
 -      (viper-if-string): Redefine C-s in the minibuffer to insert the last
 -      incremental search string.
 -
 -      * ediff-init.el (ediff-coding-system): Use escape-quoted in case of
 -      XEmacs.
 -
 -      * ediff-merg.el (ediff-merge-region-is-non-clash-to-skip)
 -      (ediff-merge-region-is-non-clash)
 -      (ediff-skip-merge-region-if-changed-from-default-p): Use defun.
 -      Also check if the job is really a merge job.
 -
 -      * ediff.el (ediff-current-file): New function.
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el: Edit docstrings throughout to follow Emacs
 -      conventions.
 -      (js-insert-and-indent): Delete function.
 -      (js-mode-map): Don't bind keys to js-insert-and-indent.
 -      (js-beginning-of-defun): Rename from js--beginning-of-defun.
 -      (js-end-of-defun): Rename from js--end-of-defun.
 -      (js-auto-indent-flag): Delete variable.
 -
 -2009-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/js.el: Remove proclaim statement.
 -      Defvar which-func-imenu-joiner-function to silence compiler.
 -
 -      * files.el (auto-mode-alist): Use js-mode for .js files.
 -
 -      * progmodes/js2-mode.el: Remove file.
 -
 -      * Makefile.in (ELCFILES): Add js.el, and remove js2-mode.el.
 -
 -      * speedbar.el (speedbar-supported-extension-expressions): Add .js.
 -
 -      * progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry.
 -
 -2009-08-14  Daniel Colascione  <dan.colascione@gmail.com>
 -          Karl Landstrom  <karl.landstrom@brgeight.se>
 -
 -      * progmodes/js.el: New file.
 -
 -2009-08-14  Mark A. Hershberger  <mah@everybody.org>
 -
 -      * timezone.el (timezone-parse-date): Add ability to understand ISO
 -      basic format (minimal separators) dates in addition to the
 -      already-supported extended format dates.
 -
 -2009-08-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * international/ucs-normalize.el: Add a `coding' file variable.
 -
 -      * Makefile.in (ELCFILES): Add international/ucs-normalize.elc.
 -
 -2009-08-14  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-cvs.el (vc-cvs-merge-news): Yet another fix of message parsing.
 -
 -2009-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * faces.el (help-argument-name): Define it here instead of
 -      help-fns.el, because in daemon mode help-fns.el may be loaded when
 -      faces are still uninitialized (Bug#1078).
 -
 -      * help-fns.el (help-argument-name): Move defface to faces.el.
 -
 -2009-08-13  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-inferior-io-mode): Use start-process to
 -      create buffer with a pty but no process so that GDB can make the
 -      inferior the controlling process.
 -
 -2009-08-13  Taichi Kawabata  <kawabata.taichi@gmail.com>
 -
 -      * international/ucs-normalize.el: New file.
 -
 -2009-08-13  Richard Stallman  <rms@gnu.org>
 -
 -      * mail/rmail.el (rmail-get-attr-names):
 -      Accept an attribute header that is too short.
 -
 -      * mail/rmail.el (rmail-forget-messages):
 -      Ignore nil elt in rmail-message-vector.  Use dotimes.
 -
 -      * progmodes/compile.el (compilation-goto-locus):
 -      Use next-error-move-function.
 -
 -      * simple.el (next-error-move-function): New variable.
 -
 -2009-08-12  Juri Linkov  <juri@jurta.org>
 -
 -      * progmodes/grep.el (lgrep): Ensure that `default-directory' is
 -      always non-nil.  (Bug#4052)
 -
 -      * replace.el (read-regexp): Return empty string when
 -      `default-value' is nil.
 -      (keep-lines-read-args): Don't use empty string as the
 -      default value for `read-regexp'.  (Bug#2495)
 -
 -2009-08-12  Juri Linkov  <juri@jurta.org>
 -
 -      * international/mule-cmds.el (ucs-insert): Change arguments
 -      from `arg' to `character', `count', `inherit' to be the same
 -      as in `insert-char'.  Doc fix.  (Bug#4039)
 -
 -      * international/mule-conf.el (utf-16be-with-signature): Doc fix.
 -
 -2009-08-12  Juri Linkov  <juri@jurta.org>
 -
 -      * files-x.el: New file.
 -
 -      * files.el: Move code that deals with adding/deleting
 -      file/directory-local variables to files-x.el.
 -
 -      * Makefile.in (ELCFILES): Add files-x.elc.
 -
 -2009-08-11  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-line-posns): New helper which helps not
 -      to use `goto-line'.
 -      (gdb-place-breakpoints, gdb-get-location): Rewritten without
 -      `goto-line'.
 -      (gdb-invalidate-disassembly): Do not refresh upon receiving
 -      'update signal.  Instead, update all disassembly buffers only after
 -      threads list.
 -      (gdb): Send -target-detach when buffer is killed (Bug#3794).
 -      (gdb-starting): Move -data-list-register-names...
 -      (gdb-stopped): ...here so it's sent when first thread stops.
 -      (gdb-registers-handler-custom): Do nothing if register names are
 -      unknown yet.
 -
 -      * progmodes/gud.el (gud-stop-subjob): Rewritten without macros
 -      from `gdb-mi.el' to avoid extra tangling.
 -
 -      * progmodes/gdb-mi.el (gdb-gud-context-call): Reverting previous
 -      change which breaks `gud-def' definitions used in `gdb'.
 -      (gdb-update-gud-running): No extra fuss for updating frame number.
 -
 -2009-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * international/mule-cmds.el (mule-keymap, mule-menu-keymap)
 -      (describe-language-environment-map, setup-language-environment-map)
 -      (set-coding-system-map): Move initialization into declaration.
 -      (set-language-info-alist): Last arg to define-key-after can be skipped.
 -
 -      * international/quail.el (quail-completion-1): Simplify.
 -      (quail-define-rules): Use slightly more compact code.
 -      (quail-insert-decode-map): Propertize keys, compact columns.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
 -      Add goto-line.
 -
 -2009-08-10  Miles Bader  <miles@gnu.org>
 -
 -      * progmodes/js2-mode.el (js2-warning, js2-error, js2-jsdoc-tag)
 -      (js2-jsdoc-type, js2-jsdoc-value, js2-function-param)
 -      (js2-instance-member, js2-private-member, js2-private-function-call)
 -      (js2-jsdoc-html-tag-name, js2-jsdoc-html-tag-delimiter)
 -      (js2-magic-paren, js2-external-variable):
 -      Remove "-face" suffix from face names.
 -      (js2-jsdoc-highlight-helper, js2-highlight-jsdoc)
 -      (js2-highlight-undeclared-vars, js2-peek-token)
 -      (js2-parse-function-params, js2-mode-show-errors)
 -      (js2-mode-show-warnings, js2-make-magic-delimiter)
 -      (js2-mode-highlight-magic-parens): Update to use new face names.
 -
 -2009-08-09  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-get-ls-command-with-dired): New defun.
 -      (tramp-handle-insert-directory): Handle "--dired".  (Bug#4075)
 -
 -2009-08-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * subr.el: Provide hashtable-print-readable.
 -
 -      * progmodes/hideshow.el (hs-special-modes-alist): Don't use
 -      hs-c-like-adjust-block-beginning.
 -      (hs-hide-block-at-point): Stop hiding at the beginning of
 -      hs-block-end-regexp (Bug#700).
 -
 -2009-08-09  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-gud-context-call): Does not need to be
 -      a macro.
 -      (gdb-registers-handler-custom): Do not fail when register names
 -      are unavailable.
 -
 -2009-08-08  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-control-all-threads)
 -      (gdb-control-current-thread): Interactive setters for
 -      `gdb-gud-control-all-threads' to use in menu.
 -      (gdb-show-run-p): Show «Go» when process is not active.
 -      (gud-tool-bar-map): Add non-stop/A,T indicator.
 -      Uses gud/thread.xpm and gud/all.xpm.
 -
 -2009-08-08  Yoni Rabkin  <yoni@rabkins.net>
 -
 -      * net/net-utils.el (net-utils-font-lock-keywords): New var.
 -      (nslookup-font-lock-keywords): Make it a variable.
 -      (net-utils-mode): New mode for viewing diagnostic network output.
 -      (net-utils-remove-ctrl-m-filter): Set inhibit-read-only.
 -      (net-utils-run-simple): New function.
 -      (ifconfig, iwconfig, netstat, arp, route): Use it.
 -
 -2009-08-08  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-read-memory-custom)
 -      (gdb-memory-set-address, def-gdb-set-positive-number)
 -      (def-gdb-memory-format, def-gdb-memory-unit): Update memory buffer
 -      after changing settings.
 -      (gdb-invalidate-disassembly): Update when first shown.
 -      (gdb-edit-locals-value): Fixed.
 -      (gdb-registers-handler-custom): Print registers in right order and
 -      allow changing register values (only for current thread yet).
 -      (gdb-breakpoints-mode-map): Don't assume threads buffer is present.
 -      (gdb-threads-mode-map): Don't assume breakpoints buffer is present.
 -      (gdb-disassembly-handler-custom, gdb-stack-list-frames-custom)
 -      (gdb-locals-handler-custom, gdb-registers-handler-custom):
 -      Thread info in mode name.
 -      (gdb-registers-mode-map): TAB to switch to locals.
 -
 -2009-08-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/rmail.el (rmail-add-mbox-headers)
 -      (rmail-set-message-counters-counter): Search for
 -      rmail-unix-mail-delimiter instead of just "From ".  (Bug#4076)
 -
 -2009-08-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (ELCFILES): Update.
 -
 -2009-08-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/sendmail.el (mail-yank-original):
 -      Set buffer-file-coding-system from the one used by the message whose
 -      text is yanked.
 -
 -      * calc/calc-graph.el (calc-graph-plot): Set calc-graph-last-device
 -      to "windows" when "pgnuplot" is used.
 -      (calc-graph-command, calc-gnuplot-command, calc-graph-init):
 -      Don't call accept-process-output if "pgnuplot" is used.
 -      (calc-graph-init): Don't send -display and -geometry to
 -      "pgnuplot".  If "pgnuplot" is used, glean gnuplot version by
 -      running "pgnuplot -V" with shell-command-to-string.
 -
 -      * calc/calc.el (calc-gnuplot-name) [windows-nt]: Use "pgnuplot" as
 -      the default.
 -
 -2009-08-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (ELCFILES): org/org-export-latex.elc renamed to
 -      org/org-latex.elc.
 -
 -2009-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dispatcher.el (vc-resynch-window): Update comment.
 -
 -      * term.el (term-handle-ansi-escape): Add comments with the
 -      terminfo capabilities implemented.
 -
 -2009-08-06  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-var-create-regexp): Removed.
 -      (gdb-var-create-handler): Rewritten using JSON parser.
 -      (gdb-propertize-header): Move earlier.
 -      (gdb-set-header): Remove to avoid duplication.
 -      (gdb-thread-list-handler-custom, gdb-invalidate-disassembly):
 -      Refresh disassembly buffers only after threads list have been
 -      update.
 -      (gdb-threads-header, gdb-registers-header): Per-buffer header line
 -      variables.
 -
 -2009-08-04  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el: Commands to add/delete file/directory-local variables.
 -      (read-file-local-variable, read-file-local-variable-value)
 -      (read-file-local-variable-mode, modify-file-local-variable)
 -      (modify-file-local-variable-prop-line)
 -      (modify-dir-local-variable): New functions.
 -      (add-file-local-variable, delete-file-local-variable)
 -      (add-file-local-variable-prop-line, delete-file-local-variable-prop-line)
 -      (add-dir-local-variable, delete-dir-local-variable)
 -      (copy-file-locals-to-dir-locals, copy-dir-locals-to-file-locals)
 -      (copy-dir-locals-to-file-locals-prop-line): New commands.
 -
 -2009-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * abbrev.el (insert-abbrev-table-description): Prettify output.
 -      Suggested by Karl Chen.
 -
 -2009-08-04  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-frame-number): Initialize with nil.
 -      (gdb-overlay-arrow-position): Rename to `gdb-disassembly-position'.
 -      (gdb-overlay-arrow-position, gdb-thread-position)
 -      (gdb-disassembly-position): Declare variables.
 -      (gdb-wait-for-pending): Function now.
 -      (gdb-add-subscriber, gdb-delete-subscriber, gdb-get-subscribers)
 -      (gdb-emit-signal, gdb-buf-publisher): Declare before first use so
 -      compilation goes smoothly.
 -      (gdb, gdb-non-stop, gdb-buffers): New customization groups.
 -      (gdb-non-stop-setting): New customization setting which replaces
 -      `gdb-non-stop' so changing it doesn't break active GDB session.
 -      (gdb-stack-buffer-locations, gdb-stack-buffer-addresses)
 -      (gdb-thread-buffer-verbose-names, gdb-thread-buffer-arguments)
 -      (gdb-thread-buffer-locations, gdb-thread-buffer-addresses)
 -      (gdb-show-threads-by-default): New customization options.
 -      (gdb-buffer-type, gdb-buffer-shows-main-thread-p): New helper
 -      routines.
 -      (gdb-get-buffer-create): Send buffers update signal when they are
 -      created.
 -      (gdb-invalidate-locals, gdb-invalidate-registers)
 -      (gdb-invalidate-breakpoints)
 -      (gdb-invalidate-threads, gdb-invalidate-disassembly)
 -      (gdb-invalidate-memory): Accept update signal.
 -      (gdb-current-context-command): Use --frame option.
 -      (gdb-update-gud-running, gdb-running, gdb-setq-thread-number):
 -      Implement `gdb-frame-number' selection logic.
 -      (gdb-show-run-p, gdb-show-stop-p): Helper functions which decide
 -      whether to show GUD toolbar buttons.
 -      (gdb-thread-exited): Unselect current thread when it exits.
 -      (gdb-stopped): Typo fixed (now really runs `gdb-stopped-hooks').
 -      (gdb-mark-line): Routine which sets overlay arrow or inverses
 -      video on fringeless displays.
 -      (gdb-table, gdb-table-add-row, gdb-table-string): Structure used
 -      to build aligned columns of data in GDB buffers and set text
 -      properties line-by-line.
 -      (gdb-invalidate-breakpoints)
 -      (gdb-breakpoints-list-handler-custom)
 -      (gdb-thread-list-handler-custom, gdb-disassembly-handler-custom)
 -      (gdb-stack-list-frames-custom, gdb-locals-handler-custom)
 -      (gdb-registers-handler-custom): Align data columns.
 -      (gdb-locals-handler-custom): Now prints data like in variable
 -      declarations.
 -      (gdb-jump-to, gdb-file-button, gdb-insert-file-location-button):
 -      Remove confusing buttons.
 -      (gdb-invalidate-threads): Append --frame.
 -      (gdb-threads-mode-map, gdb-breakpoints-mode-map): TAB to switch
 -      between breakpoints/threads buffers.
 -      (gdb-set-window-buffer): Now can ignore dedicated windows.
 -      (gdb-propertize-header): Use `gdb-set-window-buffer'.
 -      (def-gdb-thread-buffer-simple-command): Numerous typos fixed.
 -      (def-gdb-thread-buffer-gud-command): Replaces
 -      `def-gdb-thread-buffer-gdb-command' and uses standard GUD commands
 -      for fine thread control.
 -      (gdb-preempt-existing-or-display-buffer): New function used to
 -      display bound buffers without breaking window layout.
 -      (gdb-frame-location): Replaces `gdb-insert-frame-location'.
 -      (gdb-select-frame): New version of `gdb-frames-select' which now
 -      sets `gdb-frame-number' so commands may use --frame option instead
 -      of inner debugger state.
 -      (gdb-frame-handler): Do not set `gdb-frame-number'.
 -      (gdb-threads-mode-map): Select threads with mouse.
 -
 -      * progmodes/gud.el (gdb-gud-context-call): Declare function to
 -      avoid compilation warning.
 -      (gud-menu-map, gud-minor-mode-map): Use `gdb-show-run-p` and
 -      `gdb-show-stop-p`.
 -
 -      * progmodes/gdb-mi.el (gdb-get-buffer, gdb-get-buffer-create):
 -      Argument `key' renamed to `buffer-type'.
 -      (gdb-current-context-buffer-name): Do not add thread info to
 -      buffer name when no thread is selected.
 -      (gdbmi-record-list, gdb-shell): Try to handle GDB `shell'
 -      command (bug 3794).
 -      (gdb-thread-selected): Handle `=thread-selected' notification.
 -      (gdb-wait-for-pending): New macro to deal with congestion problems.
 -      (gdb-breakpoints-list-handler-custom): Don't fail on pending
 -      breakpoints.
 -      (gdb-invalidate-disassembly): Use 'fullname instead of 'file.
 -      This fixes problem similar to one described in bug 3947.
 -      (gud-menu-map): More menu items.
 -      (gdb-init-1): Reset `gdb-thread-number' to nil.
 -
 -      * progmodes/gud.el (gud-stop-subjob, gud-menu-map): Respect GDB
 -      non-stop settings.
 -
 -      * progmodes/gdb-mi.el (gdb-thread-number): Initialize with nil.
 -      (gdb-current-context-command): Do not append --thread if
 -      `gdb-thread-number' is nil.
 -      (gdb-running-threads-count, gdb-stopped-threads-count):
 -      New variables.
 -      (gdb-non-stop, gdb-gud-control-all-threads, gdb-switch-reasons)
 -      (gdb-stopped-hooks, gdb-switch-when-another-stopped):
 -      New customization options.
 -      (gdb-gud-context-command, gdb-gud-context-call): New wrappers for
 -      GUD commands.
 -      (gdb): `gud-def' definitions changed to use `gdb-gud-context-call'.
 -      (gdb-init-1): Activate non-stop mode if `gdb-non-stop' is enabled.
 -      (gdb-setq-thread-number, gdb-update-gud-running): New functions to
 -      set `gdb-thread-number' and update `gud-running' properly.
 -      (gdb-running): Update threads list when new threads appear.
 -      (gdb-stopped): Support non-stop operation and new thread switching
 -      logic.
 -      (gdb-jsonify-buffer, gdb-json-read-buffer, gdb-json-string)
 -      (gdb-json-partial-output): New set of JSON routines.
 -      (def-gdb-auto-update-trigger): New `signal-list' optional
 -      argument.
 -      (gdb-thread-list-handler-custom): Update `gud-running',
 -      `gdb-stopped-threads-count' and `gdb-running-threads-count'.
 -      (def-gdb-thread-buffer-gdb-command, gdb-interrupt-thread)
 -      (gdb-continue-thread, gdb-step-thread): New commands for fine
 -      thread execution control.
 -      (gud-menu-map): New menu items to switch non-stop options.
 -      (gdb-reset): Cleanup `gdb-thread-position' overlay arrow marker.
 -      (gdb-send): Mimic RET properly (bug 3794).
 -
 -      * progmodes/gdb-mi.el (gdb-rules-name-maker)
 -      (gdb-rules-buffer-mode, gdb-rules-update-trigger): Accessors for
 -      gdb-buffer-rules.
 -      (def-gdb-auto-update-handler): New nopreserve optional argument.
 -      (gdb-stack-list-frames-custom): Print stack from top to bottom.
 -
 -      * progmodes/gdb-mi.el (gdb-pc-address): Remove unused variable.
 -      (gdb-threads-list, gdb-breakpoints-list): New assoc lists.
 -      (gdb-parent-mode): New mode to derive other GDB modes from.
 -      (gdb-display-disassembly-for-thread)
 -      (gdb-frame-disassembly-for-thread): New commands for threads
 -      buffer.
 -
 -      * progmodes/gdb-mi.el (gdb-get-buffer, gdb-get-buffer-create)
 -      (gdb-init-1, gdb-bind-function-to-buffer, gdb-add-subscriber)
 -      (gdb-get-subscribers, gdb-emit-signal, gdb-buf-publisher)
 -      (gdb-update): We now store all GDB buffers in a list so that they
 -      can be updated by traversing a list instead of calling invalidate
 -      triggers explicitly.
 -      (def-gdb-trigger-and-handler): New macro to define trigger-handler
 -      pair for GDB buffer.
 -      (gdb-stack-buffer-name): Add thread information.
 -      (gdb-add-pending, gdb-pending-p, gdb-delete-pending): Macros to
 -      handle pending triggers.
 -      (gdb-threads-mode-map, def-gdb-thread-buffer-command)
 -      (def-gdb-thread-buffer-simple-command)
 -      (gdb-display-stack-for-thread, gdb-display-locals-for-thread)
 -      (gdb-display-registers-for-thread, gdb-frame-stack-for-thread)
 -      (gdb-frame-locals-for-thread, gdb-frame-registers-for-thread):
 -      New commands which show buffers bound to thread.
 -      (gdb-stack-list-locals-regexp): Remove unused regexp.
 -
 -      * progmodes/gdb-mi.el (gdb-breakpoints-buffer-name)
 -      (gdb-locals-buffer-name, gdb-registers-buffer-name)
 -      (gdb-memory-buffer-name, gdb-stack-buffer-name): Do not switch
 -      to (gud-comint-buffer) in *-buffer-name functions
 -      because (gdb-get-target-string) already does that.
 -      (gdb-locals-handler-custom, gdb-registers-handler-custom)
 -      (gdb-changed-registers-handler): Rewritten without regexps.
 -
 -      * progmodes/gdb-mi.el: Basic thread selection support.
 -      (gdb-thread-number): New variable.
 -      (gdb-current-context-command): New macro which adds --thread
 -      option to command.
 -      (gdb-threads-mode-map): Select thread with SPC.
 -      (gdb-thread-list-handler-custom): Mark current thread with overlay
 -      arrow.  Synchronize GDB thread and Emacs thread.
 -      (gdb-select-thread): New command which selects current thread.
 -      (gdb-invalidate-frames, gdb-invalidate-locals)
 -      (gdb-invalidate-registers): Use --thread option.
 -
 -2009-08-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (top): Make check for tramp-gvfs loading more
 -      robust.  (Bug#3977)
 -      (tramp-handle-insert-file-contents): `unwind-protect' must be
 -      inside `with-parsed-tramp-file-name'.
 -
 -      * net/tramp-gvfs.el (top): Remove superfluous message when loading
 -      fails.
 -
 -2009-08-03  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gud.el (jdb): Set gud-jdb-classpath-string to current
 -      directory if CLASSPATH is not set.
 -
 -2009-08-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-rfn-eshadow-update-overlay-regexp):
 -      New defconst.
 -      (tramp-rfn-eshadow-update-overlay): Use it.  (Bug#4004)
 -
 -2009-08-02  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/newst-backend.el (newsticker--raw-url-list-defaults):
 -      Update freshmeat link.  Delete newsforge.com as it seems gone.
 -
 -2009-08-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * select.el (x-set-selection): Doc fix (Bug#4021).
 -
 -      * w32-fns.el (x-set-selection): Doc fix (Bug#4021).
 -
 -      * help-fns.el (describe-variable): Treat list return values from
 -      dir-locals-find-file properly (Bug#4005).
 -
 -2009-08-02  Julian Scheid  <julians37@googlemail.com>  (tiny change)
 -
 -      * net/tramp.el (tramp-debug-message): Print also microseconds.
 -
 -2009-08-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-insert-file-contents): Optimize, when BEG
 -      or END is non-nil.
 -      (tramp-handle-vc-registered): Use `tramp-cache-inhibit-cache'.
 -      (tramp-get-debug-buffer): Change `outline-regexp' according to new
 -      format.
 -
 -      * net/tramp-cache.el (tramp-cache-inhibit-cache): New defvar.
 -      (tramp-get-file-property): Use it.
 -
 -      * autorevert.el (auto-revert-handler):
 -      Allow `auto-revert-tail-mode' for remote files.
 -
 -2009-08-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * minibuffer.el (read-file-name): Treat confirm options to
 -      MUSTMATCH as nil when invoking x-file-dialog.  (Bug#3969)
 -
 -2009-08-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font-lock.el (font-lock-string-face, font-lock-builtin-face)
 -      (font-lock-variable-name-face, font-lock-constant-face):
 -      Darken the colors for light backgrounds.
 -
 -2009-08-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * mail/rmailsum.el (rmail-header-summary): Ignore letter-case of
 -      month names.  (Bug#3987)
 -
 -2009-07-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (line-move-finish): Pass whole number to
 -      line-move-to-column.
 -      (line-move-visual): Perform hscroll to the recorded position.
 -
 -2009-07-30  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-mode.el (calc-matrix-brackets): Remove "P" from prompt.
 -
 -2009-07-29  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-defs.el (c-version): Bump to 5.31.7.
 -
 -2009-07-29  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-goto-breakpoint)
 -      (gdb-place-breakpoints): Use full path when setting breakpoints.
 -
 -2009-07-29  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-mode-map): Add keybinding for
 -      `calc-transpose-lines'.
 -
 -2009-07-29  Vincent Belaïche  <vincent.belaiche@gmail.com>
 -
 -      * calc/calc-misc.el (calc-transpose-lines): New function.
 -
 -2009-07-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file): Add messages.
 -      Simplify check for out-of-band methods.
 -      (tramp-do-copy-or-rename-file-out-of-band): Allow both files to be
 -      remote.  Remove messages which are in `tramp-do-copy-or-rename-file'.
 -
 -2009-07-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-git.el (vc-git-checkin): Fix typo.
 -
 -2009-07-28  Steve Yegge  <steve.yegge@gmail.com>
 -
 -      * progmodes/js2-mode.el: New file.
 -
 -2009-07-28  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gud.el (jdb): Add gud-pstar to dump object information.
 -      (gud-menu-map): Adjust tooltip accordingly.
 -
 -2009-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-bzr.el (vc-bzr-print-log): Pass multiple arguments to bzr log.
 -      (vc-bzr-log-view-mode): Adjust log-view-file-re.
 -
 -      * add-log.el (change-log-mode-map): Add a menu.
 -
 -2009-07-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/dbus.el (dbus-call-method-non-blocking): Handle the case the
 -      function returns nil.
 -      (dbus-handle-event): Handle special return value :ignore.
 -      Reported by Jan Moringen <jan.moringen@uni-bielefeld.de>.
 -
 -2009-07-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * view.el (view-mode-enable): Don't define Helper-return-blurb if
 -      it's not needed.
 -
 -2009-07-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Fix Bug#3888:
 -
 -      * w32-vars.el (x-select-enable-clipboard): Doc fix.
 -
 -      * term/pc-win.el (x-display-name, x-colors)
 -      (x-select-enable-clipboard, x-select-text): Doc fix.
 -
 -      * term/common-win.el (x-display-name, x-colors): Doc fix.
 -
 -      * term/ns-win.el (x-select-text, x-setup-function-keys, x-colors)
 -      (xw-defined-colors): Doc fix.
 -
 -      * w32-fns.el (x-select-text, x-setup-function-keys)
 -      (x-get-selection, x-set-selection): Doc fix.
 -
 -      * term/x-win.el (x-select-text, x-setup-function-keys)
 -      (x-select-enable-clipboard, xw-defined-colors): Doc fix.
 -
 -      * select.el (x-set-selection): Doc fix.
 -
 -2009-07-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/zeroconf.el (zeroconf-init): Check for "GetVersionString"
 -      instead of "IsNSSSupportAvailable".  Avahi ought to work also when
 -      "IsNSSSupportAvailable" method is not available.
 -      Reported by Steve Youngs <steve@sxemacs.org>.
 -
 -2009-07-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/characters.el: Fix setting of category ?C, ?|, ?K,
 -      and ?H.  Fix setting of case for Latin Extended and Greek Extended.
 -      (build-unicode-category-table): Fix range checks.
 -
 -2009-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-dispatcher.el (vc-resynch-buffers-in-directory): Make sure
 -      the buffer we try to sync is current when calling
 -      vc-resynch-buffer.
 -
 -      * vc-dir.el (vc-dir-resynch-file): Make sure vc-dir-update does
 -      not show up to date files.
 -
 -2009-07-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/elint.el (elint-current-buffer, elint-defun):
 -      Add autoload cookies.  If necessary, initialize.
 -      (elint-log): Handle non-file buffers.
 -      (elint-initialize): Add optional argument to reinitialize.
 -      (elint-find-builtin-variables): Save excursion.
 -
 -2009-07-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Add menu entries
 -      for Lint.
 -
 -2009-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc.el (vc-print-log-internal): New function, split out from ...
 -      (vc-print-log): ... here.
 -      (vc-dir-move-to-goal-column): Declare.
 -
 -      * vc-git.el (vc-git-add-signoff): New variable.
 -      (vc-git-checkin): Use it.
 -      (vc-git-toggle-signoff): New function.
 -      (vc-git-extra-menu-map): Bind it to menu.
 -      (vc-git--run-command-string): Accept a nil FILE argument.
 -      (vc-git-stash-list): New function.
 -      (vc-git-dir-extra-headers): Use it.
 -
 -2009-07-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * help-fns.el (describe-variable): Describe ignored and risky local
 -      variables in a similar way to that in which we describe safe ones.
 -
 -      * emacs-lisp/bytecomp.el (byte-compile-from-buffer)
 -      (byte-compile-output-file-form, byte-compile-output-docform)
 -      (byte-compile-file-form-defmumble, byte-compile-output-as-comment):
 -      Give some more local variables with common names a "bytecomp-" prefix,
 -      so as not to shadow things during compilation.
 -      * emacs-lisp/cl-macs.el (load-time-value)
 -      * emacs-lisp/cl.el (cl-compiling-file): Update for the name-change
 -      `outbuffer' to `bytecomp-outbuffer'.
 -
 -      * emacs-lisp/elint.el (elint-standard-variables): Remove most members,
 -      since the next two variables cover them automatically now.
 -      (elint-builtin-variables, elint-autoloaded-variables): New.
 -      (elint-unknown-builtin-args): Remove all members, since they can be
 -      parsed automatically now.
 -      (elint-extra-errors): New.
 -      (elint-env-add-env, elint-env-add-macro): Use cadr.
 -      (elint-current-buffer): Use or.  Change final message.
 -      (elint-get-top-forms): Use line-end-position.
 -      (elint-init-env): Use cadr.  Handle autoload, declare-function,
 -      and defalias.
 -      (elint-add-required-env): Doc fix.  Use or.  Standardize error.
 -      (regexp-assoc): Remove unused function.
 -      (elint-top-form): Set elint-current-pos, to record the start of the
 -      top-level form, for compilation-mode.
 -      (elint-form): Trap errors in macro expansion.  Use dolist.
 -      (elint-unbound-variable): Use elint-builtin-variables and
 -      elint-autoloaded-variables.
 -      (elint-get-args): Use cadr, or.
 -      (elint-check-cond-form): Use dolist, cadr.
 -      (elint-check-condition-case-form): Doc fix.  Use cadr.
 -      Use elint-extra-errors.
 -      (elint-log): New function.
 -      (elint-error, elint-warning): Use elint-log for a bytecomp-style format.
 -      Distinguish errors and warnings.
 -      (elint-log-message): Use with-current-buffer.  Inhibit read-only.
 -      Use a bytecomp-style format.
 -      (elint-clear-log): Preserve default-directory.  Inhibit read-only.
 -      (elint-get-log-buffer): Use compilation mode.  Disable undo.
 -      Don't truncate lines.
 -      (elint-initialize): Set builtin and autoloaded variable lists.
 -      Only process elint-unknown-builtin-args if non-nil.
 -      (elint-find-builtin-variables, elint-find-autoloaded-variables):
 -      New functions.
 -      (elint-find-builtin-args): Doc fix.  Handle "BODY...)".
 -
 -2009-07-22  Kevin Ryde  <user42@zip.com.au>
 -
 -      * net/newst-backend.el (newsticker--parse-atom-1.0)
 -      (newsticker--parse-rss-0.91, newsticker--parse-rss-0.92)
 -      (newsticker--parse-rss-1.0):
 -      * progmodes/idlwave.el (idlwave-mode):
 -      * progmodes/idlw-shell.el (idlwave-shell-mode):
 -      * progmodes/vera-mode.el (vera-mode):
 -      * progmodes/verilog-mode.el (verilog-auto-inst, verilog-auto):
 -      * progmodes/vhdl-mode.el (vhdl-mode):
 -      * textmodes/table.el (table-generate-source)
 -      (table--warn-incompatibility):
 -      Hyperlink urls in docstrings with URL `...'.
 -
 -2009-07-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/advice.el, emacs-lisp/checkdoc.el:
 -      * emacs-lisp/debug.el, emacs-lisp/elp.el, emacs-lisp/gulp.el:
 -      * emacs-lisp/lisp.el, emacs-lisp/pp.el, emacs-lisp/trace.el:
 -      Remove leading * from defcustom docs.
 -
 -      * simple.el (blink-matching-paren-distance): Bump to 100k.  (Bug#3889)
 -
 -      * emacs-lisp/shadow.el (shadows-compare-text-p): Remove leading * from
 -      defcustom doc.
 -      (list-load-path-shadows): Optionally, just return shadows as a string.
 -
 -      * mail/emacsbug.el (report-emacs-bug): Include any load-path shadows.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * mail/rmailedit.el (rmail-edit-mode):
 -      Use auto-save-include-big-deletions.
 -
 -      * mail/rmail.el (rmail-variables):
 -      Use auto-save-include-big-deletions.
 -
 -      * files.el (auto-save-mode): Revert 2009-07-21 and 2009-07-16
 -      changes.
 -
 -2009-07-21  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc.el (calc-undo-length): New variable.
 -      (calc-quit): Truncate rather than eliminate `calc-undo-list'.
 -
 -2009-07-21  Richard Stallman  <rms@gnu.org>
 -
 -      * files.el (auto-save-mode): Handle buffer-save-size = -2
 -      for toggling mode.
 -
 -2009-07-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * textmodes/ispell.el (ispell-looking-back): Update declaration.
 -
 -      * calendar/todo-mode.el (calendar-current-date): Update declaration.
 -
 -      * ps-print.el (ps-jitify, ps-lazify): Remove aliases only used to
 -      silence compiler.  Instead...
 -      (jit-lock-fontify-now, lazy-lock-fontify-region): ...Declare.
 -      (ps-print-ensure-fontified): Update for above function name changes.
 -
 -      * printing.el (pr-mh-get-msg-num, pr-mh-show)
 -      (pr-mh-start-of-uncleaned-message): Remove aliases only used to
 -      silence compiler.  Instead...
 -      (mh-get-msg-num, mh-show, mh-start-of-uncleaned-message): ...Declare.
 -      (mh-show-buffer): Only define for compiler.
 -      (pr-mh-current-message): Update for above function name changes.
 -
 -      * files.el (abort-if-file-too-large): Explicitly pass `filename'
 -      as an argument.
 -      (find-file-noselect, insert-file-1): Update for above change.
 -
 -      * mail/rmail.el (rmail-retry-ignored-headers): Bump :version.
 -
 -      * mail/mailclient.el (mailclient-send-it): Fix message.
 -
 -      * emacs-lisp/edebug.el (cl-debug-env): Only define for compiler.
 -      (edebug-eval): Check cl-debug-env is bound.
 -      (print-level, print-circle): Don't redefine built-in variables.
 -
 -      * emacs-lisp/cust-print.el: Remove leading * from defcustom docs.
 -      (custom-print-vectors): Remove old comments from doc.
 -
 -      * emerge.el (menu-bar-emerge-menu): Remove unused variable.
 -      (emerge-version): Make the variable an obsolete alias for the
 -      emacs-version variable.  Make the function obsolete.
 -      (emerge-fast-keymap, emerge-edit-keymap): Make a separate menu for
 -      Emerge options, rather than merging in into the main Options menu.
 -      (emerge-options-menu): Adjust menu text.  Use buttons for skip prefers
 -      and auto advance modes.  Disable edit/fast items when not relevant.
 -
 -2009-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term/vt420.el (terminal-init-vt420): Fix typo.
 -
 -2009-07-20  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/ada-mode.el (compile-auto-highlight): Remove the
 -      variable (removed from compile.el on 2004-03-11).
 -
 -2009-07-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-local-variables-filter): Fix last change.
 -
 -2009-07-19  Juri Linkov  <juri@jurta.org>
 -
 -      * files.el (ignored-local-variables): Add `dir-local-variables-alist'.
 -      (dir-local-variables-alist): New buffer-local variable.
 -      (hack-local-variables-filter): If variable is not dir-local,
 -      i.e. `dir-name' is nil, then remove it from `dir-local-variables-alist',
 -      because file-local overrides dir-local.
 -      (c-postprocess-file-styles) <declare-function>:
 -      Remove obsolete declaration.
 -      (hack-dir-local-variables): Add dir-local variable/value pair to
 -      `dir-local-variables-alist' and remove duplicates.  Doc fix.
 -
 -      * help-fns.el (describe-variable): Add information about
 -      file-local and dir-local variables.
 -
 -2009-07-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (hack-local-variables-filter): Rewrite.
 -
 -2009-07-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/verilog-mode.el (verilog-error-regexp-add-xemacs):
 -      Silence compiler by only defining on XEmacs.
 -
 -      * international/mule.el (auto-coding-regexp-alist): Only match
 -      BABYL... at the start of buffer, not of lines.  (Bug#3790)
 -
 -      * calendar/cal-menu.el (cal-menu-set-date-title): Handle calls from
 -      non-calendar buffers (Bug#3862).  Restore "not on a date" message.
 -      (cal-menu-context-mouse-menu): Doc fix.
 -
 -      * desktop.el (desktop-buffers-not-to-save): Set :version tag.
 -
 -      * simple.el (mail-user-agent): Doc fix.  Set :version tag.
 -
 -2009-07-18  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el: Virtual Info keyword finder.
 -      (add-to-list) <Info-virtual-files>: Add "\\`\\*Finder.*\\*\\'".
 -      (Info-finder-file): New variable.
 -      (Info-finder-find-file): New function.
 -      (finder-known-keywords, finder-package-info)
 -      (find-library-name, lm-commentary): Use defvar and
 -      declare-function to silence compiler warnings.
 -      (Info-finder-find-node): New function.
 -      (info-finder): New command.
 -
 -      * subr.el (process-kill-buffer-query-function): New function.
 -      (add-hook)<kill-buffer-query-functions>: Add hook
 -      `process-kill-buffer-query-function'.
 -
 -2009-07-18  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-mode.el (c-before-hack-hook)
 -      (c-postprocess-file-styles): Give invocation of `c-set-style'
 -      DONT-OVERRIDE parameter of t.  Already set style variables will
 -      thus not be overridden by style settings given by `c-file-syle'.
 -
 -      * files.el (hack-local-variables-filter): Remove entries with
 -      duplicate keys from `file-local-variables-alist'.
 -
 -2009-07-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * simple.el (deactivate-mark, activate-mark, set-mark): Don't call
 -      x-set-selection if display-selections-p returns nil for the
 -      current frame.
 -
 -2009-07-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (region-active-p, use-region-p): Doc fix (Bug#3873).
 -
 -2009-07-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * desktop.el (desktop-buffers-not-to-save): Default value is nil.
 -      Accept nil in addition to a regexp.
 -      (desktop-files-not-to-save): Add "(ftp)$" to the default regexp.
 -      Accept nil in addition to a regexp.
 -      (desktop-save-buffer-p): Don't use desktop-buffers-not-to-save for
 -      buffers that have an associated file.  Handle nil values of
 -      desktop-buffers-not-to-save and desktop-files-not-to-save.
 -      (Bug#3833)
 -
 -      * term/pc-win.el (x-selection-owner-p, x-own-selection-internal)
 -      (x-disown-selection-internal): New functions.
 -
 -2009-07-18  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (speedbar-frame): Declare to avoid compiler
 -      warning.
 -      (gdb-breakpoints-header): Move forward to avoid compiler warning.
 -      (gdb-make-header-line-mouse-map): Remove duplicate definition.
 -
 -2009-07-18  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * simple.el (set-mark): Revert last change.
 -
 -2009-07-17  Tassilo Horn  <tassilo@member.fsf.org>
 -
 -      * doc-view.el (doc-view-initiate-display): Add yes-or-no-p if
 -      rendering of pngs is not possible instead of messaging a long
 -      description.
 -
 -2009-07-17  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * w32-fns.el (x-selection-owner-p): New function.
 -
 -      * mouse.el (mouse-drag-track): Call deactivate-mark earlier.
 -      (mouse-yank-at-click, mouse-yank-primary):
 -      If select-active-regions is non-nil, deactivate the mark before
 -      insertion.
 -
 -      * simple.el (deactivate-mark, set-mark): Only save selection if we
 -      own it.
 -
 -2009-07-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * case-table.el (describe-buffer-case-table): Fix for the case
 -      that KEY is a cons.
 -
 -2009-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-rcs.el (vc-rcs-find-file-hook):
 -      * vc-sccs.el (vc-sccs-find-file-hook): Fix cut and paste error.
 -
 -2009-07-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-wait-for-output): Handle the case when
 -      commands do not return a newline but a null byte before the shell
 -      prompt.  (Bug#3858)
 -
 -2009-07-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * term/ns-win.el (ns-set-alpha): Don't declare.
 -      (ns-set-background-alpha): Remove function.
 -
 -2009-07-16  Kevin Ryde  <user42@zip.com.au>
 -
 -      * emacs-lisp/copyright.el (copyright-update): Save match-data across
 -      y-or-n-p, for safety.
 -
 -2009-07-16  Richard Stallman  <rms@gnu.org>
 -
 -      * files.el (auto-save-mode): If buffer-saved-size is -2,
 -      don't clobber it.
 -
 -      * mail/rmail.el (rmail-variables): Set buffer-saved-size to -2.
 -      (rmail-retry-ignored-headers): Add more uninteresting fields.
 -
 -2009-07-15  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * net/rcirc.el (rcirc): Use history variables.
 -      (rcirc-server-name-history, rcirc-nick-name-history)
 -      (rcirc-server-port-history): New variables.
 -
 -2009-07-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (set-language-environment-charset):
 -      If coding-system-charset-list returns `iso-2022' or `emacs-mule',
 -      ignore them.
 -
 -      * language/misc-lang.el ("IPA"): Change coding systems to utf-8.
 -      Delete unibyte-display.
 -
 -2009-07-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (kill-visual-line): Obey kill-whole-line (Bug#3695).
 -
 -2009-07-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (deactivate-mark): Optional argument FORCE.
 -      (set-mark): Use deactivate-mark.
 -
 -      * info.el (Info-search): No need to check transient-mark-mode
 -      before calling deactivate-mark.
 -
 -      * select.el (x-set-selection): Doc fix.
 -      (x-valid-simple-selection-p): Allow buffer values.
 -      (xselect--selection-bounds): Handle buffer values.
 -      Suggested by David De La Harpe Golden.
 -
 -      * mouse.el (mouse-set-region, mouse-drag-track):
 -      Call copy-region-as-kill before setting the mark, to let
 -      select-active-regions work.
 -
 -2009-07-15  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * simple.el (deactivate-mark): If select-active-regions is
 -      non-nil, copy the selection data into a string.
 -      (activate-mark): If select-active-regions is non-nil, set the
 -      selection to the current buffer.
 -      (set-mark): Update selection if select-active-regions is non-nil.
 -
 -      * select.el (x-valid-simple-selection-p): Allow buffer values.
 -
 -2009-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * simple.el (mail-user-agent): Default to the upwardly-UI-compatible
 -      and more featureful message-mode.
 -
 -2009-07-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * select.el (x-set-selection): Doc fix.
 -      (x-valid-simple-selection-p): Disallow selection data consisting
 -      of a list or cons of integers, since that is not used.
 -      (xselect--selection-bounds, xselect--int-to-cons): New functions.
 -      (xselect-convert-to-string, xselect-convert-to-length)
 -      (xselect-convert-to-filename, xselect-convert-to-charpos)
 -      (xselect-convert-to-lineno, xselect-convert-to-colno): Use them.
 -
 -2009-07-14  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (json-partial-output): Fix broken GDB/MI
 -      output in -break-info command (Emacs bug #3794).
 -
 -2009-07-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs-lisp/edebug.el (edebug-setup-hook, edebug-all-forms)
 -      (edebug-eval-macro-args, edebug-save-displayed-buffer-points)
 -      (edebug-print-length, edebug-print-level, edebug-print-circle)
 -      (edebug-sit-for-seconds, edebug-view-outside)
 -      (edebug-bounce-point, edebug-set-global-break-condition)
 -      (edebug-Go-nonstop-mode, edebug-trace-mode)
 -      (edebug-Trace-fast-mode, edebug-continue-mode)
 -      (edebug-Continue-fast-mode, edebug-forward-sexp, edebug-help)
 -      (edebug-visit-eval-list): Doc fixes.
 -
 -      * subr.el (def-edebug-spec): Doc fix.
 -
 -2009-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/characters.el: Fix setting of category ?C.
 -
 -2009-07-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * term/ns-win.el (x-select-font): defalias x-select-font to
 -      ns-popup-font-panel instead of generate-fontset-menu.
 -
 -2009-07-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * desktop.el (desktop-buffers-not-to-save): Remove ".log".  (Bug#3833)
 -
 -2009-07-12  Peter Jolly  <peter@jollys.org>  (tiny change)
 -
 -      * arc-mode.el (archive-find-type): Allow for a PK00 string before
 -      the PK\003\004 header (Bug#3770).
 -
 -2009-07-12  Guanpeng Xu  <herberteuler@hotmail.com>
 -
 -      * pcomplete.el (pcomplete-comint-setup): Check for
 -      shell-dynamic-complete-filename too.
 -
 -2009-07-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * simple.el (temporary-goal-column): Change the value for
 -      line-move-visual to a cons cell.
 -      (line-move-visual): Record or set the window hscroll, if
 -      necessary (Bug#3494).
 -      (line-move-1): Handle cons value of temporary-goal-column.
 -
 -2009-07-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-diag.el (describe-character-set): Don't show
 -      width.
 -
 -2009-07-10  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/compile.el (compilation-mode-font-lock-keywords):
 -      Omake sometimes indents the errors it prints, so allow all
 -      regexps to start with spaces.
 -
 -2009-07-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * cus-edit.el (customize-changed-options-previous-release):
 -      Bump value to 22.1.  (Bug#3804)
 -
 -2009-07-08  Sam Steingold  <sds@gnu.org>
 -
 -      * progmodes/grep.el (rgrep): Allow grep-find-ignored-directories
 -      to be a cons cell (test . ignored-directory) to selectively ignore
 -      some directories depending on the location of the search.
 -
 -2009-07-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-set-file-uid-gid): Handle the case the
 -      remote user is root, on the local host.
 -      (tramp-local-host-p): Either the local user or the remote user
 -      must be root.  (Bug#3771)
 -
 -2009-07-08  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb): Remove description of
 -      gdb-use-separate-io-buffer.
 -      (menu): Don't allow toggling of or enable
 -      gdb-use-separate-io-buffer from menubar.
 -
 -2009-07-08  E. Jay Berkenbilt  <ejb@ql.org>  (tiny change)
 -
 -      * mail/unrmail.el (unrmail): Make sure the message ends with two
 -      newlines (Bug#3769).
 -
 -2009-07-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * calendar/calendar.el (calendar-current-date): Rework previous change.
 -
 -2009-07-08  Ed Reingold  <reingold@emr.cs.iit.edu>
 -
 -      * calendar/calendar.el (calendar-current-date):
 -      Add an optional argument giving an offset from today.
 -
 -2009-07-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * tutorial.el (tutorial--describe-nonstandard-key):
 -      Adjust the message for when a key has been unbound.
 -      (help-with-tutorial): Hide the arch-tag.
 -
 -2009-07-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (setup-default-fontset): For each
 -      script, append (not set) font-specs.
 -
 -      * language/japanese.el (japanese-shift-jis-2004): Fix typo in the
 -      docstring.
 -
 -2009-07-08  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * progmodes/gdb-mi.el (gdb-init-1): Move sending
 -      -data-list-register-names to ...
 -      (gdb-starting): ... here because GDB 7.0 requires execution to
 -      have started when using this MI command.
 -      (gdb-set-header): New function to distinguish select and
 -      unselected tabs in gdb buffers.
 -      (gdb-propertize-header): New macro that uses gdb-set-header.
 -      (gdb-breakpoints-header, gdb-locals-header): Use it.
 -      (gdb-disassembly-mode-map): Add keybinding to kill buffer.
 -
 -2009-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (ELCFILES): Remove fadr.elc.
 -
 -2009-07-07  Dmitry Dzhus  <dima@sphinx.net.ru>
 -
 -      * progmodes/gdb-mi.el (gdb-init-1): Disassembly buffer mode name
 -      may contain frame information, so `string-match' should be used.
 -      (gdb-update): Disassembly is invalidated through
 -      `gdb-get-selected-frame'.
 -      (gdb-pad-string): New function to pad string with spaces.
 -      (gdb-invalidate-disassembly): Invalidate only if the buffer
 -      exists.
 -      (gdb-disassembly-handler-custom): Column alignment.
 -      (gdb-disassembly-place-breakpoints): Clear old breakpoints before
 -      placing new ones.
 -      (gdb-toggle-breakpoint, gdb-delete-breakpoint): Now work from the
 -      end of line, too.
 -      (gdb-frame-handler): Match convention to for disassembly buffer
 -      mode name.
 -      (gdb-stack-list-frames-handler): Rewritten without regexps.
 -      (gdb-breakpoints-list-handler-custom): y/n instead of on/off; do
 -      not highlight breakpoints without line information.
 -      (gdb-input): Add trailing newline to command.
 -
 -      * progmodes/gdb-mi.el (gdb-init-1): Set mode name for disassembly
 -      buffer properly.
 -      (gdb-breakpoints-list-handler-custom): Replacement for
 -      `gdb-break-list-handler'.  Using real parser instead of regexps
 -      now.
 -      (gdb-place-breakpoints): Replacement for `gdb-break-list-custom'.
 -      Use `gdb-breakpoints-list' instead of parsing breakpoints buffer
 -      to place breakpoints.
 -      (def-gdb-memory-unit): A new macro to define gdb-memory-unit-..
 -      functions.
 -      (gdb-disassembly-handler-custom): Show overlay arrow.
 -      (gdb-disassembly-place-breakpoints): Show breakpoints in
 -      disassembly buffer.
 -      (gdb-toggle-breakpoint, gdb-delete-breakpoint)
 -      (gdb-goto-breakpoint): Using `gdb-breakpoint' text properties
 -      instead of parsing breakpoints buffer.  Fixed old menu references
 -      in `gud-menu-map'.
 -
 -      * fadr.el: Remove.
 -
 -      * progmodes/gdb-mi.el: Port memory buffer from gdb-ui.el.
 -      (gdb-memory-address): New variable which holds top address of
 -      memory page shown in memory buffer.
 -      (gdb-memory-repeat-count, gdb-memory-format, gdb-memory-unit):
 -      New customization variables.
 -      New functions:
 -      (gdb-display-memory-buffer, gdb-frame-memory-buffer): Functions to
 -      display the memory buffer.
 -      (gdb-memory-set-address, gdb-memory-set-repeat-count): Set memory
 -      buffer display parameters.
 -      (def-gdb-memory-format, gdb-memory-format-binary)
 -      (gdb-memory-format-octal, gdb-memory-format-unsigned)
 -      (gdb-memory-format-signed, gdb-memory-format-hexadecimal):
 -      Functions for setting memory buffer format.
 -      (gdb-memory-unit-word, gdb-memory-unit-halfword)
 -      (gdb-memory-unit-giant, gdb-memory-unit-byte): Functions to set
 -      unit size used in memory buffer.
 -      (gdb-memory-show-next-page, gdb-memory-show-previous-page):
 -      Switch to next/previous page of memory buffer.
 -      Now using (bindat-get-field) instead of fadr functions.
 -
 -2009-07-07  Sam Steingold  <sds@gnu.org>
 -
 -      * vc-cvs.el (vc-cvs-merge-news): Fix message parsing for
 -      non-top-level files.
 -
 -2009-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule-cmds.el (reset-language-environment):
 -      Put the highset priority to the charset iso-8859-1.
 -
 -2009-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * progmodes/hideshow.el (hs-hide-block-at-point): Don't move point
 -      to the end of the line when locating the block (Bug#700).
 -
 -2009-07-06  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-handle-write-region): Flush file properties
 -      in case of short track.
 -
 -2009-07-06  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist):
 -      Coded custom representation of verilog error regular expressions
 -      to work with Emacs-22's new format.
 -      (verilog-error-regexp-xemacs-alist): Coded custom representation
 -      of verilog error regular expressions to work with XEmacs format.
 -      (verilog-error-regexp-add-xemacs): Hook routine to install verilog
 -      error recognition into XEmacs.
 -      (verilog-error-regexp-add-emacs): Hook routine to install verilog
 -      error recognition into Emacs-22.
 -
 -2009-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * woman.el: Remove stand-alone closing parentheses.
 -      (woman-file-name, woman2-format-paragraphs)
 -      (woman-leave-blank-lines): Code cleanup.
 -      (woman-use-own-frame): Change default to nil.
 -      (woman-italic, woman-bold, woman-unknown, woman-addition):
 -      Change defaults to inherit from default faces.
 -      (woman2-process-escapes): Consume the newline after a stand-alone
 -      filler character (Bug#3651).
 -
 -2009-07-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * ffap.el (ffap-version): Make it an obsolete alias for emacs-version.
 -      (top-level): Move provide to the end.
 -      (ffap): Remove defunct URL from custom group.
 -
 -      * subr.el (eval-after-load): Doc fix.
 -
 -2009-07-06  Vincent Belaïche  <vincent.belaiche@gmail.com>
 -
 -      * calc/calc-embed.el (calc-embedded-make-info): Don't force when
 -      `calc-embedded-word' is called twice.
 -
 -2009-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * files.el (find-alternate-file-other-window, find-alternate-file):
 -      Obey confirm-nonexistent-file-or-buffer.
 -
 -2009-07-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dired-aux.el (dired-show-file-type): Handle remote files.
 -
 -2009-07-05  Jari Aalto  <jari.aalto@cante.net>
 -
 -      * desktop.el (desktop-globals-to-save):
 -      Add file-name-history (Bug#2750).
 -
 -2009-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * add-log.el (add-log-current-defun-header-regexp): Doc fix (Bug#2217).
 -
 -2009-07-04  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * eshell/esh-arg.el (eshell-parse-argument-hook): Put `number'
 -      property on entire argument since this is what eshell-lisp-command
 -      expects.
 -
 -2009-07-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-methods)
 -      (tramp-gvfs-zeroconf-domain)
 -      (tramp-bluez-discover-devices-timeout): Add version flag.
 -      (tramp-gvfs-handler-mounted-unmounted)
 -      (tramp-gvfs-connection-mounted-p): Polish handling of
 -      incompatibilities between GVFS 0.2 and 1.0.
 -
 -2009-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * cus-start.el (all): Add make-pointer-invisible.
 -
 -2009-07-03  Jay Belanger  <jay.p.belanger@gmail.com>
 -
 -      * calc/calc-math.el (math-use-emacs-fn): Make sure that the number is
 -      formatted correctly.
 -
 -2009-07-02  Juri Linkov  <juri@jurta.org>
 -
 -      * info.el: Virtual Info files and nodes.
 -      (Info-virtual-files, Info-virtual-nodes): New variables.
 -      (Info-current-node-virtual): New variable.
 -      (Info-virtual-file-p, Info-virtual-fun, Info-virtual-call):
 -      New functions.
 -      (Info-file-supports-index-cookies): Use Info-virtual-file-p
 -      to check for a virtual file instead of checking a fixed list
 -      of node names.
 -      (Info-find-file): Use Info-virtual-fun and Info-virtual-call
 -      instead of ad-hoc processing of "dir" and (apropos history toc).
 -      (Info-find-node-2): Use Info-virtual-fun and Info-virtual-call
 -      instead of ad-hoc processing of "dir" and (apropos history toc).
 -      Reread a file when moving from a virtual node.
 -      (add-to-list)<Info-virtual-files>: Add "\\`dir\\'".
 -      (Info-directory-toc-nodes, Info-directory-find-file)
 -      (Info-directory-find-node): New functions.
 -      (add-to-list)<Info-virtual-files>: Add "\\`\\*History\\*\\'".
 -      (Info-history): Move part of code to
 -      `Info-history-find-node'.
 -      (Info-history-toc-nodes, Info-history-find-file)
 -      (Info-history-find-node): New functions.
 -      (add-to-list)<Info-virtual-nodes>: Add "\\`\\*TOC\\*\\'".
 -      (Info-toc): Move part of code to `Info-toc-find-node'.
 -      (Info-toc-find-node): New function.
 -      (Info-toc-insert): Rename from `Info-insert-toc'.  Don't insert
 -      the current Info file name to references because now the node
 -      "*TOC*" belongs to the same Info manual.
 -      (Info-toc-build): Rename from `Info-build-toc'.
 -      (Info-toc-nodes): Rename input argument `file' to `filename'.
 -      Use Info-virtual-fun, Info-virtual-call and Info-virtual-file-p
 -      instead of ad-hoc processing of ("dir" apropos history toc).
 -      (Info-index-nodes): Use Info-virtual-file-p
 -      to check for a virtual file instead of checking a fixed list
 -      of node names.
 -      (Info-index-node): Add check for `Info-current-node-virtual'.
 -      Raise `save-match-data' higher up the tree to contain
 -      `search-forward' too (bug fix).
 -      (add-to-list)<Info-virtual-nodes>: Add "\\`\\*Index.*\\*\\'".
 -      (Info-virtual-index-nodes): New variable.
 -      (Info-virtual-index-find-node, Info-virtual-index): New functions.
 -      (add-to-list)<Info-virtual-files>: Add "\\`\\*Apropos\\*\\'".
 -      (Info-apropos-file, Info-apropos-nodes): New variables.
 -      (Info-apropos-toc-nodes, Info-apropos-find-file)
 -      (Info-apropos-find-node, Info-apropos-matches): New functions.
 -      (info-apropos): Move part of code to `Info-apropos-find-node' and
 -      `Info-apropos-matches'.
 -      (Info-mode-map): Bind "I" to `Info-virtual-index'.
 -      (Info-desktop-buffer-misc-data): Use Info-virtual-file-p to check
 -      for a virtual file instead of checking a fixed list of node names.
 -
 -      * simple.el (async-shell-command): New command.
 -
 -      * bindings.el (esc-map): Bind "&" to `async-shell-command'.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-connection-mounted-p): Use `elt'
 -      instead of `mount-info'.
 -
 -2009-07-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
 -      (tramp-gvfs-connection-mounted-p): Handle changed mount-info interface.
 -
 -2009-07-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/mule.el (set-keyboard-coding-system): Force *-unix
 -      coding-system to avoid eol conversion.
 -
 -2009-07-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
 -      Add handler for `process-file', `shell-command' and
 -      `start-file-process'.
 -      (tramp-gvfs-handle-shell-command)
 -      (tramp-gvfs-handle-start-file-process)
 -      (tramp-gvfs-handle-process-file): New defuns.
 -      (tramp-synce-list-devices): Simplify check for existence of property.
 -
 -2009-07-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * startup.el (command-line-x-option-alist): Add -mm and --maximized.
 -
 -2009-07-01  Eduard Wiebe  <usenet@pusto.de>  (tiny change)
 -
 -      * language/korean.el (set-language-info-alist): Add korean-cp949,
 -      cp949 to spec.
 -
 -2009-07-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (ELCFILES): Delete encoded-kb.elc.
 -
 -      * international/encoded-kb.el: Deleted.
 -
 -      * international/mule.el (set-keyboard-coding-system): Perform the
 -      necessary setup here instead of calling encoded-kbd-setup-display.
 -
 -2009-07-01  Glenn Morris  <rgm@gnu.org>
 -
 -      * progmodes/f90.el (f90-break-delimiters, f90-no-break-re): Doc fixes.
 -
 -2009-07-01  Evangelos Evangelou  <vangelis@email.unc.edu>  (tiny change)
 -
 -      * progmodes/f90.el (f90-no-break-re): Add "(/" and "/)".  (Bug#3730)
 -
 -2009-06-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-directly):
 -      Handle also the 'rename case, when setting file modes.  (Bug#3712)
 -      (tramp-default-file-modes): Remove execute permissions.
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-methods): Add "synce" method.
 -      (top): Add a default for "synce" in `tramp-default-user-alist'.
 -      Add completion function for "synce" method.
 -      (tramp-hal-service, tramp-hal-path-manager)
 -      (tramp-hal-interface-manager, tramp-hal-interface-device):
 -      New defconst.
 -      (tramp-gvfs-connection-mounted-p): Handle empty user name for synce.
 -      (tramp-synce-list-devices, tramp-synce-parse-device-names):
 -      New defuns.
 -
 -      * net/trampver.el: Update release number.
 -
 -2009-06-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * international/fontset.el (setup-default-fontset): Add CJK fonts
 -      for symbols and the other miscellaneous characters.
 -
 -      * language/korea-util.el (setup-korean-environment-internal):
 -      Make char-width-table suitable for Korean environments.
 -      (exit-korean-environment): Cancel above.
 -
 -      * language/chinese.el ("Chinese-GB", "Chinese-BIG5")
 -      ("Chinese-CNS", "Chinese-EUC-TW", "Chinese-GBK"): Add a
 -      setup-function to make char-width-table suitable for respective
 -      environments, and an exit-function to cancel that.
 -
 -      * language/japan-util.el (setup-japanese-environment-internal):
 -      Call use-cjk-char-width-table with arg `ja_JP'.
 -
 -      * international/characters.el (cjk-char-width-table): Delete it.
 -      (cjk-char-width-table-list): New variable.
 -      (use-cjk-char-width-table): New arg local-name.
 -      (use-default-char-width-table): Fix for the case that Emacs is
 -      already using the default char-width-table.
 -
 -2009-06-29  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp.el (tramp-do-copy-or-rename-file-directly): Set file
 -      modes mandatory.  (Bug#3712)
 -
 -2009-06-29  Alan Mackenzie  <acm@muc.de>
 -
 -      * progmodes/cc-cmds.el (c-mask-paragraph): Remove a spurious
 -      correction between the visible width of TABs and their number of bytes.
 -
 -2009-06-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * server.el (server-buffer-done): Prevent kill-buffer from
 -      prompting by clearing the buffer modification flag (Bug#3696).
 -
 -2009-06-28  Michael McNamara  <mac@mail.brushroad.com>
 -
 -      * progmodes/verilog-mode.el (verilog-beg-of-statement)
 -      (verilog-endcomment-reason-re): Support unique case and priority case.
 -      (verilog-basic-complete-re): Support localparam lineup.
 -      (verilog-beg-of-statement-1): Fix for robustness, unique case.
 -      (verilog-set-auto-endcomments): Fix for unique case, always_comb
 -      commenting.
 -      (verilog-leap-to-case-head): Now support *nested* unique &
 -      priority case statements.
 -      (verilog-auto-lineup): Make just declarations the default (as it
 -      had been).
 -      (verilog-leap-to-case-head): Support priority/unique case statements.
 -      (verilog-auto-lineup): Rework to give users radio buttons to
 -      select the various styles of automatic lineup.
 -      (verilog-error-regexp-alist): Rework to support the XEmacs style
 -      of error regular expressions from compilers, lint tools &
 -      simulators.  Note that GNU Emacs has made it impossible for a mode
 -      to load such things.
 -      (electric-verilog-terminate-line, verilog-indent-declaration)
 -      (verilog-auto-wiure): Rework for radio button selection of
 -      auto-lineup selection of specification of auto lineup.
 -      (verilog-beg-of-statement-1): Redesign to support proper operation
 -      in additional code, based on testing with auto-lineup.
 -      (verilog-calculate-indent, assignments & declarations)
 -      (verilog-backward-token): Enhance to support auto-lineup of
 -      assignments & declarations.
 -      (verilog-in-directive-p, verilog-at-struct-p): New function for
 -      easy test of whether we are.
 -      (verilog-pretty-declarations, verilog-pretty-expr): Massive rework
 -      to support safe execution at almost anyline.
 -      (verilog-calc-1): Properly support indenting deep inside generate
 -      blocks.
 -      (verilog-init-font): Remove definition & use of verilog-init-font,
 -      as it is redundant with font-lock-defaults.
 -      (verilog-mode): Alter the definition of verilog-font-lock-defaults
 -      to avoid circular calls if syntax-ppss is a function (as is the
 -      case now in 22.x GNU Emacs) as that function would sometimes call
 -      itself, leading to (nearly) infinite recursion.
 -      (verilog-ovm-begin-re, verilog-ovm-end-re)
 -      (verilog-ovm-statement-re, verilog-leap-to-head)
 -      (verilog-backward-token): Add support for OVM macros.  Some are
 -      complete statements, and others open and close scopes like begin
 -      and end.
 -      (verilog-defun-level-not-generate-re, verilog-defun-level-re)
 -      (verilog-defun-level-generate-only-re): Really fix the defun-list
 -      compilation issue.
 -      (verilog-calc-1, verilog-beg-of-statement): Enhance support for
 -      coverpoint, constraint and cross statements.
 -      (verilog-defun-level-list, verilog-generate-defun-level-list)
 -      (verilog-all-defun-level-list): Redo these specifications - it is
 -      too hard to support eval-when compile aggregation of lists also
 -      built at when-compile time.
 -      (verilog-defun-level-list): Place defconsts of variables used in
 -      building regular expressions which are built in eval-when-compile
 -      bodies in the same eval-when-compile body to facilitate compile
 -      without load.
 -      (verilog-beg-block-re-ordered): Support indenting
 -      virtual/protected tasks and functions.
 -      (verilog-defun-level-list, verilog-in-generate-region-p)
 -      (verilog-backward-ws&directives, verilog-calc-1): Speed up
 -      indentation of some module items (generate items).
 -      (verilog-forward-sexp, verilog-leap-to-head): Support stepping
 -      across virtual/protected tasks and functions.
 -
 -2009-06-28  Wilson Snyder  <wsnyder@wsnyder.org>
 -
 -      * progmodes/verilog-mode.el (verilog-auto-arg, verilog-auto-arg-sort):
 -      Allow sorting AUTOARG lists.  Suggested by Andrea Fedeli.
 -      (verilog-read-sub-decls-line): Fix AUTOWIRE signals getting lost
 -      in concatenations.  Reported by Yishay Belkind.
 -      (verilog-auto-ascii-enum): Support one-hot state machines in
 -      AUTOASCIIENUM.  Suggested by Lloyd Gomez.
 -      (verilog-auto-inst, verilog-auto-inst-port): Include interface
 -      modport in AUTOINST and add vl-modport for users.
 -      Reported by David Rogoff.
 -      (verilog-auto-inout-module, verilog-auto-inst)
 -      (verilog-decls-get-interfaces, verilog-insert-definition)
 -      (verilog-insert-one-definition, verilog-read-decls)
 -      (verilog-read-sub-decls, verilog-read-sub-decls-sig)
 -      (verilog-sig-modport, verilog-signals-combine-bus)
 -      (verilog-subdecls-get-interfaces): Fix expansion of SystemVerilog
 -      interfaces in AUTOINOUTMODULE, AUTOINOUTCOMP, and AUTOINST.
 -      Suggested by David Rogoff.
 -      (verilog-repair-open-comma): Fix non-insertion of comma when
 -      `DEFINE occurs in V2K argument list.  Reported by Lane Brooks.
 -      (verilog-make-width-expression): Simplify [A-1:0] expression
 -      widths to just {A{1'b0}}.
 -      (verilog-mode): Cleanup checkdoc warnings.
 -      (verilog-auto-inout-module, verilog-signals-matching-dir-re):
 -      Add third optional regexp to AUTOINOUTMODULE to allow selecting only
 -      inputs/outputs or data type.  Suggested by Vasu Kandadi.
 -      (next-error-last-buffer): Fix byte-compiler warning.
 -      (verilog-auto, verilog-auto-insert-lisp, verilog-auto-inst)
 -      (verilog-delete-auto): Add AUTOINSERTLISP to insert arbitrary lisp
 -      or shell command text during AUTO expansion.  Suggested by Tad Truex.
 -      (verilog-read-sub-decls-expr, verilog-read-sub-decls-line)
 -      (verilog-read-sub-decls-sig, verilog-symbol-detick-text):
 -      Fix dotted nets {a.b,c.d} and excaped identifiers being mis-included
 -      in AUTOINOUT.  Reported by Matthew Lovell.
 -      (verilog-read-always-signals-recurse): Fix AUTORESET "if (a<=b)"
 -      causing use of <= assignments.  Reported by Alex Reed.
 -      (verilog-read-decls): Fix triand, trior, wand, wor to be
 -      recognized by AUTOWIRE.  Reported by Spencer Isaacson.
 -      (verilog-extended-complete-re): Support import "DPI-C" functions.
 -      (verilog-read-always-signals-recurse): Fix AUTORESET of "x <=
 -      y[a+1:a+1]" to not include a in reset list.  Reported by Dan Dever.
 -      (verilog-insert-date, verilog-insert-year)
 -      (verilog-sk-header-tmpl): Fix verilog-header inserting error on
 -      Windows systems.  Reported by Michael Potts.
 -      (verilog-read-module-name): Fix AUTOINST when the child module
 -      declaration's name is a tick define.  Reported by Elliot Mednick.
 -      (verilog-read-decls): Fix V2K parameter bit subscripts getting
 -      passed to next parameter's definition.  Reported by Bruce T.
 -      (verilog-read-decls): Fix detecting "parameter int" when using
 -      AUTOINSTPARAM.  Reported by Bruce T.
 -      (verilog-goto-defun): Fix goto not finding modules unless first
 -      perform a verilog-auto expansion.  Suggested by Lawrence Butcher.
 -      (verilog-mode): Expand -f flag arguments on entry to mode so
 -      verilog-goto-defun will work.  Reported by Lawrence Butcher.
 -      (verilog-getopt): Expand environment variables in -f file
 -      arguments.  Suggested by Lawrence Butcher.
 -      (verilog-set-define): Fix "Symbol's value as variable is void"
 -      when reading enumerations.
 -      (verilog-auto-ascii-enum): Fix duplicate labels in AUTOASCIIENUM.
 -      Suggested by Stephen Peltan.
 -      (verilog-read-defines): Fix reading of enumerations in include
 -      files.  Reported by Steve Peltan.
 -
 -2009-06-28  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * files.el (trash-directory): Fix defcustom type.
 -
 -2009-06-28  Juri Linkov  <juri@jurta.org>
 -
 -      * help-fns.el (describe-function-1): Correctly locate adviced
 -      functions in hyperlink (Bug#2438).
 -
 -2009-06-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * files.el (trash-directory): Change default to nil.
 -      (move-file-to-trash): If trash-directory is nil and
 -      system-move-file-to-trash is unbound, perform freedesktop-style
 -      trashing.
 -
 -2009-06-28  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * files.el (move-file-to-trash): Add freedesktop trash
 -      support (Bug#973).
 -
 -2009-06-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * autorevert.el (global-auto-revert-non-file-buffers)
 -      (global-auto-revert-mode): Doc fixes.
 -
 -2009-06-27  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * emacs-lisp/cl-specs.el (defstruct): Fix :conc-name spec.
 -
 -2009-06-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * faces.el (x-handle-named-frame-geometry): Ensure that we have
 -      opened an X connection before calling x-get-resource (Bug#3194).
 -
 -      * play/doctor.el: Remove reference to obsolete website.
 -      (make-doctor-variables): Correct grammar mistake (Bug#2633).
 -
 -2009-06-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Remove find-file-not-found-hook VC method.  (Bug#2757)
 -      * vc-hooks.el (vc-file-not-found-hook)
 -      (vc-default-find-file-not-found-hook): Remove functions.
 -      (find-file-not-found-functions): Do not add vc-file-not-found-hook.
 -      * vc-rcs.el (vc-rcs-find-file-not-found-hook): Remove function.
 -      * vc.el:
 -      * vc-hg.el:
 -      * vc-git.el: Do not mention find-file-not-found-hook VC method.
 -
 -2009-06-25  Agustín Martín  <agustin.martin@hispalinux.es>
 -
 -      * textmodes/ispell.el: Add `ispell-looking-back' XEmacs
 -      compatibility function for `looking-back'.
 -
 -      * textmodes/flyspell.el (sgml-mode-flyspell-verify):
 -      Use `ispell-looking-back'.
 -
 -2009-06-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-make-directory): Use `dir'
 -      rather than `filename'.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * face-remap.el (text-scale-set): New function.
 -
 -2009-06-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * pcmpl-rpm.el (pcomplete/rpm): Doc fix.
 -
 -      * bindings.el (mode-line-modified): Fix case of "Buffer is modified".
 -
 -      * textmodes/ispell.el (ispell-local-dictionary): Doc fix.
 -
 -      * progmodes/gdb-mi.el (gud-remove, gud-break): Update declarations.
 -
 -      * calendar/cal-dst.el (calendar-time-zone-daylight-rules):
 -      Simplify Persian conditionals.
 -
 -      * calc/calc-graph.el (calc-graph-plot): Avoid assignment to free
 -      variable `filename'.
 -
 -      * comint.el (comint-insert-input): Doc fix.
 -
 -      * Makefile.in (ELCFILES): Fix typo in previous change.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * cus-start.el: Add entry for `recenter-redisplay'.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * vc-hooks.el (vc-stay-local-p, vc-state, vc-working-revision):
 -      Add an optional argument for the backend, use it instead of
 -      calling vc-backend.
 -      (vc-mode-line): Add an optional argument for the backend.
 -      Pass the backend to vc-state and vc-working-revision.  Move code for
 -      special handling for vc-state being a buffer to ...
 -
 -      * vc-rcs.el (vc-rcs-find-file-hook):
 -      * vc-sccs.el (vc-sccs-find-file-hook): ... here.  New functions.
 -
 -      * vc-svn.el (vc-svn-state, vc-svn-dir-status, vc-svn-checkout)
 -      (vc-svn-print-log, vc-svn-diff): Pass 'SVN to vc-state,
 -      vc-stay-local-p and vc-mode-line calls.
 -
 -      * vc-cvs.el (vc-cvs-state, vc-cvs-checkout, vc-cvs-print-log)
 -      (vc-cvs-diff, vc-cvs-annotate-command)
 -      (vc-cvs-make-version-backups-p, vc-cvs-stay-local-p)
 -      (vc-cvs-dir-status): Pass 'CVS to vc-state, vc-stay-local-p and
 -      vc-mode-line calls.
 -
 -      * vc.el (vc-deduce-fileset): Use vc-deduce-fileset instead of
 -      direct comparison.
 -      (vc-next-action, vc-transfer-file, vc-rename-file): Also pass the
 -      backend when calling vc-mode-line.
 -      (vc-register): Do not create a closure for calling the vc register
 -      function, call it directly.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs-lisp/elp.el (elp-output-insert-symname): Add a link face
 -      to make it obvious item can be clicked.
 -
 -      * vc-mtn.el (vc-mtn-after-dir-status, vc-mtn-dir-status): New functions.
 -
 -2009-06-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * language/korea-util.el (korean-key-bindings): Change the binding
 -      of F9 to hangul-to-hanja-conversion.  Bind Hangul_Hanja to the
 -      same command.
 -
 -2009-06-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      Sync with Tramp 2.1.16.
 -
 -      * Makefile.in (ELCFILES): Add net/tramp-gvfs.elc.
 -
 -      * net/tramp.el (top): Require tramp-gvfs.  Catch `tramp-loading',
 -      when a loading of a package fails.  Completion function for rsync
 -      is `tramp-completion-function-alist-ssh'.
 -      (all): Replace all calls of `split-string' and
 -      `tramp-split-string' by `tramp-compat-split-string'.
 -      (tramp-default-method): Use `tramp-compat-process-running-p'.
 -      (tramp-default-proxies-alist): Allow also Lisp forms.
 -      (tramp-remote-path): Add choice "Private Directories".
 -      (tramp-wrong-passwd-regexp): Remove "Tramp connection closed" option.
 -      (tramp-domain-regexp): Allow also "-", "_" and ".".
 -      (tramp-end-of-output): Remove newlines, and add "$" at the end.
 -      (tramp-file-name-handler-alist): Add handler for `dired-uncache'.
 -      (tramp-debug-message): Insert header line in debug buffer.
 -      (tramp-handle-directory-files-and-attributes-with-stat):
 -      Care about filenames with spaces, or starting with "-".
 -      (tramp-handle-dired-uncache): New defun.
 -      (tramp-handle-insert-directory): Don't flush the directory from
 -      cache, this is handled by `dired-uncache' now.
 -      (tramp-handle-insert-file-contents): Improve error handling.
 -      (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
 -      Quote `tramp-end-of-output'.
 -      (tramp-action-password): Improve trace message.
 -      (tramp-check-for-regexp): Both echoes must be present, before removing.
 -      (tramp-open-connection-setup-interactive-shell): Trace coding system.
 -      (tramp-compute-multi-hops): Eval cons cells of
 -      `tramp-default-proxies-alist'.
 -      (tramp-maybe-open-connection): Use the same command pattern for
 -      first hop and further hops.
 -      (tramp-wait-for-output): Remove handling of newlines.
 -      (tramp-get-remote-path): Handle also `tramp-own-remote-path'.
 -      (tramp-split-string): Remove function.  It is handled in
 -      tramp-compat now.
 -
 -      * net/tramp-cmds.el (tramp-bug):
 -      Recommend `tramp-cleanup-all-connections' in the bug mail.
 -
 -      * net/tramp-compat.el (tramp-compat-split-string)
 -      (tramp-compat-process-running-p): New defuns.
 -
 -      * net/tramp-fish.el (tramp-fish-file-name-handler-alist): Add handler
 -      for `dired-uncache'.
 -
 -      * net/tramp-gvfs.el: New package.
 -
 -      * net/tramp-smb.el (tramp-smb-file-name-handler-alist):
 -      Add handler for `dired-uncache'.
 -      (tramp-smb-handle-file-local-copy): Cleanup in case of error.
 -
 -      * net/trampver.el: Update release number.  Make version check fit
 -      for SXEmacs 22.
 +      * shell.el (shell-mode):
 +      Set comint-input-ring-size from HISTSIZE.  (Bug#7889)
  
 -2009-06-22  Jim Meyering  <meyering@redhat.com>
 +      * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change.
 +      Check for GDBHISTFILE, HISTSIZE, etc.  (Bug#7889)
  
 -      Automatically handle .xz suffix (XZ-compressed files), too.
 -      * jka-cmpr-hook.el (jka-compr-compression-info-list): Add xz.
 -      XZ is the successor to LZMA: <http://tukaani.org/xz/>
 +2011-03-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -2009-06-22  Dmitry Dzhus  <dima@sphinx.net.ru>
 -          Nick Roberts  <nickrob@snap.net.nz>
 +      * emacs-lisp/package.el (package-refresh-contents)
 +      (package-menu-execute): Use condition-case-no-debug.
  
 -      * progmodes/gdb-mi.el: Pull further modified changes from Dmitry's
 -      repository (http://sphinx.net.ru/hg/gdb-mi/).
 +2011-03-08  Michael Albinus  <michael.albinus@gmx.de>
  
 -2009-06-22  Glenn Morris  <rgm@gnu.org>
 +      * simple.el (shell-command-to-string): Use `process-file'.
  
 -      * files.el (dir-locals-collect-mode-variables): Allow for any number of
 -      `mode' and `eval' entries.  (Bug#3430)
 +      * emacs-lisp/package.el (package-tar-file-info): Handle also
 +      remote files.
  
 -      * Makefile.in (ELCFILES): Add fadr.elc.
 +      * emacs-lisp/package-x.el (package-upload-buffer-internal):
 +      Use `equal' for upload base check.
  
 -      * calendar/appt.el (appt-make-list): Fix off-by-one error caused by
 -      differing behavior of \n and ^ in strings.  (Bug#3385)
 +2011-03-08  Arni Magnusson  <arnima@hafro.is>  (tiny change)
  
 -      * emacs-lisp/cl-indent.el: Remove leading "*" from defcustom docs.
 +      * textmodes/texinfo.el (texinfo-environments):
 +      Add deftypecv, deftypeivar, deftypemethod, deftypeop, html.  (Bug#2783)
  
 -      * emacs-lisp/lisp-mode.el (lisp-indent-offset): Fix safe-local-variable
 -      property.
 -      (lisp-indent-function): Make it a defcustom.
 +2011-03-08  Glenn Morris  <rgm@gnu.org>
  
 -2009-06-21  Nick Roberts  <nickrob@snap.net.nz>
 +      * cus-start.el (cursor-in-non-selected-windows):
 +      Fix :set quoting oddness.  (Bug#8192)
  
 -      * progmodes/gdb-ui.el: Replace with ...
 -      * progmodes/gdb-mi.el: ... this file.
 -      * progmodes/gud.el: Modify for gdb-mi.el.
 +      * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)'
 +      in some setf expressions.  (Bug#2159)
  
 -2009-06-21  Dmitry Dzhus  <dima@sphinx.net.ru>
 +2011-03-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * fadr.el: New file.
 +      * custom.el (custom-available-themes): Return themes in
 +      alphabetical order.
  
 -See ChangeLog.14 for earlier changes.
 +See ChangeLog.15 for earlier changes.
  
  ;; Local Variables:
  ;; coding: utf-8
  ;; End:
  
 -  Copyright (C) 2009, 2010, 2011  Free Software Foundation, Inc.
 +  Copyright (C) 2011  Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
diff --combined lisp/vc/vc-annotate.el
index 479dbb5caea6a5361ea1a6ee3d7f28587a784b2d,35c105027b3bb8bf6b18fd15c9aa739c99b604f4..271fce124290c0e1fe63f7eca37949e84dd8644f
@@@ -1,11 -1,11 +1,11 @@@
  ;;; vc-annotate.el --- VC Annotate Support
  
 -;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 -;;   2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +;; Copyright (C) 1997-1998, 2000-2011 Free Software Foundation, Inc.
  
  ;; Author:     Martin Lorentzson  <emwson@emw.ericsson.se>
  ;; Maintainer: FSF
 -;; Keywords: tools
 +;; Keywords: vc tools
 +;; Package: vc
  
  ;; This file is part of GNU Emacs.
  
@@@ -162,8 -162,7 +162,8 @@@ menu items.
    (remove-from-invisibility-spec 'foo)
    (set (make-local-variable 'truncate-lines) t)
    (set (make-local-variable 'font-lock-defaults)
 -       '(vc-annotate-font-lock-keywords t)))
 +       '(vc-annotate-font-lock-keywords t))
 +  (hack-dir-local-variables-non-file-buffer))
  
  (defun vc-annotate-toggle-annotation-visibility ()
    "Toggle whether or not the annotation is visible."
@@@ -489,7 -488,7 +489,7 @@@ Return a cons (REV . FILENAME).
    "Visit the log of the revision at line.
  If the VC backend supports it, only show the log entry for the revision.
  If a *vc-change-log* buffer exists and already shows a log for
- the file in question, search for the log entry required and move point ."
+ the file in question, search for the log entry required and move point."
    (interactive)
    (if (not (equal major-mode 'vc-annotate-mode))
        (message "Cannot be invoked outside of a vc annotate buffer")
@@@ -675,4 -674,5 +675,4 @@@ The annotations are relative to the cur
  
  (provide 'vc-annotate)
  
 -;; arch-tag: c3454a89-80e5-4ffd-8993-671b59612898
  ;;; vc-annotate.el ends here
diff --combined src/ChangeLog
index dc06f81d972cdf430e94b1006e9180db76ce0a14,5e92b45b9d0b1a1d18768e09bd73dfe3af63fc01..efacbbc4583b68080df0e7f17d39292be91695e3
 -2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
+ 2011-04-08  Svante Signell  <svante.signell@telia.com>  (tiny change)
+       * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
+ 2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
+       * process.c (Fformat_network_address): Doc fix.
 +2011-04-08  T.V. Raman  <tv.raman.tv@gmail.com>  (tiny change)
  
 -      * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 -      (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
 -      These macros can no longer be used for assignment.
 -
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Assign
 -      struct members directly, instead of using BUF_BEGV etc.
 -      (record_buffer_markers, fetch_buffer_markers): New functions for
 -      recording and fetching special buffer markers.
 -      (set_buffer_internal_1, set_buffer_temp): Use them.
 -
 -      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
 -
 -      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
 -
 -      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 -      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
 -
 -      * xdisp.c (hscroll_window_tree):
 -      (reconsider_clip_changes): Use PT instead of BUF_PT.
 -
 -2011-03-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_load_color_file):
 -      Read color file from absolute filename (bug#8250).
 -
 -2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Backport revno:103582 from trunk.
 -      * w32xfns.c (select_palette): Check success of RealizePalette against
 -      GDI_ERROR, not zero.
 -
 -2011-03-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (update_window_fringes): Remove unused variables.
 -
 -      * unexmacosx.c (copy_data_segment): Also copy __got section.
 -      (Bug#8223)
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.3 released.
 -
 -2011-02-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_open_entity): Be sure to set scaled_pixel_size.
 -      (font_find_for_lface): Check if attrs[LFACE_HEIGHT_INDEX] is
 -      integer.
 -
 -2011-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (prefix-args${EXEEXT}): Compile with ALL_CFLAGS.
 -
 -2011-02-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Resynchronize `w' if the selected
 -      window is changed inside calls to do_pending_window_change.
 -      (Bug#8020)
 -
 -2011-02-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * terminal.c (create_terminal): Use default-keyboard-coding-system
 -      and default-terminal-coding-system to initialize coding systems of
 -      the new terminal.  (Bug#7840)
 -
 -2011-02-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (select_window): Check inhibit_point_swap argument when
 -      deciding whether to return immediately.
 -
 -2011-02-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (setFrame, initFrame): Make sure pixel_height doesn't become
 -      zero (Bug#7348).
 -
 -2011-02-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute):
 -      Try to clarify some error messages.  (Bug#2659)
 -
 -2011-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (save_restriction_restore): Don't forget to invalidate the
 -      current_column cache (bug#7946).
 -
 -2011-02-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined.
 -
 -      * xftfont.c (xftfont_open): Likewise.
 -
 -2011-02-01  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * window.c (Fselect_window): Add missing return value.
 -
 -2011-01-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * image.c (DEF_IMGLIB_FN): Add parameter rettype, use it instead
 -      of int.  All uses adjusted.
 -      (PNG_JMPBUF, png_load, jpeg_load, tiff_load, gif_load)
 -      (svg_load_image): Remove casts.
 -
 -2011-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (fn_png_longjmp, fn_png_set_longjmp_fn): New png
 -      function definitions for compiling with libpng-1.5.
 -      (PNG_LONGJMP, PNG_JMPBUF): New macros for libpng-1.5.
 -      (my_png_error, png_load): Use them.  Suggested by Thomas Klausner
 -      (Bug#7908).
 -
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/intel386.h: Define NO_ARG_ARRAY.  Suggested by Dan Nicolaescu.
 -
 -2011-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Require GTK-style font sizes to
 -      occur at the end of the font string (Bug#7853).
 -
 -2011-01-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix typo in string length.
 -
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (handle_fontified_prop): Be careful with font-lock changing
 -      the buffer's point-max (bug#7876).
 -
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases.
 -      Remove unused HAVE_SHM branch (Bug#6811).
 -
 -2011-01-23  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 -
 -      * s/hpux11.h: Set CANNOT_DUMP on IA64 (Bug#6811).
 -
 -2011-01-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (select_window): New function.
 -      (Fselect_window): Call it.
 -      (inhibit_point_swap): Variable deleted.
 -      (Fset_window_configuration): Call select_window directly.
 -
 -2011-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * image.c (syms_of_image): Don't access XSYMBOL's internals directly.
 -
 -2011-01-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (syms_of_image): Don't use SET_SYMBOL_VALUE.  (Bug#7848)
 -
 -2011-01-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (inhibit_point_swap): New variable.
 -      (Fselect_window): If inhibit_point_swap is nonzero, avoid swapping
 -      point this time.
 -      (Fset_window_configuration): Set inhibit_point_swap to 1 instead
 -      of setting selected_window to nil (Bug#7728).
 -
 -2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * config.in (TERMINFO): New definition.
 -
 -      * s/netbsd.h: Use it to choose between terminfo and termcap
 -      (Bug#7642).
 -
 -2011-01-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * coding.h (ENCODE_UTF_8): Remove "Used by ..." comment.
 -
 -      * nsfns.m (ns_set_name_iconic): Remove.
 -      (ns_get_screen): Don't assign integer to f.
 -      (ns_set_name_internal): New function (Bug#7517).
 -      (Vicon_title_format): Extern declare.
 -      (ns_set_name): Call ns_set_name_internal.
 -      (x_explicitly_set_name): Remove call to ns_set_name_iconic.
 -      (x_implicitly_set_name): Ditto.
 -      (x_set_title): Remove commet about EXPLICIT.  Call ns_set_name_internal.
 -      (ns_set_name_as_filename): Encode name with ENCODE_UTF_8.
 -      Always use buffer name for title and buffer filename only for
 -      RepresentedFilename.  Handle bad UTF-8 in buffer name (Bug#7517).
 -
 -2011-01-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (png_jmpbuf): Remove definition.
 -      (my_png_error, png_load): Don't use png_jmpbuf.
 -
 -2010-12-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c <Qlibpng_version>: New variable.
 -      (syms_of_image): Intern and staticpro it.  Set its value to the
 -      version of PNG library we were compiled with.
 -      (my_png_error, png_load): Avoid GCC warnings about direct access
 -      to png_ptr->jmpbuf.  (Bug#7716)
 -      (png_jmpbuf): New macro.
 -      (my_png_error, png_load): Use it instead of #ifdef'ing according
 -      to PNG_LIBPNG_VER_MAJOR and PNG_LIBPNG_VER_MINOR.
 -
 -2010-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * .gdbinit (xgetptr): Fix the union+lsb case.
 -      (xbacktrace): Fix the union case.
 -
 -2010-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fmove_to_window_line): Avoid abort when called in a buffer
 -      different from selected-window's.
 -
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (parse_menu_item): Prepend "  " to the key sequence
 -      equivalent of a menu item when the key sequence is given by the
 -      `:keys' attribute.  (Bug#7662)
 -
 -      * xdisp.c (Fformat_mode_line): Doc fix: no need to state that only
 -      the basic faces are supported.
 -
 -2010-12-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_check_fullscreen): Fix pixel/character mixup.
 -
 -2010-12-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Fix last change.
 -
 -2010-12-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (Fformat_mode_line): Restrict the FACE argument to basic
 -      faces (Bug#7587).
 -
 -2010-12-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): One more doc fix.
 -
 -2010-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Doc fix.  (Bug#7617)
 -
 -2010-12-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (Fx_show_tip): Call try_window with last argument
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE.  Delete the TODO ifdef: problem
 -      solved.  Round up the tip height to an integral multiple of the
 -      frame's line height.  Add FRAME_COLUMN_WIDTH to the tip width.
 -      (Bug#7398)
 -
 -      * xdisp.c (string_pos_nchars_ahead, c_string_pos)
 -      (face_before_or_after_it_pos, next_element_from_string)
 -      (next_element_from_c_string, produce_stretch_glyph): Remove unused
 -      calculations of maximum string length before calling
 -      string_char_and_length and STRING_CHAR_AND_LENGTH.
 -      (string_char_and_length): Update commentary: MAXLEN is no longer
 -      needed.
 -
 -2010-12-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (kbd_buffer_get_event): Construct SAVE_SESSION_EVENT
 -      as (Qsave_session arg).
 -
 -      * xsmfns.c (smc_interact_CB): Set arg to Qnil.
 -      (smc_die_CB): Make an event with arg Qt.
 -      (Fhandle_save_session): If event has Qt as argument,
 -      call Fkill_emacs (Bug#7552).
 -
 -2010-12-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c (smc_die_CB): Call Fkill_emacs (Bug#7552).
 -
 -2010-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct it): New member overlay_strings_charpos.
 -
 -      * xdisp.c (next_overlay_string, load_overlay_strings): Record the
 -      charpos where we computed n_overlay_strings.
 -      (next_overlay_string): Load overlay strings at recorded position,
 -      which may not be the same as the iterator's charpos (Bug#7016).
 -
 -2010-12-05  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
 -      with cursor color and draw a rectangle around the image (Bug#7412).
 -
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Avoid infloop if the first line is
 -      obscured due to a vscroll (Bug#7537).
 -
 -2010-12-02  Jan Djärv  <jhd@zeplinf.localdomain>
 -
 -      * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT.
 -
 -      * nsterm.m (x_set_window_size, windowWillResize, initFrameFromEmacs):
 -      Use FRAME_TOOLBAR_HEIGHT.
 -      (x_set_offset): Handle XNegative and YNegative in
 -      f->size_hint_flags (Bug#7510).
 -
 -2010-11-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (emacs_mule_charset): Make it an array of charset ID;
 -      i.e. integer.
 -      (Fdefine_charset_internal): Adjusted for the above change.
 -      (init_charset_once): Likewise.
 -
 -      * charset.h (emacs_mule_charset): Adjust the prototype.  Delete
 -      duplicated extern.
 -
 -      * coding.c (emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 -
 -      * lread.c (read_emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 -
 -2010-11-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions
 -      of w32api >= 3.15.  (Bug#6989)  (Bug#7452)
 -
 -2010-11-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (mark_terminals): Ensure that the image cache is marked
 -      even if the terminal object was marked earlier (Bug#6301).
 -
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fbyte_to_string): Signal an error arg is not a byte.
 -
 -2010-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (menubar_map_cb): New function (Bug#7425).
 -      (xg_update_frame_menubar): Connect signal map to menubar_map_cb.
 -      Use 23 as menubar height if 0.  (Bug#7425).
 -
 -2010-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT.
 -
 -      * config.in (HAVE_G_TYPE_INIT): New symbol.
 -
 -2010-11-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Mention `load-in-progress' and
 -      `load-file-name'.  (Bug#7346)
 -
 -2010-11-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (kbd_buffer_nr_stored): Define only ifdef subprocesses.
 -      (kbd_buffer_store_event_hold, kbd_buffer_get_event)
 -      (tty_read_avail_input): Call kbd_buffer_nr_stored only ifdef
 -      subprocesses.  Use buffer_free only ifdef subprocesses.
 -
 -      * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in
 -      the subprocesses version, not in the non-subprocesses one.
 -
 -      * Makefile.in: Don't use ## comment, it breaks the MSDOS build.
 -
 -      * xfns.c (x_real_positions): Fix declaration-after-statement
 -      problem.
 -
 -2010-11-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (free_image): Don't garbage the frame here, since this
 -      function can be called while redisplaying (Bug#7210).
 -      (uncache_image): Garbage the frame here (Bug#6426).
 -
 -2010-11-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (Fmake_network_process): Don't apply Bug#5173 fix for
 -      Windows.
 -
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * process.c (Fmake_network_process): Don't call turn_on_atimers around
 -      `connect' (Bug#5723).
 -
 -2010-11-04  Helmut Eller  <eller.helmut@gmail.com>
 -
 -      * process.c (Fmake_network_process): Call `select' for interrupted
 -      `connect' rather than creating new socket (Bug#5173).
 -
 -2010-11-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_delete_unmatched): Check Vface_ignored_fonts.
 -      Don't sheck SPEC if it is nil.
 -      (font_list_entities): Call font_delete_unmatched if
 -      Vface_ignored_fonts is non-nil.
 -
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (TRY_WINDOW_CHECK_MARGINS)
 -      (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
 -
 -      * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
 -      Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
 -      set in FLAGS.  Callers with non-zero CHECK_MARGINS changed to use
 -      TRY_WINDOW_CHECK_MARGINS.
 -
 -      * xfns.c (Fx_show_tip): Undo last change.  Call try_window with
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423).
 -
 -2010-11-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
 -      parent is the root window.  Check this after traversing window tree.
 -
 -      * xterm.c (x_term_init): Initialize Xatom_net_frame_extents.
 -
 -      * xterm.h (struct x_display_info): Xatom_net_frame_extents is new.
 -
 -      * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first
 -      before traversing window tree (Bug#5721).
 -
 -2010-11-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (CRT_DIR): New variable, set by configure.
 -      * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
 -      Use $CRT_DIR rather than HAVE_LIB64_DIR.  (Bug#5655)
 -
 -2010-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * process.c (kbd_is_on_hold): New variable.
 -      (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p):
 -      New functions.
 -      (wait_reading_process_output): If kbd_on_hold_p returns non-zero,
 -      select on empty input mask.
 -      (init_process): Initialize kbd_is_on_hold to 0.
 -
 -      * process.h (hold_keyboard_input, unhold_keyboard_input)
 -      (kbd_on_hold_p): Declare.
 -
 -      * keyboard.c (input_available_signal): Declare.
 -      (kbd_buffer_nr_stored): New function.
 -      (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
 -      more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
 -      (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
 -      returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
 -      (tty_read_avail_input): If input is on hold, return.
 -      Don't read more that free slots in kbd_buffer (Bug#6571).
 -
 -2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_connection_closed): Print informative error message
 -      when aborting on GTK.  This requires using shut_down_emacs
 -      directly instead of Fkill_emacs.
 -
 -2010-10-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method_asynchronously)
 -      (Fdbus_register_signal, Fdbus_register_method): Check, whether
 -      `dbus-registered-objects-table' is initialized.
 -
 -2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_connection_closed): Kill Emacs unconditionally.
 -
 -2010-10-22  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-18  Ken Brown  <kbrown@cornell.edu>
 -
 -      * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225).
 -
 -2010-10-15  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-13  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-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_variation_glyphs):
 -      * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
 -
 -2010-10-10  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-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_get_dispatch_status): Return a Lisp_Object.
 -      (xd_pending_messages): Catch xd_get_dispatch_status calls.
 -
 -2010-10-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (complement_process_encoding_system): Fix previous change.
 -
 -2010-10-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Move putenv call ...
 -      (Fdbus_init_bus): ... here.  (Bug#7113)
 -
 -2010-10-03  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-02  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-09-30  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-09-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Fix setting of font->average_width from
 -      :avgwidth property (Bug#7123).
 -
 -2010-09-28  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-09-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0".
 -      (Bug#7113)
 -
 -2010-09-26  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xgselect.c (xg_select): Clear file descriptors not set from
 -      rfds and wfds.
 -
 -2010-09-21  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-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE.
 -
 -2010-09-12  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-11  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
 -
 -      * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002).
 -
 -2010-09-08  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-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_emacs_mule): Fix checking of multibyte
 -      sequence when the source is multibyte.
 -
 -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-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_code): Encode byte chars to the
 -      correspnding bytes.
 -
 -2010-08-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
 -      instead of SAFE_ALLOCA.
 -
 -2010-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
 -      (Bug#6214).
 -
 -2010-08-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
 -
 -2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * doc.c (Fsnarf_documentation): Initialize skip_file before
 -      build-files test.
 -
 -2010-08-09  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-06  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-01  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-07-30  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-07-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (syms_of_minibuf) <read-buffer-function>:
 -      Doc fix (bug#5625).
 -
 -2010-07-27  Ken Brown  <kbrown@cornell.edu>
 -
 -      * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of
 -      the MSDOS definition.
 -
 -2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * minibuf.c (Fread_buffer): Doc fix (bug#6528).
 -
 -2010-07-22  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * window.c (Fwindow_height): Doc fix (bug#6518).
 -
 -2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <fringe-indicator-alist>: Doc fix.
 -
 -2010-07-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_event_is_for_menubar): Also check that event window
 -      is related to the menu bar (Bug#6499).
 -
 -2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*.
 -
 -      * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame.
 -
 -      * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499,
 -      i.e. don't put back ButtonRelease (Bug#6608).
 -
 -      * xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter
 -      instead of Window.  Call xg_event_is_for_menubar when
 -      USE_GTK (Bug#6499).
 -
 -      * gtkutil.h (xg_event_is_for_menubar): Declare.
 -
 -      * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499).
 -
 -2010-07-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_set_foreground_color): Fix setting the cursor color
 -      when it's the same as the old foreground.  (Bug#6609)
 -
 -2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_face): Garbage the frame if a face is removed
 -      (Bug#6593).
 -
 -2010-07-05  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * keyboard.c: Remove duplicate <setjmp.h>.
 -      (read_key_sequence): Remove volatile qualifiers.
 -
 -2010-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (FRINGE_HEIGHT_BITS): New define.
 -      (struct glyph_row): New members left_fringe_offset and
 -      right_fringe_offset.
 -
 -      * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap
 -      specially.
 -      * w32term.c (w32_draw_fringe_bitmap): Likewise.
 -      * nsterm.m (ns_draw_fringe_bitmap): Likewise.
 -
 -      * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here.
 -      Take account of bitmap offset.
 -      (draw_window_fringes): Take account of window vscroll.
 -      (update_window_fringes): Likewise.  Extend top-aligned top indicator
 -      or bottom-aligned bottom indicator to adjacent rows if it doesn't fit
 -      in one row.  Don't set redraw_fringe_bitmaps_p outside row comparison.
 -      Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
 -
 -2010-07-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Qtooltip): Declare.
 -      Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
 -
 -2010-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
 -      grab on just Press (Bug#6499).
 -
 -2010-07-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qtooltip): New var.
 -      (delete_frame): Use it.  Fix faulty if statement.  Don't update
 -      mode line for tooltip frames.  Suggested by Martin Rudalics.
 -
 -      * xfns.c (x_create_tip_frame):
 -      * w32fns.c (x_create_tip_frame): Use it.
 -
 -2010-06-30  Naohiro Aota  <naota@elisp.net>  (tiny change)
 -
 -      * xftfont.c (xftfont_open): Check font width one by one also when
 -      spacing is dual.
 -
 -      * ftfont.c (ftfont_open): Ditto.
 -
 -2010-06-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * alloc.c (Fmake_byte_code): Don't access undefined argument
 -      (Bug#6517).
 -
 -2010-06-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (next_element_from_image): Ensure that after-strings are
 -      read the next time we hit handle_stop (Bug#1336).
 -
 -2010-06-23  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lread.c (read1): Signal error if #s is not followed by paren.
 -
 -2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (free_image): Mark frame as garbaged (Bug#6426).
 -
 -      * keymap.c (Fdefine_key): Doc fix (Bug#6460).
 -
 -2010-06-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * editfns.c (Fbyte_to_string): Pacify compiler.
 -
 -2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string.
 -      Check `object's type before accessing its guts.
 -
 -2010-06-08  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * minibuf.c (Fall_completions): Add more checks.
 -
 -2010-06-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378).
 -
 -2010-06-03  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4
 -      address.  (Bug#6346)
 -
 -2010-06-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * ccl.c (Fccl_program_p): Fix typo in docstring.
 -
 -2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
 -      of bug#6305).
 -
 -2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): After redisplay, check if point is
 -      still valid before setting it (Bug#6177).
 -
 -2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
 -
 -      * s/netbsd.h: If terminfo is found, use it in preference to
 -      termcap.  (Bug#6190)  [Backport from trunk]
 -
 -2010-05-20  Kevin Ryde  <user42@zip.com.au>
 -
 -      * keyboard.c (Vlast_command, Vkeyboard_translate_table)
 -      (Voverriding_terminal_local_map, Vsystem_key_alist)
 -      (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
 -
 -2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fbyte_to_string): New function.
 -
 -2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
 -      prevent stack overflow if number of arguments is too large
 -      (Bug#6214).
 -
 -2010-05-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
 -
 -      * w32fns.c: Include w32.h.
 -      (Fw32_shell_execute): Decode the error message before passing it
 -      to `error'.  (Bug#6126)
 -
 -2010-05-11  Karel Klic  <kklic@redhat.com>
 -
 -      * ftfont.c: Fix incorrect parentheses of #if condition for
 -      definining M17N_FLT_USE_NEW_FEATURE.
 -
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.2 released.
 -
 -2010-04-30  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * composite.c (autocmp_chars): Save point as marker before calling
 -      auto-composition-function (Bug#5984).
 -
 -      * lisp.h (restore_point_unwind): Add prototype.
 -
 -      * fileio.c (restore_point_unwind): Remove static attribute.
 -
 -2010-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the
 -      new feature of libotf and m17n-flt.
 -      (ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]:
 -      Call OTF_check_features even if no specific feature is given.
 -      (PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro.
 -      (ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case
 -      that OUT is NULL.  Use OTF_drive_gsub_with_log and
 -      OTF_drive_gpos_with_log instead of OTF_drive_gsub and
 -      OTF_drive_gpos.
 -      (ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function.
 -      (ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]:
 -      Setup mflt_enable_new_feature and mflt_try_otf.
 -
 -2010-04-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dired.c (Ffile_attributes): Fix typo in docstring.
 -
 -2010-04-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as
 -      NSInteger (Bug#5811).
 -
 -2010-04-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
 -      (PTY_OPEN): New defines.  Use openpty (Bug#726, Bug#5819).
 -
 -2010-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
 -
 -2010-04-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
 -      FRAME_LINE_TO_PIXEL_Y.
 -
 -      * xterm.c (x_set_window_size_1): Don't add border_width/height to
 -      pixelwidth/height.
 -
 -2010-04-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
 -      terminal frames (Bug#5837).
 -
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL.
 -      * nsterm.h: Fix prototype.
 -
 -2010-03-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it
 -      in this function.  (Bug#5703)
 -
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h: Fix last change.
 -
 -2010-03-30  Bernhard Herzog  <bh@intevation.de>  (tiny change)
 -
 -      * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930).
 -
 -2010-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is
 -      invisible (Bug#5766).
 -
 -2010-03-29  Adrian Robert  <adrian.b.robert@gmail.com>
 -
 -      * xdisp.c (x_consider_frame_title, update_window_cursor): Remove
 -      HAVE_NS conditionals.
 -      (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited.
 -
 -      * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use
 -      filename for the title.
 -      (ns_set_doc_edited): Do nothing if the selected window is a
 -      minibuffer window.
 -
 -      * nsterm.h: Add prototypes for ns_set_name_as_filename and
 -      ns_set_doc_edited.
 -
 -      * nsterm.m: Remove unneeded prototype.
 -
 -2010-03-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Ensure dbus stuff is always
 -      in the DOC file.  (Bug#5336)
 -
 -2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Revert 2008-01-25 change (Bug#5730).
 -
 -2010-03-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
 -
 -      * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
 -
 -      * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
 -
 -2010-03-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
 -      XLoadQueryFont.
 -
 -2010-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_ccl): Fix previous change for the
 -      multibyte case.
 -      (encode_coding_ccl): Don't setup ccl program here.  Fix for the
 -      case that the output buffer is fullfilled.
 -      (encode_coding): Setup ccl program here.
 -
 -2010-03-15  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * editfns.c (Fformat): Account for string precision when computing
 -      field width (Bug#5710).
 -
 -2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make it possible to C-g in a tight bytecode loop again (bug#5680).
 -      * lisp.h (ELSE_PENDING_SIGNALS): New macro.
 -      (QUIT): Use it to consolidate code and remove redundancy.
 -      * bytecode.c (BYTE_CODE_QUIT): Use it as well.
 -
 -      * regex.c (regex_compile): Setup gl_state as well.
 -
 -      * syntax.c (skip_chars): Setup gl_state (bug#3823).
 -      (in_classes): Use CONSP before XCAR/XCDR.
 -
 -2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fwhere_is_internal): Use Fequal to compare
 -      definitions, so that keyboard macros are correctly handled
 -      (Bug#5481).
 -
 -2010-03-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (decode_coding_emacs_mule): Fixup pointers to buffer
 -      text that could be relocated inside the call to emacs_mule_char.
 -      (emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR.
 -      (CODING_DECODE_CHAR): Add a comment describing its purpose.
 -
 -2010-03-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (parse_str_as_multibyte): Fix handling of the
 -      multibyte form of raw-bytes.
 -      (str_as_multibyte): Likewise.
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte
 -      form of raw-bytes.
 -
 -2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Zero out allocated
 -      charset_map_entries before using them.
 -
 -2010-02-27  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Fix length check.
 -
 -2010-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Recognize "Book", "Condensed",
 -      "Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646).
 -
 -2010-02-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec.
 -
 -      * xdisp.c (reseat_to_string): Fix previous change.
 -
 -2010-02-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfont.m (nsfont_draw): ns_antialias_text should be a
 -      Lisp_Object (Bug#4736).
 -
 -2010-02-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (reseat_to_string): Fix previous change (bug#5609).
 -
 -2010-02-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (XTflash): Move declarations before statements.
 -
 -      * gtkutil.c (xg_get_gdk_display): Remove (unused).
 -      (xg_get_pixbuf_from_pix_and_mask, xg_create_frame_widgets)
 -      (xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb)
 -      (xg_create_tool_bar): Remove unused variables.
 -      (x_wm_set_size_hint): Move declarations before statements.
 -      (xg_create_frame_widgets): Remove variable grav.
 -
 -2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518).
 -
 -2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (fatal): Add a final \n if needed (bug#5596).
 -
 -2010-02-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_ring_bell): Revert last change (Bug#5569).
 -
 -2010-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2010-02-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
 -
 -      * coding.c (record_conversion_result):
 -      Handle CODING_RESULT_INSUFFICIENT_DST.
 -      (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on
 -      memory allocation error.
 -
 -2010-02-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_ccl): Don't setup ccl program here.
 -      Fix for the case that the output buffer is fullfilled.
 -      (decode_coding): Setup ccl program here.  Keep looping when the
 -      decoder stopped because the output buffer is
 -      fullfilled (bug#5534).
 -
 -      * ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN.
 -
 -2010-02-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK,
 -      bug #5571.
 -      (XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get
 -      overdrawn.
 -
 -2010-02-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c (x_session_initialize): Move initialization of ice_fd and
 -      doing_interact here.
 -      (ice_connection_closed): New function.
 -      (x_session_check_input, smc_die_CB, ice_io_error_handler)
 -      (ice_conn_watch_CB, x_session_close): Call ice_connection_closed.
 -      (x_session_check_input): Call IceCloseConnection if IceProcessMessages
 -      returns I/O error.
 -      (ice_conn_watch_CB): Call add_keyboard_wait_descriptor on ice_fd,
 -      bug #5512.
 -
 -2010-02-08  Francis Devereux  <francis@devrx.org>  (tiny change)
 -
 -      * nsfont.m (nsfont_open): The system's value for the font descent
 -      is negative, so round it down to avoid clipping.
 -
 -2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA
 -      instead of xmalloc (Bug#5526).  Suggested by Vivek Dasmohapatra.
 -
 -2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file): Allocate large
 -      charset_map_entries structure on the heap rather than the stack.
 -      (Bug#5526).
 -
 -2010-01-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): If FONT is a font-entity and pixel
 -      size in NAME is invalid, return -1 (Bug#5396).
 -
 -2010-01-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_defined_color): Block input.  Suggested by Mike
 -      <deactivated@gmail.com> (Bug#3605).
 -
 -2010-01-31  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * fileio.c (Frename_file): Correctly rename symlinks to
 -      directories (Bug#5496).
 -
 -2010-01-31  Filipe Cabecinhas  <filcab@gmail.com>  (tiny change)
 -
 -      * nsterm.m (ns_ring_bell): Handle visible bell like X.
 -
 -2010-01-30  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning.
 -
 -2010-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (DEFAULT_ROWS): Change default to 35.
 -
 -      * xfns.c (x_default_font_parameter): Change default XFT font to
 -      monospace-10 (Bug#3643).
 -
 -2010-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32inevt.c (key_event): Remove unnecessary comparison of
 -      event->uChar.AsciiChar with 128.
 -
 -2010-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Frename_file): Fix last change (Bug#5487).
 -
 -      * m/mips.h: Remove DATA_START.  Suggested by Dan Nicolaescu.
 -
 -      * m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629).
 -
 -2010-01-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): Remove window size matching code from
 -      2010-01-15.
 -      (x_get_current_desktop, x_get_desktop_workarea): Remove.
 -
 -2010-01-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32inevt.c (w32_kbd_patch_key): Save the unicode character.
 -      (key_event): Use unicode for characters 128 and higher (Bug#4567).
 -
 -2010-01-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (analyse_first): Fix setting of fastmap for unibyte
 -      pattern string (Bug#4209).
 -
 -2010-01-27  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * fileio.c (Frename_file): Call copy-directory and
 -      delete-directory for directories, in order to handle cross-device
 -      renaming (Bug#3353).
 -
 -2010-01-25  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): If frame height is too big, try
 -      sizes 24 and 10.  Bug #3643.
 -
 -2010-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try and fix bug#788, hopefully for real this time.
 -      * keymap.c (shadow_lookup): Add `remap' arg.
 -      (describe_map, describe_vector): Update calls to shadow_lookup.
 -      (Fwhere_is_internal): Fix up handling of `remapped_sequences' and
 -      `remapped' so this flag is applicable to `sequence'.  Be careful to
 -      perform remapping during shadow_lookup check of remapped_sequences.
 -
 -2010-01-24  Eric Bélanger  <snowmaniscool@gmail.com>  (tiny change)
 -
 -      * image.c (png_load): Use png_sig_cmp instead of the obsolete
 -      png_check_sig, which has been removed in libpng 1.4.
 -
 -2010-01-23  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 -
 -      * filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x
 -      lacks this header file).
 -
 -2010-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (draw_glyphs): Update `start' for left_overwritten case
 -      as in Emacs 22.
 -
 -2010-01-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * lisp.h (make_pure_string): String pointer arg now points to const.
 -
 -      * alloc.c (find_string_data_in_pure, make_pure_string): String pointer
 -      args now point to const.
 -
 -2010-01-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Don't treat files without .elc extension as
 -      byte-compiled if they are ``magic'', i.e. `openp' returned -2 for
 -      them.  (bug#5303)
 -
 -2010-01-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (consume_chars): If ! multibyte and the encoder is ccl,
 -      treat the source as actual byte sequence.
 -
 -2010-01-19  Alan Mackenzie  <acm@muc.de>
 -
 -      Fix spurious before-change-functions invocation from (insert ?\n).
 -      * textprop.c (set_text_properties): Rename parameter
 -      `signal_after_change_p' to `coherent_change_p', and make the
 -      invocation of `modify_region' conditional on it.
 -
 -2010-01-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (apply_xft_settings): Save settings in Vxft_settings
 -      for debug purpose.
 -      (syms_of_xsettings): Declare xft-settings.
 -
 -2010-01-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408).
 -
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (event_handler_gdk): Block input (Bug#5037).
 -
 -2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (standard_args): Adjust arg priorities to reflect how
 -      they are processed in startup.el.
 -
 -2010-01-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (lisp, shortlisp): Update.
 -
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_term_init): Instead of inhibiting GC while running Lisp
 -      code, link the new kboard into all_kboard before running Lisp code,
 -      and protect the new terminal with GCPRO (Bug#5365).
 -      (x_term_init): Remove unused var `atom'.
 -      (x_delete_display, x_delete_terminal): Remove unused var `i'.
 -
 -2010-01-15  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions.
 -      (Fx_create_frame): Call x_get_current_desktop and x_get_desktop_workarea
 -      to find out usable size of the desktop.  Don't make frames larger than
 -      this.  Bug #3643.
 -
 -2010-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS.  Callers changed.
 -
 -2010-01-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (Qnone): Define.
 -
 -      * nsfns.m (Qnone): Move definition to nsterm.m.
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding
 -      systems.
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      Make auto-composition work on all buffers even if they are
 -      fundamental mode.
 -
 -      * composite.c (Vauto_composition_mode): New variable.
 -      (composition_compute_stop_pos): Check Vauto_composition_mode
 -      instead of Vauto_composition_function.
 -      (composition_adjust_point, Ffind_composition_internal): Likewise.
 -      (syms_of_composite): Declare Lisp variable
 -      "auto-composition-mode" here.
 -
 -2010-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_term_init): Avoid garbage-collecting the new terminal
 -      during call to vendor-specific-keysyms (Bug#5365).
 -
 -2010-01-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (input_available_signal) [SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK (Bug#5333).
 -
 -      * atimer.c (alarm_signal_handler) [!SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK.
 -
 -2010-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try to fix bug#5314.  This is probably not the final word, tho.
 -      * buffer.c (Fset_buffer_modified_p): Try and be careful not to modify
 -      recent-auto-save-p as a side-effect.
 -      * buffer.h (BUF_AUTOSAVE_MODIFF): New macro.
 -      * buffer.c (Fkill_buffer, reset_buffer):
 -      * editfns.c (Fsubst_char_in_region):
 -      * fileio.c (Finsert_file_contents, Fdo_auto_save)
 -      (Fset_buffer_auto_saved, Frecent_auto_save_p): Use it.
 -
 -2010-01-13  Kenichi Handa  <handa@m17n.org>
 -
 -      Display buffer name, etc. in mode line by composing correctly.
 -
 -      * xdisp.c (reseat_to_string): Call composition_compute_stop_pos if
 -      STRING is not nil.
 -      (display_mode_element): Adjust for the change of
 -      decode_mode_spec and display_line.
 -      (decode_mode_spec): Change arg MULTIBYTE to STRING.
 -      (display_string): Handle the case that STRING is non-null and
 -      LISP_STRING is not nil.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground):
 -      Pay attention to s->face->overstrike.
 -
 -      * composite.c (composition_reseat_it): Don't check PT if STRING is
 -      non nil.
 -
 -2010-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (read_char): Don't apply previous change when current
 -      buffer is unchanged by command execution.
 -
 -2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (read_char): Return after executing from special map.
 -
 -2010-01-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
 -      bug-gnu-emacs rather than emacs-pretest-bug.
 -
 -2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before
 -      initializing the Lisp variables that depend on them.
 -
 -2010-01-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]:
 -      Clear areas that will not be updated after change of menu bar lines.
 -      Clear the menu bar window's current matrix when the window gets empty.
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * intervals.h, textprop.c (extend_property_ranges): Return value
 -      and args changed.  Discard properties that begin at or after the
 -      new end (Bug#5306).
 -
 -      * editfns.c (Fformat): Caller changed.
 -
 -      * nsterm.m (ns_set_default_prefs): Delete function.
 -      (syms_of_nsterm): Initialize ns_command_modifier,
 -      ns_control_modifier, ns_function_modifier, ns_antialias_text, and
 -      ns_antialias_threshold here, not in ns_term_init (Bug#4113).
 -
 -      * xdisp.c (pos_visible_p): Check for invisible text at the correct
 -      position (Bug#4040).
 -
 -2010-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Ffloat_time): Doc fix.
 -
 -2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): Don't create frame larger than display
 -      by default bug#3643.
 -
 -2010-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
 -      (FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
 -      windows above internal border.
 -
 -      * window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
 -      (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
 -      windows above internal border.
 -
 -      * xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
 -      tool bar windows specially.
 -
 -      * xfns.c (x_set_tool_bar_lines): Take account of menu bar height.
 -
 -      * xterm.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -      (XTflash): Take account of menu bar height.
 -
 -      * w32term.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -
 -2010-01-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must
 -      also be true before we can return early (bug #5339).
 -
 -2010-01-06  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS.
 -      (Fns_display_usable_bounds): Rewrite, computing bounds properly
 -      (Bug#3233).
 -
 -2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font.c (font_open_entity): Enable chache and call cached_font_ok
 -      for the driver if defined.
 -      (QCuser_spec): New symbol.
 -      (font_spec_from_name): Save name as user-spec.
 -      (font_load_for_lface): Keep user-spec instead of name.
 -      (font_open_by_name): Save name as user-spec.
 -      (syms_of_font): Initialize QCuser_spec.
 -      (font_clear_prop): Clear name if it exists in font (bug#5157).
 -
 -      * xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters.
 -      (xftfont_add_rendering_parameters, xftfont_cached_font_ok): New.
 -      (syms_of_xftfont): Initialize xftfont_driver.cached_font_ok.
 -
 -      * font.h (struct font_driver): Add cached_font_ok.
 -
 -      * xterm.c (x_clear_frame): Queue draw for scroll bars.
 -
 -2010-01-05  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_new_font): Move code for setting rows/cols before
 -      resizing ...
 -      (x_set_window_size): ... to here.  Bug #2568.
 -
 -      * gtkutil.c (xg_clear_under_internal_border): New function.
 -      (xg_frame_resized, xg_frame_set_char_size):
 -      Call xg_clear_under_internal_border.
 -      (xg_update_scrollbar_pos): Clear under old scroll bar position.
 -
 -2010-01-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Catch keyboard switch after
 -      making a new tty frame (Bug#5095).
 -
 -2010-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix getting the frame pointer.
 -
 -2010-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to
 -      Lisp_Object, preferring to convert a lisp_Object to a void* instead.
 -      (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
 -
 -2010-01-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_add_watch): Improve debug message.
 -      (xd_remove_watch): Improve debug message.  If DATA is the session
 -      bus, unset D-Bus session environment.
 -      (Fdbus_init_bus): Pass the bus as argument to
 -      dbus_connection_set_watch_functions.  (Bug#5283)
 -
 -2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_get_color): Fix buffer overflow (Bug#4763).
 -
 -      * lread.c (syms_of_lread): Make it clearer that these are the
 -      names of loaded files (Bug#5068).
 -
 -      * eval.c (run_hook_with_args): Handle the case where the global
 -      value has the obsolete single-function form (Bug#5026).
 -
 -2009-12-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fall_completions): Minor optimization.
 -
 -2009-12-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pgx): Fix display of composite glyphs.
 -      Display cmp.from and cmp.to as well.
 -      (pitx): Fix last change.
 -
 -2009-12-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.h (composition_adjust_point): Update prototype.
 -
 -      * composite.c (composition_reseat_it): Don't make a composition
 -      spanning over point.
 -      (CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as
 -      composable characters.
 -      (composition_adjust_point): New arg NEW_PT.  Callers changed.
 -
 -      * keyboard.c (command_loop_1): Force redisplay if the last point
 -      was within a composition.
 -      (adjust_point_for_property): Don't adjust point for automatic
 -      composition when called after buffer modification.
 -
 -2009-12-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pitx): Don't use enum names, use their values.
 -      Remove reference to non-existing value GET_FROM_COMPOSITION.
 -      (pgx): Don't use enum names, use their values.
 -      (pitmethod): New helper command.
 -      (pitx): Use it to display iteration method.
 -      (pgrowit): New command.
 -
 -      * makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h.
 -
 -      Update dependencies in Makefile.in.
 -
 -      * Makefile.in (alloc.o): Depend on termhooks.h.
 -      (atimer.o): Depend on blockinput.h.
 -      (buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h,
 -      and frame.h.
 -      (callint.o): Depend on systime.h, coding.h, and composite.h.
 -      (callproc.o): Depend on buffer.h.
 -      (casefiddle.o): Don't depend on charset.h.
 -      (casetab.o): Depend on character.h.
 -      (ccl.o): Depend on composite.h.
 -      (chartab.o): Depend on ccl.h.
 -      (cm.o): Depend on dispextern.h.
 -      (cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h.
 -      (coding.o): Don't depend on $(INTERVALS_H).
 -      (composite.o): Don't depend on dispextern.h explicitly (it's in
 -      $(INTERVALS_H)).  Depend on ccl.h.
 -      (data.o): Depend on systime.h, coding.h, composite.h,
 -      dispextern.h, font.h, and ccl.h.
 -      (dired.o): Depend on composite.h.
 -      (dispnew.o): Depend on coding.h.  Don't depend explicitly on
 -      composite.h (it's in $(INTERVALS_H)).
 -      (doc.o): Depend on systime.h, coding.h, and composite.h.
 -      (editfns.o): Don't depend explicitly on dispextern.h.
 -      (emacs.o): Depend on frame.h and coding.h.
 -      (eval.o): Depend on coding.h, composite.h, and xterm.h.
 -      (fileio.o): Depend on frame.h and commands.h.  Don't depend
 -      explicitly on dispextern.h.
 -      (filelock.o): Don't depend on epaths.h and charset.h.  Depend on
 -      composite.h.
 -      (fns.o): Don't depend on termhooks.h.
 -      (font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h.
 -      (fontset.o): Depend on blockinput.h, atimer.h, systime.h,
 -      coding.h, $(INTERVALS_H), window.h, xterm.h.
 -      (frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h.
 -      (fringe.o): Depend on blockinput.h, atimer.h, and systime.h.
 -      (ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h,
 -      fontset.h, ccl.h, and ftfont.h.
 -      (ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
 -      (gtkutil.o): Depend on dispextern.h and composite.h.
 -      (image.o): Depend on epaths.h, character.h, coding.h, composite.h,
 -      termhooks.h, and ccl.h.
 -      (indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H).
 -      (intervals.o): Depend on systime.h and coding.h.
 -      (keyboard.o): Depend on composite.h and coding.h.
 -      (keymap.o): Depend on coding.h and frame.h.
 -      (lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h.
 -      (macros.o): Depend on systime.h, coding.h, and composite.h.
 -      (menu.o): Depend on systime.h, coding.h, composite.h, window.h,
 -      and atimer.h.
 -      (minibuf.o): Depend on systime.h and coding.h.  Don't depend on
 -      dispextern.h explicitly.
 -      (print.o): Depend on termhooks.h, coding.h, and ccl.h.
 -      Don't depend explicitly on dispextern.h and composite.h.
 -      (process.o): Depend on character.h, xgselect.h, and sysselect.h.
 -      (regex.o): Don't depend on charset.h.
 -      (scroll.o): Depend on systime.h, coding.h, composite.h, and window.h.
 -      (search.o): Don't depend explicitly on composite.h.
 -      (sound.o): Depend on atimer.h and systime.h.
 -      (syntax.o): Don't depend explicitly on composite.h.
 -      (sysdep.o): Depend on coding.h and composite.h.
 -      (term.o): Depend on xterm.h and buffer.h.
 -      (terminal.o): Depend on dispextern.h, composite.h, and systime.h.
 -      (textprop.o): Don't depend on dispextern.h explicitly.
 -      (undo.o): Depend on dispextern.h.
 -      (window.o): Depend on coding.h and termhooks.h.  Don't depend on
 -      dispextern.h and composite.h explicitly.
 -      (xdisp.o): Depend on ccl.h.
 -      (xfaces.o): Depend on coding.h and ccl.h.
 -      (xfns.o): Depend on $(INTERVALS_H) and ccl.h.
 -      (xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
 -      (xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and
 -      ftfont.h.
 -      (xgselect.o): New dependency.
 -      (xmenu.o): Depend on composite.h, keymap.h, and sysselect.h.
 -      (xselect.o): Depend on keyboard.h, coding.h, and composite.h.
 -      (xsettings.o): Depend on dispextern.h, keyboard.h, systime.h,
 -      coding.h, composite.h, blockinput.h, atimer.h, and termopts.h.
 -      (xsmfns.o): Depend on frame.h and dispextern.h.
 -      (xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and
 -      sysselect.h.
 -
 -2009-12-19  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * font.c (Fclear_font_cache): Pass correct cache argument to
 -      font_clear_cache.
 -
 -2009-12-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c
 -      twice.
 -
 -2009-12-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (decode_mode_spec): Inhibit garbage collection when
 -      calling file-remote-p.  Reported by Jim Meyering.
 -
 -2009-12-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Reorder declarations in order to
 -      avoid compiler warnings.  (Bug #5217)
 -
 -2009-12-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso_2022): Ignore ISO_CODE_SS2_7 (0x19)
 -      in 8-bit encoding.
 -
 -2009-12-13  Pat Thoyts  <patthoyts@users.sourceforge.net>  (tiny change)
 -
 -      * xfns.c (x_create_tip_frame): Set the extended window manager hint for
 -      tooltip windows.
 -
 -2009-12-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and
 -      Xatom_net_window_type.
 -
 -      * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and
 -      Xatom_net_window_type.
 -
 -      * xterm.c (my_log_handler): New function.
 -      (x_term_init): Set my_log_handler as log handler during gtk_init
 -      so we can filter out buggy messages.  (Bug #5120).
 -
 -      * xterm.c (xg_scroll_callback): Parameter list changed,
 -      use parameter GtkScrollType to determine scroll/line/page.
 -      Only allow dragging if a button < 4 is grabbed (bug #5177).
 -      (xg_end_scroll_callback): New function.
 -      (x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to
 -      xg_create_scroll_bar.
 -
 -      * gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling.
 -      (scroll_end_callback): Remove.
 -      (xg_create_scroll_bar): Add parameter end_callback, bind it to
 -      button-release-event.  Replace value-changed event with change-value,
 -      bug #5177,
 -      (xg_event_is_for_scrollbar): Only return true if button is less than 4,
 -      bug #5177.
 -
 -      * gtkutil.h (XG_LAST_SB_DATA): Remove.
 -      (xg_create_scroll_bar): Add GCallback end_callback.
 -
 -      * xftfont.c (QClcdfilter): New variable.
 -      (xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER.
 -      (syms_of_xftfont): Initialize QClcdfilter.
 -
 -2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (struct xsettings): Add member seen.
 -      (parse_xft_settings): Update member seen with what we have read.
 -      Return non-zero if Xft-settings have been parsed, 0 otherwise.
 -      (apply_xft_settings): Only update Xft settings with what member seen
 -      indicates as new.
 -
 -2009-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (struct text_pos): Use EMACS_INT;
 -      (struct glyph): Use EMACS_INT for charpos.
 -      (struct it): Use EMACS_INT for stop_charpos, end_charpos,
 -      region_beg_charpos, region_end_charpos,
 -      redisplay_end_trigger_charpos, and also for
 -      iterator_stack_entry.end_charpos and
 -      iterator_stack_entry.stop_charpos.
 -
 -2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (scroll_end_callback): New function (bug #5177).
 -      (xg_create_scroll_bar): Call scroll_end_callback on button release
 -      event (bug #5177).
 -      (xg_event_is_for_scrollbar): != replaced with ==.
 -
 -2009-12-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (struct ftfont_info): New member matrix.
 -      (ftfont_open): Setup xftfont_info->matrix.
 -      (MFLTFontFT): New member matrix.
 -      (FLOOR, CEIL, ROUND): New macros.
 -      (ftfont_get_metrics): Handle matrix transformation.
 -      (ftfont_shape_by_flt): New arg matrix.  Callers changed.
 -
 -      * xftfont.c (struct xftfont_info): New member matrix.
 -      (xftfont_open): Setup xftfont_info->matrix.
 -
 -2009-12-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (append_space_for_newline): Consider face-remapping.
 -
 -2009-12-09  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xsettings.c: Include "keyboard.h".
 -
 -      * gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return.
 -
 -      Fix implicit function declarations.
 -      * cmds.c: Include "frame.h".
 -      * frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM.
 -      * frame.h: Move declaration of delete_frame outside of
 -      HAVE_WINDOW_SYSTEM.
 -
 -2009-12-09  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable.
 -
 -      * emacs.c (main): Set the G_SLICE environment variable for Cygwin
 -      GTK builds.
 -
 -2009-12-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * unexelf.c (unexec): Don't search for .data twice.
 -
 -2009-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (push_display_prop): Don't set avoid_cursor_p.  Return 0
 -      if push failed.
 -      (handle_line_prefix): Set avoid_cursor_p here.  Check return value
 -      of push_display_prop (Bug#5000).
 -
 -      * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
 -      value of font_list_entities (Bug#5085).
 -
 -2009-12-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Fix `string-to-number' to deal consistently with integers and floats.
 -      * lread.c (isfloat_string): New argument ignore_trailing to accept all
 -      trailing characters, not just whitespace.
 -      (read1): Pass new arg 0 to keep old behavior.
 -      * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
 -      trailing chars, as it is already done for integers.  Doc fixes.
 -      * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.
 -
 -2009-12-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (enum prop_idx) <AUTO_COMPOSED_PROP_IDX>:
 -      Delete unused enumeration value.
 -
 -2009-12-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc.
 -
 -2009-12-03  Daniel Hackney  <dan@haxney.org>  (tiny change)
 -
 -      * process.c (Fmake_network_process): Fix up the tests for
 -      "connectionless socket", so they DTRT for seqpacket sockets as well.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Qseqpacket): New symbol.
 -      (HAVE_SEQPACKET): New macro.
 -      (Fmake_network_process): Accept new :type `seqpacket'.
 -      (init_process): Add `seqpacket' feature when applicable.
 -      (syms_of_process): Initialize Qseqpacket.
 -
 -2009-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * font.c (font_load_for_lface, font_open_by_name): Don't store name
 -      if entity is Qnil.
 -
 -2009-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * print.c (print_preprocess): Preprocess the key_and_value table of
 -      hashtables, even tho they're "hidden" (bug#5082).
 -
 -2009-11-29  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (frame_make_pointer_invisible)
 -      (frame_make_pointer_visible): Declare f before statements.
 -
 -2009-11-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about
 -      omitted dependencies on lisp.h.
 -
 -2009-11-27  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
 -      is NULL.
 -
 -      * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
 -
 -      * frame.c (frame_make_pointer_invisible)
 -      (frame_make_pointer_visible): Just return if there isn't any selected
 -      frame.
 -
 -      * search.c (simple_search): Remove warning by making *p const.
 -
 -2009-11-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xdisp.c (power_letter): Remove duplicate const.
 -
 -2009-11-25  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * term.c (delete_tty): Remove check for last terminal (bug#4970).
 -
 -      * xsettings.c: Revert changes from 2009-11-23.  Just use Xft
 -      defaults (bug #5025).
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (adjust_markers_for_delete): Move it in the
 -      right direction!  (bug#4803)
 -
 -2009-11-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * font.c (font_open_entity): Don't use ASET if font_object is Qnil.
 -
 -      * xterm.c (x_new_font): Update f->scroll_bar_actual_width.
 -
 -2009-11-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (focus-follows-mouse): Mention mouse-autoselect-window.
 -
 -2009-11-23  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * Makefile.in: Must create deps for ecrt0.o in its rule.
 -
 -      * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
 -      because that is what Gtk+ font dialog understands.
 -
 -      * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
 -      of Fcopy_sequence.
 -      (font_open_by_name): Put name given into QCname for font-object returned.
 -
 -      * frame.c (x_set_font): Save original font name as frame parameter
 -      font-parameter.
 -
 -      * xsettings.c (set_default_xft_settings): New function.
 -      (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
 -      is found.
 -
 -2009-11-22  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when
 -      searching backwards through multibyte buffer.
 -
 -2009-11-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: #include xgselect.h.
 -      (x_initialize): Call xgselect_initialize.
 -
 -      * xsettings.c (something_changedCB): C++ comments => C comments.
 -      (init_gconf): Do not deal with any GLib file descriptors, xg_select
 -      does that now.
 -
 -      * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
 -      (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
 -      (scroll_bar_button_cb): Remove.
 -      (create_menus): C++ comments => C comments.  Don't bind grab-notify
 -      event.
 -      (xg_create_scroll_bar): Don't bind button-press-event and
 -      button-release-event.
 -
 -      * process.c: Include xgselect.h if defined (USE_GTK) ||
 -      defined (HAVE_GCONF).
 -      (wait_reading_process_output): Call xg_select for the same condition.
 -
 -      * xgselect.c (xg_select): New function to better integrate with
 -      GLib/Gtk event handling.  Needed if GConf daemon dies/restarts.
 -
 -      * xgselect.h: New file, declare xg_select, xgselect_initialize.
 -
 -      * Makefile.in (XOBJ): Add xgselect.o.
 -
 -2009-11-21  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH):
 -      Remove ignored second argument.  All callers changed.
 -      * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR)
 -      (RE_STRING_CHAR_AND_LENGTH): Likewise.
 -      * xdisp.c (string_char_and_length): Likewise.
 -
 -2009-11-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_new_font):
 -      * print.c (print_object):
 -      * cmds.c (Fself_insert_command): Move declarations before statements.
 -
 -2009-11-20  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * s/cygwin.h: Remove unneeded linker flags.
 -
 -2009-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_default_font_parameter): Call xsettings_get_system_font.
 -
 -      * xsettings.h: Declare xsettings_get_system_font.
 -
 -      * xsettings.c (xsettings_get_system_font): New function.
 -      (init_gconf): No use initiating gconf unless we have Xft also.
 -      (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and
 -      HAVE_GCONF.
 -
 -      * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty
 -      add a blank entry so it doesn't collapse into nothing.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Funintern): Comment out last change.
 -
 -2009-11-19  Richard Stallman  <rms@gnu.org>
 -
 -      * lread.c (Funintern): Error if symbol is t or nil.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (make_gap_larger): Don't make as many assumptions about the
 -      representation of Lisp integers.
 -      Reported by MJ Chan <mjchan.inbox@gmail.com>.
 -
 -2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lisp.h: Remove declaration of Ffont_get_system_font.
 -      * xfns.c: Move include of "xsettings.h".
 -      * xsettings.h: Use EXFUN to declare Ffont_get_system_font.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (something_changedCB, Ffont_get_system_font):
 -      Check use_system_font.
 -      (syms_of_xsettings): DEFVAR font-use-system-font.
 -
 -2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xfns.c (x_default_font_parameter): Remove dead assignment.
 -
 -      * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xftfont.c (xftfont_fix_match): Older versions of fontconfig do
 -      not have FC_LCD_*.  #define them if not there.
 -
 -      * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto.
 -
 -      * xterm.h (struct x_display_info): Add atoms and Window for xsettings.
 -
 -      * xterm.c (handle_one_xevent): Call xft_settings_event for
 -      ClientMessage, PropertyNotify and DestroyNotify.
 -      (x_term_init): If we have XFT, get DPI from Xft.dpi.
 -      Call xsettings_initialize.
 -
 -      * xftfont.c (xftfont_fix_match): New function.
 -      (xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
 -      Call xftfont_fix_match after XftFontMatch.
 -
 -      * xfont.c (xfont_driver): Initialize all members.
 -
 -      * xfns.c (x_default_font_parameter):
 -      Try font from Ffont_get_system_font.
 -      Do not get font from x_default_parameter if we got one from
 -      Ffont_get_system_font.
 -      (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f).
 -
 -      * w32font.c (w32font_driver): Initialize all members.
 -
 -      * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
 -
 -      * lisp.h: Declare syms_of_xsettings.
 -
 -      * keyboard.c (kbd_buffer_get_event, make_lispy_event):
 -      Handle CONFIG_CHANGED_EVENT.
 -
 -      * ftfont.c (ftfont_filter_properties): New function.
 -
 -      * frame.c (x_set_font): Remove unused variable lval.
 -
 -      * font.h (struct font_driver): Add filter_properties.
 -
 -      * font.c (font_put_extra): Don't return if val is nil, it means
 -      boolean option is off.
 -      (font_parse_fcname): Collect all extra properties in extra_props
 -      and call filter_properties for all drivers with extra_props and
 -      font as parameter.
 -      (font_open_entity): Do not use cache, it does not pick up new
 -      fontconfig settings like hinting.
 -      (font_load_for_lface): If spec had a name in it, store it in entity.
 -
 -      * emacs.c (main): Call syms_of_xsettings.
 -
 -      * config.in: HAVE_GCONF is new.
 -
 -      * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
 -      xsettings.o is new.
 -
 -2009-11-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): Consider face-remapping when falling
 -      back to the default font in case that no suitable font is found.
 -
 -2009-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
 -      Suggested by Chad Brown <yandros@mit.edu>.
 -      (push_menu_item): Use MENU_ITEMS_ITEM_* names.
 -
 -2009-11-16  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_menu_wait_for_event): Call XFlush before select.
 -
 -2009-11-14  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in: Ignore errors from mkdir when creating deps directory.
 -
 -2009-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already
 -      has a parent.
 -
 -      * Makefile.in: If AUTO_DEPEND is defined, make gcc generate
 -      dependency files in deps/.  Include those files into Makefile.
 -
 -      * config.in: Generated (AUTO_DEPEND).
 -
 -2009-11-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Vdbus_registered_objects_table): Rename from
 -      Vdbus_registered_functions_table, because it contains also
 -      properties.  Fix docstring.
 -      (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (mark_object): Don't reprocess marked strings.
 -      Check vector's markbit earlier.  Adjust calls to mark_vectorlike.
 -      (mark_vectorlike, mark_char_table): Assume the object is unmarked.
 -
 -2009-11-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.c (word_boundary_p): Adjust for the change of the
 -      semantics of Vword_combining_categories.
 -      (Vword_combining_categories): Describe the slight change of the
 -      semantics.
 -
 -2009-11-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM.
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change.
 -
 -2009-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (syms_of_xdisp): Fix typo in last change.
 -
 -2009-11-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies; add dependencies to lisp.h.
 -
 -2009-11-11  David Reitter  <david.reitter@gmail.com>
 -
 -      * menu.c (Fx_popup_menu): Remove left-over debugging code and rename
 -      variables to fix 2009-11-09 change.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c (ifflag_def): Make flag_sym constant.
 -      (Fnetwork_interface_info): Use a constant pointer.
 -      (ifflag_table):
 -      * xfns.c (cursor_bits):
 -      * xdisp.c (power_letter):
 -      * termcap.c (speeds, esctab):
 -      * sysdep.c (baud_convert):
 -      * keyboard.c (lispy_accent_codes, modifier_names):
 -      * image.c (xbm_format, xpm_format, pbm_format, png_format)
 -      (jpeg_format, tiff_format, gif_format, svg_format)
 -      (interlace_start, interlace_increment, gs_format):
 -      * gtkutil.c (separator_names):
 -      * fringe.c (swap_nibble):
 -      * fns.c (base64_value_to_char, base64_char_to_value):
 -      * fileio.c (make_temp_name_tbl):
 -      * coding.c (suffixes): Make constant.
 -
 -      * frame.c (make_initial_frame):
 -      * buffer.c (init_buffer_once): Use make_pure_c_string instead of
 -      build_string.
 -      * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory.
 -
 -      * s/freebsd.h:
 -      * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o.
 -
 -      * Makefile.in: Add dependencies to lisp.h.  Remove dependencies
 -      for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c.
 -
 -      * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string.
 -      * xterm.c (syms_of_xterm):
 -      * xfaces.c (syms_of_xfaces):
 -      * xdisp.c (syms_of_xdisp):
 -      * lread.c (syms_of_lread):
 -      * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of
 -      build_string.
 -
 -      * doc.c (Fsnarf_documentation): Purecopy Vbuild_files.
 -
 -2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fplist_get): Merge the active and the commented out code.
 -
 -2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.h: Declare timer_check.
 -
 -      * keyboard.c (timer_check_2): New function that does what the old
 -      timer_check did.
 -      (timer_check): Call timer_check_2 until -1 or a non-zero time is
 -      returned, i.e. don't return -1 with timers pending.
 -
 -      * process.c: Remove extern declaration of timer_check.
 -
 -      * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
 -      even if timer_check returned -1.
 -
 -      * gtkutil.c (xg_dialog_response_cb): Data is now a struct
 -      xg_dialog_data.
 -      (pop_down_dialog): Destroy widget (if any), cancel timer and unref
 -      the event loop.
 -      (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
 -      (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
 -      Destroy the dialog after xg_dialog_run.
 -
 -2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars.
 -
 -2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes.
 -
 -2009-11-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * menu.c [HAVE_NTGUI]: Declare current_popup_menu.
 -
 -2009-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c,
 -      w32menu.c, and nsmenu.m.
 -      Simplify the obsolete case where position is nil.
 -      (cleanup_popup_menu): New function, moved from nsmenu.m.
 -      (struct skp): Remove slot `notreal'.
 -      (single_keymap_panes, keymap_panes): Remove arg `notreal' and
 -      adjust callers.
 -      (single_menu_item): Adjust call to parse_menu_item.
 -      (syms_of_menu): Defsubr x-popup-menu.
 -      * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c.
 -      (keymap_panes): Don't export any more.
 -      (mouse_position_for_popup, w32_menu_show, ns_menu_show)
 -      (xmenu_show): Declare.
 -      * keyboard.c (parse_menu_item): Remove arg `notreal'.
 -      (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers.
 -      * keyboard.h (parse_menu_item): Update declaration.
 -      * xmenu.c (Fx_popup_menu): Remove.
 -      (syms_of_xmenu): Don't defsubr x-popup-menu.
 -      * w32menu.c (Fx_popup_menu): Remove.
 -      (syms_of_w32menu): Don't defsubr x-popup-menu.
 -      * nsmenu.m (cleanup_popup_menu): Remove.
 -      (ns_menu_show): Rename from ns_popup_menu and remove all the code
 -      moved to menu.c's Fx_popup_menu.
 -      (Fx_popup_menu): Remove.
 -      (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize
 -      menu_items (it's done in menu.c already).
 -
 -2009-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
 -      Use `tem' less.  Make sure KEYEQ holds a string or nil (bug#4879).
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xmenu.c (Fx_popup_menu): Extract event timestamp.  Pass it to
 -      xmenu_show.  Hide any tooltip before opening a menu.
 -      (xmenu_show): New arg.  Pass it to create_and_show_popup_menu.
 -      (create_and_show_popup_menu): New arg.  Pass it to gtk_menu_popup.
 -
 -2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Let integers use up 2 tags to give them one extra bit and thus double
 -      their range.
 -      * lisp.h (USE_2_TAGS_FOR_INTS): New macro.
 -      (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P):
 -      New macros.
 -      (enum Lisp_Type): Use them.  Give explicit values.
 -      (Lisp_Type_Limit): Remove.
 -      (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
 -      (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
 -      Pay attention to USE_2_TAGS_FOR_INTS.
 -      (INTEGERP): Use LISP_INT_TAG_P.
 -      * fns.c (internal_equal): Simplify the default case.
 -      (sxhash): Use case_Lisp_Int.
 -      * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit
 -      any more.
 -      (Ftype_of): Use case_Lisp_Int.
 -      (store_symval_forwarding): Take into account the fact that Ints can
 -      now have more than one tag.
 -      * buffer.c (syms_of_buffer): Use LISP_INT_TAG.
 -      buffer_slot_type_mismatch):
 -      * xfaces.c (face_attr_equal_p):
 -      * print.c (print_object):
 -      * alloc.c (mark_maybe_object, mark_object, survives_gc_p):
 -      Use case_Lisp_Int.
 -
 -2009-11-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K.
 -
 -      * alloc.c (make_pure_c_string): Fix last change to avoid compiler
 -      warning.
 -
 -2009-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870).
 -
 -      * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870).
 -
 -      * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for
 -      ButtonPressRelease and MotionNotify (bug#4870).
 -
 -2009-11-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory.
 -
 -      * xterm.c (syms_of_xterm):
 -      * xselect.c (syms_of_xselect):
 -      * xmenu.c (syms_of_xmenu):
 -      * xfns.c (syms_of_xfns):
 -      * xfaces.c (syms_of_xfaces):
 -      * xdisp.c (syms_of_xdisp):
 -      * window.c (syms_of_window):
 -      * w32fns.c (syms_of_w32fns):
 -      * undo.c (syms_of_undo):
 -      * textprop.c (syms_of_textprop):
 -      * terminal.c (syms_of_terminal):
 -      * syntax.c (syms_of_syntax):
 -      * sound.c (syms_of_sound):
 -      * search.c (syms_of_search):
 -      * print.c (syms_of_print):
 -      * minibuf.c (syms_of_minibuf):
 -      * macros.c (syms_of_macros):
 -      * keymap.c (syms_of_keymap, initial_define_key)
 -      (initial_define_lispy_key):
 -      * keyboard.c (syms_of_keyboard):
 -      * insdel.c (syms_of_insdel):
 -      * image.c (syms_of_image):
 -      * fringe.c (syms_of_fringe):
 -      * frame.c (syms_of_frame):
 -      * fontset.c (syms_of_fontset):
 -      * fns.c (syms_of_fns):
 -      * fns.c (syms_of_fns):
 -      * fileio.c (syms_of_fileio):
 -      * fileio.c (syms_of_fileio):
 -      * eval.c (syms_of_eval):
 -      * doc.c (syms_of_doc):
 -      * dispnew.c (syms_of_display):
 -      * dired.c (syms_of_dired):
 -      * dbusbind.c (syms_of_dbusbind):
 -      * data.c (syms_of_data):
 -      * composite.c (syms_of_composite):
 -      * coding.c (syms_of_coding):
 -      * cmds.c (syms_of_cmds):
 -      * charset.c (define_charset_internal, syms_of_character):
 -      * ccl.c (syms_of_ccl):
 -      * category.c (syms_of_category, init_category_once):
 -      * casetab.c (syms_of_casetab):
 -      * casefiddle.c (syms_of_casefiddle):
 -      * callint.c (syms_of_callint):
 -      * bytecode.c (syms_of_bytecode):
 -      * buffer.c (keys_of_buffer, syms_of_buffer):
 -      * alloc.c (syms_of_alloc):
 -      * process.c (syms_of_process, init_process):
 -      * lread.c (syms_of_lread, init_obarray):
 -      * font.c (build_style_table):
 -      * emacs.c (syms_of_emacs, main): Replace calls to intern with
 -      intern_c_string, calls to make_pure_string with
 -      make_pure_c_string.  Use pure_cons instead of Fcons.
 -
 -      * process.c (socket_options): Make it const.
 -      (set_socket_option, init_process): Use a const pointer.
 -
 -      * lread.c (intern_c_string): New function.
 -      (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
 -      (defvar_int): Uset it.  Make the name const char*.
 -
 -      * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
 -      (defvar_int): Update prototypes.
 -      (DEFUN, EXFUN): Support for prototypes is now required.
 -      (intern_c_string): New prototype.
 -      (struct Lisp_Subr): Make symbol_name constant.
 -
 -      * font.c (struct table_entry): Remove unused member.  Make NAMES
 -      constant.
 -      (weight_table, slant_table, width_table): Make constant.
 -
 -      * emacs.c (struct standard_args): Make name and longname constant.
 -
 -      * character.h (DEFSYM): Use intern_c_string.
 -
 -2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (make_pure_c_string): New function.
 -
 -      * eval.c (Fautoload): Purecopy all arguments.
 -
 -2009-11-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Be sure set coding-system of
 -      the buffer in case of replace.
 -
 -2009-11-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1620000.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
 -      when applicable (bug#4851).
 -
 -      * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
 -      (P_): Support for prototypes is now required.
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix
 -      (Bug#4827).
 -
 -2009-10-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
 -
 -2009-10-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1470000.
 -
 -      * lread.c (Fload): Purecopy the file name when building
 -      Vpreloaded_file_list.
 -
 -2009-10-29  Jason Rumney  <jasonr@wanchan.jasonrumney.net>
 -
 -      * w32fns.c (syms_of_w32fns): Change default value of
 -      w32-scroll-lock-modifier to nil.  (Bug#2827)
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fall_completions): Fix typos in docstring.
 -
 -2009-10-26  Andreas Schwab  <schwab@redhat.com>
 -
 -      * puresize.h (PURESIZE_RATIO): Increase back to 10/6.
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (grow_mini_window): Comment out "delta >= 0" assertion.
 -      For delta < 0, skip check that only makes sense when the mini-window
 -      is going to be enlarged.  (Bug#4534)
 -
 -2009-10-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt
 -      string in menu maps (Bug#4471).
 -
 -2009-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call
 -      FRAME_NS_VIEW on terminal frames (Bug#4765).
 -
 -2009-10-24  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and
 -      DBUS_TYPE_UINTnn separately to get proper sign extension.
 -
 -      * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
 -      can properly handle unsigned types.
 -      (make_uid, make_gid): Remove.
 -
 -      * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
 -      types again.
 -
 -      * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type.
 -      (system_process_attributes): Likewise.
 -
 -2009-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keymap.c (Fmake_sparse_keymap): Purecopy the name.
 -
 -      * eval.c (Fautoload): Purecopy the filename.  Simplify.
 -
 -      * category.c (Fdefine_category): Purecopy docstring.
 -
 -2009-10-23  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.
 -
 -      * puresize.h (PURESIZE_RATIO): Decrease to 11/7.
 -
 -2009-10-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * window.c (Fwindow_edges, Fwindow_pixel_edges)
 -      (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix
 -      (Bug#4775).
 -
 -2009-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char.
 -      (init_fileio_once):
 -      * lisp.h (init_fileio_once): Remove.
 -      * emacs.c (main): Don't call init_fileio_once.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1430000.
 -
 -2009-10-21  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * doprnt.c (doprnt): Fix overflow check.
 -
 -2009-10-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_term_init): Remove XSynchronize call done for debugging.
 -
 -      * xterm.h (x_wait_for_event): Declare it.
 -
 -      * xterm.c (pending_event_wait): New variable.
 -      (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
 -      see pending_event_wait.eventtype.
 -      (handle_one_xevent): Don't change gravity when parent changes.
 -      (x_new_font): Call change_frame_size with new rows/columns before we
 -      try to resize the frame.
 -      (x_wait_for_event): New function.
 -      (x_set_window_size_1): Don't change gravity unless change_gravity
 -      is set.
 -      Call XResizeWindow with FRAME_OUTER_WINDOW.  If we are visible,
 -      don't change frame size, instead wait for the ConfigureNotify.
 -      (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
 -      (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
 -      (x_initialize): Initialize pending_event_wait.
 -
 -      * xmenu.c (set_frame_menubar): Add internal border width to menu bar
 -      size.
 -
 -      * widget.c (EmacsFrameSetValues): Add comment.
 -      (EmacsFrameSetCharSize): Just call x_set_window_size.
 -
 -      * gtkutil.c (xg_frame_set_char_size): Flush events and call
 -      x_wait_for_event.
 -      (flush_and_sync): Remove again.
 -      (xg_get_font_name): Suggest monospace if no previous font is known.
 -
 -2009-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.c (char_resolve_modifier_mask): Don't resolve meta to the
 -      8th bit, since that only made sense in the ASCII world (bug#4751).
 -
 -2009-10-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit
 -      processing pending events when event is filtered for input method.
 -      (Bug#3681)
 -
 -2009-10-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c: Add #endif accidentally removed in previous change.
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fns.c: Remove code for unsupported system: MAC_OS.
 -      * image.c: Likewise.  Include setjmp.h.
 -
 -2009-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for
 -      pixel -1 (bug #4742).
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c (create_pty): Remove conditionals for no longer
 -      supported systems: UNIPLUS and RTU.
 -
 -      * xterm.c:
 -      * xfns.c: Remove always true condition: XtSpecificationRelease >= 5.
 -
 -      * alloc.c: Do not define struct catchtag.
 -      * eval.c: Move struct catchtag definition ...
 -      * lisp.h: ... here.
 -
 -      * image.c: Move png.h #include earlier to avoid warnings.
 -
 -      * xterm.c:
 -      * xsmfns.c:
 -      * xselect.c:
 -      * xrdb.c:
 -      * xmenu.c:
 -      * xftfont.c:
 -      * xfont.c:
 -      * xfns.c:
 -      * xfaces.c:
 -      * xdisp.c:
 -      * window.c:
 -      * widget.c:
 -      * w32xfns.c:
 -      * w32uniscribe.c:
 -      * w32term.c:
 -      * w32select.c:
 -      * w32reg.c:
 -      * w32proc.c:
 -      * w32menu.c:
 -      * w32inevt.c:
 -      * w32heap.c:
 -      * w32font.c:
 -      * w32fns.c:
 -      * w32console.c:
 -      * w32.c:
 -      * w16select.c:
 -      * vm-limit.c:
 -      * unexsol.c:
 -      * unexec.c:
 -      * unexcw.c:
 -      * unexaix.c:
 -      * undo.c:
 -      * tparam.c:
 -      * textprop.c:
 -      * terminfo.c:
 -      * terminal.c:
 -      * termcap.c:
 -      * term.c:
 -      * syntax.c:
 -      * sound.c:
 -      * sheap.c:
 -      * search.c:
 -      * scroll.c:
 -      * region-cache.c:
 -      * regex.c:
 -      * ralloc.c:
 -      * process.c:
 -      * print.c:
 -      * nsterm.m:
 -      * nsselect.m:
 -      * nsmenu.m:
 -      * nsimage.m:
 -      * nsfont.m:
 -      * nsfns.m:
 -      * msdos.c:
 -      * minibuf.c:
 -      * menu.c:
 -      * marker.c:
 -      * macros.c:
 -      * keymap.c:
 -      * keyboard.c:
 -      * intervals.c:
 -      * insdel.c:
 -      * indent.c:
 -      * gtkutil.c:
 -      * ftxfont.c:
 -      * ftfont.c:
 -      * fringe.c:
 -      * frame.c:
 -      * fontset.c:
 -      * font.c:
 -      * fns.c:
 -      * floatfns.c:
 -      * filelock.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * editfns.c:
 -      * dosfns.c:
 -      * doprnt.c:
 -      * doc.c:
 -      * dispnew.c:
 -      * dired.c:
 -      * dbusbind.c:
 -      * data.c:
 -      * composite.c:
 -      * coding.c:
 -      * cmds.c:
 -      * cm.c:
 -      * chartab.c:
 -      * charset.c:
 -      * character.c:
 -      * ccl.c:
 -      * category.c:
 -      * casetab.c:
 -      * casefiddle.c:
 -      * callproc.c:
 -      * callint.c:
 -      * bytecode.c:
 -      * buffer.c:
 -      * atimer.c: Include setjmp.h.  (Bug#4643)
 -
 -2009-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Remove leftover table unibyte_to_multibyte_table.
 -      * character.c (unibyte_to_multibyte_table): Remove.
 -      (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
 -      * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
 -      * character.h (UNIBYTE_TO_CHAR): New macro.
 -      (MAKE_CHAR_MULTIBYTE): Use it.
 -      (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
 -      * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
 -      (message_dolog, set_message_1):
 -      * search.c (Freplace_match):
 -      * editfns.c (Fcompare_buffer_substrings):
 -      * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
 -      (concat):
 -      * insdel.c (copy_text, count_size_as_multibyte):
 -      Use ASCII_CHAR_P and BYTE8_TO_CHAR.
 -      * term.c (produce_glyphs):
 -      * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
 -      * regex.c (RE_CHAR_TO_MULTIBYTE):
 -      * cmds.c (internal_self_insert):
 -      * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR.
 -
 -      * cmds.c (internal_self_insert): `c' is already in "multibyte" form.
 -
 -2009-10-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1310000.
 -
 -2009-10-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (Fbuffer_name): Doc fix.  (Bug#4728)
 -
 -2009-10-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat,
 -      still needed under Tiger.
 -
 -      * nsterm.m (EmacsView-conversationIdentifier): Arg is long.
 -
 -      * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under
 -      __Apple__.
 -
 -      * m/intel386.h: Remove DARWIN_OS/_LP64 special case.
 -
 -2009-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (print_object): Escape a symbol like "2E10" too.
 -
 -2009-10-11  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Cleanups and changes for 64-bit compile under Snow Leopard.
 -      Based on suggestions by Erik Charlebois.
 -
 -      * nsfns.m (xw-color-values): Use CGFloat where appropriate.
 -
 -      * nsfont.m (ns_char_width): Replace deprecated call.
 -      (ns_findfonts, nsfont_list_family): Use long format in printf, and
 -      cast argument.
 -      (nsfont_open): Use ns_char_width() everywhere.
 -      (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
 -
 -      * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
 -
 -      * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat
 -      where appropriate.
 -
 -      * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger
 -      where appropriate.
 -      (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:):
 -      Use stringWithUTF8String.
 -      (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature.
 -
 -      * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip):
 -      Add formal protocol mention to inheritance.
 -      [NS_HAVE_NSINTEGER]: Drop conditional and contents.
 -
 -      * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate.
 -      Fix printf format.
 -      (ns_query_color): Use CGFloat where appropriate.
 -      (EmacsView<NSTextInput>, EmacsScroller): Fix method signatures.
 -      (EmacsScroller-mouseDown:): Use long format in printf, and cast
 -      argument.
 -
 -      * config.in (NS_HAVE_NSINTEGER): Drop.
 -
 -      * dbusbind.c (dbus-method-return-internal)
 -      (dbus-method-error-internal): Use long format in printf, and cast
 -      argument.
 -
 -      * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format
 -      in printf, and cast argument.
 -
 -      * process.c (list_processes_1): Use long format in printf, and
 -      cast argument.
 -
 -2009-10-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (Fframe_pixel_height): Doc fix.  (Bug#4535)
 -
 -2009-10-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (create_menus): Call gtk_widget_set_size_request for
 -      menu bar with a small width so it doesn't enlarge the frame.
 -
 -2009-10-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fontset.c (Fset_fontset_font): Fix typos in error messages.
 -
 -2009-10-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (emacs${EXEEXT}): Remove direct dependence on
 -      SOME_MACHINE_LISP (this enters indirectly via DOC).
 -
 -2009-10-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Doc fix.  (Bug#4638)
 -
 -2009-10-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <unibyte-display-via-language-environment>:
 -      Doc fix.
 -
 -2009-10-03  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fdelete_window): Check WINDOW argument.  (Bug#4618)
 -
 -2009-10-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * lisp.h (Qdelete_directory_internal): Remove, because it is not
 -      used anymore outside fileio.c.
 -
 -      * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
 -
 -2009-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lisp.h (Qdelete_directory_internal):
 -      Declare, instead of Qdelete_directory.
 -
 -      * w32fns.c (Fsystem_move_file_to_trash): Use it.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fcalled_interactively_p): Add `kind' argument.
 -
 -2009-10-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fdelete_directory_internal): Rename from
 -      Fdelete_directory.  It is not a command anymore.  It has no file
 -      name handler.
 -
 -2009-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_next_display_element): Use an enum in last change.
 -
 -2009-09-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Pay attention to
 -      unibyte_display_via_language_environment in handling
 -      Vnobreak_char_display.
 -
 -2009-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (ns_app_name): New extern variable.
 -
 -      * nsterm.m (ns_app_name): New variable.
 -      (ns_term_init): Set and use it.
 -      (ns_term_shutdown): Use it.
 -
 -      * nsmenu.m (ns_update_menubar): Use ns_app_name.  Sync with xmenu.c.
 -      (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name.
 -
 -      * nsfns.m (ns_set_name_iconic, ns_set_name)
 -      (ns_set_name_as_filename, x-create-frame, ns-get-resource)
 -      (ns-set-resource): Use ns_app_name instead of NSProcessInfo call.
 -
 -      * menu.c (find_and_return_menu_selection) [HAVE_NS]:
 -      Remove double-casting in client_data comparison.
 -
 -2009-09-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (make_lispy_event): Remember last wheel direction.
 -      (syms_of_keyboard) <wheel_syms>: Compute array size at compile time.
 -
 -2009-09-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in
 -      internal.elc.  Add term/pc-win.elc.
 -      (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and
 -      term/x-win.elc.
 -      (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and
 -      term/w32-win.elc.
 -      (NS_SUPPORT): New.
 -      (lisp): Add NS_SUPPORT.
 -      (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc.
 -
 -2009-09-25  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsmenu.m (EmacsMenu-clear): Recognize application menu
 -      on Mac OS X 10.6+ (bug#4513).
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frame.c (xrdb_get_resource): Return nil for empty string resources;
 -      some parts of Emacs code (like font selection) don't grok them.
 -      See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
 -
 -2009-09-24  Andreas Schwab  <schwab@redhat.com>
 -
 -      * coding.c (decode_coding_iso_2022): Fix operator precedence.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dired.c (Fdirectory_files): Fix typo in docstring.
 -
 -2009-09-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EV_TIMESTAMP, x_set_window_size)
 -      (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
 -      (EmacsScroller-setPosition:portion:whole:): Remove -display call
 -      under GNUstep.
 -      (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
 -
 -      * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
 -      glyph advancement.
 -
 -2009-09-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
 -      (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
 -
 -      * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
 -      deleted (bug #4492).
 -
 -      * nsfont.m (Vns_reg_to_script): New lisp variable.
 -      (syms_of_nsfont): Declare it.
 -      (ns_registry_to_script): New function.
 -      (ns_get_req_script): Call it.
 -      (ns_findfonts): Don't give up on non-unicode registry.
 -
 -      * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
 -
 -2009-09-20  Tom Tromey  <tromey@redhat.com>
 -
 -      * eval.c (find_handler_clause): Make stack-trace-on-error work in
 -      batch mode (bug#4228).
 -
 -2009-09-18  Rob Christie  <robchristie@gmail.com>  (tiny change)
 -
 -      * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
 -      carefully.  (Bug #4339)
 -
 -2009-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
 -
 -2009-09-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (inhibit_x_resources): Update doc string for NS.
 -      (main) [HAVE_NS]: Don't process --no-init-file option.  Remove
 -      legacy code for -NXHost.  Fix error printf in daemon case.
 -
 -      * nsterm.h (ns_no_defaults): Remove.
 -
 -      * nsterm.m (ns_no_defaults): Remove.
 -      (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
 -      (ns_use_qd_smoothing): Remove legacy variable.
 -      (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
 -      don't update the NSWindow itself.
 -      (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
 -      state detection and store user rect ourselves.  (Bug #3581)
 -
 -      * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
 -      ns_use_qd_smoothing.
 -
 -      * nsfns.m (x_get_string_resource): Ape just-previous changes to other
 -      platform versions.  Drop support for emacs-20-style face specs.
 -      (x-close-connection): Drop PSFlush() under OS X.
 -      (x-focus-frame): Activate the app first.  (Bug #4180)
 -
 -2009-09-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (inhibit_x_resources): New variable.
 -      (main) [HAVE_NS]: Don't process --quick command line option.
 -      (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
 -
 -      * lisp.h (inhibit_x_resources): Declare it extern.
 -
 -      * w32reg.c (x_get_string_resource):
 -      * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
 -
 -2009-09-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP):
 -      Add lisp/term/internal.elc.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (x_get_resource_string): Re-add for non-toolkit builds
 -      (bug#4461).
 -
 -2009-09-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1290000.
 -
 -      * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
 -      (OBJECTS_MACHINE): Remove, unused.
 -
 -2009-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (x_get_resource_string): Remove unused.
 -
 -2009-09-15  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_new_font): Call change_frame_size before calling
 -      x_set_window_size, in case frame size won't change.
 -
 -      * frame.c (x_set_font): Remove dead code.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Fload): Also run do-after-load-evaluation while dumping.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Fload): Don't output a message after loading an obsolete
 -      package any more (done in Lisp now).
 -
 -2009-09-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (syms_of_fns): Doc fix (Bug#4227).
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fwhere_is_internal): Use nconc2.
 -
 -2009-09-11  Alan Mackenzie  <acm@muc.de>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
 -      batch mode.
 -
 -2009-09-11  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xdisp.c (display_mode_element): Detect cycles.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (where_is_internal): Don't erroneously return nil right after
 -      filling the cache.
 -      (where_is_internal_1): Fix up typo.
 -
 -2009-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
 -      share a common doc-string.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (get_keymap): Return the actual keymap symbol rather than
 -      t for autoloaded keymaps when autoloading is not allowed (bug#4393).
 -
 -      * keymap.c (QCadvertised_binding): New constant.
 -      (syms_of_keymap): Initialize it.
 -      (Fwhere_is_internal): Try and use bindings from :advertised-binding
 -      if applicable.
 -
 -2009-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
 -      (parse_menu_item): Streamline since bindings are recomputed all the
 -      time anyway.  Don't bother checking Vdefine_key_rebound_commands any
 -      more and don't support lmenu's menu-alias any more either.
 -
 -      * keymap.c (where_is_internal_data): Make noindirect a boolean.
 -      (where_is_internal): Strip it down to only traverse the keymaps.
 -      Move the cache handling from Fwhere_is_internal to here.
 -      (Fwhere_is_internal): Move the handling of remapping and the choice of
 -      the best binding from where_is_internal to here.
 -      Unify the cached/noncached paths, so remapping is also handled
 -      correctly when the cache is used, and so the cache can be used to
 -      speed up remap-handling when applicable.
 -      Give preference to non-remapped bindings.
 -      * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
 -      non-remapped bindings.
 -      * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
 -      command remapping.
 -
 -      * xdisp.c (display_mode_element): Move list length limit from 50 to
 -      5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
 -
 -2009-09-09  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_get_family): Don't force first letter to uppercase.
 -
 -2009-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (Vtruncate_partial_width_windows): Improve docstring.
 -      (Bug#4334)
 -
 -      * keymap.c (where_is_internal): Filter out shadowed remappings.
 -      Assume that where_is_internal returns unshadowed bindings to simplify
 -      the code and get rid of the gotos.  Use ASIZE.
 -
 -2009-09-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_focus_changed): If we get a focusout and pointer
 -      is invisible, make it visible.
 -
 -      * xterm.h: Remove condition for declaration of
 -      x_*_window_to_frame.
 -
 -2009-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Make it work again on the
 -      initial terminal as well.
 -
 -2009-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h: Rename x_non_menubar_window_to_frame to
 -      x_menubar_window_to_frame.
 -
 -      * xterm.c: Remove declarations also in xterm.h
 -      (XTmouse_position): Do not return valid positions
 -      for clicks in the menubar and the toolbar for Gtk+.
 -
 -      * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
 -      if the widget for the event has the same top level as a frame,
 -      return the frame.
 -      (x_menubar_window_to_frame): Detect menu bar even with Gtk+
 -      internal windows, bug #4122.
 -      (x_non_menubar_window_to_frame): Remove.
 -
 -2009-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (default-major-mode): Move most of the doc from here...
 -      (major-mode): ... to here.
 -
 -2009-08-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * process.c (wait_reading_process_output): Keep the descriptor
 -      when pty is used by a non-child process, e.g., in I/O buffer of
 -      GDB this allows inferior to be restarted.
 -
 -2009-08-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Remove redundant test and collapse
 -      both branches into one.
 -
 -2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
 -      (main): Use enable-multibyte-characters rather than
 -      default-enable-multibyte-characters.  Output a warning message when
 -      running a unibyte session.
 -
 -2009-08-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
 -      LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
 -      (copy_data_segment): Also copy __program_vars section.
 -      (copy_dyld_info) [LC_DYLD_INFO]: New function.
 -      (dump_it) [LC_DYLD_INFO]: Use it.
 -
 -      * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
 -
 -2009-08-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
 -      $(SRC)/buildobj.h.
 -      (buildobj.h): Renamed from $(SRC)/buildobj.h.
 -      (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
 -      $(SRC)/buildobj.h.
 -      (clean): Add buildobj.h.
 -
 -2009-08-28  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * print.c (print_object): Set escapeflag to 1 when printing
 -      hashtable keys and values.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (read_integer): Use doubles (and potentially return a float
 -      number) as we do in string-to-number.
 -      (read1): Use strtol to read integers, signal errors on strtol's
 -      overflow and use floats if strtol's output is too large for
 -      Elisp integers.
 -
 -2009-08-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
 -      (make-buildobj-SH): Fix last change.
 -      (SRC): Move to before where it's first used.
 -
 -2009-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (send_process): Use encode_coding_object instead of
 -      encode_coding_string to perform eol-conversion even if the string
 -      is unibyte.
 -
 -      * coding.c (encode_coding_utf_16): Fix checking of a Unicode
 -      character.
 -
 -      * cmds.c (Fself_insert_command): Avoid unnecessay
 -      unibyte->multibyte conversion.  (Bug#4240)  (Bug#4037)
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callproc.c (Fcall_process): Remove always true #if.
 -
 -      * lisp.h: Replace #if 0 code for checking with text pointing to
 -      the --enable-checking configure flag.
 -
 -      * emacs.c (main): Mention the --enable-profiling configure flag
 -      instead of using CFLAGS.
 -
 -2009-08-26  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * Makefile.in (buildobj.h): New target.
 -      (doc.o): Depend on it.
 -      (temacs${EXEEXT}): Don't generate buildobj.lst.
 -      (mostlyclean): Delete buildobj.h, not buildobj.lst.
 -      * makefile.w32-in ($(SRC)/buildobj.h): New target.
 -      ($(BLD)/doc.$(O)): Depend on it.
 -      (make-buildobj-CMD, make-buildobj-SH): New targets.  (Syntax help
 -      provided by Eli Zaretskii.)
 -      ($(TEMACS)): Don't generate buildobj.lst.
 -      * doc.c: Include buildobj.h.
 -      (buildobj): New static variable.
 -      (Fsnarf_documentation): Use it, instead of opening and reading
 -      buildobj.lst.
 -
 -2009-08-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method)
 -      (Fdbus_call_method_asynchronously): Use English numeric format for
 -      timeout values in doc string.
 -
 -2009-08-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (mark_char_table): New function.
 -      (mark_object): Use mark_char_table for a char-table.
 -
 -      * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
 -      (CHAR_TABLE_REF): Use it.
 -
 -2009-08-23  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
 -      before invoking the newly build emacs to check for load-path
 -      shadowing.
 -
 -2009-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (bootstrap_exe): New variable.
 -      (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
 -      Use ${bootstrap_exe}.
 -
 -2009-08-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.h (encode_coding_string): Don't encode unibyte strings.
 -      (Bug#4047)
 -
 -2009-08-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
 -
 -      * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove.  It was
 -      intended as hotfix only.
 -      (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
 -
 -2009-08-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Update documentation properly for last
 -      change, and clean up loose ends in the code left by it.  Fix
 -      longstanding bug with 16-bit hex parsing, and add support for
 -      yet another X11 format (rgb:r/g/b) for compatibility.
 -      * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
 -      timer_check() to avoid crash on Leopard/PPC.  Bug #2154.
 -
 -2009-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
 -
 -2009-08-20  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
 -      (xd_add_watch, xd_remove_watch): Use it.  Print debug messages.
 -      (xd_initialize, xd_pending_messages): Check, whether
 -      $DBUS_SESSION_BUS_ADDRESS is set.
 -
 -2009-08-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfns.m (Fxw_color_values): Return 3-element list.  Doc fix.
 -
 -      * nsterm.m (ns_get_color): Remove incompatible color formats again.
 -
 -2009-08-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (system-type): Doc fix.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
 -      enough for the most common situations.  Avoid SET_SYMBOL_VALUE.
 -
 -2009-08-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
 -      New functions.
 -      (xd_initialize): Revert change from 2009-08-16.
 -
 -2009-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffontset_font): If a nil element is found in a
 -      font-group vector, return nil.
 -
 -2009-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (status_notify): Don't perform redisplay.
 -      (Fdelete_process, list_processes_1, process_send_signal):
 -      Expliticly perform redisplay.
 -      (wait_reading_process_output): Always check process status, but
 -      don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
 -
 -2009-08-17  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
 -      (XFLOAT_INIT): New macro for storing a float value.
 -      * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
 -      * fns.c (sxhash): Copy out the value of a float in order to
 -      examine its bytes.
 -      * dbusbind.c (xd_append_arg): Likewise.
 -
 -      * emacs.c (main): Don't call syms_of_data twice.
 -
 -2009-08-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_initialize): Add connection file descriptor to
 -      input_wait_mask, in order to let select() detect, whether a new
 -      message has been arrived.
 -      (Fdbus_call_method_asynchronously): Allow nil HANDLER.
 -
 -2009-08-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
 -      New functions.
 -
 -      * lisp.h (xd_pending_messages): Declare.
 -
 -      * keyboard.c (readable_events): Call xd_pending_messages.
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
 -
 -      * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
 -
 -      * buffer.c (set_buffer_internal_1)
 -      (swap_out_buffer_local_variables): Check for unbound local
 -      variables (Bug#4138).
 -
 -2009-08-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (create_pty): Fix last change.
 -
 -2009-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
 -      (xbm_load_image): Caller changed.
 -      (xbm_file_p): Avoid signalling an image_error (Bug#4107).
 -
 -2009-08-13  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * process.c (create_pty): New function.
 -      (Fstart_process): Use it to allow Emacs to just associate a pty
 -      with the buffer.  See associated change in gdb-mi.el.
 -      (list_processes_1): Deal with no program name.
 -      (start_process_unwind): Use pid == -2 to mean no process.
 -
 -2009-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * cmds.c (nonundocount): New global variable.
 -      (keys_of_cmds): Initialize it.
 -      (Fself_insert_command): Use it to combine upto 20 sequential chars
 -      into a single undo entry, just like the Qself_insert_command code in
 -      keyboard.c does.
 -      Call frame_make_pointer_invisible, also like the Qself_insert_command
 -      code in keyboard.c does.
 -      * keyboard.c (command_loop_1): Use the new global nonundocount rather
 -      than its own local replacement for it.
 -
 -2009-08-10  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * fns.c (concat): Don't re-set string length to its current value.
 -
 -      * coding.h (decode_coding_string, encode_coding_string):
 -      Use SBYTES macro.
 -
 -      * doprnt.c (doprnt_lisp): Delete unused function.
 -      (doprnt): Merge with doprnt1, discarding lispstrings code.
 -      * lisp.h (doprnt_lisp): Don't declare.
 -
 -2009-08-07  Juri Linkov  <juri@jurta.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1270000.
 -
 -2009-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * print.c (syms_of_print): Undo previous change.
 -
 -2009-08-05  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * lread.c (read1, syms_of_lread): Read hashtables back from the
 -      readable format.
 -
 -      * print.c (print_preprocess, print_object): Print hashtables fully
 -      and readably.
 -      (syms_of_print): Provide 'hashtable-print-readable.
 -
 -2009-08-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
 -      no family set.
 -      (nsfont_open): Handle case when entity has no family.
 -
 -2009-07-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
 -      element, not a list, for match case.
 -
 -2009-07-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
 -      rigidly.
 -
 -      * xfont.c (xfont_list_pattern): Don't ignore the return value of
 -      font_parse_xlfd.  Check font properties more rigidly.
 -
 -2009-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
 -      bsd-common.h.
 -
 -2009-07-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (face_with_height): Call font_clear_prop.
 -
 -2009-07-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (init_display): Use Qx, Qw32, and Qns.
 -
 -      * xterm.c (x_term_init): Use Qx.
 -
 -      * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
 -      (ns_get_color): Revert 2009-07-16 change.
 -
 -2009-07-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (syms_of_lread) <force_load_messages>: New variable.
 -      (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
 -
 -2009-07-25  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * coding.h (decode_coding_string, encode_coding_string):
 -      Use SCHARS macro.
 -
 -      * lread.c: Rewrite 2009-07-21 changes.
 -      (load_depth): Delete.
 -      (Qload_in_progress): New variable.
 -      (load_unwind): Don't reference load_depth or load_in_progress.
 -      (Fload): Likewise; specbind Qload_in_progress instead.
 -      (init_lread): Don't initialize load_depth.
 -      (syms_of_lread): Initialize and protect Qload_in_progress.
 -
 -2009-07-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_findfonts): Correctly return fallback in match case.
 -
 -2009-07-23  Yavor Doganov  <yavor@gnu.org>
 -
 -      * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
 -
 -2009-07-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
 -      Bugs 3792, 3720, 2402.
 -      (ns_lookup_indexed_color): Check for bad index.
 -      (ns_index_color): Init unused slot to 0.
 -      (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
 -      Bug 3714, possibly 3082.
 -
 -2009-07-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
 -      Position IME window at cursor (Bug#2570).
 -      (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
 -      (globals_of_w32fns): Dynamically load functions required above.
 -
 -      * w32term.c (w32_draw_window_cursor): Send message to reposition
 -      any IME window.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c: Revert 2009-07-16 changes.
 -      (Vauto_save_include_big_deletions): New variable.
 -      (Fdo_auto_save): Disable auto-save only if
 -      auto-save-include-big-deletions is nil.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): For continued lines ending in a tab, take
 -      the overflowed pixels into account (Bug#3879).
 -
 -2009-07-21  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * lread.c (load_depth): New variable.
 -      (Fload, load_unwind, init_lread): Set it to the load recursion
 -      depth; set load_in_progress as a simple boolean based on the
 -      current load_depth.  (Bug#3892)
 -
 -2009-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_has_attribute): Remove.
 -      (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
 -
 -2009-07-18  Juri Linkov  <juri@jurta.org>
 -
 -      * process.c (Fset_process_query_on_exit_flag): Mention killing
 -      a buffer in docstring.
 -
 -2009-07-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * casetab.c (shuffle): Fix the logic of setting up the cycle.
 -
 -2009-07-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfns.m (Fns_set_alpha): Remove function.
 -      (syms_of_nsfns): Don't defsubr it.
 -
 -      * nsterm.m (ns_get_color): Remove incompatible color formats.
 -      (ns_color_to_lisp): Generate #rrggbb color format string.
 -
 -2009-07-16  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
 -      (Fset_buffer_auto_saved): Handle save_length = -2.
 -
 -2009-07-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (Qx_gtk_map_stock): New var.
 -
 -      * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
 -      of calling intern each time.
 -
 -2009-07-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfont.m (nsfont_draw): Remove code for stippling, which actually
 -      does tiling.
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
 -
 -2009-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_vconcat_entity_vectors): New function.
 -      (struct font_sort_data): New member font_driver_preference.
 -      (font_compare): Check font_driver_preference.
 -      (font_sort_entities): The format of the first argument changed.
 -      (font_delete_unmatched): Likewise.
 -      (font_list_entities): The return type changed.
 -      (font_select_entity): The format of the second argument changed.
 -      (font_find_for_lface): Adjuste for the above changes.
 -      Don't suppress the checking of C even if the repertory supports it.
 -      (Flist_fonts): Adjust for the above changes.
 -
 -      * ftfont.c (ftfont_spec_pattern): New arg langname.  Change caller.
 -      (ftfont_list): Adjust for the change of ftfont_spec_pattern.
 -      Reject a font who has adstyle property that is different from a
 -      langname derived from registry property.
 -      (ftfont_match): Adjust for the change of ftfont_spec_pattern.
 -
 -2009-07-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
 -      local copy of dirfilename.
 -
 -2009-07-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (sub_char_table_ref_and_range): Fix the range check
 -      against max_char.
 -
 -      * cmds.c (internal_self_insert): Check sym by SYMBOLP before
 -      calling XSYMBOL (sym).
 -
 -2009-07-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
 -      New function.
 -      (directory_files_internal) [WINDOWSNT]:
 -      Bind w32-get-true-file-attributes to either t or nil, depending whether
 -      the filesystem of the directory is fast or slow.
 -
 -      * w32.c (logon_network_drive): Don't assume PATH is an absolute
 -      file name.
 -      (is_slow_fs): New function.
 -      (stat): Use it to determine whether to issue more system calls to
 -      get accurate file attributes, when w32-get-true-file-attributes is
 -      `local'.
 -
 -2009-07-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_select_font): Remember last font selected in
 -      x_last_font_name and use that the next time.  Also try the frame
 -      parameter font-parameter as default to the font dialog.
 -
 -2009-07-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
 -
 -2009-07-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
 -
 -      * w32.c (stat): Treat UNC file names as residing on remote
 -      drives.  (Bug#3542)
 -
 -2009-07-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix previous change.
 -
 -2009-07-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
 -      (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
 -      error flag.
 -
 -2009-07-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix the logic of handling
 -      charset_matched.
 -      (font_for_char): Delete unused var.
 -      (generate_ascii_font_name): Delete it.
 -
 -      * coding.h (JIS_TO_SJIS2): Fix the code range check.
 -
 -      * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
 -      (encode_coding_sjis): Fix the code range check.
 -
 -2009-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
 -      (Fexpand_file_name): Copy string data properly (Bug#3772).
 -
 -2009-07-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
 -      first MapNotify.
 -
 -2009-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (unibyte_has_multibyte_table): Delete extern.
 -      (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
 -
 -      * charset.c (Fset_charset_priority): Update charset_unibyte.
 -      (syms_of_charset): Initialize charset_unibyte.
 -
 -      * character.c (unibyte_has_multibyte_table): Delete it.
 -      (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
 -      charset_unibyte.
 -      (multibyte_char_to_unibyte_safe): Likewise.
 -      (Funibyte_char_to_multibyte): Don't check charset_unibyte.
 -
 -      * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
 -      (x_produce_glyphs): Likewise.
 -
 -      * .gdbinit (xcharset): Fix the treating $arg0.
 -
 -2009-07-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Emulation of `getloadavg' on MS-Windows.
 -      * w32.c: Include float.h
 -      (g_b_init_get_native_system_info, g_b_init_get_system_times)
 -      (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
 -      (get_native_system_info, get_system_times): New functions.
 -      (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
 -      (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
 -      (globals_of_w32): Initialize g_b_init_get_native_system_info,
 -      g_b_init_get_system_times, and num_of_processors.
 -
 -2009-07-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Use standard types.
 -
 -2009-07-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Decode user and group names by the
 -      locale's encoding.  (Bug#3443)
 -
 -2009-07-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
 -      (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
 -
 -      * callproc.c (child_setup): Use #else instead of a separate #ifdef.
 -
 -      * term.c (init_tty): Remove spurious #ifdef.
 -
 -      * m/mips.h: Mention this file is also used for netbsd.
 -      * m/pmax.h: Remove file.
 -
 -2009-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add invisible_cursor.
 -      (struct x_output): Add current_cursor.
 -
 -      * xterm.c (XTtoggle_invisible_pointer): New function.
 -      (x_define_frame_cursor): Don't define cursor if invisible or the
 -      same as before.  Set current_cursor.
 -      (x_create_terminal): Set toggle_invisible_pointer_hook.
 -
 -      * xfns.c (make_invisible_cursor): New function.
 -      (x_set_mouse_color): Call make_invisible_cursor.
 -      Set current_cursor.
 -      (x_window): Set current_cursor.
 -
 -      * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
 -
 -      * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
 -      inserting a character.
 -      (read_avail_input): Call frame_make_pointer_visible.
 -
 -      * frame.c (Vmake_pointer_invisible): New variable.
 -      (frame_make_pointer_invisible, frame_make_pointer_visible):
 -      New functions.
 -      (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
 -
 -      * frame.h: Declare frame_make_pointer_invisible and
 -      frame_make_pointer_visible.
 -      (struct frame): Add pointer_invisible.
 -
 -2009-07-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
 -      frame isn't visible.
 -      (xg_frame_resized): If width/height is -1, get size of window
 -      from X server.
 -
 -      * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
 -      for MapNotify.
 -
 -      * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
 -      here or call change_frame_size.  Just call flush_and_sync.
 -      (flush_and_sync): Reintroduce.
 -
 -2009-07-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
 -
 -      * xterm.c (x_handle_net_wm_state): Also look for sticky.
 -      (x_term_init): Initialize Xatom_net_wm_state_sticky.
 -
 -      * frame.h: Declare Qsticky.
 -
 -      * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
 -
 -      * nsfns.m (ns_frame_parm_handlers): Ditto.
 -
 -      * frame.c: Declare Qsticky.
 -      (frame_parms): Add sticky.
 -
 -      * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
 -
 -      * xterm.h: Declare x_set_sticky.
 -
 -      * xterm.c (x_set_sticky): New function.
 -
 -      * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
 -      (xg_tool_bar_menu_proxy): Attach enter/leave events to
 -      xg_tool_bar_proxy_help_callback.
 -
 -      * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
 -
 -      * frame.c: Qmaximized is new.
 -      (x_set_frame_parameters): Do not handle fullscreen specially.
 -      Only set width and height if explicitly set.
 -      (x_set_fullscreen): Handle Qmaximized.
 -      (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
 -      (syms_of_frame): Initialize Qmaximized.
 -
 -      * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
 -      Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
 -
 -      * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
 -      for Expose event.  Add call to x_check_fullscreen for MapNotify event.
 -      Remove all code w.r.t. fullscreen from ConfigureNotify event.  Do not
 -      set gravity to NorthWestGravity when USE_GTK.
 -      (set_wm_state): New function.
 -      (do_ewmh_fullscreen): Use set_wm_state.  Also handle FULLSCREEN_MAXIMIZED.
 -      (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
 -      (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
 -      or the case when no window manager is running.  That means remove calls
 -      to x_real_positions and x_fullscreen_adjust.
 -
 -      * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
 -      (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
 -      flush_and_sync.
 -      (xg_height_changed): New function.
 -      (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
 -      and gtk_window_set_policy.  Set frame gravity after parsing the
 -      geometry string.
 -      (xg_update_frame_menubar, free_frame_menubar)
 -      (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
 -      (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
 -      Remove calls to xg_frame_set_char_size.
 -
 -2009-07-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keyboard.c (decode_keyboard_code): New function.
 -      (tty_read_avail_input): Decode the input bytes if necessary.
 -
 -      * coding.c (setup_coding_system):
 -      Initialize coding->carryover_bytes to 0.
 -      (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
 -      use Qno_conversion.
 -
 -2009-07-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
 -
 -2009-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
 -
 -2009-06-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Use GetModuleHandle for library that
 -      is already loaded.
 -      Set user model ID if supported (bug#1849).
 -
 -2009-06-29  Jim Meyering  <meyering@redhat.com>
 -
 -      Remove useless if-before-xfree test.
 -      * nsfont.m (nsfont_close): Remove useless test.
 -      * term.c (delete_tty): Likewise.
 -      * w32.c (system_process_attributes): Likewise.
 -      * w32font.c (w32font_close): Likewise.
 -      * xfaces.c (x_free_gc): Likewise.
 -      * xselect.c (buffer): Likewise.
 -
 -2009-06-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (send_process): Keep decoded string in a local
 -      variable and protect it from GC.  (Bug#3521)
 -
 -2009-06-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (create_tty_output) [MSDOS]: #ifdef away.
 -      (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
 -
 -2009-06-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (start_display, handle_face_prop)
 -      (move_it_vertically_backward, cursor_row_fully_visible_p)
 -      (redisplay_window, try_window_id, produce_image_glyph):
 -      Delete some #ifdef-ed out code chunks that are now obsolete.
 -
 -      * xterm.c (x_update_window_begin, x_new_focus_frame)
 -      (x_scroll_bar_handle_click, handle_one_xevent)
 -      (handle_one_xevent, XTread_socket, x_focus_on_frame)
 -      (x_make_frame_visible, x_make_frame_invisible)
 -      (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
 -      code chunks that are now obsolete.
 -
 -2009-06-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
 -      xd_symbol_to_dbus_type.  With Solaris 2.11, it was said to compile
 -      for hours, when optimzation is enabled.
 -      (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
 -      (xd_read_message): Make them static.
 -
 -2009-06-27  Chuck Blake  <cblake@pdos.csail.mit.edu>  (tiny change)
 -
 -      * term.c (turn_on_face): Allow simultaneously bold and dim
 -      terminal faces (Bug#3530).
 -
 -2009-06-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
 -
 -      * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
 -      truncation glyphs (Bug#3686).
 -
 -2009-06-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/pmax.h: Restore file, with only netbsd portions.
 -
 -2009-06-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (keydown): Avoid infinite loop.
 -
 -2009-06-26  Peter Jolly  <peter@jollys.org>  (tiny change)
 -
 -      * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
 -      the arg FORCE_SYMBOL.
 -
 -2009-06-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): When a usable rfont_def is found
 -      in a fallback font-group, make it the first element of the group.
 -
 -2009-06-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
 -
 -2009-06-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_get_font_group): Return 0 if no font-group is
 -      set for C.
 -      (fontset_font): Record the availability of a font for C both in
 -      the realized fontsets of the current one and the default one.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
 -      conditional, it is always defined on AIX.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * window.c (Vrecenter_redisplay): New variable.
 -      (syms_of_window): Initialize it.
 -      (Qtty): New extern declaration.
 -      (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
 -
 -2009-06-23  Jim Meyering  <meyering@redhat.com>
 -
 -      * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
 -      Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
 -      pointer dereferences are guaranteed to be valid.
 -
 -2009-06-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Call init_font ().
 -
 -      * font.h (Vfont_log): Extern it.
 -      (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
 -
 -      * font.c (font_sort_entities, font_list_entities)
 -      (font_matching_entity, font_open_entity)
 -      (font_close_object): Change font_add_log to FONT_ADD_LOG.
 -      (Vfont_log): Delete static.
 -      (font_log_env_checked): Delete this variable.
 -      (font_add_log): Don't check font_log_env_checked.
 -      (font_deferred_log): Check Vfont_log.
 -      (init_font): New function.
 -
 -      * ftfont.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * w32font.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * xfont.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
 -      (face_for_char): Don't call font_deferred_log here.
 -      (font_for_char): Likewise.
 -
 -2009-06-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * w32term.c (x_draw_glyph_string): Use the glyph string's width
 -      rather than its background_width for drawing the overline and
 -      underline (Bug#489).
 -
 -      * xterm.c (x_draw_glyph_string): Use the glyph string's width
 -      rather than its background_width for drawing the overline and
 -      underline (Bug#489).
 -      (xg_default_icon_file): New variable.
 -      (syms_of_xterm): Initialize it to the Emacs SVG icon file.
 -      (x_bitmap_icon): Under GTK, use xg_default_icon_file.
 -
 -      * xdisp.c (Qbefore_string, Qafter_string): Add externs.
 -      (load_overlay_strings): Remove externs.
 -      (fast_find_position): Function deleted.
 -      (mouse_face_from_buffer_pos): New function, based on
 -      fast_find_position.  Correctly handle before-strings,
 -      display-strings, and after-strings (Bug#1220).
 -      (note_mouse_highlight): Use mouse_face_from_buffer_pos.
 -
 -2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
 -      (move_it_in_display_line_to, move_it_in_display_line_to)
 -      (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
 -
 -2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Branch for 23.1.
 -
 -2009-06-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (keyboard_codepage): New static variable.
 -      (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
 -      (w32_read_socket) [WM_CHAR]: Use it to decode character
 -      input (bug#3237).
 -      (w32_initialize): Initialize it.
 -      (codepage_for_locale): New function.
 -
 -2009-06-20  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * process.c (status_message): Pass Faset index argument as a lisp
 -      object, so as to work with USE_LISP_UNION_TYPE.
 -
 -2009-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * coding.c (Ffind_coding_systems_region_internal):
 -      Cache checked characters.
 -
 -2009-06-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
 -
 -2009-06-18  Andreas Schwab  <aschwab@redhat.com>
 -
 -      * xdisp.c (redisplay_internal): Check that the frame is still
 -      live after redisplay of its windows.
 -      (redisplay_windows): Check that the window is still live.
 -
 -2009-06-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix previous change.
 -
 -2009-06-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix the logic of rejecting
 -      UTF-16 by checking the dispersion of Eth and Oth bytes.
 -
 -2009-06-15  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
 -
 -2009-06-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (status_message): Fix previous change.  Be sure to
 -      decode a localized string.
 -
 -2009-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_delete_terminal): Put previous change in #if 0 and
 -      add comment explaining why.
 -
 -2009-06-14  Sidney Markowitz  <sidney@sidney.com>
 -
 -      * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
 -
 -2009-06-14  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_attribute_value): Remove.
 -      (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
 -      (ns_has_attribute): Shrink the normal range.
 -      (ns_findfonts): Don't worry about requested spec in determining
 -      need for synthItal.
 -      (ns_get_covering_families): Retain scriptToFamilies.
 -
 -2009-06-14  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
 -
 -2009-06-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
 -      overhang for the static composition case.
 -
 -2009-06-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
 -      overhang for the automatic composition case.
 -
 -      * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
 -      composition case.
 -
 -2009-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_next_display_element): When handling wrap-prefix
 -      and line-prefix, treat \n as a control character (bug#3502).
 -
 -2009-06-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_family_registry): Fix for one-char foundry.
 -      (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
 -
 -2009-06-09  Dmitry Dzhus  <dima@sphinx.net.ru>  (tiny change)
 -
 -      * process.c (status_message): Fix handling of multibyte signal
 -      string (Bug#3499).
 -
 -2009-06-09  Jim Meyering  <meyering@redhat.com>
 -
 -      * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
 -      color name is missing.
 -
 -2009-06-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fmap_charset_chars): In docstring, state clearly that
 -      FROM-CODE and TO-CODE are codepoints of CHARSET.
 -
 -2009-06-08  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_use_system_highlight_color): Drop, unused.
 -
 -2009-06-08  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes to support :script/:lang/:otf in NS font driver.
 -      * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
 -      (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
 -      indicate not part of font driver interface, and change callers.
 -      (ns_get_family): Remove pointless null check.
 -      (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
 -      ns_spec_to_descriptor, ns_descriptor_to_entity.
 -      (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
 -      (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
 -      (ns_spec_to_descriptor, ns_descriptor_to_entity)
 -      (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
 -      (ns_get_req_script, ns_accumulate_script_ranges)
 -      (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
 -      New functions.
 -      (nsfont_list, nsfont_match): Use ns_findfonts.
 -      (nsfont_open): Use font descriptor instead of traits.
 -      (nsfont_draw): Handle "automatic" (lookup-table) compositions.
 -      (dump_glyphstring): Rename to ns_dump_glyphstring.
 -
 -      * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
 -
 -      * nsfns.m (Fns_popup_font_panel): Use shared font manager.
 -
 -      * fontset.c (fontset_from_font): Remove NS-specific code.
 -
 -2009-06-08  Peter Jones  <pjones@pmade.com>  (tiny change)
 -
 -      * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
 -      nonactive windows.
 -
 -2009-06-08  Felix Mueller  <felix@enqueue.eu>  (tiny change)
 -
 -      * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
 -
 -2009-06-08  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
 -
 -2009-06-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_in_display_line_to): On text-only terminals,
 -      account for the overflowing of newlines into the last glyph on the
 -      display line (Bug#3482).
 -
 -2009-06-05  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
 -      (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
 -      Fns_selection_exists_p, Fns_selection_owner_p.
 -
 -2009-06-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
 -      available.  (Bug#3379)
 -
 -2009-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (get_translation_table):
 -      Check Venable_character_translation.
 -
 -2009-05-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_raise_frame): Only raise frame if visible.
 -      (x_make_frame_visible): Move frame to front rather than calling
 -      ns_raise_frame().
 -      (keyDown:): Do not swallow events that aren't re-sent if frame
 -      isn't key window.
 -      (drawRect:): Do not set visibility/iconified flags because
 -      drawRect may be called by NSView even if the frame is hidden.
 -
 -      * nsfns.m (Fx_create_frame): Follow other ports in
 -      determining visibility; default to t.  Ensure async_visible is set.
 -
 -2009-05-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Doc fix.
 -
 -2009-05-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
 -
 -2009-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
 -      and xfont_scratch_props.
 -      (syms_of_xfont): Do it here instead.
 -      (xfont_find_ccl_program): Delete, unused.
 -      (xfont_open): Delete unused var `i'.
 -
 -2009-05-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Qlatin): Don't make it static.
 -
 -      * xfont.c (xfont_chars_supported, xfont_supported_scripts):
 -      New functions.
 -      (xfont_scripts_cache, xfont_scratch_props): New variables.
 -      (Qlatin, Vscalable_fonts_allowed): Extern it.
 -      (xfont_list_pattern): Argument changed.  Callers changed.
 -      Check Vscalable_fonts_allowed.  Check the support of a script.
 -      (xfont_list): Don't reject a font spec with :script property.
 -      (xfont_has_char): Fix setting of encoding.
 -      (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
 -      xfont_scratch_props.
 -
 -2009-05-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_sort_entities): Rename from font_sort_entites.
 -      Callers changed.
 -
 -2009-05-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
 -
 -2009-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
 -      (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
 -
 -2009-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
 -      (x_delete_terminal): Dissociate resource database from display and
 -      then call XrmDestroyDatabase before closing display.
 -
 -2009-05-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_read_socket): Remove unused variable.
 -      * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
 -      whether selected frame is viable before raising it (based on patch
 -      by David Reitter), and improve commentary.
 -      * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
 -
 -2009-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_spec): Check arguments.
 -
 -2009-05-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
 -      weight when testing attributes (Bug#3282).
 -
 -2009-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
 -      what we expect to get in the next ConfigureNotify event.
 -
 -      * xftfont.c (xftfont_open): Make sure that Xrender extension is added
 -      before Xft one (Bug#1696).
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (Fx_display_planes): Compute bitplanes using
 -      NSBitsPerPixelFromDepth (Bug#3207).
 -
 -2009-05-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
 -
 -2009-05-10  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
 -      Respect mouse face background.
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
 -      Mouse movement/highlight: bracket drawing operations
 -      in ns_update_begin and ns_update_end.
 -
 -2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsfns.m (ns_get_screen): Rewrite.
 -      Don't presume selected-frame is of type `ns'.
 -
 -      * font.c (font_update_drivers): Sanity fallback to avoid disabling
 -      all drivers.
 -
 -      * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
 -
 -2009-05-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.h (add_user_signal): Fix typo in extern.
 -
 -      * lisp.h (add_user_signal): Remove extern.
 -
 -      * unexelf.c (unexec): Consider a section to precede the .bss section
 -      if its addresses overlap that of .bss.
 -      (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
 -      instead of dumping process.
 -
 -2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
 -
 -2009-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
 -
 -2009-05-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_handle_net_wm_state): Move declaration of lval before
 -      any statements.
 -
 -2009-05-02  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (read_process_output): Make sure the current buffer is
 -      always restored.
 -
 -      * coding.c (record_conversion_result): Don't modify
 -      Vlast_code_conversion_error for successful result.
 -      (alloc_destination): Don't clobber conversion result.  (Bug#1650)
 -
 -2009-05-01  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
 -      (load_charset_map): Remove unnecessary code.
 -
 -2009-04-30  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
 -      through f24.
 -
 -2009-04-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (face_at_buffer_position): New arg base_face_id.
 -
 -      * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
 -      face_at_buffer_position.
 -      (face_before_or_after_it_pos, get_next_display_element)
 -      (note_mouse_highlight): Update face_at_buffer_position call.
 -
 -      * term.c (term_mouse_highlight):
 -      * msdos.c (IT_note_mouse_highlight):
 -      * fontset.c (Finternal_char_font):
 -      * font.c (font_at, font_range): Update face_at_buffer_position call.
 -
 -      * dispextern.h (face_at_buffer_position): Update prototype.
 -
 -2009-04-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
 -
 -2009-04-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * callproc.c (Fcall_process): Fix GC protection.  Make sure
 -      current buffer is always restored.
 -
 -2009-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * atimer.c (init_atimer): Also clear stopped_atimers.
 -
 -      * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
 -
 -      * process.c (create_process): Clean up merger residues of
 -      2008-07-17 change.
 -
 -2009-04-29  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * lread.c (Vread_circle): New variable.
 -      (read1): Disable recursive read if Vread_circle is nil.
 -
 -2009-04-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.h (set_default_ascii_font): Delete extern.
 -
 -      * fontset.c (set_default_ascii_font): Delete this unused function.
 -
 -      * frame.c (x_set_font): When ARG is a font-object, check if the
 -      font-object matches with the ASCII font-spec of the frame's
 -      fontset.  If not, create a new fontset for the frame.  (Bug #3075)
 -
 -2009-04-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * fns.c (Flocale_info): Protect vector from GC during decoding.
 -
 -      * process.c (Fstart_process): Protect argv strings from GC during
 -      encoding.
 -
 -2009-04-27  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * sysdep.c: Include <ctype.h>.
 -
 -2009-04-27  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfont.m (nsfont_open): Remove unused variable shrink.
 -      Remove commented-out code.
 -
 -2009-04-26  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
 -
 -2009-04-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
 -
 -2009-04-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
 -      Swap bytes in short integer if fringe bitmap width > 8.
 -
 -2009-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): If a font size is specified in
 -      PATTERN, set it in returned scalable fonts.
 -
 -2009-04-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (Fset_input_meta_mode): Doc fix.
 -
 -      * dispnew.c (Fsend_string_to_terminal): Doc fix.
 -
 -      * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
 -
 -      * coding.c (Fterminal_coding_system): Doc fix.
 -
 -      * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_screens)
 -      (Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
 -      Doc fixes, replacing "terminal id" with "terminal object".
 -      (check_x_display_info): Handle terminal objects instead of
 -      terminal ids.
 -
 -      * term.c (Ftty_display_color_p, Ftty_display_color_cells)
 -      (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
 -      (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
 -      Doc fixes, replacing "terminal id" with "terminal object".
 -
 -2009-04-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_load_for_lface): Cancel previous change (bug#2994).
 -      (font_score): Check AVGWIDTH too.
 -
 -      * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
 -      worst case.
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
 -      (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
 -
 -2009-04-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      The following changes fix Bug#3005 for wide glyphs on each platform,
 -      without reintroducing Bug#1258 for stretch glyphs.
 -
 -      * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
 -      BAR_CURSOR and HBAR_CURSOR.  Calculate width of HBAR_CURSOR using
 -      get_phys_cursor_geometry.
 -
 -      * w32term.c (x_draw_bar_cursor): Limit cursor width differently
 -      for BAR_CURSOR and HBAR_CURSOR.  Calculate width of HBAR_CURSOR
 -      using get_phys_cursor_geometry.
 -
 -      * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
 -      correctly calculated.
 -
 -2009-04-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
 -      Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
 -      (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
 -      is deprecated.
 -
 -2009-04-18  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * font.c (font_put_frame_data): Use xfree instead of free.
 -
 -2009-04-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (Qja, Qko): Remove declarations.
 -      (syms_of_w32font): Don't DEFSYM them.
 -
 -2009-04-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Qja, Qko): Move definitions here from ftfont.c.
 -
 -      * font.h (Qja, Qko): Extern them.
 -
 -      * ftfont.c (Qja, Qko): Remove declarations.
 -
 -      * xfont.c (Qja, Qko): Remove declarations.
 -
 -2009-04-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
 -      string from a vector to handle Latin-1 characters correctly.
 -
 -      * ftfont.c (ftfont_pattern_entity): Return a newly allocated
 -      entity even if the cache hits.
 -
 -2009-04-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (boyer_moore): Use zero as marker value for a possible
 -      match instead of depending on overflow behavior.  (Bug#2844)
 -
 -      * search.c: Use EMACS_INT for buffer positions.  Add prototypes.
 -      * lisp.h: Adjust prototypes.
 -
 -2009-04-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (adjust_point_for_property): Disable 2009-02-12
 -      change (Bug#3003).
 -
 -2009-04-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
 -
 -      * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
 -      adstyle.
 -
 -      * ftfont.c (Qja, Qko): Don't make them static.
 -      (enum ftfont_cache_for): New enum.
 -      (fc_charset_table): Undo the previous change.
 -      (ftfont_get_latin1_charset): Delete it.
 -      (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
 -      Set FONT_SIZE_INDEX of the entity to 0 for a scalable font.  For a
 -      non-scarable font, try to get AVERAGE_WIDTH.
 -      (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
 -      Change ft_face_cache from a list of a hash-table.  Don't check
 -      `ja' and `ko' adstyle here.
 -      (ftfont_get_fc_charset): Call ftfont_lookup_cache with
 -      FTFONT_CACHE_FOR_CHARET.
 -      (ftfont_get_charset): Undo the previous change.
 -      (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
 -      (ftfont_close): Likewise.
 -      (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
 -
 -      * font.c (font_sort_entites): Change the meaning of the arg
 -      BEST-ONLY.  Don't optimize for VEC of lenght 1.
 -      (font_select_entity): Just return the value of font_sort_entites.
 -
 -      * xfaces.c (merge_face_vectors): Reflect font properties in
 -      to[LFACE_FONT_INDEX] to the other face attributes.  Don't call
 -      font_clear_prop if a face attribute doesn't change.
 -
 -      * charset.h (charset_ksc5601): Extern it.
 -
 -      * charset.c (charset_ksc5601): New variable.
 -      (Fdefine_charset_internal): Set charset_ksc5601.
 -      (init_charset_once): Initialize charset_ksc5601 to -1.
 -
 -2009-04-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fileio.c (history_delete_duplicates): Remove unused declaration.
 -
 -      * callint.c (history_delete_duplicates): New declaration.
 -      (Fcall_interactively): Remove command history duplicates when
 -      history_delete_duplicates is true.
 -
 -2009-04-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
 -
 -2009-04-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_info): Fix docstring.  Fix the second element of
 -      the returned value (bug#2949).
 -
 -2009-04-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
 -
 -2009-04-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_has_char): The font has C if C is ASCII and the
 -      encoding charset is ascii_compatible.
 -
 -      * charset.c (Fdefine_charset_internal): Make charset
 -      ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
 -      code_offset is 0, and covers all ASCII characters.
 -
 -2009-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
 -      (ns_string_to_pasteboard_internal):
 -      * nsmenu.m (process_dialog):
 -      * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
 -      * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
 -      * lisp.h (Fx_load_color_file): Declare.
 -
 -2009-04-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_delete_unmatched): Preserve the order of list elements.
 -      (font_select_entity): Suppress the code to optimize for the same
 -      kind of fonts.
 -      (font_load_for_lface): Get a font that supports at least ASCII
 -      characters.
 -
 -      * ftfont.c (Qja, Qko): New variables.
 -      (fc_charset_table): Delete uniquifier data for iso8859-1.
 -      (ftfont_get_latin1_charset): New function.
 -      (get_adstyle_property): New function.
 -      (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
 -      bitmap fonts.
 -      (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
 -      Delete iso-8859-1 range from the charset of fonts whose adstyle is
 -      `ko' or `ja'.
 -      (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
 -      (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
 -      (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
 -      property.
 -      (ftfont_open): Call ftfont_lookup_cache with ENTITY.
 -      (syms_of_ftfont): DEFSYM Qja and Qko.
 -
 -2009-04-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (map_charset_chars): For a charset of `superset'
 -      method, fix calculation of code range.
 -
 -      * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
 -      from the list of extra properties.
 -      (font_clear_prop): Be sure to delete `:name' font property.
 -
 -2009-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (redraw_overlapping_rows): Fix detection of
 -      overlapping for topmost and bottommost rows.
 -
 -      * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
 -
 -2009-04-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
 -
 -2009-04-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
 -
 -      * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
 -
 -2009-04-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * ftfont.c (ftfont_open): Fix checking of the return value of
 -      FT_Load_Char.  Fix setting font->underline_thickness.
 -
 -2009-04-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
 -      (Fterminal_parameters, Fterminal_parameter)
 -      (Fset_terminal_parameter): In doc string, refer to terminal
 -      objects rather than terminal ids.
 -
 -2009-04-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
 -      ret_lim_data.  (Bug#2867)
 -
 -2009-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
 -      so they don't get wider than the window, matching 2006-01-23
 -      change to the partner function in xdisp.c (Bug#2800).
 -
 -2009-04-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (print_object): Make each lowest sub_char_table start a
 -      new line (Bug#2866).
 -
 -2009-04-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_font): Record no-font when a fontset
 -      explicitly tells not to try another font-specs.
 -
 -2009-03-30  Pierre Poissinger  <pierre.poissinger@gmail.com>  (tiny change)
 -
 -      * charset.c (map_charset_for_dump): Add missing UNGCPRO.
 -
 -2009-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_from_font): Specify only registry in a
 -      font-spec for all characters supported by that registry.
 -
 -      * ftfont.c: Fix previous change.  Define ftfont_variation_glyphs
 -      even if HAVE_M17N_FLT is not defined.
 -
 -2009-03-29  Sebastian Rose  <sebastian_rose@gmx.de>  (tiny change)
 -
 -      * ftfont.c: Conditionalize prototyping and use of
 -      ftfont_variation_glyphs.
 -
 -2009-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (delete_frame): Work around compiler bug.
 -
 -      * editfns.c (general_insert_function): Adjust to insdel.c changes.
 -      * insdel.c (prepare_to_modify_buffer, signal_before_change):
 -      Some more EMACS_INT.
 -      * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
 -
 -      * xdisp.c (dump_glyph): Fix typo.
 -
 -      * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
 -      (adjust_markers_gap_motion, adjust_markers_for_delete)
 -      (adjust_markers_for_insert, adjust_point)
 -      (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
 -      (make_gap, copy_text, count_size_as_multibyte, insert)
 -      (insert_and_inherit, insert_before_markers)
 -      (insert_before_markers_and_inherit, insert_1)
 -      (count_combining_before, count_combining_after, insert_1_both)
 -      (insert_from_string, insert_from_string_before_markers)
 -      (insert_from_string_1, insert_from_gap, insert_from_buffer)
 -      (insert_from_buffer_1, adjust_after_replace)
 -      (adjust_after_replace_noundo, adjust_after_insert, replace_range)
 -      (replace_range_2, del_range, del_range_1, del_range_byte)
 -      (del_range_both, del_range_2, modify_region)
 -      (prepare_to_modify_buffer, signal_before_change)
 -      (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
 -      for buffer positions and sizes.
 -      * lisp.h: Adjust prototypes accordingly.
 -
 -      * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
 -      (non_regular_inserted, non_regular_nbytes, read_non_regular)
 -      (Finsert_file_contents): Use EMACS_INT for buffer positions.
 -
 -      * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
 -
 -2009-03-27  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
 -      lines and columns so we keep the same pixel height and width.
 -
 -      * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
 -      the property _NET_WM_STATE has changed.
 -      (x_handle_net_wm_state): New function to update frame parameter
 -      fullscreen.
 -      (x_term_init): Initialize atoms for _NET_WM_STATE.
 -
 -      * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
 -
 -2009-03-27  Kevin Ryde  <user42@zip.com.au>
 -
 -      * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
 -      Gpm_GetEvent as an error that justifies closing the filedescriptor.
 -      * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
 -      (Fgpm_mouse_stop): Pass that new parameter.
 -      * termhooks.h (close_gpm): Adjust prototype.
 -
 -2009-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (Fx_focus_frame): Declare.
 -
 -      * callint.c (Fcall_interactively): For '^' just delegate the work to
 -      handle-shift-selection.
 -      (syms_of_callint): Move declaration of shift-select-mode to simple.el.
 -
 -2009-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ffloat_time): Doc fix (Bug#2768).
 -
 -      * data.c (Qinteractive_form): New variable.
 -      (Finteractive_form): Use it.
 -
 -      * eval.c (Fcommandp): Use Qinteractive_form.
 -
 -2009-03-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
 -      Calculate total size precisely.  Decode environment variables
 -      before substituting.  (Bug#38)
 -
 -2009-03-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (find_font_encoding): Return Qnil for unsupported
 -      encoding (Bug#2722).
 -
 -2009-03-23  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
 -      that gdpy is set.
 -
 -2009-03-22  Alan Mackenzie  <acm@muc.de>
 -
 -      * callint.c (Finteractive): Clarify the doc string - even
 -      promptless elements need \n separators.
 -
 -2009-03-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (syms_of_w32term): Doc fix for
 -      x-use-underline-position-properties.
 -
 -2009-03-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (getpwuid): Change argument type to unsigned.
 -      (struct w32_id): Change type of `rid' member to unsigned.
 -      (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
 -      argument ID to unsigned.  All callers changed.
 -      (getuid, geteuid, getgid, getegid): Change return type to unsigned.
 -
 -2009-03-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
 -      negative, produce a float value.
 -
 -      * dired.c (make_uid, make_gid): New functions.
 -      (Ffile_attributes): Use them to avoid negative UID and GID.
 -
 -2009-03-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (Fcurrent_idle_time): Reflow docstring.
 -      (syms_of_keyboard) <command-hook-internal, input-method-function>:
 -      Fix typos in docstrings.
 -
 -2009-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): When a spec of ASCII font is
 -      changed, use font_load_for_lface to get a new font object.
 -      Call free_realized_fontset after handling ASCII font change.
 -
 -      * frame.c (x_set_font): Handle the case that ARG is a cons.
 -
 -2009-03-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Doc fix.
 -
 -2009-03-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
 -
 -2009-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map_from_file): When a mapfile can't be
 -      loaded, signal an error.
 -
 -2009-03-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Make sure UID and GID are always
 -      positive, even if the value is too large for a positive EMACS_INT.
 -      Doc fix.
 -
 -      * editfns.c (Fuser_login_name): Support float arguments.  Doc fix.
 -
 -2009-03-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xmenu.c (xdialog_show): Move Fredisplay call ...
 -      (Fx_popup_dialog): ... here.
 -
 -2009-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Disable the first optimization just
 -      installed, since it is not implemented correctly.
 -
 -2009-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Check completion-ignored-extensions
 -      only if the entry can affect bestmatch.
 -      Stop the search early, as Ftry_completion already does.
 -
 -2009-03-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
 -
 -2009-03-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (parse_menu_item): Don't display remappings as menu
 -      equivalent bindings (Bug#788).
 -
 -2009-03-15  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (WM_EMACS_PAINT): New message.
 -      * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
 -      * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
 -      before passing to lisp thread.  (Bug#950)
 -
 -2009-03-14  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
 -      variable as it was never reset.
 -      (ns_term_init): Remove initialization of Lisp-settable defaults
 -      and ns_expand_space.
 -      (-setPanelFromDefaultValues): Remove ns_expand_space.
 -      (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
 -      * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
 -      i.e. no additional spacing, similar to Carbon port.
 -
 -      * nsterm.h: Define KEY_NS_SHOW_PREFS key.
 -      * nsfns.m (ns-popup-prefs-panel): Remove.
 -
 -2009-03-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (alsa_configure): Remove call to deprecated
 -      snd_pcm_sw_params_set_xfer_align.
 -
 -2009-03-14  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
 -      after clicking in a detached tool bar.
 -      (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
 -
 -2009-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
 -      int/Lisp_Object mixup).
 -
 -2009-03-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
 -      Handle NAME nil and t correctly.  Callers changed.
 -      (font_def_arg, add_arg, from_arg, to_arg): Delete them.
 -      (set_fontset_font): Change ARG to a vector.  Handle range_list in
 -      ARG correctly.
 -      (Fset_fontset_font): Fix the case that TARGET is both a script
 -      name and charset name.  Adjust the arg to set_fontset_font for
 -      the above change.
 -      (fontset_from_font): Fix previous change.
 -      (Ffontset_info): Adjust for the 2008-07-09 change of fontset
 -      entry.  If FONTSET is the default fontset, don't set the extra
 -      slot of the returning char-table.
 -
 -2009-03-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * nsfns.m (Fx_close_connection): Doc fix.
 -      (Fns_do_applescript): Reflow docstring.
 -      (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
 -      Fix typos in docstrings.
 -      (Fns_set_alpha): Fix typos in error messages.
 -
 -2009-03-12  David Reitter  <david.reitter@gmail.com>
 -
 -      * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
 -      non-key system events on NS.  Formerly, NON_ASCII_KEYSTROKE_EVENT
 -      were used for such events.
 -
 -      * nsterm.m (newFrame, openFile, fulfillService, changeFont)
 -      (toggleToolbar, performDragOperation, runHelp): Use it.
 -
 -      * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
 -      NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
 -
 -2009-03-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (font_open_by_spec): Extern it.
 -
 -      * font.c (font_open_by_spec): New function.
 -      (font_open_by_name): Use font_open_by_spec.
 -
 -      * frame.c (x_set_font): When ARG is a font-object, don't alter the
 -      fontset of the frame.
 -
 -      * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
 -      modify the default font of frames that use this fontset.
 -      (num_auto_fontsets): New variable.
 -      (fontset_from_font): Use num_auto_fontsets to decide a fontset
 -      name.  Be sure to set FONTSET_ASCII to the correct font name.
 -      (update_auto_fontset_alist): New function.
 -
 -2009-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies.
 -
 -2009-03-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (syms_of_nsfns): Remove Qbuffered.
 -
 -2009-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
 -
 -2009-03-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * lread.c (Feval_buffer): Doc fix.
 -
 -2009-03-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Qfile_name_handler_alist): Extern it.
 -      (load_charset_map_from_file): Temporarily bind
 -      `file-name-handler-alist' to nil while calling openp.  (Bug#2435)
 -
 -2009-03-06  Aaron Ecay  <aaronecay@gmail.com>  (tiny change)
 -
 -      * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
 -      not two, and use NSRectFill instead of NSDrawGroove.  (Bug#2352)
 -
 -2009-03-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
 -      (x_set_window_size): Change back to calculated method of setting
 -      toolbar height under Cocoa.  (Bug#2546)
 -      (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
 -      (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
 -
 -      * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
 -
 -      * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
 -      accelerator in parens under GNUstep.
 -
 -2009-03-06  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to detect incorrect composition sequence without
 -      looking ahead the source.  (Bug#2370)
 -
 -      * coding.h: Include "composite.h".
 -      (enum compisition_state): New enum.
 -      (struct compisition_status): New struct.
 -      (struct iso_2022_spec): New member cmp_status.
 -      (struct emacs_mule_spec): New struct.
 -      (struct coding_system): New members ctext_extended_segment_len and
 -      embedded_utf_8.  Change the union member
 -      spec.emacs_mule_full_support to spec.emacs_mule.
 -
 -      * coding.c (CODING_ISO_CMP_STATUS): New macro.
 -      (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
 -      (MAX_ANNOTATION_LENGTH): Define to 5.
 -      (ADD_COMPOSITION_DATA): New arg nbytes.
 -      (emacs_mule_char): New arg cmp_status.
 -      (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
 -      (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
 -      (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
 -      (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
 -      (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
 -      (EMACS_MULE_COMPOSITION_END): New macro.
 -      (emacs_mule_finish_composition): New function.
 -      (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
 -      (decode_coding_emacs_mule): Avoid long looking ahead while
 -      handling composition.
 -      (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
 -      (ENCODE_COMPOSITION_RULE): New macro.
 -      (finish_composition): New function.
 -      (MAYBE_FINISH_COMPOSITION): Call finish_composition.
 -      (DECODE_COMPOSITION_START): New implementation.
 -      (DECODE_COMPOSITION_END): Likewise.
 -      (STORE_COMPOSITION_RULE): New macro.
 -      (decode_coding_iso_2022): Avoid long looking ahead while handling
 -      composition, CTEXT extended segment, and embedded UTF-8.
 -      (setup_coding_system): For a coding of type iso-2022, reset
 -      CODING_ISO_EXTSEGMENT_LEN (coding) and
 -      CODING_ISO_EMBEDDED_UTF_8 (coding).
 -      (get_translation): Delete arguments last_block, from_nchars,
 -      to_nchars.  Callers changed.
 -      (produce_chars): Don't modify charbuf.  Adjusted for the change of
 -      get_translation.
 -      (produce_composition): Adjust for the new annotation sequence.
 -      (handle_composition_annotation): Likewise.
 -      (consume_chars): Adjust for the change of get_translation.
 -
 -2009-03-05  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_select): Shortcircuit if reentrant call.  (Bug#2564)
 -
 -2009-03-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_select_entity): New function.
 -      (font_find_for_lface): Use font_select_entity to select a font.
 -
 -      * fontset.c (fontset_find_font): If a font found without
 -      restricting to the characters C doesn't support C, try to find a
 -      font with C restriction.
 -
 -2009-03-04  Nikolaj Schumacher  <me@nschum.de>
 -
 -      * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
 -
 -2009-03-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
 -      characters that have already been read.  (Bug#2569)
 -
 -      * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
 -      Log an error message if check_image_size failed.
 -      (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
 -      (gs_load): Mention max-image-size in size error message.  (Bug#2560)
 -
 -2009-03-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
 -      when decoding process output.
 -
 -2009-03-01  Richard M Stallman  <rms@gnu.org>
 -
 -      * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
 -
 -      * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
 -
 -2009-02-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8, decode_coding_utf_16)
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_raw_text, decode_coding_charset)
 -      (setup_coding_system, decode_eol, decode_coding, consume_chars):
 -      Honor inhibit-eol-conversion.  (Bug #2186)
 -
 -2009-02-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * coding.c (detect_coding_charset): If not checking latin extra,
 -      fail on characters between 0x80 and 0xA0.  (Bug#2354)
 -
 -2009-02-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (detect_coding_charset): Fix change from 2008-10-21.
 -      Also, check iso-latin-*, not only iso-8859-*.  (Bug#2497)
 -
 -2009-02-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2009-02-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
 -
 -2009-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_style_to_value): Set value for unknown symbols to
 -      100 instead of 255.
 -      (weight_table, slant_table, width_table): Treat "unspecified" as
 -      the default value.
 -
 -2009-02-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
 -
 -2009-02-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (Fload): Stop checking Vloads_in_progress and signal
 -      error as soon as a recursive load is detected.
 -
 -2009-02-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_ring_bell): Convert rect to window coordinates
 -      before caching.
 -
 -2009-02-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix the condition for checking
 -      unavailable font.
 -
 -2009-02-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Finternal_set_font_selection_order): Remove leading
 -      whitespace that confuses documentation.
 -
 -2009-02-23  Miles Bader  <miles@gnu.org>
 -
 -      * process.c (Flist_system_processes, Fprocess_attributes)
 -      (syms_of_process): Rename `system-process-attributes' to
 -      `process-attributes'.
 -
 -2009-02-22  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.h (struct coding_system): Make safe_charsets a pointer to
 -      unsigned char.
 -      * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
 -      being 255.
 -      (SAFE_CHARSET_P): Likewise.
 -      (setup_iso_safe_charsets): Properly setup safe_charsets.
 -      (Fdefine_coding_system_internal): Likewise.
 -      (setup_coding_system): Likewise.  Remove unneeded casts.
 -      (detect_coding_iso_2022): Compare Viso_2022_charset_list with
 -      CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS.  Remove
 -      unneeded casts.
 -
 -      * insdel.c (del_range_2): Don't modify gap contents when called
 -      from decode_coding_object.  (Bug#1809)
 -
 -2009-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
 -      Qfont_object.
 -      (Ftype_of): Recognize font objects.
 -
 -      * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
 -
 -      * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
 -      moved to data.c.
 -
 -2009-02-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (x_make_frame_invisible): Unset async_visible,
 -      async_iconified.  Based on a patch by Christian Lynbech
 -      <christian.lynbech@tieto.com>.
 -      (EmacsView-windowDidMiniaturize:): Unset async_visible.
 -
 -2009-02-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * syntax.c (Fskip_chars_forward): Fix doc typo.
 -
 -2009-02-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
 -
 -2009-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
 -
 -2009-02-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Preserve coding->mode.
 -      Don't overflow coding->carryover.  (Bug#2370)
 -
 -2009-02-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
 -
 -2009-02-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_check_otf_features): Fix handling of `nil' element.
 -      (Ffont_spec): Describe :lang and :otf in the docstring.
 -
 -2009-02-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
 -      string.
 -
 -2009-02-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
 -      (Bug#1723)
 -
 -2009-02-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct iterator_stack_entry): New line_wrap member.
 -
 -      * xdisp.c (push_it, pop_it): Save and restore line_wrap.
 -      (handle_line_prefix): Suppress wrapping of wrap prefixes.
 -
 -2009-02-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (MAX_SCREEN_BUF): New macro.
 -      (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
 -      Encode the entire run of glyphs sharing the same face, instead of
 -      doing that one glyph at a time (fixes a bug with displaying
 -      double-size characters).
 -
 -2009-02-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
 -
 -      * nsmenu.m (pop_down_menu): Check popup_activated_flag.
 -      (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
 -      pop_down_menu do the cleanup work as it is always called.  (Bug#2154)
 -
 -      * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
 -      set fontset font for "mathematical-" sub-scripts.  (Bug #2218)
 -
 -2009-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (adjust_point_for_property): Allow stopping between two
 -      invisible areas.
 -
 -2009-02-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (check_face_name): Check for fake helv.  (Bug#2275)
 -      (add_font_entity_to_list): Call check_face_name even when family
 -      is unspecified.
 -
 -      * w32term.c (x_display_pixel_height, x_display_pixel_width):
 -      Release DC when finished.  Use NULL window to refer to desktop.
 -      (w32_term_init): Use NULL window to refer to desktop.  (Bug#460)
 -
 -      * w32font.c (add_font_entity_to_list): Fix check for substituted
 -      raster fonts.  (Bug#2219)
 -
 -2009-02-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
 -      (composition_gstring_width): Fix handling of LGLYPH_YOFF.
 -      (autocmp_chars): Use fast_looking_at.  Don't compose more
 -      characters than MAX_COMPOSITION_COMPONENTS.
 -      (find_automatic_composition): While looking forward and backward,
 -      check static composition.  Fix where to stop looking forward.
 -      (composition_adjust_point): Fix checking of static composition.
 -      (Fcomposition_get_gstring): Pay attention to
 -      MAX_COMPOSITION_COMPONENTS.
 -
 -      * lisp.h (fast_looking_at): Extern it.
 -
 -      * search.c (fast_looking_at): New function.
 -
 -      * term.c (encode_terminal_code): Adjust for the change of
 -      <struct glyph>.u.cmp.to.
 -      (append_composite_glyph): Likewise.
 -
 -      * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
 -      <struct glyph>.u.cmp.to.  Check if the glyph belongs to the same
 -      composition.
 -      (append_composite_glyph): Adjust for the change of
 -      <strcut glyph>.u.cmp.to.
 -
 -2009-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * casetab.c (init_casetab_once):
 -      * coding.c (ALLOC_CONVERSION_WORK_AREA):
 -      * font.c (font_update_lface):
 -      * fontset.c (Fnew_fontset):
 -      * ftfont.c (ftfont_drive_otf):
 -      * xfont.c (xfont_open):
 -      * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
 -
 -2009-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fwrite_region): !NILP -> CONSP.
 -
 -2009-02-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (send_process): Properly relocate pointer into data
 -      when using encoded data.  (Bug#2272)
 -
 -2009-02-08  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
 -
 -      * coding.c (detect_coding_charset): Fix previous change.
 -
 -2009-02-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_hide_hourglass): Handle case where frame
 -      disappeared while hourglass was displayed.  (Bug #2193)
 -
 -2009-02-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Fix error message.
 -
 -2009-02-07  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
 -      when modal window is active.  (Bug #2152)
 -      (applicationShouldTerminate:): Remove now-unneeded while loop
 -      around NSRunAlertPanel.
 -
 -      * nsmenu.m (popupSession): New file-global variable.
 -      (pop_down_menu): End the popupSession before closing dialog.
 -      (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
 -      (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
 -      don't query NSApp for events (just sleep instead).
 -
 -2009-02-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (syms_of_coding) <translation-table-for-input>:
 -      Modify doc string to discourage use for character code unification.
 -
 -2009-02-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * atimer.c (run_timers): Update pending_atimers.
 -
 -2009-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (svg_load_image): Fix last change.
 -
 -      * xfns.c (Fx_create_frame): Signal an error if no font is
 -      found (Bug#2147).
 -
 -2009-02-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (syms_of_character) <script-representative-chars>:
 -      Fix typo in docstring.
 -
 -2009-02-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (pop_down_menu): New function.
 -      (ns_popup_dialog): Call it on unwind.
 -      (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
 -      call timer_check() (Bug#2154).
 -      (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
 -      handling_signal is set.
 -      (EmacsMenu-fillWithWidgetValue:): Set submenu title.
 -
 -      * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
 -
 -      * s/darwin.h: Same and NO_SOCK_SIGIO as well.
 -
 -      * nsterm.m (ns_read_socket): Same and don't set handling_signal.
 -
 -      * keyboard.c (poll_for_input_1, handle_async_input):
 -      Set handling_signal under HAVE_NS.
 -
 -2009-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
 -
 -2009-02-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
 -
 -      * charset.c (Fchar_charset): New optional arg restriction.
 -
 -      * coding.h (coding_system_charset_list): Extern it.
 -
 -      * coding.c (coding_system_charset_list): New function.
 -
 -      * composite.c: Include coding.h and termhooks.h.
 -      (composition_gstring_p): Fix for the terminal case.
 -      (composition_gstring_width): Likewise.
 -      (fill_gstring_body): Likewise.
 -      (autocmp_chars): For terminal, call Fcomposition_get_gstring with
 -      the frame.
 -      (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
 -      is within a composition.
 -      (Fcomposition_get_gstring): Fix the terminal case.
 -
 -      * term.c (encode_terminal_code): Fix handling of composition.
 -      (produce_composite_glyph): For static composition, get pixel_width
 -      from struct composition.
 -
 -2009-02-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Handle unaligned bss offset.
 -
 -2009-02-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
 -      XT,w32read_socket changes to ns_read_socket.
 -
 -      * keyboard.c (handle_interrupt): Don't call
 -      quit_throw_to_read_char() under NS.
 -
 -      * blockinput.h: Remove NS-specific code.
 -
 -2009-01-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispnew.c (window_change_signal): Don't try to get the size of a
 -      suspended tty frame.
 -      * term.c (Fresume_tty): Resize if the size has changed while the
 -      tty was suspended.
 -
 -      * alloc.c (mark_stack): Properly conditionalize previous change.
 -
 -2009-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
 -      * w32term.c (w32_read_socket) [SYNC_INPUT]:
 -      Remove; this code is not used on Windows.
 -
 -2009-01-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (detect_eol, decode_eol): Handle text with DOS-style
 -      EOLs that also has stray ^M characters.
 -
 -2009-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * atimer.c (run_timers, alarm_signal_handler):
 -      * keyboard.c (pending_signals, handle_async_input, init_keyboard):
 -      * w32inevt.c (w32_console_read_socket):
 -      * w32term.c (w32_read_socket):
 -      * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
 -
 -2009-01-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
 -      Initialize it as a relative filename pattern.
 -      (init_callproc): Don't initialize Vtemp_file_name_pattern here.
 -      (Fcall_process_region): Simplify temp file creation using
 -      temporary-file-directory.
 -
 -2009-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c: Rename pending_signals to msdos_pending_signals.
 -      (sig_suspender, sigprocmask): Adjust.
 -
 -2009-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (pending_signals): New var.
 -      (poll_for_input, input_available_signal, init_keyboard): Set it.
 -      (process_pending_signals): New function.
 -
 -      * lisp.h (QUIT): Check pending_signals instead of
 -      interrupt_input_pending.  Use process_pending_signals.
 -
 -      * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
 -
 -      * process.c (wait_reading_process_output): Use process_pending_signals.
 -
 -      * sysdep.c (emacs_write): Use process_pending_signals.
 -
 -      * xterm.c (XTread_socket): Update pending_signals.
 -
 -      * w32term.c (w32_read_socket): Update pending_signals.
 -
 -      * w32inevt.c (w32_console_read_socket): Update pending_signals.
 -
 -2009-01-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_has_char): New function.
 -      (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
 -
 -2009-01-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
 -      under GNUstep.
 -      (ns_query_color): New declaration.
 -
 -      * nsterm.m (ns_confirm_quit): New variable.
 -      (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
 -      (EmacsApp-applicationShouldTerminate:): Use it.
 -      (EmacsPrefsController): Let user set it.
 -      (ns_query_color): New function.
 -      (ns_defined_color): Use it.
 -      (ns_initialize): Drop.
 -      (ns_term_init): Add two lines from ns_initialize(), and set
 -      input_interrupt_mode to nil.
 -
 -      * image.c (svg_load_image): Don't right-shift background RGB when
 -      obtained from FRAME_BACKGROUND_PIXEL.  Under HAVE_NS use ns_query_color.
 -
 -2009-01-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
 -      (fontset_get_font_group): Remember that no font-group is specified
 -      for C.
 -
 -2009-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (concat): Check for string overflow (bug#1787).
 -
 -      * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
 -      Quadruple undo limits (bug#1501).
 -
 -2009-01-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
 -      directly use GT_Get_Char_index.
 -
 -      * xftfont.c (struct xftfont_info): New member `index'.
 -
 -      * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
 -      (Ffontset_font): Adjust for the change of fontset entry.
 -
 -2009-01-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix handling of non-cons return
 -      value of fontset_get_font_group.
 -      (fontset_font): Revert last change.
 -
 -2009-01-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_list_internal): Return quickly if registry is
 -      unknown.  Simplify final return.
 -      (add_font_entity_to_list): Break complex logic down into more
 -      manageable chunks.  Move unknown registry check to
 -      w32font_list_internal.
 -
 -2009-01-25  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes to remove Feval calls from GUI under NS.
 -
 -      * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
 -      Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
 -      Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
 -
 -      * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
 -      (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
 -      (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
 -      instead of NON_ASCII_KEYSTROKE_EVENT.
 -      (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
 -      (EmacsApp-applicationShouldTerminate:): Query user.
 -      (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
 -      instead of Feval.
 -
 -      * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
 -
 -      * keyboard.c (kbd_buffer_get_event): Check for it.
 -      (keys_of_keyboard): Define lispy keys for
 -      ns-put/unput-working-text.
 -
 -      * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
 -      versions.
 -      (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
 -
 -2009-01-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
 -      setting current_buffer directly.  (Bug#2044)
 -
 -2009-01-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fontset.c (fontset_font): If we know there is no font, don't do
 -      any work.  (Bug#1952, bug#1990).
 -
 -      * font.c (font_parse_xlfd): Handle patterns of length < 2.  (Bug#1802)
 -
 -2009-01-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main): Do fork+exec under --daemon in Cocoa.
 -      (ns_no_defaults): New declaration.
 -      (main): Use it.
 -
 -      * nsterm.h (ns_no_defaults): New declaration.
 -
 -      * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
 -
 -      * nsterm.m (ns_no_defaults): New variable.
 -      (ns_initialize): Don't read defaults when ns_no_defaults.
 -      (EmacsView-readSelectionFromPasteboard:)
 -      (writeSelectionToPasteboard:types:): New stubbed-out methods for
 -      NSServicesRequests protocol.  (Bug#1435)
 -      (ns_dumpglyphs_stretch): New function.
 -      (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
 -      of 2008-11-15 to other terms.  (Bug#615)
 -
 -      * nsimage.m (setPixmapData:): Set to ignore image DPI.
 -
 -2009-01-23  Giorgos Keramidas  <keramida@freebsd.org>  (tiny change)
 -
 -      * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
 -      call for Sparc64.
 -
 -2009-01-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m:
 -      * nsgui.h:
 -      * nsmenu.m:
 -      * nsselect.m:
 -      * nsterm.h:
 -      * nsterm.m: Remove '23' comments that indicated code added during
 -      update from emacs-20 -> emacs-23.
 -
 -2009-01-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
 -      ns_alternate_modifier.  (Bug#1217)
 -
 -      * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
 -      Display all shortcuts, including those w/o super modifier.
 -
 -      * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
 -
 -2009-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Vwrite_region_post_annotation_function)
 -      (Vwrite_region_annotation_buffers): New vars.
 -      (build_annotations_unwind): Just reset
 -      Vwrite_region_annotation_buffers.
 -      (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
 -      Call write-region-post-annotation-function.
 -      (build_annotations): Add to Vwrite_region_annotation_buffers if
 -      buffer changes.
 -
 -2009-01-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
 -      Tiger.
 -      * nsfns.m (ns_do_applescript):
 -      Conditionalize typeUTF16ExternalRepresentation on Tiger.
 -
 -2009-01-21  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
 -
 -2009-01-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (NSMENUPROFILE): Change #if style.
 -
 -      * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
 -
 -      * nsterm.m (x_set_frame_alpha): Add prototype.
 -      (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
 -      handle Ctrl-tab.  (Bug#1841)
 -      (ns_get_color): Use unsigned long long for scanned hex string value.
 -      (ns_term_shutdown): Abort on non SIGTERM signals.
 -      (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
 -      (EmacsPrefsController-setPanelFromDefaultValues): New function.
 -      (EmacsPrefsController-resetToDefaults:): Use it.  (Bug#1801)
 -      (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
 -      (ns_defined_color): Fix settings of the XColor variable fields:
 -      red,green,blue scale to 2-byte, pixel's parts to 1-byte.  (Bug#1663)
 -
 -      * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
 -      DPI.  (Bug#1316)
 -      (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
 -      values in onTiger section.
 -
 -2009-01-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
 -      Check return value of font_spec_from_name.
 -      (Fx_list_fonts): Doc fix.  (Bug#1951)
 -
 -      * font.c (font_spec_from_name): Return Qnil if font name could not
 -      be parsed.
 -      (font_parse_name): Treat a `?' character as part of an XLFD.
 -
 -      * fns.c (Fsubstring): Doc fix.
 -
 -2009-01-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
 -      (ftfont_list): Likewise.
 -
 -2009-01-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dbusbind.c (Fdbus_register_signal):
 -      * process.c (conv_sockaddr_to_lisp):
 -      * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
 -
 -      * callproc.c (Fgetenv_internal): Doc fix.
 -
 -2009-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
 -      it is not even used.
 -
 -2009-01-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * font.c (Ffont_variation_glyphs): Silence compiler.
 -
 -2009-01-15  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
 -      Reported by David Robinow <drobinow@gmail.com>.
 -
 -2009-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_system): Fix handling of null_byte_found.
 -
 -2009-01-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (x_set_font): Always store a font to the font parameter,
 -      never a fontset.  (Bug#1562)
 -
 -2009-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (TWO_MORE_BYTES): New macro.
 -      (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
 -
 -2009-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_clear_prop): If clearing the family, clear the font
 -      width index too.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
 -
 -2009-01-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
 -      (do_play_sound): Use it.  Don't pass a hardcoded buffer size to mci
 -      functions, use sizeof.
 -
 -2009-01-12  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.c (read_char): Fix case where last_nonmenu_event
 -      returned a bad value with submenus.  (Bug#447)
 -
 -2009-01-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
 -      family, clear the font width index too.
 -
 -2009-01-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * keyboard.c (cmd_error_internal): Exit when errors occur before
 -      frame creation and not in daemon mode.  (Bug#1836)
 -
 -2009-01-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): When iterator stops on the last glyph
 -      of a display vector, backtrack.
 -      (try_window_reusing_current_matrix): Check glyph type before
 -      referencing charpos member.
 -
 -2009-01-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Fix Bug #876:
 -
 -      * coding.c (inhibit_null_byte_detection): New variable.
 -      (detect_coding, detect_coding_system): Don't pay attention to null
 -      bytes if inhibit_null_byte_detection is non-zero.
 -      (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
 -      <inhibit-iso-escape-detection>: Doc fix.
 -
 -2009-01-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Don't report unknown
 -      Windows charset as any unrecognized registry.  (Bug#1548)
 -      Only report Unicode Plane 2 fonts as unicode-sip.
 -
 -2009-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Fx_font_family_list): Delete function.
 -      Move compatibility version to faces.el.
 -
 -      * font.c (Ffont_family_list): Return a list of strings, not symbols.
 -
 -2009-01-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (x_set_frame_parameters): Remember requested value for
 -      fullscreen before it's reset by the parameter handler.
 -
 -2009-01-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * keyboard.c (last_command_char): For clarity, rename to...
 -      (last_command_event): ... and update all users.
 -      (last_input_char): For clarity, rename to...
 -      (last_input_event): ... and update all users.
 -      (last-command-char, last-input-char): Move to subr.el as aliases.
 -      * cmds.c, commands.h: Update for last_command_char rename.
 -
 -2009-01-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_open_for_lface): Handle unspecified height attribute.
 -
 -2009-01-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
 -      (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
 -      (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
 -      Don't declare.
 -      (syms_of_w32fns): Don't define x-pointer-shape variable.  (Bug#1485)
 -      (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
 -
 -2009-01-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): In the case of replace,
 -      remember the coding system used for decoding in
 -      coding_system (Bug#1039).
 -
 -      * coding.c (decode_coding_utf_8): Check byte_after_cr before
 -      breaking the loop.  (Bug#870)
 -      (decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_charset): Likewise.
 -
 -2009-01-05  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (x_set_frame_parameters): Make sure height (width) get
 -      applied when fullwidth (fullheight) is set.  (Bug#1522)
 -
 -2009-01-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c: Use 64-bit arithmetic to do FILETIME conversions.  (Bug#1766)
 -      (utc_base): Declare as ULONGLONG, not long double.
 -      (convert_time_raw): Delete.
 -      (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
 -      (initialize_utc_base): New function.
 -      (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
 -      (convert_from_time_t): Use initialize_utc_base; compute result with
 -      64-bit arithmetic.
 -      (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
 -
 -2009-01-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
 -      (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
 -      (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
 -      (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
 -      [!subprocesses]: Define.
 -      (syms_of_process) [!subprocesses]: Intern and staticpro them.
 -      (Flist_system_processes, Fsystem_process_attributes)
 -      [!subprocesses]: Call list_system_processes and
 -      system_process_attributes instead of returning Qnil.
 -
 -      * dosfns.c (system_process_attributes, list_system_processes):
 -      New functions.
 -
 -      * vm-limit.c (ret_lim_data) [MSDOS]: New function.
 -
 -      * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
 -      Don't use the default (no-op) implementation.
 -
 -2009-01-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * keyboard.c (parse_modifiers_uncached): Wheel events are
 -      clicks (bug#687).
 -
 -      * w32term.c (x_query_colors, x_query_color): New functions.
 -
 -      * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
 -      (svg_load_image): Cast returned pointers from dynamically loaded
 -      functions.  Eliminate W32 specific code.
 -
 -2009-01-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * nsfns.m (x_set_foreground_color, x_set_background_color)
 -      (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
 -      (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
 -      x_ prefix instead of ns_.  Update references.
 -      (syms_of_nsfns): Add a FIXME comment.
 -
 -      * nsterm.m (x_set_cursor_type): New prototype.
 -      (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
 -
 -      * sysdep.c (system_process_attributes): Provide Qtime and Qctime
 -      for Solaris instead of incorrectly providing Qutime and Qcutime.
 -
 -2009-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (process_times): Compute sum of utime and stime.
 -      (system_process_attributes): Add Qtime to the alist.
 -
 -      * sysdep.c (system_process_attributes): Compute Qtime and Qctime
 -      and add them to the alist.
 -
 -      * process.c (top level) <Qtime, Qctime>: New variables.
 -      (syms_of_process): staticpro them.
 -      (Fsystem_process_attributes): Add their documentation to the doc
 -      string.
 -
 -      * process.h: Declare Qtime and Qctime.
 -
 -2009-01-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (Qgobject): New symbol.
 -      (syms_of_image): Initialize it.
 -      (init_svg_functions): Load some functions from gobject library.
 -
 -2009-01-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.c (make_terminal_frame): Remove redundant code and useless
 -      block.
 -
 -2009-01-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (conv_sockaddr_to_lisp): Add workaround for
 -      getsockname bug on BSD.
 -
 -2009-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_create_tip_frame): Set border width of the X window.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
 -
 -2009-01-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_new_font): Return font object, not fontset.  (Bug#119)
 -      Don't block input, as per earlier xterm.c changes.
 -
 -2008-12-31  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
 -      (ns_appkit_version_int): New function.
 -      (x-server-version): Use ns_appkit_version_int and follow 21+
 -      convention of returning 3 integers.
 -
 -2008-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
 -      (CHAR_SURROGATE_PAIR_P): New macro.
 -
 -      * font.h (struct font_driver): New member get_variation_glyphs.
 -
 -      * font.c (font_range): Don't require a font for a variation selector.
 -      (Ffont_variation_glyphs): New function.
 -      (syms_of_font): Defsubr it.
 -
 -      * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
 -      ftfont_variation_glyphs.
 -      (setup_otf_gstring): New function.
 -      (ftfont_drive_otf): Use it.
 -      (ftfont_shape_by_flt): Handle variation selector.
 -      (ftfont_variation_glyphs): New function.
 -
 -2008-12-30  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Vemacs_iconified): Remove.
 -
 -2008-12-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (store_frame_param, x_get_arg): Enable newer code on
 -      WINDOWSNT too, as related changes have already been synced.  (Bug#117)
 -
 -2008-12-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Don't advance iterator if we have
 -      reseated to the desired position.
 -
 -      * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
 -      checking for pos match.
 -
 -2008-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
 -      just get the low 8-bit of the code.
 -
 -      * font.c (font_intern_prop): Validate str as multibyte.
 -
 -2008-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispextern.h (struct face): Move lface and hash from the middle
 -      of bitfields.
 -
 -      * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
 -
 -2008-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
 -      (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
 -      instead of intervals.h.
 -
 -2008-12-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
 -      cons.
 -
 -2008-12-26  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * textprop.c (Qminibuffer_prompt): New variable.
 -      (syms_of_textprop): Initialize it.
 -      * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
 -      in minibuffer-prompt face.  (Bug#1662)
 -
 -2008-12-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
 -
 -2008-12-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * ralloc.c (r_alloc_reset_variable): New function.
 -
 -      * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
 -      record of what points where.  (Bug#716)
 -
 -2008-12-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * minibuf.c (read_minibuf): Follow the non-interactive case when
 -      running as a daemon, before detaching.
 -
 -2008-12-22  Andreas Schwab  <schwab@suse.de>
 -
 -      * buffer.c (init_buffer): Use realloc instead of xrealloc.
 -      * gtkutil.c (free_widget_value): Use xfree instead of free.
 -
 -2008-12-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (delete_frame): New function derived from
 -      Fdelete_frame to handle Qnoelisp value for FORCE argument.
 -      Delete last frame iff FORCE equals Qnoelisp.  (Bug#1450)
 -      (Fdelete_frame): Call delete_frame.  Remove line from doc-string
 -      saying that FORCE non-nil doesn't run `delete-frame-functions'.
 -      * frame.h: Extern delete_frame.
 -      * window.c (window_loop):
 -      * terminal.c (delete_terminal):
 -      * xterm.c (x_connection_closed):
 -      * xfns.c (Fx_hide_tip):
 -      * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
 -
 -2008-12-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
 -      when character maps to .notdef character.
 -
 -2008-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
 -
 -2008-12-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (Fmake_terminal_frame): Raise an error when called from
 -      a graphical frame on Windows.  (Bug#1325)
 -
 -2008-12-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
 -
 -2008-12-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fread_buffer): Doc fix.
 -
 -2008-12-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
 -      server name in UNC paths.  (Bug#719)
 -
 -      * coding.c (decode_coding): Clear chars_at_source flag when using
 -      charbuf.  (Bug#1035)
 -
 -2008-12-19  Daniel Engeler  <engeler@gmail.com>
 -
 -      * sysdep.c (serial_configure): Fix typo.
 -
 -2008-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c: Include alloca.h.
 -      (system_process_attributes): Add implementation for Solaris.
 -
 -      * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
 -
 -2008-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Reorganize implementation of Flist_system_processes and
 -      Fsystem_process_attributes.  No functional changes.
 -      * process.c: Don't #include pwd.h, grp.h and limits.h.
 -      (Flist_system_processes): Just call list_system_processes.
 -      (Fsystem_process_attributes): Just call system_process_attributes.
 -      (procfs_list_system_processes, time_from_jiffies)
 -      (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
 -      (procfs_get_total_memory, procfs_system_process_attributes): Move ...
 -
 -      * sysdep.c: ... here.  Include pwd.h, grp.h and limits.h.
 -      (list_system_processes): Rename from
 -      procfs_list_system_processes.  Enclose in #ifdef HAVE_PROCFS.
 -      Provide a do nothing implementation.
 -      (system_process_attributes): Rename from
 -      procfs_list_system_processes.
 -      (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
 -      (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
 -
 -      * w32.c (list_system_processes): Rename from
 -      w32_list_system_processes.
 -      (system_process_attributes): Rename from
 -      w32_system_process_attributes.
 -
 -      * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
 -
 -      * process.h (w32_list_system_processes)
 -      (w32_system_process_attributes): Remove.
 -      (list_system_processes, system_process_attributes):
 -      New prototypes.
 -
 -2008-12-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_decode_coding_xlfd): New function.
 -      (xfont_encode_coding_xlfd): New function.
 -      (xfont_list_pattern): Decode XLFD by iso-8859-1.
 -      (xfont_list): Decode and encode XLFD by iso-8859-1.
 -      (xfont_match): Likewise.
 -      (xfont_list_family): Likewise.
 -      (xfont_open): Likewise.
 -
 -      * ftfont.c (ftfont_open): Generate a multibyte string if given
 -      names are utf-8.
 -
 -      * xftfont.c (xftfont_open): Generate a multibyte string if given
 -      names are utf-8.
 -
 -2008-12-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
 -      changed.
 -      (xg_tool_bar_proxy_callback): Put focus on the frame after we have
 -      clicked on a detached tool bar button.
 -
 -2008-12-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Print and error and exit when no data is read
 -      from the pipe.
 -
 -2008-12-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_has_char): Always return -1.
 -
 -2008-12-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_open_entity): Fix previous change.
 -
 -2008-12-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c: Include <limits.h>.
 -
 -2008-12-16  Chetan Pandya  <pandyacus@sbcglobal.net>  (tiny change)
 -
 -      * font.c (font_update_drivers): Fix mistake in reconstructing the
 -      driver list.
 -
 -2008-12-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_clear_cache): Fix format of font cache data.
 -
 -2008-12-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (xftfont_open): Free Xft font pattern if
 -      XftFontOpenPattern fails.
 -
 -      * xterm.c (x_free_frame_resources): Remove extraneous call to
 -      free_frame_faces.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_delete_display): Move xim_close_dpy call to
 -      x_delete_terminal.
 -      (x_delete_terminal): Call xim_close_dpy.
 -
 -2008-12-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (intern_font_name): New function.
 -      (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
 -      (w32font_open_internal, Fx_select_font): Decode font name.
 -      (fill_in_logfont, list_all_matching_fonts): Encode font name.
 -
 -      * w32font.h (intern_font_name): Declare new function.
 -
 -      * w32uniscribe.c (add_opentype_font_name_to_list):
 -      Use intern_font_name.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fdelete_frame): Call free_font_driver_list.
 -
 -      * font.c (free_font_driver_list): Implement missing function.
 -
 -      * w32term.c (w32_term_init): Don't initialize the image cache
 -      here; it will be done in init_frame_faces.
 -
 -      * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
 -      (struct x_display_info): Remove unused member null_pixel.  New
 -      member xim_callback_data.
 -
 -      * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
 -      (xim_initialize): Save pointer to callback function data.
 -      (xim_close_dpy): Free callback function data.  Call XCloseIM,
 -      reverting 2008-11-04 change by David Smith.
 -      (x_term_init): Don't initialize the image cache here; it will be
 -      done in init_frame_faces.  Remove ancient "null_pixel" cruft.
 -      (x_delete_display): Free x_dnd_atoms member.
 -
 -2008-12-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_rescale_ratio): Moved from xfaces.c.
 -      Argument type changed.  Handle a font-spec too.
 -      (font_score): Check Vface_font_rescale_alist.
 -      (font_open_entity): Likewise.  (Bug#1547)
 -
 -      * xfaces.c (font_rescale_ratio): Moved to font.c.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
 -
 -2008-12-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
 -      Vwindow_system_version to the real w32 major version.
 -
 -2008-12-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (init_tty): Move setting the terminal name before the
 -      potential user: maybe_fatal.
 -
 -2008-12-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
 -      all callers changed.  Call free_frame_faces to free the face cache.
 -
 -2008-12-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (fill_in_logfont): Don't assume symbol script means
 -      SYMBOL_CHARSET.  (Bug#547)
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
 -      size for surrogates.  (Bug#1096, bug#872)
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fsystem_process_attributes, syms_of_process):
 -      Fix typo in name of Ssystem_process_attributes.
 -      Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * syntax.c (Fmodify_syntax_entry): Doc fix.
 -
 -2008-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec): Move usage to end of docstring.
 -
 -2008-12-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Qcham): New symbol.
 -      (font_supported_scripts): Add cham, and comments for other new
 -      scripts in bitfield from OpenType spec.
 -      (add_font_entity_to_list): Limit unicode-sip fonts to those that
 -      contain characters beyond the bmp.
 -
 -2008-12-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (fc_charset_table): Add "unicode-sip".
 -      (ftfont_spec_pattern): Lookup fc_charset_table for the registry
 -      Qunicode_sip.
 -
 -2008-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (QCdefault_char): Rename from QCdefalut_char.
 -      (Fcoding_system_put): Use QCdefault_char.
 -      (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
 -
 -2008-12-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (syms_of_xftfont): Fix typo.
 -
 -      * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
 -
 -2008-12-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Close daemon_pipe on exec.
 -
 -2008-12-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * termchar.h (struct tty): New members termcap_term_buffer and
 -      termcap_strings_buffer.
 -
 -      * term.c (encode_terminal_code): Free any previous memory blocks
 -      before calling xmalloc for encode_terminal_src or encode_terminal_dst.
 -      (maybe_fatal): Buffer argument deleted.  Don't free buffer here.
 -      All callers changed.
 -      (init_tty): Store termcap data and string buffers in new struct
 -      tty members termcap_term_buffer and termcap_strings_buffer.
 -      (delete_tty): Free them.
 -      (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
 -
 -2008-12-07  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfns.m (ns_set_background_color): Remove code duplication.
 -      It was a substitute for face-transparency on OS X 10.3.
 -
 -2008-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * coding.c (make_conversion_work_buffer): Disable buffer
 -      modification hooks in the work buffer.
 -
 -2008-12-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): If `nread' has a
 -      negative value, assign zero to it.
 -
 -2008-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Vdebug_on_error): Doc fix.
 -
 -2008-12-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
 -      second character is a combining character.
 -
 -2008-12-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Don't use cmd,
 -      cmdsize, and q without initializing them first.
 -
 -2008-12-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Initialize orig_clip before getting
 -      it, and delete it when finished.
 -
 -2008-12-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
 -      case when running as a daemon before detaching.
 -
 -2008-12-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c (init_environment): Don't unload library shell32.dll.
 -
 -2008-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_at): Set `multibyte' at first.
 -
 -      * coding.c (decode_coding_charset): Check type of an element of
 -      vector VALIDS.
 -      (encode_coding_emacs_mule): Be sure to set `code'.
 -
 -      * fontset.c (face_for_char): Handle invalid charset property correctly.
 -      (font_for_char): Likewise.
 -
 -2008-12-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Fopen_font): Compute pixel size correctly.
 -      (font_update_lface): Handle fonts with corrupted size specs,
 -      i.e. non-int and non-float.
 -
 -      * ftfont.c (ftfont_match): Initialize entity variable.
 -      (ftfont_resolve_generic_family): Avoid using uninitialized var.
 -      (ftfont_list_family): Initialize list var earlier.
 -
 -      * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
 -
 -      * xterm.c (x_draw_glyph_string): Fall back on
 -      underline_minimum_offset for underline position.
 -
 -2008-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
 -
 -      * character.c (c_string_width): Specify the type for LEN.
 -
 -2008-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
 -      (decode_coding_utf_8): Likewise.
 -      (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
 -      (produce_chars): Initialize consumed_chars to 0.
 -
 -2008-12-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (make_lispy_position): Only use PT if the selected
 -      window is current.
 -
 -2008-12-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_unparse_fcname): Fix use of uninitialized variable.
 -
 -      * doprnt.c (doprnt1): Fix size of charbuf.
 -
 -2008-12-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (timer_check): Revert last change.
 -
 -2008-12-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
 -
 -2008-12-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies.
 -      (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
 -
 -2008-12-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (register_font_driver): Use xmalloc.
 -      (font_put_frame_data): Likewise.
 -
 -2008-12-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_x_face): Make abort condition clearer.
 -
 -      * gtkutil.c (update_frame_tool_bar): Initialize variable.
 -
 -2008-11-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (timer_check): After a timer runs, ensure that the
 -      selected window's buffer is current.
 -
 -2008-11-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
 -      It was accidentally restored by the Unicode merge.
 -
 -      * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
 -
 -2008-11-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32proc.c: Include "coding.h".
 -      (Fw32_short_file_name): Encode filename passed to Windows API.
 -      (Fw32_long_file_name): Encode filename passed to Windows API and
 -      decode back the result.  (Bug#1433)
 -
 -2008-11-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
 -      not before accessing it.
 -
 -      * charset.c (Fdefine_charset_internal): After calculating
 -      min_char, max_char, and fastmap, copy the charset structure again.
 -      (encode_char): Fix the previous change.
 -
 -2008-11-28  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
 -
 -      * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
 -
 -      * nsterm.m (x_set_frame_alpha): New function.
 -
 -2008-11-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
 -
 -2008-11-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
 -      pointer to check_face_name.
 -
 -2008-11-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.h (SET_CATEGORY_SET): Call set_category_set.
 -      (set_category_set): Extern it.
 -
 -      * category.c (hash_get_category_set): New function.
 -      (Fmodify_category_entry): Adjusted for the change of
 -      char_table_ref_and_range.  Call hash_get_category_set to get a
 -      category set to store in the table.
 -
 -      * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
 -      Funify_charset.
 -
 -      * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
 -      (DECODE_CHAR): Check if the decoder vector is ready.
 -      (ENCODE_CHAR): Check if the encoder char-table is ready.
 -      (maybe_unify_char): Extern it.
 -
 -      * charset.c (Vchar_unified_charset_table): Delete it.
 -      (inhibit_load_charset_map): New variable.
 -      (temp_charset_work): New variable.
 -      (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
 -      (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
 -      New macros.
 -      (load_charset_map): Meaning of control_flag changed.  If
 -      inhibit_load_charset_map is nonzero, setup a table in
 -      temp_charset_work.
 -      (load_charset): New argument control_flag.
 -      (map_charset_for_dump): New function.
 -      (map_charset_chars): If inhibit_load_charset_map is nonzero, use
 -      map_charset_for_dump.
 -      (Fdefine_charset_internal): If the charset method is MAP, load
 -      mapping tables by calling load_charset.
 -      (Funify_charset): Don't load a mapping table but directly set
 -      Vchar_unify_table.
 -      (maybe_unify_char): New function.
 -      (decode_char): Don't handle the deleted method MAP_DEFERRED.
 -      Handle the case of inhibit_load_charset_map being nonzero.
 -      (encode_char): Don't handle the deleted method MAP_DEFERRED.
 -      Handle the case of inhibit_load_charset_map being nonzero.
 -      (Fclear_charset_maps): Just free temp_charset_work.
 -      (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
 -      variable.
 -
 -      * chartab.c (sub_char_table_ref_and_range): Adjusted for the
 -      change of char_table_ref_and_range.
 -      (char_table_ref_and_range): Change the meaning of argument FROM
 -      and TO.  Now the caller must provide initial values for *FROM
 -      and *TO.
 -
 -      * fontset.c (fontset_add): Adjusted for the change of
 -      char_table_ref_and_range.
 -      (fontset_get_font_group): Likewise.
 -      (Ffontset_info): Likewise.
 -
 -      * keymap.c (describe_vector): Adjusted for the change of
 -      char_table_ref_and_range.  For char-table, put boundary between
 -      non-ASCII and 8-bit characters.
 -
 -      * print.c (print_object): For bool-vector, delete unnecessary
 -      check of ASCII_BYTE_P.
 -
 -2008-11-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Don't include external
 -      leading in font height.  (Bug#879)
 -
 -2008-11-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
 -      redefinition with ifdef.  (Bug#1383)
 -
 -2008-11-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
 -
 -2008-11-24  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
 -      New EmacsView methods.
 -      (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
 -      Fixes bug #1048,1357,1414.
 -
 -2008-11-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Fix bug #1362.
 -      * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
 -      is not an indexed color.
 -      * nsterm.m (free_indexed_color): Add argument checking.
 -      * nsfns.m: Move config.h to before system includes (advised by Dan N.).
 -
 -2008-11-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
 -      Document confirm-after-completion value for
 -      minibuffer-completion-confirm.
 -
 -2008-11-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (check_face_name): Use xstrcasecmp.  Avoid compiler
 -      warning.
 -
 -2008-11-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Ensure context is
 -      restored before returning.
 -
 -      * w32font.c (check_face_name): New function.
 -      (add_font_entity_to_list): Use it to filter out common substituted
 -      fonts.  (Bug#642)
 -
 -2008-11-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fswitch_to_buffer): Reword and mention new option
 -      confirm-nonexistent-file-or-buffer in doc-string.
 -
 -2008-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
 -      Fix copy/paste typo.  Add checks.
 -
 -2008-11-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Reject invalid composition
 -      sequence.
 -      (DECODE_COMPOSITION_START): If the current source is the last
 -      block, and the current composition doesn't end, regard this
 -      sequence as invalid.
 -      (decode_coding_iso_2022): Handle invalid composition sequence.
 -
 -2008-11-20  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (coordinates_in_window): Don't return
 -      ON_VERTICAL_BORDER for the rightmost position of a mode/header
 -      line when the window is not the rightmost one.  (Bug#1372)
 -
 -2008-11-16  Ben North  <ben@redfrontdoor.org>  (tiny change)
 -
 -      * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
 -
 -2008-11-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
 -      and bright_bg if noninteractive is non-zero.
 -
 -2008-11-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
 -      x_draw_glyph_string_background.
 -
 -      * w32term.c (x_draw_glyph_string): Likewise.
 -
 -2008-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_draw_glyph_string): Stop drawing the background of
 -      the next glyph string once past the overhang width.
 -
 -      * nsterm.m (ns_draw_glyph_string): Likewise.
 -
 -      * w32term.c (x_draw_glyph_string): Likewise.
 -
 -2008-11-14  Fabrice Popineau  <fabrice.popineau@supelec.fr>  (tiny change)
 -
 -      * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
 -      double file close.
 -
 -2008-11-14  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
 -      dedicated status of window before attempting to display another
 -      buffer in it.
 -
 -2008-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * msdos.c (Fmsdos_long_file_names):
 -      (syms_of_msdos) <dos-unsupported-char-glyph>:
 -      * dosfns.c (Fint86): Fix typos in docstrings.
 -
 -2008-11-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
 -
 -2008-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1260000.
 -
 -2008-11-12  Michal Nazarewicz  <mina86@tlen.pl>  (tiny change)
 -
 -      * frame.c (x_set_alpha): Set alpha to -1 if nil given.
 -
 -      * frame.h: Negative alpha means "don't touch".
 -
 -      * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
 -
 -      * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
 -
 -2008-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * hftctl.c:
 -      * chpdef.h:
 -      * acldef.h: Remove files used only for systems no longer supported.
 -
 -      * Makefile.in: Fix .o alphabetical ordering.
 -      (hftctl.o): Remove dependency, file removed.
 -      (keymap.o, print.o): Depend on charset.h.
 -
 -2008-11-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Fget_byte): Fix and make it faster for unibyte target.
 -
 -2008-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.c (file_name_completion): If completion_ignore_case is
 -      enabled, ignore case when checking completion-regexp-list.
 -
 -2008-11-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * vm-limit.c (get_lim_data): Fix last change.
 -
 -2008-11-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Fget_byte): New function.
 -      (syms_of_character): Defsubr Fget_byte.
 -
 -2008-11-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Ensure that window
 -      cursor position is valid after scrolling.
 -
 -2008-11-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
 -
 -2008-11-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * xterm.c (handle_one_xevent): Don't let popup menus cause
 -      mouse-autoselect-window related window switching.  (Bug#1261)
 -
 -2008-11-04  David Smith  <davidsmith@acm.org>  (tiny change)
 -
 -      * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
 -
 -2008-11-04  Andreas Schwab  <schwab@suse.de>
 -
 -      * xfns.c (Fx_wm_set_size_hint): Add missing return value.
 -
 -2008-11-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_wm_set_size_hint): New function.
 -
 -2008-11-03  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * textprop.c (Fprevious_single_char_property_change): Return 0
 -      when there's no change in a string.  (Bug#1301)
 -
 -2008-11-02  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (do_switch_frame): New argument NORECORD passed to
 -      Fselect_window.
 -      (Fselect_frame): New argument NORECORD passed to
 -      do_switch_frame.
 -      (Fset_frame_selected_window): New argument NORECORD passed to
 -      Fselect_frame.
 -      (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
 -      in call of do_switch_frame.
 -      (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
 -      Handle NORECORD argument in call of Fselect_frame.
 -      * lisp.h (do_switch_frame, Fselect_frame)
 -      (Fset_frame_selected_window): Adjust declarations.
 -      * window.c (select_frame_norecord): New function.
 -      (run_window_configuration_change_hook): Use it and call
 -      Fselect_frame with NORECORD set.
 -      (Fselect_window): Pass NORECORD to Fselect_frame.
 -      (Fset_window_configuration): Handle NORECORD argument in call of
 -      do_switch_frame.
 -      * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
 -      Fset_frame_selected_window.
 -      * keyboard.c (command_loop_1): Handle NORECORD in call of
 -      Fselect_frame (currently ifdefd).
 -
 -2008-11-02  Ulrich Mueller  <ulm@kph.uni-mainz.de>
 -
 -      * emacs.c (USAGE2): Untabify.
 -
 -2008-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * composite.c (fill_gstring_header): Fix copy/paste typo.
 -
 -2008-10-31  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
 -      (Fother_window): Rename argument and rewrite doc-string.
 -      (select_window_norecord): Fix return value.  (Bug#1276)
 -
 -2008-10-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (x_create_tip_frame): Prevent default foreground color for
 -      new frames overriding foreground for tooltips.  Based on similar patch
 -      from Martin Rudalics <rudalics@gmx.at>.  (Bug#1032)
 -
 -2008-10-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (Fdaemon_initialized): Initialize nfd.
 -
 -2008-10-29  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
 -      (Fwindow_text_height): Clarify doc-strings.
 -      * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
 -      doc-string of window-scroll-functions.
 -
 -2008-10-28  Reiner Steib  <Reiner.Steib@gmx.de>
 -
 -      * category.c (syms_of_category): Fix typo in docstring.
 -
 -2008-10-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
 -      (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
 -      Fix typos in docstrings.
 -
 -2008-10-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (daemon_pipe): Make non-static.
 -      (IS_DAEMON): Move definition ...
 -      * lisp.h (IS_DAEMON): ... here.
 -      (daemon_pipe): Declare.
 -      (is_daemon): Remove.
 -      * dispnew.c (init_display): Use IS_DAEMON.
 -
 -2008-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
 -      (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
 -
 -      * emacs.c (is_daemon): Remove.
 -      (main): Don't set is_daemon.
 -      (IS_DAEMON): New macro.
 -      (Fdaemonp, Fdaemon_initialized): Use it.
 -      (Fdaemon_initialized): Write a char into the pipe to make sure the
 -      parent exits.
 -      (syms_of_emacs): Explicitly initialize daemon_pipe[1].
 -
 -2008-10-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
 -      over-sized glyph, draw it with the default glyph width.
 -
 -      * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
 -      glyph, draw it with the default glyph width.
 -
 -      * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
 -      glyph, draw it with the default glyph width.
 -
 -      * xdisp.c (try_scrolling): When computing the distance from the
 -      scroll margin to PT, try moving some distance past the window
 -      bottom before giving up.
 -
 -2008-10-27  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
 -      (Fset_window_buffer): Explain in doc-string that a window can be
 -      "strongly" dedicated to its buffer.
 -
 -2008-10-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (daemon_name): New variable.
 -      (main): Deal with --daemon=SERVER_NAME.
 -      (Fdaemonp): Return a name if one was passed to --daemon.
 -
 -2008-10-26  Romain Francoise  <romain@orebokech.com>
 -
 -      * emacs.c (daemon_pipe): New variable.
 -      (main): Create a pipe before forking, make the parent exit only after
 -      the child has closed its end of the pipe.  Move closing the
 -      descriptors ...
 -      (Fdaemon_initialized): ... here.  New function.
 -
 -2008-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
 -      the previous unoptimized table.
 -
 -      * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
 -      the distinction between non-nil and non-t value of `dedicated'.
 -
 -2008-10-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
 -      read_char_minibuf_menu_text is large enough to hold the menu string.
 -
 -2008-10-25  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fget_buffer_window, Fdelete_windows_on)
 -      (Freplace_buffer_in_windows): Make buffer argument optional and
 -      rename to buffer_or_name.
 -
 -2008-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (handle_single_display_spec, handle_display_prop):
 -      Undo 2005-05-16 change.
 -      (handle_stop): Pop iterator if it's loaded with an empty string.
 -      (get_overlay_strings_1): Don't save iterator if it's loaded with
 -      an empty string (bug#1201).
 -
 -2008-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_otf_features): Fix previous change.
 -      (ftfont_otf_capability): Check FeatureList.FeatureCount before
 -      calling ftfont_otf_features.
 -
 -2008-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_match_p): Fix for the case that a vector of
 -      characters is in script-representative-chars.
 -
 -2008-10-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_in_read_queued_messages): New variable.
 -      (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros.  Throw Qdbus_error.
 -      (xd_read_queued_messages): Catch Qdbus_error from the macros.
 -      (all): Replace xsignal1, xsignal2, xsignal3 by the respective
 -      macro.  (Bug#1186)
 -
 -2008-10-23  Ali Bahrami  <ali_gnu@emvision.com>  (tiny change)
 -
 -      * s/sol2-10.h: New file.
 -
 -2008-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (fill_glyph_string): Fix typo in source (though the
 -      poor beast has survived 9+ years and the jump from xterm.c!).
 -
 -2008-10-23  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
 -      Reword doc-string.
 -      (Fbury_buffer): In doc-string say what happens to the buffer's window.
 -
 -2008-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (syms_of_character) <script-representative-chars>:
 -      <unicode-category-table>: Doc fixes.
 -
 -2008-10-23  Noah Friedman  <friedman@splode.com>
 -
 -      * coding.c (make_conversion_work_buffer): Check that
 -      Vcode_conversion_reused_workbuf is a live buffer, otherwise call
 -      Fget_buffer_create.
 -
 -2008-10-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_add_log): Check the values of extra properties.
 -
 -2008-10-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
 -      Reword doc-string.
 -      (Fset_window_parameter): Use NILP.
 -      (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
 -      (Frecenter): Use "selected" instead of "current" window in doc-strings.
 -
 -2008-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
 -
 -2008-10-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns_appkit_version): New function.
 -      (x-server-version): Use it.
 -      (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
 -      (x-server-vendor): Don't check_ns().
 -
 -      * nsterm.m (syms_of_nsterm): Drop ns-version-string.
 -
 -2008-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
 -      Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
 -
 -2008-10-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (scan_words): Call word_boundary_p instead of comparing
 -      scripts.
 -
 -      * category.c (word_boundary_p): Check scripts instead of charset.
 -      Handle nil value in word-separating-categories and
 -      word-combining-categories.
 -      (syms_of_category): Fix docstrings of word-separating-categories
 -      and word-combining-categories.
 -
 -2008-10-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (Fencode_coding_region, Fdecode_coding_region)
 -      (Fdecode_coding_string, Fencode_coding_string): Doc fix.
 -
 -2008-10-21  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
 -      Rename arg "buffer" to "buffer_or_name".
 -      (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
 -      it optional.
 -      (no_switch_window): Remove since the return value is not used.
 -      (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
 -      Consider window as dedicated when Fwindow_dedicated_p returns a
 -      non-nil value.
 -      * lisp.h: Remove prototype for no_switch_window.
 -
 -2008-10-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (main): Unconditionally set PER_LINUX32 and exec
 -      temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
 -
 -2008-10-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): For iso-8859-* coding systems,
 -      check Vlatin_extra_code_table.
 -
 -2008-10-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fset_file_modes): Doc fix.
 -
 -2008-10-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
 -      in arrays.
 -
 -2008-10-19  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
 -      Mention kill-buffer in doc-string.
 -      (Fset_window_buffer): Reinsert tem check removed in last commit.
 -      (Fenlarge_window, Fshrink_window): Have argument names and
 -      doc-string follow Elisp manual more closely.
 -
 -2008-10-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fset_file_modes): Doc fix.
 -
 -2008-10-18  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_width, Fset_window_start)
 -      (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
 -      (Fdelete_windows_on, Freplace_buffer_in_windows):
 -      Make doc-strings follow code and Elisp manual more closely.
 -      (Fwindow_dedicated_p): Make window argument optional.
 -      (Fset_window_dedicated_p): Rename argument "arg" to "flag".
 -      (Fset_window_buffer): Respect any non-nil dedicated value for
 -      window.  Rename "buffer" argument to "buffer_or_name".
 -
 -2008-10-18  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * m/sh3.h: New file, machine description for SuperH.
 -
 -2008-10-17  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fsplit_window): Rename arg horflag to horizontal.
 -
 -2008-10-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_otf_features): Fix indexing
 -      gsub_gpos->FeatureList.Feature.  Check the validity of indices.
 -
 -2008-10-16  Magnus Henoch  <mange@freemail.hu>
 -
 -      * dbusbind.c (Fdbus_call_method): Unbreak usage line.
 -      (Fdbus_call_method_asynchronously): Ditto.
 -      This change makes C-h f display the argument list.
 -
 -2008-10-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Fexpand_file_name): Doc fix.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
 -      of :foreground and :background equivalent to unspecified (20.x
 -      compatibility).
 -
 -2008-10-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.c (syms_of_buffer): Doc fix.
 -
 -2008-10-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_clear_prop): When clearing font width, clear the
 -      average width field too.
 -
 -2008-10-12  Andreas Schwab  <schwab@suse.de>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Make static.
 -      * ftfont.h (ftfont_shape_by_flt): Don't declare.
 -
 -      * font.c: Don't include <m17n-flt.h>.
 -
 -2008-10-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
 -
 -2008-10-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
 -      away code.
 -
 -2008-10-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (update_text_area): Avoid looping due to large glyph
 -      overhangs (bug#1070).
 -
 -2008-10-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (face_for_char): If face->fontset is negative, just
 -      return ascii_face.
 -
 -      * font.c (font_delete_unmatched): Fix previous change.
 -      Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
 -
 -2008-10-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Fraise_frame): On text-only terminals select frame in
 -      order to make it visible.  (Bug#1061)
 -
 -2008-10-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fontset.c (fontset_find_font): Check frame validity.
 -
 -2008-10-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * gtkutil.c (xg_display_open): Reset default display if none exists.
 -      (xg_display_close): Allow Emacs to close all displays (bug#985).
 -
 -2008-10-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
 -
 -2008-10-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
 -
 -      * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
 -
 -      * gtkutil.c (x_wm_set_size_hint): Return immediately if called
 -      during initialization.
 -
 -2008-10-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): If frame switched, redisplay the
 -      whole thing on MSDOS frames as well as on a TTY.
 -
 -      * dispnew.c (update_frame): Flush termscript for MSDOS frames as
 -      well as for TTY.
 -      (Fopen_termscript): Allow opening a termscript on MSDOS frames as
 -      well as on a TTY.
 -
 -      * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
 -      as well as for TTY.
 -
 -      * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
 -
 -      * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
 -      MSDOS frames as well.
 -
 -2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
 -      correct arguments.
 -      * menu.c (find_and_return_menu_selection): Add cast.
 -
 -2008-10-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (USAGE1): Add --daemon.
 -
 -2008-10-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Multiply `pcpu' by
 -      100, so it's in percents as advertised.
 -
 -2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
 -      (ns_output.current_cursor, ns_output.desired_cursor)
 -      (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
 -      (FRAME_NEW_CURSOR_COLOR): Remove.
 -
 -      * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
 -      (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
 -      enumeration (HOLLOW_BOX_CURSOR, etc.).
 -
 -      * nsterm.m (ns_frame_rehighlight): Remove commented code.
 -      (draw_window_cursor): Simplify code.
 -      (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
 -      Don't change cursor type.  In latter, call rehighlight instead of doing
 -      updates manually.
 -      (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
 -      Use core Emacs cursor types.
 -
 -      * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
 -
 -2008-10-02  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * process.c (Faccept_process_output): Fix doc-string.
 -
 -2008-10-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * gmalloc.c (__sbrk): Also define for uClibc.
 -
 -      * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
 -      for uClibc.
 -
 -2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
 -      styles.
 -      (nsfont_open): Reenable the cache.
 -
 -2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * font.c (font_matching_entity): Reflect ATTRS in font selection.
 -      (font_find_for_lface) [HAVE_NS]: Don't ignore case.
 -
 -2008-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
 -      a suspended terminal.
 -
 -2008-09-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_signature): Use strcat instead of sprintf.
 -
 -2008-09-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
 -
 -2008-09-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): Don't advance the iterator if the last tab
 -      in a continued line coincides with a line beginning.
 -
 -2008-09-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (nsfont_trait_distance): Fix bug.
 -      (nsfont_list): Return a list rather than a vector (syncs with Handa
 -      changes of 2008-05-14).
 -      (nsfont_open): Improve logging.
 -
 -2008-09-29  Andreas Schwab  <schwab@suse.de>
 -
 -      * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
 -
 -2008-09-28  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
 -      name as char-resolve-modifiers.
 -      Reported by: Markus Triska <markus.triska@gmx.at>
 -
 -2008-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispnew.c (init_display): Return earlier when running as a daemon.
 -
 -2008-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
 -
 -2008-09-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * composite.c (Fcomposition_get_gstring)
 -      (Fcompose_region_internal, Fcompose_string_internal)
 -      (Ffind_composition_internal): Doc fix.
 -      (syms_of_composite) <compose-chars-after-function>: Doc fix.
 -      (syms_of_composite) <auto-composition-function>: Doc fix.
 -      (syms_of_composite) <composition-function-table>: Doc fix.
 -
 -2008-09-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * search.c (wordify): New argument for lax word-ends.
 -      (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
 -
 -2008-09-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h (is_daemon): Declare.
 -      * dispnew.c (init_display): Do not try to initialize the terminal
 -      when running as a daemon.
 -
 -2008-09-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
 -      x_display_pixel_height.
 -
 -2008-09-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * undo.c (record_point): Don't call Fundo_boundary for first
 -      change.  (Bug#731)
 -
 -2008-09-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (Fdaemonp): Doc fix.
 -
 -2008-09-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Place #ifdef in the proper place.
 -
 -2008-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (standard_args): Add --daemon.
 -      (main): Disconnect from the terminal when --daemon is passed.
 -      (is_daemon): New variable.
 -      (Fdaemonp): New function.
 -      (syms_of_emacs): Defsubr it.
 -
 -2008-09-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_next_display_element): Handle string display
 -      correctly when checking for the end of a box run.
 -
 -2008-09-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
 -      (syms_of_fileio): Add Qdelete_by_moving_to_trash.
 -      (Frename_file): Avoid copying to trash if a rename involves
 -      a delete.  (Bug#964).
 -
 -2008-09-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
 -      (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
 -      frames as well as termcap frames.
 -      (handle_interrupt): Remove "#ifndef MSDOS" around the call to
 -      get_named_tty.
 -
 -2008-09-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Fix cmdline in
 -      case /proc/PID/cmdline is empty.
 -
 -      * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
 -      x_display_pixel_height.
 -
 -2008-09-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
 -
 -      * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
 -
 -2008-09-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispextern.h (struct it): Move line_wrap away from the middle of
 -      bitfields.  Move voffset in struct iterator_stack_entry after the
 -      bitfields.  Move tab_width near after another short.
 -
 -2008-09-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.h (struct frame): Move alpha from the middle of bitfields.
 -
 -      * window.h (struct window): Move frozen_window_start_p after the
 -      rest of the bitfields to reduce padding.
 -
 -2008-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.h (x_display_info): Remove `height' and `width' members.
 -
 -      * nsterm.h (ns_display_info): Remove `height' and `width' members.
 -
 -      * w32term.h (w32_display_info): Remove `height', `width',
 -      `height_in', and `width_in' members.
 -
 -      * xterm.c (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (x_calc_absolute_position): Use them.
 -      (x_term_init): Omit removed `height' and `width' members.
 -
 -      * w32term.c (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (w32_read_socket, x_calc_absolute_position): Use them.
 -      (w32_initialize_display_info, w32_term_init): Omit removed members
 -      of w32_display_info.
 -
 -      * nsterm.m (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (ns_initialize_display_info): Omit removed members of ns_display_info.
 -
 -      * xterm.c (x_display_pixel_height, x_display_pixel_width):
 -      New functions.
 -      (x_calc_absolute_position): Use them.
 -      (x_term_init): Omit removed `height' and `width' members.
 -
 -      * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (compute_tip_xy):
 -      * frame.c (x_fullscreen_adjust):
 -      * xmenu.c (menu_position_func): Use x_display_pixel_height and
 -      x_display_pixel_width.
 -
 -2008-09-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (fill_gstring_header): Don't check FROM and TO here.
 -      (composition_compute_stop_pos): Fix handling of static composition.
 -      (Fcomposition_get_gstring): Check FROM and TO at first.
 -
 -2008-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 -
 -2008-09-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Use position reported by iterator
 -      instead of PT for determining screen motion (bug#943).
 -
 -2008-09-17  Romain Francoise  <romain@orebokech.com>
 -
 -      * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
 -
 -2008-09-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Downcase family name.
 -
 -      * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
 -      if necessary.
 -
 -2008-09-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (make_conversion_work_buffer): Avoid calling
 -      Fget_buffer_create if it is not necessary.
 -
 -2008-09-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fselect_window): Don't update window_select_count and
 -      use_time when norecord is not nil.
 -
 -2008-09-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Delete incorrect decrement of
 -      specpdl_ptr.
 -
 -2008-09-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * indent.c (scan_for_column): Don't handle automatic composition
 -      if the current buffer is not associated with a window.
 -
 -      * composite.c (composition_reseat_it): If the current buffer is
 -      not associated with a window, ignore the automatic composition.
 -      (find_automatic_composition): Likewise.
 -
 -2008-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
 -      (Fgpm_mouse_stop): Use it.
 -      * termhooks.h (close_gpm): Declare.
 -      * keyboard.c (tty_read_avail_input): Forcefully close the gpm
 -      connection if Gpm_GetEvent fails.
 -
 -      * window.c (set_window_buffer): Always preserve current-buffer.
 -
 -2008-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * charset.c (init_charset): Warn if etc/charsets not found.  (Bug#909)
 -
 -2008-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * charset.c (charset-map-path): Doc fix.
 -
 -2008-09-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
 -
 -      * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
 -      compose a grapheme cluster with the preceding base glyph.
 -
 -      * composite.c (composition_compute_stop_pos): Fix previous change.
 -      Reset cmp_it->id to -1 at first.
 -
 -2008-09-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (character.o, chartab.o): Fix config.h typo.
 -
 -2008-09-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Reapply translation maps when
 -      switching keyboards.
 -
 -2008-09-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
 -      characters.
 -
 -      * composite.c (FORWARD_CHAR): Fix calculation
 -      of (POSITION).pos_byte.
 -      (composition_compute_stop_pos): Limit the search of composition to
 -      at most 500 characters ahead.  If we reach the limit or find a
 -      newline, set cmp_it->ch to -2 and return 0.
 -      (composition_reseat_it): Handle the case that cmp_it->ch is -2.
 -
 -2008-09-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * indent.c (Fvertical_motion): Be sure to set
 -      it_overshoot_expected if it.cmp_it.id is non-negative.
 -
 -2008-09-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * callproc.c (Fcall_process): Don't hold references to string data
 -      across garbage collection.  Move initialisation of new_argv down
 -      to avoid compiler bug.
 -
 -2008-09-07  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * process.c (Fsystem_process_attributes): Doc fix.
 -
 -2008-09-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callproc.c (Fcall_process): Canonicalize current directory name.
 -
 -      * xdisp.c (move_it_to): When moving by vpos, ensure that the
 -      iterator advances to the next line if the current line ends in a
 -      continued tab.
 -
 -2008-09-07  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * nsfont.m (nsfont_draw): Fix the references to missing gidx data
 -      member to point to cmp_from.
 -
 -      * xdisp.c: Doc fix for references to gidx data member.
 -
 -2008-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): Reset window->point markers.
 -
 -2008-09-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (FORWARD_CHAR): Check STOP after
 -      incrementing (POSITION).pos.
 -
 -2008-09-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 -
 -      * process.c (Fsystem_process_attributes): Doc fix.
 -
 -2008-09-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (Ftop_level): Doc fix.
 -
 -2008-09-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
 -      minibuffer, don't let lower part of menu invade the echo area.
 -
 -      * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
 -      "char *q" to access menu text and advance through it.  Revert the
 -      change that displayed ">" instead of ASCII character 0x10.
 -
 -2008-09-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
 -      toggle boxes and radio buttons on MS-DOS as well.
 -
 -2008-09-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (autocmp_chars): Check lookback count.
 -      (composition_compute_stop_pos): Set cmp_it->lookback.
 -      (composition_reseat_it): Check lookback count.
 -      (struct position_record): New struct.
 -      (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
 -      (find_automatic_composition): New function.
 -      (composition_adjust_point): Use find_automatic_composition.
 -
 -      * dispextern.h (struct composition_it): New member lookback.
 -
 -2008-09-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Don't call move_it_by_lines again
 -      if moving by a single line.
 -
 -2008-09-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * xterm.c (x_delete_display): Fix merge error.
 -
 -      * fileio.c (Fexpand_file_name): Remove unused variables.
 -
 -2008-09-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Copy argument `name' into local
 -      storage on all platforms, not just on DOS_NT.
 -
 -2008-09-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
 -      Ensure mouse is not grabbed after menu is finished.
 -
 -2008-09-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_alternative_font_family_alist)
 -      (Finternal_set_alternative_font_registry_alist): Properly copy
 -      entire alist structure.
 -
 -2008-09-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
 -      representative chars of the script is a vector.
 -      (ftfont_list): Handle the case where the representative chars of
 -      the script is a vector.
 -
 -      * character.c (syms_of_character): Docstring of
 -      script-representative-chars fixed.
 -
 -2008-08-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (BUILD_CHAR_GLYPH): New macro.
 -      (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
 -      the menu.  Allocate larger buffer for `text', to account for
 -      possible ^C characters.
 -
 -2008-08-31  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * xdisp.c (prepare_menu_bars): Don't call
 -      Vwindow_size_change_functions with arg Qt.
 -
 -2008-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.h (font_range):
 -      * fileio.c (report_file_error):
 -      * composite.c (composition_update_it): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 -
 -2008-08-30  Glenn Morris  <rgm@gnu.org>
 -
 -      * data.c (Fmake_variable_frame_local): Doc fix.
 -
 -      * frame.c (Fmodify_frame_parameters): Doc fix.
 -
 -2008-08-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
 -      needed by GetTokenInformation.
 -      (w32_system_process_attributes): Check return values of all system
 -      APIs.
 -
 -      * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
 -      only when the state changes.
 -      (IT_update_begin, IT_update_end): Add termscript trace.
 -
 -      * w16select.c (Fw16_set_clipboard_data): Don't encode text if
 -      clipboard is unavailable.  Set dst to NULL if it doesn't point to
 -      malloc'ed data.
 -      (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
 -      passing random values to xfree.
 -
 -      * dispnew.c (init_display): Set `tty's association in frame's
 -      parameters alist to the name of the terminal device, if that is known.
 -
 -2008-08-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
 -
 -2008-08-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * composite.c (fill_gstring_body): Avoid compiler warnings.
 -
 -      * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
 -      LGLYPH_SET_CODE to avoid compiler warnings.
 -
 -      * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
 -
 -      * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
 -
 -      * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
 -      LGLYPH_SET_CODE.
 -
 -2008-08-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (report_file_error): Don't downcase the first character
 -      of errstring if it is still unibyte.
 -
 -2008-08-29  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to re-implement the automatic composition so
 -      that it doesn't use text properties.
 -
 -      * Makefile.in (ftfont.o): Depend on composite.h.
 -      (composite.o): Depend dispextern.h, font.h, frame, and window.h.
 -
 -      * character.h (Vunicode_category_table): Extern it.
 -
 -      * character.c (Vunicode_category_table): New variable.
 -      (syms_of_character): DEFVAR_LISP Vunicode_category_table.
 -
 -      * chartab.c (optimize_sub_char_table): Perform more greedy
 -      optimization.
 -
 -      * composite.h (enum composition_method):
 -      Delete COMPOSITION_WITH_GLYPH_STRING.
 -      (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
 -      (Vcomposition_function_table): Extern it.
 -      (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
 -      (composition_gstring_put_cache, composition_gstring_from_id)
 -      (composition_gstring_p, composition_gstring_width)
 -      (composition_compute_stop_pos, composition_reseat_it)
 -      (composition_update_it, composition_adjust_point): Extern them.
 -      (Fcomposition_get_gstring): EXFUN it.
 -
 -      * composite.c: Include window.h, frame.h, dispextern.h, font.h.
 -      (Vcomposition_function_table)
 -      (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
 -      (gstring_hash_table, gstring_work, gstring_work_headers):
 -      New variables.
 -      (gstring_lookup_cache, composition_gstring_put_cache)
 -      (composition_gstring_from_id, composition_gstring_p)
 -      (composition_gstring_width, fill_gstring_header)
 -      (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
 -      (composition_reseat_it, composition_update_it)
 -      (composition_adjust_point, Fcomposition_get_gstring): New functions.
 -      (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
 -      and gstring_work_headers.  DEFVAR_LISP composition-function-table.
 -      Defsubr composition_get_gstring.
 -
 -      * dispextern.h (struct glyph): New union u.cmp.  Delete the member
 -      cmp_id.
 -      (struct glyph_string): Delete the member gidx.  New members
 -      cmp_id, cmp_from, and cmp_to.
 -      (enum it_method): Delete GET_FROM_COMPOSITION.
 -      (struct composition_it): New struct.
 -      (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
 -      Delete c, len, cmp_id, cmp_len in u.comp.
 -
 -      * font.h (enum lgstring_indices): Delete it.
 -      (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
 -      (enum lglyph_indices): Likewise.
 -      (font_range): Adjust extern.
 -      (font_fill_lglyph_metrics): Extern it.
 -
 -      * font.c (QCf): New variable.
 -      (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
 -      (font_prepare_composition): Delete this function.
 -      (font_range): Type and arguments changed.
 -      (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
 -      (font_fill_lglyph_metrics): New function.
 -      (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
 -      (syms_of_font): DEFSYM QCf.  Delete defsubr for
 -      Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
 -      Defsubr Sfont_shape_gstring.
 -
 -      * fontset.h (font_for_char): Extern it.
 -
 -      * fontset.c (font_for_char): New function.
 -
 -      * ftfont.c: Include composite.h.
 -      (ftfont_resolve_generic_family): Add langset "en" to pattern.
 -      (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
 -
 -      * indent.c: Include composite.h and dispextern.h.
 -      (check_composition): Delete this function.
 -      (scan_for_column): Handle composition by
 -      composition_compute_stop_pos, composition_reseat_it, and
 -      composition_update_it.
 -      (compute_motion): Likewise.
 -      (Fvertical_motion): Fix checking of composition.
 -
 -      * keyboard.c (adjust_point_for_property): Check composition by
 -      composition_adjust_point.
 -
 -      * nsterm.m (ns_draw_glyph_string): Adjust for the change of
 -      struct glyph_string.
 -
 -      * term.c (encode_terminal_code): Adjust for the change of struct glyph.
 -      (append_composite_glyph): Adjust for the change of struct it and
 -      struct glyph.
 -      (produce_composite_glyph): Likewise.
 -
 -      * w32term.c (x_draw_composite_glyph_string_foreground):
 -      Adjust for the change of struct glyph_string.
 -      (x_draw_glyph_string): Likewise.
 -
 -      * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
 -      (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
 -
 -      * xdisp.c: Include font.h.
 -      (it_props): Delete the entry for Qauto_composed.
 -      (init_iterator): Initialize it->cmp_it.id to -1.
 -      (compute_stop_pos): Call composition_compute_stop_pos.
 -      (face_before_or_after_it_pos): Adjust for the change of struct it.
 -      (handle_auto_composed_prop): Delete it.
 -      (handle_composition_prop): Handle only static composition.
 -      (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
 -      from xassert.  Initialize it->cmp_it.stop_pos.
 -      (push_it): Adjust for the change of struct it.
 -      (pop_it): Likewise.
 -      (get_next_element): Delete next_element_from_composition.
 -      (CHAR_COMPOSED_P): New macro.
 -      (get_next_display_element): For automatic composition, get a face
 -      from the font in the glyph-string.
 -      (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
 -      check composition by it->cmp_it.id.  Delete GET_FROM_COMPOSITION case.
 -      (next_element_from_string): Check if the character at the current
 -      position is composed by CHAR_COMPOSED_P.
 -      (next_element_from_buffer): Likewise.
 -      (next_element_from_composition): Adjust for the change of struct it.
 -      Update it->cmp_it.
 -      (dump_glyph): Adjust for the change of struct glyph.
 -      (fill_composite_glyph_string): Adjust for the change of struct
 -      it and struct glyph.  Don't handle automatic composition here.
 -      (fill_gstring_glyph_string): New function.
 -      (x_get_glyph_overhangs): Handle automatic composition.
 -      (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
 -      (BUILD_GSTRING_GLYPH_STRING): New macro.
 -      (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
 -      automatic composition.
 -      (append_composite_glyph): Adjust for the change of struct it and
 -      struct glyph.
 -      (x_produce_glyphs): Adjust for the change of struct it.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 -      the change of struct glyph_string.
 -      (x_draw_glyph_string): Likewise.
 -
 -2008-08-29  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (word-wrap): Doc fix.
 -      * xdisp.c (truncate-partial-width-windows): Doc fix.
 -      Increase default to 50.
 -
 -2008-08-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (update_tool_bar_unwind): New function.
 -      (update_tool_bar): Temporarily set selected frame before building
 -      tool-bar items.
 -
 -2008-08-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
 -      snprintf, respectively.
 -      (xd_append_arg): Convert strings with Fstring_make_unibyte.
 -
 -2008-08-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in: Revert (undocumented) 2008-08-20 change adding
 -      LDFLAGS to GNUstep CC invocation.
 -
 -2008-08-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Revert last change.  Handle the
 -      general case where we are moving forward, and PT spans multiple
 -      screen lines.
 -
 -      * eval.c (find_handler_clause): Temporarily increase
 -      max-lisp-eval-depth while printing the backtrace buffer, to
 -      guarantee that help-mode code can run.
 -
 -2008-08-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
 -      colors under -rv.
 -      (IT_set_frame_parameters): Don't swap foreground and background
 -      colors if `(reverse . t)' is present in the frame properties.
 -      (internal_terminal_init): Call init_frame_faces only for the
 -      initial frame.
 -
 -2008-08-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
 -
 -2008-08-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * search.c (search_buffer): Set char_base to zero only at the end.
 -
 -2008-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (report_file_error): Fix handling of multibyte error string.
 -
 -2008-08-27  Andreas Seltenreich  <seltenreich@gmx.de>
 -
 -      * xterm.c (x_term_init): Temporarily hide the partially
 -      initialized terminal while calling vendor-specific-keysyms.
 -
 -2008-08-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (internal_terminal_init): Most initializations done only
 -      once, especially initial_screen_colors[] and termscript open.
 -
 -2008-08-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Fcondition_case): Doc fix.
 -
 -      * widgetprv.h (EmacsFramePart): Change font member to the new font
 -      struct.
 -
 -      * widget.c: Include character.h and font.h for XSETFONT.
 -      (setup_frame_gcs): Compute X font id from font struct, just once.
 -
 -2008-08-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (get_named_tty): Fix last change.
 -
 -2008-08-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): If moving forward starting from a
 -      multi-line string, move the iterator to the last line of that string.
 -
 -2008-08-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (do_switch_frame): Mark previously displayed frame as
 -      obscured for FRAME_MSDOS_P frames as well.
 -
 -2008-08-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (make_terminal_frame): Initialize f->terminal,
 -      f->terminal->reference_count, and scroll bars on MS-DOS as well.
 -      Set the top frame to newly created frame.
 -      (Fmake_terminal_frame): Reuse the_only_display_info.
 -
 -      * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
 -      estimating available memory.
 -
 -2008-08-23  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_draw_window_cursor): Don't call
 -      NSDisableScreenUpdates and NSEnableScreenUpdates on
 -      non-NS_IMPL_COCOA systems.
 -
 -2008-08-23  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (procfs_system_process_attributes): Fix use of
 -      uninitialized variables.
 -
 -2008-08-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
 -
 -      * dispnew.c (init_display): Remove MS-DOS specific conditions for
 -      calling tty-set-up-initial-frame-faces.
 -
 -      * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
 -      Allow MSDOS frames along with X frames.
 -
 -      * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
 -      addition to output_termcap.
 -
 -      * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
 -
 -      * termchar.h (FRAME_TTY): Support output_msdos_raw.
 -      (struct tty_display_info) [MSDOS]: Add fields related to mouse
 -      highlight.
 -
 -      * process.c [!subprocesses]: Define QCname.
 -      (syms_of_process): Intern and staticpro it.
 -
 -      * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
 -      Adjust for changes in encoding/decoding routines.
 -      Use encode_coding_object and decode_coding_object instead of
 -      encode_coding and decode_coding.
 -
 -      * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
 -
 -      * dosfns.c: Include frame.h before termhooks.h.
 -      (dos_cleanup): Use CURTTY ()->termscript instead of a global
 -      variable termscript.
 -
 -      * s/msdos.h (USER_FULL_NAME): Define.
 -      (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
 -
 -      * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
 -      (Fuser_full_name): Use USER_FULL_NAME instead of a literal
 -      pw->pw_gecos.
 -
 -      * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
 -      SELECTED_FRAME as additional (1st) argument.
 -      (tty_read_avail_input): Handle output_msdos_raw in
 -      addition to output_termcap.
 -
 -      * msdos.c: Include frame.h before termhooks.h.
 -      (mouse_on, mouse_off, mouse_moveto, mouse_init)
 -      (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
 -      (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
 -      (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
 -      (IT_set_terminal_modes, IT_reset_terminal_modes)
 -      (IT_set_frame_parameters): Use tty->termscript instead of a global
 -      variable termscript.
 -      (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
 -      global variable terminal_coding.  Don't refer to
 -      Vnonascii_translation_table.
 -      (internal_terminal_init): Set Vwindow_system in current_kboard.
 -      Don't use TTY_CHAR_INS_DEL_OK.  Set Vinitial_window_system.
 -      Announce date and time of session start, if termscript is open.
 -      Don't zero out the_only_display_info (it is done in
 -      term.c:init_tty).  Open termscript only of not already open.
 -      Log "SCREEN SAVED" here, instead of IT_set_terminal_modes.  Init mouse
 -      here instead of dos_ttraw.  Don't initialize display if this is an
 -      initial tty.  Don't set FRAME_FONT.
 -      (Vwindow_system_version): Bump to 23.
 -      (dos_ttraw): Accept a TTY argument; all callers fixed.  If mouse
 -      is available, set up mouse_position_hook.
 -      (dos_ttraw, IT_set_terminal_modes): If called with initial
 -      terminal, do nothing.
 -      (IT_set_frame_parameters): Handle the Qtty_type frame
 -      parameter by calling internal_terminal_init.
 -      (dos_set_window_size, show_mouse_face)
 -      (clear_mouse_face, IT_note_mode_line_highlight)
 -      (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
 -      (dos_rawgetc): Use tty_display_info instead of x_display_info.
 -      (initialize_msdos_display): New function.
 -      (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
 -      (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
 -      (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
 -      (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
 -      Accept additional argument: a pointer to a frame.  Update all callers.
 -      (request_sigio, unrequest_sigio): Don't define, now defined on
 -      sysdep.c.
 -      (IT_write_glyphs): Rewrite to use encode_terminal_code.
 -
 -      * term.c [MSDOS]: Include msdos.h.
 -      (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch.  Change cpp
 -      conditional to DOS_NT.  Allow only one call to this function in a
 -      session.  Don't allocate a new struct tty_display_info; instead,
 -      reuse the_only_display_info.  Call get_tty_size to get screen
 -      dimensions.  Call init_baud_rate to set bad_rate.
 -      (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
 -      (Fsuspend_tty) [MSDOS]: Don't close input and output.
 -      (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
 -      (get_tty_terminal, get_named_tty, Ftty_type)
 -      (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
 -      output_termcap.
 -      (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
 -      Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
 -      only when subprocesses are supported.
 -
 -      * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
 -      f->output_data.x.
 -      (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
 -      terminal devices.
 -
 -      * msdos.h: Remove definition of struct x_display_info and struct
 -      x_output.
 -      (FRAME_FONT): Use output_data.tty.
 -      (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
 -      (struct x_display_info): Rename from display_info.  Update all users in
 -      msdos.c.
 -      (struct x_output): Remove background_pixel and foreground_pixel.
 -      (the_only_display_info): Rename from the_only_x_display.
 -      (dos_ttraw): Update prototype.
 -
 -      * Makefile.in (MSDOS_OBJ): Add xmenu.o.
 -      (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
 -
 -2008-08-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
 -      (fn_TIFFSetDirectory): New library function used.
 -      (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
 -      (tiff_load): Use :index to select among multiple images.  Set count
 -      property when multiple images exist.
 -      (gif_format): Use :index, not :image.
 -
 -2008-08-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Check INT_MAX instead of
 -      MOST_POSITIVE_FIXNUM for maximum integer value.  Include limits.h
 -      to obtain INT_MAX.
 -
 -2008-08-21  İsmail Dönmez  <ismail@namtrac.org>  (tiny change)
 -
 -      * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
 -
 -2008-08-21  Christian Faulhammer  <opfer@gentoo.org>  (tiny change)
 -
 -      * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
 -      GNUstep library location.
 -
 -2008-08-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (x_update_menu_appearance): Check validity of menu font
 -      before using it.
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1250000.
 -
 -2008-08-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns-read-file-name): Add casts to avoid warning.
 -      (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
 -      * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
 -      * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
 -      (EmacsApp-cursor_blink_handler): Remove declaration.
 -      * nsterm.m (ns_draw_glyph_string): Update first conditional body to
 -      match 01 Feb 2008 changes in xterm.c.
 -      (ns_read_socket): Add cast to avoid warning.
 -      (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
 -      GNUstep.
 -
 -2008-08-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xselect.c (x_get_foreign_selection): Return nil if desired
 -      selection could not be obtained, instead of signalling an error.
 -
 -2008-08-20  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
 -      * nsterm.m: Remove ns-specific code for cursor blinking.
 -      (ns_draw_window_cursor): Clear cursor properly rather than
 -      redrawing the area.  Respect width of bar cursors.
 -      These changes enable the use of generic blink-cursor-mode and
 -      generic cursor types in NS and support smooth cursor movements (do
 -      not blink off after command).
 -      * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
 -      Nextstep, too.
 -
 -2008-08-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Vfont_log_deferred): New variable.
 -      (font_add_log): Check Vfont_log_deferred.
 -      (font_deferred_log): New function.
 -
 -      * font.h (font_deferred_log): Extern it.
 -
 -      * fontset.c (reorder_font_vector): Use encoding charset of fonts
 -      for sorting.
 -      (face_for_char): Use deferred log.
 -
 -2008-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (face_for_char): Add font log.
 -
 -      * font.c (font_add_log): Add the font properties :script, :lang,
 -      and :otf in the log.
 -
 -2008-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c: Remove dead code.
 -      (handle_invisible_prop, next_overlay_string): Defer call to
 -      setup_for_ellipsis.
 -      (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
 -
 -2008-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (lookup_derived_face): Properly handle possible zero
 -      return value of get_lface_attributes.
 -      (merge_faces): Don't tell lookup_derived_face to signal an error
 -      if face is not found.
 -
 -      * dired.c (Fdirectory_files): Doc fix.
 -
 -      * process.c (make_process): Initialize kill_without_query struct
 -      member.
 -
 -2008-08-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
 -      Alternative calculation of totphys for Visual Studio 6.
 -
 -      * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
 -
 -      * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
 -      Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
 -      All users changed.
 -      (stat): Only root directory passed to GetDriveType.  Allow RAM
 -      disk as well as local fixed disk when w32-get-true-file-attributes
 -      is set to `local'.
 -      (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
 -      (equal_sid, get_length_sid, copy_sid): New wrapper functions.
 -      (w32_cached_id, w32_add_to_cache): New functions.
 -      (get_name_and_id): Look account names in the cache before calling
 -      lookup_account_sid.
 -      (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
 -      New initialization flags.
 -      (globals_of_w32): Initialize them to zero.
 -      (w32_system_process_attributes): Use w32_cached_id and
 -      w32_add_to_cache.
 -
 -2008-08-14  Lawrence Mitchell  <wence@gmx.li>
 -
 -      * lread.c (Fread_char, Fread_char_exclusive): If no character
 -      event is read before timeout is reached, return nil, rather than
 -      converting to a number.
 -
 -2008-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (use_dialog_box): Doc fix.
 -
 -      * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
 -      on OS X.
 -
 -2008-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qns_parse_geometry): New var.
 -      (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
 -
 -2008-08-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (x_produce_glyphs): Handle the case when font has no
 -      space character in calculating tabs.
 -
 -2008-08-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
 -
 -2008-08-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Use EMACS_INTs to
 -      silence gcc "limited range of data type" warnings in some
 -      make_fixnum_or_float calls.
 -
 -2008-08-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (w32_system_process_attributes): If the process does not
 -      exist, return nil.
 -
 -      * w32.c: Include thelp32.h, psapi.h and coding.h.
 -      (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
 -      declarations.
 -      (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
 -      (Process32Next_Proc): New typedefs.
 -      (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
 -      (g_b_init_process32_next, g_b_init_open_thread_token)
 -      (g_b_init_impersonate_self, g_b_init_revert_to_self)
 -      (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
 -      (g_b_init_get_process_working_set_size)
 -      (g_b_init_global_memory_status_ex): New static variables.
 -      (globals_of_w32): Initialize them.
 -      (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): New wrapper
 -      functions.
 -      (w32_list_system_processes, w32_system_process_attributes)
 -      (enable_privilege, restore_privilege, ltime, process_times):
 -      New functions.
 -      (convert_time_raw): New function.
 -      (convert_time): Remove conversion of FILETIME into time in 100
 -      nsec units, call convert_time_raw instead.
 -
 -      * process.h (w32_list_system_processes, w32_system_process_attributes):
 -      Add prototypes.
 -      (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
 -      (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
 -      (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
 -      (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
 -
 -      * process.c (Fsystem_process_attributes): Doc fix.
 -
 -2008-08-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): When stopping at a charpos, check if that's
 -      a continued multi-char glyph; if so, advance to the actual glyph.
 -
 -2008-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
 -
 -      * Makefile.in (ALL_OBJC_CFLAGS): New variable.
 -      (.m.o): Use it.
 -      * config.in: Regenerate.
 -
 -2008-08-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Revert last change.
 -      (try_window): Check bottom scroll margin too.
 -
 -2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * config.in: Regenerate.
 -
 -      * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
 -      -list-load-path-shadows'.
 -      (nsgui.h): Reduce number of things depending on it.
 -
 -2008-08-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
 -      instead of window-end which does the wrong thing at eob.
 -      (try_cursor_movement): Minor optimization.
 -      (redisplay_window): If scroll margin is defined, don't assume
 -      window doesn't need scrolling.
 -
 -2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * config.in: Regenerate.
 -
 -      * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
 -      (mostlyclean): Don't delete *.d under NS.
 -
 -      * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
 -
 -2008-08-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_list_family): Return a list of symbols, not strings.
 -
 -2008-08-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * config.in: Regenerate.
 -
 -2008-08-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Don't enforce scroll-margin when
 -      forcing a window start.
 -
 -      * fileio.c (Vauto_save_list_file_name): Move here from file.el.
 -      (auto_save_1): Update modtime when auto-save-list-file-name is on.
 -
 -2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
 -      argument.
 -
 -2008-08-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
 -      <scroll-down-aggressively, before-change-functions>:
 -      <after-change-functions>: Reflow docstrings.
 -
 -2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -          Ken Raeburn  <raeburn@gnu.org>
 -
 -      Dock menu customization, based on a patch by Ken Raeburn, plus some
 -      other fixes.
 -      * nsmenu.m (dockMenu): New variable.
 -      (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
 -
 -      * nsterm.h (dockMenu): Declare.
 -
 -      * nsterm.m (KEY_NS_NEW_FRAME): New definition.
 -      (ns_term_init): Initialize dockMenu.
 -      (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
 -      (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
 -      left.
 -
 -      * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
 -
 -2008-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
 -
 -      * config.in: Regenerate.
 -
 -2008-08-04  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
 -
 -2008-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h (find_and_call_menu_selection): Fix prototype.
 -
 -2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
 -
 -      * keyboard.h: Comment an #endif.
 -
 -      * lisp.h (have_menus_p): Adjust comment.
 -
 -      * menu.c (find_and_return_menu_selection): Fix comparison with
 -      client_data.
 -
 -      * nsmenu.m (popup_activated_flag): New variable.
 -      (popup_activated): New function.
 -      (menu-or-popup-active-p): New exported lisp definition.
 -      (ns_popup_menu): Set popup_activated_flag.  Call discard_menu_items()
 -      when popup done.
 -      (ns_popup_dialog): Set popup_activated_flag.
 -
 -      * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
 -      version for GNUstep (handled by conditional typedef in nsterm.m).
 -      (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
 -      in rgb.txt).
 -
 -      * process.c (init_process): Use DARWIN_OS, not DARWIN.
 -
 -      * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
 -
 -      * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
 -
 -      * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
 -      shortcircuit if popup_activated like GTK and X toolkit.
 -
 -      * m/inter386.h: Change DARWIN to DARWIN_OS.
 -
 -      * s/darwin.h: Add #define DARWIN_OS.  Get rid of C_SWITCH_SYSTEM def.
 -      Change LIBS_MACGUI to LIBS_NSGUI.  Move temacs-conditionalized defs
 -      closer to C_SWITCH_SYSTEM_TEMACS so usage is understood.  Expand
 -      comment on NO_SOCK_SIGIO.
 -
 -2008-08-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (windowDidResize): Remove stopModal call.
 -
 -2008-08-03  Andreas Schwab  <schwab@suse.de>
 -
 -      * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
 -      (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
 -
 -2008-08-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
 -      Don't use uninitialized pointer variable when using getrlimit.
 -
 -2008-08-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
 -
 -2008-08-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * alloc.c (NSTATICS): Bump to 0x640.
 -
 -      * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
 -
 -      * lisp.h: Add prototype for directory_files_internal.
 -
 -      * process.c (Fsystem_processes_list, Fsystem_process_attributes):
 -      New functions.
 -      (syms_of_process): Defsubr them.  Add initializations for various
 -      Q* symbols used in procfs_system_process_attributes.
 -      (procfs_list_system_processes, procfs_system_process_attributes)
 -      [HAVE_PROCFS]: New functions.
 -      (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
 -      (procfs_get_total_memory): New functions.
 -
 -2008-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_load_color_file): Fix previous change;
 -      it is #ifdef WINDOWSNT, not WINDOWS_NT.
 -
 -2008-08-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_read_message): Handle D-Bus error messages.
 -
 -2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
 -
 -2008-08-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
 -
 -      * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
 -      define NSApplicationDelegateReplySuccess.
 -      (EmacsView -converstationIdentifier): Use long instead of
 -      NSInteger for GNUstep, since it doesn't have NSInteger.
 -
 -      * xmenu.c: Revert last change.
 -
 -      * keyboard.h: Fix last change.
 -
 -2008-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
 -      on Windows.
 -
 -2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Warning clearing and clean-up in NS port.
 -      * keyboard.h (xmalloc_widget_value, digest_single_submenu):
 -      Add prototypes.
 -      * nsgui.h (FACE_DEFAULT): Remove, unused.
 -      (XGCValues): Change colors to unsigned long.
 -      * nsterm.h (EmacsApp): Add declaration of all methods implemented in
 -      nsterm.m.
 -      (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
 -      (ns_list_fonts): Remove, unused.
 -      (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
 -      * nsfns.m (interpret_services_menu): Use NSMenuItem class.
 -      * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
 -      (nsfont_draw): Compare face colors to 0, not nil.
 -      * nsmenu.m (struct widget_value): Drop unneeded declaration.
 -      (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
 -      (-addSubmenuWithTitle:): Use NSMenuItem class.
 -      (ns_popup_menu): Use NO, not NULL, for enabled setting.
 -      * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
 -      (ns_clip_to_row): Make gc arg a BOOL.
 -      (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
 -      ns_clip_to_row() call.
 -      (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
 -      used).  Cast FRAME_FONT assignments.
 -      (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
 -      (ns_string_to_lispmod): Change arg to const char.
 -      (ns_term_init): Use NSMenuItem class.
 -      (EmacsApp -openFile:): Move to different section of file.
 -      (EmacsApp -application:openFiles:): Don't return a value, call
 -      -replyToOpenOrPrint:.
 -      (EmacsView -keyDown:): Fix up cast.
 -      (EmacsView -converstationIdentifier): Use NSInteger instead of long.
 -      (EmacsView -menuDown:): Cast tag in call to
 -      find_and_call_menu_selection().
 -      (ns_list_fonts): Remove, unused.
 -      (ns_font_to_xlfd): Make static.  Cast result of UTF8String.
 -      (ns_fontname_to_xlfd): Make static.
 -      * w32menu.c (xmalloc_widget_value, digest_single_submenu):
 -      Remove prototypes (now in keyboard.h).
 -      (next_menubar_widget_id): Remove, unused.
 -      * xmenu.c (xmalloc_widget_value, digest_single_submenu):
 -      Remove prototypes (now in keyboard.h).
 -      * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
 -
 -2008-08-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
 -      (floatfns.o): Depend on syssignal.h.
 -      (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
 -
 -      * systty.h: Fix previous change that removed BSD_TERMIOS.
 -      Add comments to #ifdefs.
 -
 -2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * w32fns.c (w32-load-color-file): Remove.
 -      (x-open-connection): Use renamed Fx_load_color_file.
 -      * xfaces.c (x-load-color-file): Add.
 -      * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
 -      Emacs.clr.
 -      (hide_hourglass): BLOCK_INPUT before UNBLOCK.
 -
 -2008-07-31  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method_asynchronously)
 -      (Fdbus_method_error_internal): New defuns.
 -      (xd_read_message): Handle also reply messages.
 -      (Vdbus_registered_functions_table): Extend docstring.
 -
 -2008-07-31  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (gobble_input): Fix previous change.
 -
 -2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * bitmaps/README:
 -      * xfns.c:
 -      * termcap.c:
 -      * term.c:
 -      * syswait.h:
 -      * systty.h:
 -      * systime.h:
 -      * syssignal.h:
 -      * sysdep.c:
 -      * process.h:
 -      * process.c:
 -      * print.c:
 -      * ndir.h:
 -      * lread.c:
 -      * keyboard.c:
 -      * getpagesize.h:
 -      * floatfns.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * doc.c:
 -      * dispnew.c:
 -      * dired.c:
 -      * data.c:
 -      * callproc.c:
 -      * buffer.c:
 -      * README:
 -      * Makefile.in:
 -      * s/template.h:
 -      * s/msdos.h:
 -      * m/vax.h: Remove VMS support.
 -      * s/vms.h:
 -      * vlimit.h:
 -      * uaf.h:
 -      * temacs.opt:
 -      * param.h:
 -      * ioctl.h: Remove file.
 -
 -2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/ms-w32.h (MULTI_KBOARD): Remove.
 -      * xterm.c:
 -      * xselect.c:
 -      * xfns.c:
 -      * window.c:
 -      * w32term.c:
 -      * w32fns.c:
 -      * terminal.c:
 -      * termhooks.h:
 -      * term.c:
 -      * sysdep.c:
 -      * keyboard.h:
 -      * keyboard.c:
 -      * frame.h:
 -      * frame.c:
 -      * frame.c: Remove references to MULTI_KBOARD, it is now the default.
 -      * config.in: Regenerate.
 -
 -2008-07-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.h (struct w32font_info): Use unicode version of textmetrics.
 -
 -      * w32font.c (w32font_encode_char): Leave as unicode if in range.
 -      (w32font_open_internal): Get unicode version of textmetrics.
 -      Don't enable or disable glyph indices here.
 -      (w32font_open): Disable use of glyph indices.
 -
 -      * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
 -
 -2008-07-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Vread_buffer_function): Doc fix.
 -
 -2008-07-30  John Paul Wallington  <jpw@pobox.com>
 -
 -      * minibuf.c (read_buffer_completion_ignore_case): New var.
 -      (Fread_buffer): Use it.
 -
 -2008-07-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * systty.h (sensemode): Remove empty #if.  Remove reference to
 -      BSD_TERMIOS, unused.
 -
 -      * sysdep.c: Remove reference to DGUX.
 -      (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
 -
 -      * config.in: Regenerate.
 -
 -2008-07-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
 -
 -2008-07-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
 -      is populated.
 -      (uniscribe_encode_char): Always use uniscribe.
 -      Avoid using context if cache is populated.
 -
 -2008-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
 -      open menu.
 -
 -      * gtkutil.c (menu_nav_ended): Remove.
 -      (create_menus): Remove signal connect for menu_nav_ended.
 -
 -2008-07-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Check return value of
 -      compute_window_start_on_continuation_line before forcing a window
 -      start.
 -
 -2008-07-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
 -
 -      * w32term.c (w32_enable_unicode_output, cleartype_active):
 -      Remove obsolete display options.
 -      (x_draw_glyph_string_background): Don't use old cleartype_active
 -      workaround.
 -      (w32_initialize): Remove cleartype_active initialization.
 -      (syms_of_w32term): Remove w32_enable_unicode_output initialization.
 -
 -2008-07-28  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h (init_weak_hash_tables, syms_of_font)
 -      (xd_read_queued_messages, syms_of_dbusbind): Declare.
 -      (remove_hash_entry): Don't declare.
 -      * eval.c (maybe_call_debugger): Make static and move before use.
 -      * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
 -      * xdisp.c: Include "gtkutil.h" if USE_GTK.
 -      * xterm.h (x_set_frame_alpha): Declare.
 -
 -2008-07-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
 -      (create_menus): Connect selection-done to menu_nav_ended.
 -
 -2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
 -      Set Vx_resource_name to a fallback.  Replace read of 'buffered'
 -      parameter with read of 'alpha' one.
 -      (Qns_frame_parameter): Remove.
 -      * nsselect.m (selection-coding-system)
 -      (next-selection-coding-system, Vselection_coding_system)
 -      (Vnext_selection_coding_system): Drop.
 -
 -2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (do-applescript, do_applescript): Rename to
 -      ns-do-applescript, ns_do_applescript, and move within file.
 -
 -2008-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Remove support for Mac Carbon.
 -      * mactoolbox.c:
 -      * macterm.h:
 -      * macterm.c:
 -      * macselect.c:
 -      * macmenu.c:
 -      * macgui.h:
 -      * macfns.c:
 -      * mac.c: Remove file.
 -      * s/darwin.h:
 -      * m/intel386.h:
 -      * xfaces.c:
 -      * xdisp.c:
 -      * window.c:
 -      * tparam.c:
 -      * termhooks.h:
 -      * termcap.c:
 -      * term.c:
 -      * syssignal.h:
 -      * sysselect.h:
 -      * sysdep.c:
 -      * process.c:
 -      * lread.c:
 -      * lisp.h:
 -      * keyboard.c:
 -      * image.c:
 -      * fringe.c:
 -      * frame.h:
 -      * frame.c:
 -      * fontset.c:
 -      * font.h:
 -      * font.c:
 -      * fns.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * dispnew.c:
 -      * dispextern.h:
 -      * config.in:
 -      * atimer.c:
 -      * Makefile.in: Remove code for Carbon.
 -
 -2008-07-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
 -
 -2008-07-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.h (kCGBitmapByteOrder32Host): New define for
 -      non-universal SDKs.
 -
 -      * image.c (mac_create_cg_image_from_image, image_load_image_io)
 -      [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
 -
 -      * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
 -      [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
 -
 -2008-07-26  David Robinow  <drobinow@gmail.com>  (tiny change)
 -
 -      * w32inevt.c: Include dispextern.h.
 -
 -2008-07-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (print_object): Fix off-by-one in last change.
 -
 -2008-07-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * term.c (syms_of_term): Don't initialize default_orig_pair,
 -      default_set_foreground and default_set_background on Windows.
 -
 -2008-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
 -      ScriptItemize.  Clean up return value checking.  Remove unused
 -      variables.
 -      (uniscribe_encode_char): Encode non-BMP characters with uniscribe
 -      shaping engine.
 -
 -      * w32font.c (w32font_has_char): Handle the case where we can't
 -      determine the script for a character.
 -
 -2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (syms_of_term): Initialize default_orig_pair,
 -      default_set_foreground, and default_set_background.
 -
 -      * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
 -      clash (bug#86).
 -      (getloadavg): Callers changed.
 -
 -      * image.c (svg_load_image): Fix last change.
 -      (svg_load_image): Use rsvg_handle_get_dimensions to check that
 -      image size is valid.  Use g_object_unref instead of deprecated
 -      rsvg_handle_free to free rsvg handle.
 -      (x_from_xcolors): Don't initialize pixmap (silence compiler).
 -
 -2008-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_encode_char): Encode characters outside BMP as
 -      surrogates before looking up glyph index.
 -      (w32font_text_extents): Encode as surrogates if falling back to
 -      functions that need UTF-16 wide chars.
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
 -      BMP as surrogates before looking up glyph index.
 -
 -2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (svg_load_image): Check for failure in return value of
 -      rsvg_handle_get_pixbuf.  Free rsvg handle when done.
 -
 -2008-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Fx_select_font): Reverse sense of second arg.
 -
 -2008-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
 -      (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
 -
 -      * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
 -      (PURESIZE): Use it.
 -
 -2008-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
 -      * m/alpha.h (TEXT_END):
 -      * m/ibmrs6000.h (TEXT_END):
 -      * m/macppc.h (TEXT_END):
 -      * s/darwin.h (TEXT_END):
 -      * s/msdos.h (TEXT_END): Remove, unused.
 -      * s/gnu-linux.h (BSD_PGRPS): Add a comment.
 -      * s/cygwin.h: Remove comment.
 -
 -      * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
 -      (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
 -      * m/intel386.h (DOT_GLOBAL_START):
 -      * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
 -      (USG): Remove, file not used on USG platforms.
 -
 -      * Makefile.in (HAVE_X11): Remove empty #else.
 -
 -2008-07-24  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Finsert_file_contents): Properly adjust undo list
 -      after format conversion.
 -
 -2008-07-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
 -      (menu_nav_ended): Remove.
 -      (create_menus): Remove signal connect for menu_nav_ended.
 -      (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
 -      create_menus.
 -      (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
 -
 -2008-07-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32_enumfont_pattern_entity): Return height consistent
 -      with opened font.
 -      (w32font_open): Set font type to gdi.
 -
 -      * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
 -
 -2008-07-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
 -      * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
 -      defines it.
 -      * unexec.c (ADDR_CORRECT): Define unconditionally.
 -
 -      * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
 -
 -      * unexec.c: Remove code depending on !COFF and USG, the file is
 -      not used for such systems.
 -
 -      * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
 -      * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
 -      (LD_SWITCH_SYSTEM_1): Remove, update users.
 -
 -      * s/darwin.h (DATA_END):
 -      * m/intel386.h (DATA_END):
 -      * m/ibmrs6000.h (DATA_END):
 -      * m/alpha.h (DATA_END): Remove, unused.
 -
 -      * config.in: Regenerate.
 -      * s/ms-w32.h (subprocesses): Define unconditionally.
 -      * s/template.h (subprocesses): Update comment.
 -      * s/vms.h (subprocesses):
 -      * s/usg5-4.h (subprocesses):
 -      * s/hpux10-20.h (subprocesses):
 -      * s/gnu-linux.h (subprocesses):
 -      * s/cygwin.h (subprocesses):
 -      * s/bsd-common.h (subprocesses):
 -      * s/aix4-2.h (subprocesses):
 -      * s/darwin.h (subprocesses): Do not define, defined by default now.
 -
 -      * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
 -      Remove all references.
 -      (temacs): Add GNUstep specific ld flags.
 -
 -      * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
 -      similarly to what X does.
 -
 -2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (x-list-fonts): Remove.
 -      (syms_of_nsfns): Drop the x-list-fonts declaration.
 -      * nsterm.m: Get rid of remaining "//" comments.
 -
 -2008-07-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
 -
 -      * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
 -      (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
 -      (Fns_own_selection_internal, Fx_disown_selection_internal)
 -      (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
 -
 -      * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
 -      ... */' style of docstrings.  Doc fixes.
 -
 -2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * terminfo.c (UP, BC, PC): Undo previous change.
 -
 -      * nsfns.m: Rename ns prefixed functions/variables to the
 -      corresponding x versions.  Update references.
 -
 -2008-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
 -
 -2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
 -      Remove forwarding functions.
 -      (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
 -      non-static.
 -      (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
 -      non-static.
 -      (ns_frame_parm_handlers): Use the new names.
 -      (syms_of_nsfns): Move to the end of file.
 -
 -      * nsterm.m (syms_of_nsterm): Move to the end of file.
 -
 -      * dispnew.c (init_display): Remove code for X10.
 -
 -2008-07-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32proc.c (Fw32_long_file_name): Don't append dir separator to
 -      bare drive.
 -
 -2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (syms_of_nsterm): Remove debugging println.
 -
 -2008-07-22  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (do_applescript, F_do_applescript): NS version of the
 -      Carbon implementation of the same functionality: execute arbitrary
 -      AppleScript code.
 -
 -2008-07-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
 -      (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_screens)
 -      (Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fx_display_save_under, Fx_open_connection)
 -      (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
 -      (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
 -      (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fx_display_usable_bounds, Fx_display_planes)
 -      (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
 -      ... */' style of docstrings.
 -
 -2008-07-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
 -      on this platform.
 -      (mips):
 -      * m/iris4d.h (mips): Do not define.
 -      * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
 -
 -      * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
 -
 -      * image.c:
 -      * nsfns.m:
 -      * nsselect.m:
 -      * nsterm.h:
 -      * nsterm.m: Rename ns prefixed functions/variables to the
 -      corresponding x versions.  Update references.
 -
 -      * m/ibms390x.h (NO_REMAP): Do not undefine.
 -
 -      * m/amdx86-64.h: Use SOLARIS2 instead of sun.
 -
 -2008-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m: Change NS to Nextstep in docstrings and error messages.
 -      (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
 -      (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
 -      (Fns_server_vendor, Fns_server_version, Fns_display_screens)
 -      (Fns_display_mm_height, Fns_display_mm_width)
 -      (Fns_display_backing_store, Fns_display_visual_class)
 -      (Fns_display_save_under, Fns_open_connection)
 -      (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
 -      (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
 -      (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
 -      (Fns_display_pixel_width, Fns_display_pixel_height)
 -      (Fns_display_usable_bounds, Fx_display_planes)
 -      (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
 -
 -2008-07-21  Ami Fischman  <ami@fischman.org>  (tiny change)
 -
 -      * print.c (print_object): Check print_depth before searching for
 -      circularities.
 -
 -2008-07-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
 -      only sprintf.
 -
 -2008-07-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
 -
 -2008-07-20  Andreas Schwab  <schwab@suse.de>
 -
 -      * syntax.c (find_start_pos, find_start_value)
 -      (find_start_value_byte, find_start_begv, find_defun_start)
 -      (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
 -
 -2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/sol2-3.h: Insert contents of s/sol2.h.
 -      (LD_SWITCH_SYSTEM): Remove redundant definition.
 -      * s/sol2.h: Remove, unused.
 -
 -2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
 -
 -2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in (ns_appdir): Fix typo in find command.
 -
 -2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/intel386.h (NO_REMAP): Do no define for USG, not used.
 -
 -      * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
 -      added not supported anymore.
 -
 -      * s/usg5-4-2.h (LIBS_SYSTEM):
 -      * s/sol2.h (LIBS_SYSTEM): Do not undefine.
 -
 -      * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
 -      * s/lynxos.h (GETPGRP_NO_ARG):
 -      * s/hpux10-20.h (NO_SIOCTL_H):
 -      * s/gnu.h (GETPGRP_NO_ARG):
 -      * s/gnu-linux.h (NO_SIOCTL_H):
 -      * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
 -      * s/cygwin.h (GETPGRP_NO_ARG):
 -      * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
 -      (C_DEBUG_SWITCH): Remove duplicate definition.
 -
 -      * m/ibms390.h: Remove boilerplate comments.
 -
 -      * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
 -
 -      * process.c (HAVE_SERIAL): Consolidate ifdefs.
 -      (wait_reading_process_output): Remove code for SunOS, platform not
 -      supported anymore.  Use SOLARIS2 instead of sun.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * font.c (font_open_by_name): Under NS, default lface height to zero.
 -      (font_open_for_lface): Under NS, set size based on frame fontsize.
 -      * nsterm.m (EmacsView-changeFont:): Remove some commented code.
 -      * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
 -      (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
 -      DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
 -      YES/NO.
 -      * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
 -      * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
 -      * Makefile.in (clean): Clear out build destination dir.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
 -      xterm, xselect.
 -      * lisp.h: Remove declaration of hash_remove.
 -      * nsgui.h: Remove redefinitions of hash_remove.
 -      * fns.c (hash_remove): Rename to hash_remove_from_table.
 -
 -2008-07-19  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
 -      strdup() the family UTF8String before modifying it.
 -
 -2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
 -      NS_FACE_BACKGROUND with 0 instead of nil.
 -      * nsfont.m (nsfont_draw): Same.
 -
 -2008-07-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_background_color): Fix crash.
 -
 -2008-07-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
 -
 -2008-07-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1240000.
 -
 -2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gtkutil.c: Include <config.h> instead of "config.h".
 -
 -      * lisp.h (Foverlay_buffer): Add EXFUN.
 -
 -      * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
 -      child process to complete child_setup.  Undo 2005-09-21 change.
 -
 -      * s/darwin.h: Mention setsid after vfork.
 -
 -2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
 -      Depend on macgui.h.
 -
 -      * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
 -      gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
 -
 -      * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
 -      and f19.
 -      [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
 -
 -      * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
 -      (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
 -      Remove enumerators.
 -
 -      * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check if FACE_FROM_ID returns NULL.
 -
 -2008-07-17  David Robinow  <drobinow@gmail.com>  (tiny change)
 -
 -      * w32inevt.c (change_frame_size): Remove extern declaration.
 -      (resize_event, maybe_generate_resize_event): Pass SAFE arg to
 -      change_frame_size.
 -
 -2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * getloadavg.c: Revert last change (2008-07-15).
 -
 -2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
 -      set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc set
 -      from configure.
 -
 -2008-07-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/sol2.h:
 -      * s/sol2-4.h: Reorganize conditionals.
 -
 -      * ecrt0.c: Remove code depending on m68000, not used anymore.
 -
 -      * fns.c (hash_remove): Make static.
 -      * lisp.h (hash_remove): Don't prototype.
 -
 -      * m/ibmrs6000.h:
 -      * m/ibms390x.h:
 -      * m/macppc.h: Remove boilerplate comments.
 -
 -      * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
 -      Solaris, which does not need them.
 -
 -      * m/vax.h: Remove comments about unsupported systems.
 -
 -      * s/darwin.h: Reorganize ifdefs.
 -
 -2008-07-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
 -
 -2008-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Use SDATA.  Follow coding convention of placing operators at
 -      beginning of next line rather than end of previous line, and placing
 -      spaces around infix operators.
 -
 -      * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
 -      in case it was defined already.
 -      USE @GNUSTEP_MAKEFILES@ rather than envvars.
 -      * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
 -      ns_default.
 -      (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
 -      Lisp_Objects.
 -      * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
 -      (ns_defined_color, ns_color_to_lisp): Declare.
 -      * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
 -      (Fns_own_selection_internal): Make the big ugly hack more explicit, so
 -      it's accepted even with USE_LISP_UNION_TYPE.
 -      * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
 -      (update_frame_tool_bar): Remove apparently obsolete tests for
 -      non-integerness of f->tool_bar_lines.
 -      (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
 -      hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
 -      * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
 -      (nsfont_open): Don't confuse NULL for Qnil.
 -      * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
 -      * menu.h (find_and_call_menu_selection):
 -      * menu.c (find_and_call_menu_selection): Use just int for vector size.
 -      (find_and_return_menu_selection): Always return something.
 -      * frame.h: Include dispextern.h for Display_Info.
 -      (display_x_get_resource): Declare.
 -
 -2008-07-16  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * syntax.c: Remove stdio.h include accidentally introduced in
 -      Emacs.app commit.
 -      * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
 -      NS_IMPL_COCOA.
 -      * keyboard.c (handle_async_input, input_available_signal): Remove
 -      BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
 -
 -2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
 -      (ns_lisp_to_color): Don't mess with internal Lisp data fields.
 -      (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
 -      Use SDATA.
 -
 -      * keymap.c: Remove all NS-specific code.
 -      (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
 -      (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
 -      where_is_preferred_modifier, return a different value depending on how
 -      preferred is the binding.
 -      (where_is_internal): Adjust accordingly.
 -      (Fwhere_is_internal): Refresh where_is_preferred_modifier.
 -      Adjust to new preferred_sequence_p.
 -      (syms_of_keymap): Declare `where-is-preferred-modifier'.
 -      * keyboard.c (parse_solitary_modifier): Not static any more.
 -      * keyboard.h (parse_solitary_modifier): Declare.
 -
 -2008-07-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
 -      of easymenu.
 -
 -2008-07-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_in_display_line): Account for word wrap, so
 -      that we don't move off the line.
 -
 -2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Qsuper): Remove.
 -      (parse_menu_item): Don't call where_is_internal specially for NS.
 -
 -2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/gnu-linux.h: Remove boilerplate comments.
 -
 -      * m/alpha.h (__ELF__): Consolidate conditions.
 -
 -      * m/m68k.h (linux): Use GNU_LINUX instead.
 -      Remove boilerplate comments.
 -
 -      * m/intel386.h: Undo refactoring from previous change.
 -      (LIB_STANDARD): All systems that define USG define LIB_STANDARD
 -      too, remove dead code.
 -      (linux): Use GNU_LINUX instead.
 -
 -2008-07-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32gui.h: Repeat 26 June changes lost by last change.
 -
 -2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * systty.h: Remove code for Aix on 386, unsupported platform.
 -
 -      * s/ms-w32.h: Remove boilerplate comments.
 -      (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
 -
 -      * s/gnu-linux.h (TERM): Remove support.
 -      (HAVE_SYSVIPC): Remove, unused.
 -      (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
 -      for this system.
 -
 -      * process.c: Remove support for IRIS, unused.
 -      Remove support for TERM, not relevant anymore.
 -
 -      * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
 -      used with the definition.
 -
 -      * s/aix4-2.h (static): Do not undef.
 -
 -      * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
 -      only used on Aix.
 -      (HAVE_SYSVIPC): Remove, unused.
 -
 -      * m/hp800.h (CANNOT_DUMP): Do not undef.
 -
 -      * m/alpha.h: Fix comment.
 -
 -      * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
 -      (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
 -      used by this configuration.
 -      * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
 -      * unexec.c: Remove code depending on HPUX and
 -      USG_SHARED_LIBRARIES, not used with this file.  Remove code
 -      depending on IRIS, unused.  Remove if 0-ed code.
 -
 -      * s/template.h: Remove comments about static.
 -
 -      * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
 -      Remove if 0-ed code.
 -      (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
 -      were the same as the default.
 -      * s/vms.h (BAUD_CONVERT): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
 -      (HAVE_SYSVIPC): Remove, unused.
 -      (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
 -
 -      * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
 -      Remove boilerplate comments.
 -      * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
 -
 -      * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
 -      USG systems which do not use DATA_SEG_BITS.
 -      Refactor code.  Remove boilerplate comments.
 -
 -      * m/ibms390.h:
 -      * m/m68k.h:
 -      * s/bsd-common.h:
 -      * s/cygwin.h:
 -      * s/darwin.h:
 -      * s/freebsd.h:
 -      * s/gnu.h:
 -      * s/msdos.h: Remove boilerplate comments.
 -
 -      * m/iris4d.h: Remove boilerplate comments and code for systems that
 -      do not use this file.
 -      (IRIS_4D): Remove, unused.
 -
 -      * m/mips.h: Remove boilerplate comments and code for systems that
 -      do not use this file.
 -      (SIGN_EXTEND_CHAR):
 -      * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
 -      * unexmips.c: Remove file, unused.
 -
 -      * editfns.c (Fuser_full_name): Replace the only use of
 -      USER_FULL_NAME with its value.
 -      * config.in: Regenerate.
 -
 -2008-07-16  David Reitter  <david.reitter@gmail.com>
 -
 -      * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
 -      easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
 -
 -2008-07-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (system-type): Doc fix.
 -
 -2008-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
 -      If the cache doesn't work, let's fix it, rather than work around it.
 -
 -2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * Makefile.in: Correct additions for nsfont.o in last commit.
 -      * nsfont.m: New file (forgot last commit).
 -
 -2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
 -
 -      * callproc.c (set_initial_environment): Initialize
 -      Vprocess_environment under CANNOT_DUMP (fixes crash when
 -      batch-compiling for bootstrap).
 -
 -2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
 -          YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
 -      fix crash due to different init order.
 -
 -2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes and additions for NeXTstep windowing system (Cocoa and
 -      GNUstep) support.
 -
 -      * Makefile.in:
 -      * config.in: Support defines and build commands for NS port.
 -      * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
 -      (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
 -      * dispextern.h: Include nsgui.h and add needed typedefs under NS
 -      windowing.
 -      (struct face): Add synth_ital field.
 -      * dispnew.c: Include nsterm.h when compiling under NS windowing.
 -      (init_display): Initialize Vinitial_window_system to "ns" when so
 -      compiled.
 -      * emacs.c: Include GSConfig.h when compiling under GNUstep.
 -      (display_arg): Use under NS.
 -      (main): Under NS, allocate autorelease pool and handle command line
 -      args.  Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
 -      (standard_args): Add NS-specific args.
 -      (shut_down_emacs): Shut down NS terminal if compiled under NS.
 -      * font.c (DEFAULT_ENCODING): New variable.
 -      (font_find_for_lface): Use it.
 -      (syms_of_font): Load syms_of_nsfont under NS.
 -      * font.h: Declare nsfont_driver when compiled under NS.
 -      * fontset.c: When compiling under NS, include nsterm.h.
 -      (fontset_from_font): Autoconstruct fontset under NS.
 -      * frame.c (various): Under NS, include nsterm.h, add Qns window system
 -      symbol, document and use it.
 -      (do_switch_frame): When for_deletion under Cocoa, add
 -      Fraise_frame(Qnil).
 -      (x_set_frame_parameters): Ensure font attribute changes are picked up.
 -      (x_get_arg): Allow "yes" and "no" as boolean values.
 -      (syms_of_frame): Declare Qns.  Init Vdefault_frame_scroll_bars to
 -      Qright under Cocoa.
 -      (focus-follows-mouse): Default to 0 under NS.
 -      * frame.h (enum output_method): Add output_ns.
 -      (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
 -      (FRAME_EXTERNAL_MENU_BAR): Use under NS.
 -      (FRAME_WINDOW_P): NS-specific definition.
 -      * fringe.c (max_used_fringe_bitmap): Make public.
 -      * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
 -      (getloadavg): Use NeXT code under descendant OS's.
 -      * image.c (includes and header section, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, free_bitmap_record, image_background)
 -      (image_background_transparent, x_clear_image_1)
 -      (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
 -      (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
 -      (x_to_xcolors, x_from_xcolors, x_disable_image)
 -      (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
 -      other GUIs, including XPM support using code originally written for
 -      Carbon GUI.
 -      (png_load, jpeg_load, tiff_load, gif_load): Add implementations
 -      using NS API.
 -      (image_ascent): Use font metrics macros instead of direct struct field
 -      access.
 -      * keyboard.c (includes): Add nsterm.h when compiling under NS.
 -      (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
 -      Also, handle NS as GTK for menu bar purposes.
 -      (make_lispy_event): Handle NS as other GUI windowing systems, and as X
 -      toolkit where they differ.
 -      (parse_menu_item): Prefer keybindings using 'super' modifier.  Also,
 -      use cachelist, still needed under NS.
 -      * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
 -      (struct widget_value): Define it here for menu.c.
 -      * keymap.c (includes): Include modifier internals.
 -      (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
 -      NS.
 -      (where_is_internal, Fwhere_is_internal): When compiled under NS, add
 -      support for preferring sequences using certain modifiers, specified by
 -      the FIRSTONLY argument.
 -      * lisp.h (hash_remove): Rename to avoid name clash when compiling
 -      under NS GNUstep implementation.
 -      (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
 -      * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
 -      * menu.c: Include nsterm.h under NS.
 -      (single_menu_item, parse_single_submenu, xmalloc_widget_value)
 -      (free_menubar_widget_tree_value, update_submenu_strings)
 -      (find_and_call_menu_selection): Treat NS as X and NT.
 -      (find_and_return_menu_selection): New function, used for popup menus.
 -      * nsgui.h:
 -      * nsterm.h:
 -      * nsfns.m:
 -      * nsimage.m:
 -      * nsmenu.m:
 -      * nsselect.m:
 -      * nsterm.m: New files.
 -      * process.c (wait_reading_process_output): Under NS, call ns_select()
 -      instead of plain select().
 -      * syntax.c (char_quoted): Under NS, avoid a crash when called near
 -      beginning of buffer.
 -      * sysselect.h (init_process): Rename when compiling under Cocoa to
 -      avoid name conflict.
 -      * termhooks.h (display_info): Add ns_display_info to union.
 -      * terminal.c (Fterminal_live_p): Add ns to terminal types.
 -      * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
 -      COCOA environment.
 -      * unexnext.c: Update to work with mach API on Mac OS X, and to use new
 -      unexec() signature.  (Note, this will dump, but the resulting file
 -      crashes; unexosx is used instead; keeping around for reference and
 -      possible aid in getting dump working under GNUstep.)
 -      * w32gui.h (button_type, widget_value): Remove definitions (now in
 -      keyboard.h).
 -      * window.c: Include nsterm.h when compiling under NS.
 -      * xdisp.c (includes): Include nsterm.h when compiling under NS.
 -      (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
 -      other GUI windowing systems.
 -      (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
 -      GTK.
 -      (x_consider_frame_title): Under NS, set icon type and frame
 -      modified-state indicator; use ns_set_name_as_filename() when using
 -      formatted title.
 -      (update_window_cursor): Make public when compiling under NS.
 -      (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
 -      (hourglass_atimer, Vhourglass_delay
 -      * xfaces.c (header section, init_frame_faces, clear_font_table)
 -      (defined_color, unload_color, x_face_list_fonts)
 -      (prepare_face_for_display): Add NS support parallel to other GUIs.
 -      Emulate GCs like other non-X GUIs.
 -      (split_font_name): Don't lowercase font name under NS.
 -      (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
 -      under NS.
 -      * s/darwin.h: Add support for compilation under NS.
 -
 -2008-07-15  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
 -      (w32_show_hourglass): Rename from show_hourglass.
 -      (w32_hide_hourglass): Rename from hide_hourglass.
 -      (DEFAULT_HOURGLASS_DELAY): Revert from last change.
 -      (Vhourglass_delay): Declare extern.
 -      (hourglass_started): Remove.
 -
 -      * xdisp.c (Vhourglass_delay): Remove static.
 -      (hourglass_started, start_hourglass, cancel_hourglass):
 -      Don't include these versions on WINDOWSNT.
 -
 -2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
 -      variables (formerly in xfns.c).
 -      (show_hourglass, hide_hourglass): New prototypes (same).
 -      * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
 -      (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
 -      in xfns.c).
 -      (syms_of_xdisp): Declare/initialize display-hourglass,
 -      hourglass-delay.  Initialize hourglass_atimer, hourglass_shown_p.
 -      (hourglass_started, start_hourglass, cancel_hourglass): New functions,
 -      formerly in xfns.c.
 -      * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
 -      (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
 -      (start_hourglass, cancel_hourglass): Remove.
 -      (show_hourglass, hide_hourglass): Remove prototypes and static
 -      modifiers.
 -      (syms_of_xfns): Remove display-hourglass, hourglass-delay,
 -      hourglass_atimer, hourglass_shown_p declaration/initialization.
 -      * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
 -      (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
 -      (start_hourglass, cancel_hourglass): Remove.
 -      (show_hourglass, hide_hourglass): Remove prototypes and static
 -      modifiers.
 -      (syms_of_macfns): Remove display-hourglass, hourglass-delay,
 -      hourglass_atimer, hourglass_shown_p declaration/initialization.
 -      * w32fns.c (display_hourglass_p, Vhourglass_delay)
 -      (DEFAULT_HOURGLASS_DELAY): Remove.
 -      (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
 -      hourglass_shown_p declaration/initialization.
 -
 -2008-07-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_get_arg): Remove wrapper function.
 -      (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
 -      directly.
 -      (Fx_create_frame): Sync with xfns.c.  Use x_get_arg directly.
 -
 -2008-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Add workaround for X's bug.
 -
 -2008-07-14  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * fontset.c: Include <stdio.h> unconditionally.
 -
 -2008-07-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
 -      for filtering.
 -
 -2008-07-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/vms.h: Use __GNUC__ instead of _GNUC_.
 -
 -      * m/macppc.h:
 -      * m/alpha.h: Use GNU_LINUX instead of LINUX.  Reorganize conditionals.
 -
 -      * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
 -      (SPECIAL_EMACS_INT):
 -      * m/ia64.h (SPECIAL_EMACS_INT):
 -      * m/amdx86-64.h (SPECIAL_EMACS_INT):
 -      * s/gnu.h (NLIST_STRUCT):
 -      * s/aix4-2.h (X11R5_INHIBIT_I18N):
 -      * s/gnu-linux.h (LINUX):
 -      * s/msdos.h (HAVE_FACES):
 -      * s/ms-w32.h (HAVE_FACES): Don't define, unused.
 -
 -      * systty.h:
 -      * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
 -      anymore.
 -
 -2008-07-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * syswait.h: Remove old if 0 code.  Do not define WAITTYPE, it was
 -      always defined as int.
 -
 -      * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
 -      * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
 -      * s/gnu-linux.h (HAVE_WAIT_HEADER):
 -      * s/freebsd.h (HAVE_WAIT_HEADER):
 -      * s/bsd-common.h (HAVE_UNION_WAIT):
 -      * s/aix4-2.h (HAVE_WAIT_HEADER):
 -      * m/mips.h (HAVE_UNION_WAIT):
 -      * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
 -      (COFF, static): Do not define, they are undefined later in the file.
 -
 -      * process.c (update_status): Don't use a union.
 -      (status_convert):
 -      (sigchld_handler): Use int instead of WAITTYPE.
 -
 -2008-07-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Restore hscroll before moving to
 -      goal column.
 -
 -2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h: Remove left over code.
 -
 -2008-07-11  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h: Fix logic in last change.
 -
 -      * menu.h: New file.
 -      * menu.c: Include it.
 -      * xmenu.c: Likewise.
 -      * Makefile.in: Update dependencies.
 -
 -2008-07-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_from_font): Cancel the previous change.
 -
 -2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h:
 -      * w32heap.c:
 -      * emacs.c:
 -      * alloc.c: Replace all references of NO_UNION_TYPE with
 -      USE_LISP_UNION_TYPE.
 -
 -      * m/xtensa.h (NO_UNION_TYPE):
 -      * m/vax.h (NO_UNION_TYPE):
 -      * m/template.h (NO_UNION_TYPE):
 -      * m/sparc.h (NO_UNION_TYPE):
 -      * m/mips.h (NO_UNION_TYPE):
 -      * m/macppc.h (NO_UNION_TYPE):
 -      * m/m68k.h (NO_UNION_TYPE):
 -      * m/iris4d.h (NO_UNION_TYPE):
 -      * m/intel386.h (NO_UNION_TYPE):
 -      * m/ibms390x.h (NO_UNION_TYPE):
 -      * m/ibms390.h (NO_UNION_TYPE):
 -      * m/ibmrs6000.h (NO_UNION_TYPE):
 -      * m/ia64.h (NO_UNION_TYPE):
 -      * m/hp800.h (NO_UNION_TYPE):
 -      * m/arm.h (NO_UNION_TYPE):
 -      * m/amdx86-64.h (NO_UNION_TYPE):
 -      * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
 -      defining it the same.
 -
 -2008-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
 -
 -2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fileio.c:
 -      * sysdep.c
 -      * systty.h:
 -      * m/ibmrs6000.h:
 -      * m/iris4d.h:
 -      * s/aix4-2.h:
 -      * s/freebsd.h:
 -      * s/gnu-linux.h:
 -      * s/hpux10-20.h:
 -      * s/hpux11.h:
 -      * s/netbsd.h:
 -      * s/sol2-3.h:
 -      * s/sol2-4.h:
 -      * s/sol2.h:
 -      * s/usg5-4.h:
 -      * s/vms.h: Remove references to unused variables.
 -
 -2008-07-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
 -      pattern before matching the generic family.
 -
 -2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * unexec.c:
 -      * s/vms.h:
 -      * s/usg5-4-2.h:
 -      * s/sol2-5.h:
 -      * s/freebsd.h:
 -      * s/darwin.h: Remove dead code.
 -
 -      * m/template.h:
 -      * m/sparc.h:
 -      * m/mips.h:
 -      * m/m68k.h:
 -      * m/iris4d.h:
 -      * m/intel386.h:
 -      * m/ibms390x.h:
 -      * m/ibms390.h:
 -      * m/ia64.h:
 -      * m/hp800.h:
 -      * m/arm.h:
 -      * m/amdx86-64.h: Remove dead code and references to unused
 -      and compiler defined symbols.
 -
 -      * unexmips.c:
 -      * unexelf.c: Remove references to desupported systems.
 -
 -      * m/powermac.h: Remove file, it is now identical to m/macppc.h.
 -
 -      * m/powermac.h: Remove boilerplate comments.
 -      (NO_REMAP): Remove unused definition.
 -
 -      * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
 -      define them.
 -
 -2008-07-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Log the reason of failure.
 -
 -2008-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fontset.c (fontset_get_font_group):
 -      * font.c (font_check_otf): Specify argument types.
 -
 -2008-07-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_8): Set detect_info->found only when
 -      non-ASCII char is found.
 -
 -      * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
 -      (reorder_font_vector): Change the arg preferred_family to font.
 -      Prefer the spec matching with font.
 -      (fontset_get_font_group): New function.
 -      (fontset_find_font): Change the format of an element of a realized
 -      fontset.  Use fontset_get_font_group.
 -      (fontset_font): Try the current fontset, the default fontset, the
 -      fallbacks of the current fontset, and the fallbacks of the default
 -      fontset in this order.
 -      (face_for_char): Delete the shortcut to use the current font.
 -      (fontset_from_font): Don't set fonts for Latin in the fontset.
 -
 -      * font.h (font_make_object, font_match_p): Adjust prototypes.
 -
 -      * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
 -
 -      * font.c (font_make_object): New arg entity and pixelsize.
 -      (font_check_otf_features, font_check_otf): New functions.
 -      (font_match_p): Check :lang, :script, and :otf properties.
 -
 -      * xfont.c (xfont_open): Adjust it for the change of
 -      font_make_object.
 -      (xfont_text_extents): Fix initial setting of metrics.
 -
 -      * ftfont.c (struct ftfont_info): New member index, delete member
 -      fc_charset_idx.  Make the member order compatible with struct
 -      xftfont_info.
 -      (fc_charset_table): Change charset names to registry names.
 -      (ftfont_pattern_entity): Delete the args registry and
 -      fc_charset_idx.  Change the value of :font-entity property
 -      to (FONTNAME . INDEX).  Always set :registry property to
 -      `iso10646-1'.
 -      (struct ftfont_cache_data): New struct.
 -      (ftfont_lookup_cache): New arg for_face.
 -      (ftfont_get_fc_charset, ftfont_get_otf): New functions.
 -      (ftfont_driver): Set the member otf_capability.
 -      (ftfont_get_charset): Adjust it for the change of
 -      fc_charset_table.
 -      (OTF_TAG_SYM): New macro.
 -      (ftfont_spec_pattern): Delete the arg fc_charset_idx.  Adjust it
 -      for the change of fc_charset_table.
 -      (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
 -      ftfont_pattern_entity.  Add FC_INDEX to objset.
 -      (ftfont_match): Adjust it for the change of ftfont_spec_pattern
 -      and ftfont_pattern_entity.
 -      (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
 -      font_make_object, struct ftfont_info.
 -      (ftfont_has_char): Use ftfont_get_fc_charset.
 -      (ftfont_otf_features, ftfont_otf_capability): New functions.
 -      (ftfont_shape): Use ftfont_get_otf.
 -      (ftfont_text_extents): Fix initial setting of metrics.
 -
 -      * xftfont.c (struct xftfont_info): New member ft_size.  Make the
 -      member order compatible with struct ftfont_info.
 -      (xftfont_open): Add FC_CHARSET to the pattern.  Set
 -      xftfont_info->ft_size.  Don't unlock the face.  Check BDF
 -      properties if appropriate.
 -      (xftfont_close): Unlock the face.
 -      (xftfont_anchor_point, xftfont_shape): Deleted.
 -      (syms_of_xftfont): Don't set members anchor_point and shape of
 -      xftfont_driver.
 -
 -      * w32uniscribe.c (uniscribe_open): Adjust it for the change of
 -      font_make_object.
 -
 -      * w32font.c (w32font_open): Adjust it for the change of
 -      font_make_object.
 -      (w32font_open_internal): Don't set properties of font_object here.
 -
 -2008-07-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * macfns.c (x_create_tip_frame):
 -      * w32fns.c (x_create_tip_frame):
 -      * xfns.c (x_create_tip_frame): Pass parameter argument to
 -      face-set-after-frame-default.
 -
 -      * xfaces.c (Finternal_merge_in_global_face): Save merged
 -      attributes for the default face back into the face vector.
 -
 -2008-07-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * fontset.h: Declare fontset_from_font.  Don't declare
 -      new_fontset_from_font and fontset_from_font_name.
 -      * xterm.c: Include "fontset.h".
 -      * Makefile.in (xterm.o): Update dependencies.
 -
 -2008-07-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/sparc.h: Define __sparc__ rather than sparc.  (Bug#507.)
 -      * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
 -
 -2008-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
 -      (x_set_frame_parameters): Don't bind it.
 -
 -2008-07-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (map_w32_filename): Declare extern.
 -
 -2008-07-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (WS_EX_LAYERED): Define if not already.
 -
 -2008-07-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (set_font_frame_param): Don't try to set the font
 -      parameter if it is still unspecified in the lface.
 -
 -2008-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_merge_in_global_face): Don't realize default
 -      face if it didn't already exist.
 -
 -      * xdisp.c (try_window_id): Give up if word-wrapping is on.
 -
 -2008-07-05  Andreas Schwab  <schwab@suse.de>
 -
 -      * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
 -
 -2008-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
 -      word-wrapping.
 -      (IT_DISPLAYING_WHITESPACE): New macro.
 -      (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
 -      when word-wrapping.  Simplify word-wrapping logic.  Use correct
 -      pixel positions when saving copies of the iterator.
 -      (display_line): Use proper wrap point if the last character on a
 -      line was preceded by whitespace.
 -
 -2008-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
 -
 -2008-07-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
 -
 -      * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
 -
 -2008-07-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xfns.c (syms_of_xfns): Only define x-select-font when both
 -      HAVE_FREETYPE and USE_GTK.
 -
 -      * xdisp.c (next_element_from_display_vector): Move assignment out
 -      of if statement.
 -
 -2008-07-02  Toru Tsuneyoshi  <t_tuneyosi@hotmail.com>
 -
 -      * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
 -
 -      * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
 -      (syms_of_fileio): Initialize and export them.
 -      (Fdelete_directory, Fdelete_file): Optionally delete via trash.
 -
 -      * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
 -      (Fsystem_move_file_to_trash): New function.
 -      (syms_of_w32fns): Export it to lisp.
 -
 -2008-07-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Don't count overhang as part
 -      of width.
 -
 -2008-06-30  Miles Bader  <miles@gnu.org>
 -
 -      * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
 -      Add `avoid_cursor_p' field.
 -
 -      * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
 -      (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
 -      (append_glyph, append_composite_glyph, produce_image_glyph)
 -      (append_stretch_glyph): Initialize avoid_cursor_p.
 -      (get_it_property): Rename from `get_line_height_property'.
 -      (x_produce_glyphs): Use get_it_property.
 -      (handle_line_prefix, push_display_prop): New functions.
 -      (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
 -      (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
 -      New variables.
 -      (syms_of_xdisp): Initialize them.
 -
 -2008-06-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
 -      XftDefaultSubstitute (they are called in XftFontMatch).
 -      (xftfont_open): Fix args to ftfont_font_format.
 -
 -      * ftfont.c (fc_charset_table): New member lang.
 -      (ftfont_resolve_generic_family): New arg pattern.
 -      (ftfont_spec_pattern): Check fc_charset_table[]->lang.
 -      (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
 -      (ftfont_open): Fix args to ftfont_font_format.
 -      (ftfont_font_format): New arg filename.
 -
 -2008-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_merge_in_global_face): If default face was
 -      modified, realize it again.  Update the font face attribute.
 -
 -2008-06-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_set_frame_alpha): Fix logic.
 -
 -2008-06-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Finternal_char_font): Return font-object instead of
 -      font-name.
 -
 -      * composite.c (get_composition_id): Fix the width calculation for TAB.
 -
 -2008-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * indent.c (Fvertical_motion): Properly handle float column arg.
 -
 -2008-06-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
 -      (pfnSetLayeredWindowAttributes): New function pointer.
 -      (w32_initialize): Initialize it when supported.
 -      (x_set_frame_alpha): New function.
 -
 -      * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
 -      (w32_frame_parm_handlers): Set alpha handler.
 -
 -      * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
 -
 -2008-06-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
 -      (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
 -      (w32_to_x_charset, x_to_w32_charset)
 -      (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
 -      (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
 -      (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
 -      (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
 -      (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
 -      (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
 -      (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
 -      (Qw32_charset_unicode): Remove.
 -      (syms_of_w32fns): Update for above changes.
 -
 -      * w32font.c (w32_to_x_charset, x_to_w32_charset)
 -      (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
 -      (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
 -      (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
 -      (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
 -      (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
 -      (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
 -      (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
 -      (syms_of_w32font): Update for above changes.
 -
 -2008-06-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/usg5-4.h: Fix previous change: keep the correct branch of a
 -      removed #if.
 -      (USG_SHARED_LIBRARIES): Remove duplicate definition.
 -
 -2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
 -          Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (LOCAL_FLAGS):
 -      Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
 -
 -      * sysdep.c (_spawnlp, _getpid):
 -      Declare with explicit _cdecl instead of _CRTAPI1.
 -
 -      * editfns.c (Fget_internal_run_time):
 -      Check for WINDOWSNT with #ifdef, not #if.
 -
 -2008-06-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
 -
 -      * w32term.c (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
 -      Use FONT_HANDLE macro.
 -      (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
 -
 -      * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
 -      (uniscribe_encode_char): Use FONT_HANDLE macro.
 -
 -      * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
 -      (w32font_text_extents): Use precast w32_font.
 -      (w32font_close): Free cached metrics.
 -      (w32font_open_internal): Allocate space for name on stack.
 -
 -2008-06-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (extend_face_to_end_of_line): Fix last change.
 -
 -2008-06-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
 -      (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
 -
 -2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
 -
 -2008-06-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c, w32bdf.h: Remove obsolete files.
 -
 -      * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
 -
 -      * w32gui.h: Don't include w32bdf.h.
 -      (XCharStruct, enum w32_char_font_type, W32FontStruct):
 -      Remove obsolete font support.
 -
 -      * w32font.h (struct w32font_info): Remove compat_w32_font.
 -      Add hfont member.
 -      (FONT_COMPAT): Remove obsolete macro.
 -
 -      * w32font.c (w32font_close): Remove compat code.  Delete hfont member.
 -      (w32font_encode_char, w32font_text_extents): Use new hfont member.
 -      (w32font_open_internal): Remove compat code.  Set new hfont member.
 -      (Fx_select_font): Use new hfont member.
 -
 -      * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
 -      (uniscribe_encode_char): Use new hfont member.
 -
 -      * w32term.c (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Use new hfont member.
 -      (x_draw_glyph_string): Use metrics in w32font_info.
 -
 -2008-06-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
 -
 -2008-06-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * unexnext.c:
 -      * m/ews4800.h:
 -      * m/hp9000s300.h:
 -      * m/ibm370aix.h:
 -      * m/mips-siemens.h:
 -      * m/ncr386.h:
 -      * m/next.h:
 -      * m/pmax.h:
 -      * m/powerpcle.h:
 -      * m/tandem-s2.h:
 -      * s/386bsd.h:
 -      * s/bsd386.h:
 -      * s/bsd4-1.h:
 -      * s/bsd4-2.h:
 -      * s/bsdos2-1.h:
 -      * s/bsdos2.h:
 -      * s/bsdos3.h:
 -      * s/bsdos4.h:
 -      * s/nextstep.h:
 -      * s/ultrix4-3.h:
 -      * s/usg5-0.h:
 -      * s/usg5-2-2.h:
 -      * s/usg5-2.h:
 -      * s/usg5-4-3.h:
 -      * s/ux4800.h:
 -      * s/uxpds.h:
 -      * s/uxpv.h: Remove support for obsolete systems.
 -      * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
 -      Remove, insert contents in s/hpux10-20.h.
 -      * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
 -      Remove, insert contents in s/aix4-2.h.
 -      * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
 -      * s/bsd4-3.h: Rename to ...
 -      * s/bsd-common.h: ... this.
 -      * data.c:
 -      * doc.c:
 -      * ecrt0.c:
 -      * emacs.c:
 -      * fileio.c:
 -      * floatfns.c:
 -      * keyboard.c:
 -      * mem-limits.h:
 -      * print.c:
 -      * process.c:
 -      * sysdep.c:
 -      * syssignal.h:
 -      * systty.h:
 -      * syswait.h:
 -      * term.c:
 -      * unexec.c:
 -      * unexelf.c:
 -      * unexhp9k800.c:
 -      * m/hp800.h:
 -      * m/ibmrs6000.h:
 -      * m/mips.h:
 -      * m/vax.h:
 -      * s/darwin.h:
 -      * s/freebsd.h:
 -      * s/gnu.h:
 -      * s/ms-w32.h:
 -      * s/msdos.h:
 -      * s/netbsd.h:
 -      * s/template.h: Remove references to obsolete variables.
 -
 -      * Makefile.in: Add dependencies for all unexec files.
 -      (admindir): Remove unused variable.
 -      (UNEXEC_SRC): Remove references.
 -
 -2008-06-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_default_font_parameter): If Xft is available, first
 -      try Monospace-12 for the default font.
 -
 -2008-06-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
 -
 -2008-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
 -
 -      * buffer.c (syms_of_buffer): Remove default-word-wrap.
 -
 -2008-06-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
 -      <scroll-conservatively>: Fix typo in docstring.
 -
 -      * xselect.c (Fx_send_client_event): Doc fix.
 -
 -2008-06-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
 -
 -      * font.c (font_parse_fcname): Remove unused variables.
 -      (font_sort_entites): Delete the arg SPEC.  Caller changed.
 -      Fix for the case of ! best_only.
 -      (font_delete_unmatched): Check DPI and AVGWIDTH too.
 -
 -      * lisp.h (Fstring_to_unibyte): EXFUN it.
 -
 -      * character.h (str_to_unibyte): Extern it.
 -
 -      * character.c (str_to_unibyte): New function.
 -
 -      * fns.c (Fstring_to_unibyte): New function.
 -      (syms_of_fns): Defsubr it.
 -
 -2008-06-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_score): Even if the PIXEL_SIZE is the same, check
 -      DPI too.
 -      (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
 -
 -2008-06-24  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (${lispsource}loaddefs.el): Rename from
 -      ../lisp/loaddefs.el.
 -      (bootstrap-clean): Do what distclean does but don't remove
 -      Makefile.
 -      (distclean): Depend on bootstrap-clean and remove Makefile.
 -
 -2008-06-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buffer.h (struct buffer): New member word_wrap.
 -
 -      * buffer.c (syms_of_buffer): New variables default-word-wrap and
 -      word-wrap.
 -      (init_buffer_once): Initialize them.
 -
 -      * dispextern.h (struct it): Replace bool truncate_lines_p with a
 -      line_wrap enum possessing three possible values.
 -
 -      * termopts.h: Replace truncate_partial_width_windows with
 -      Vtruncate_partial_width_windows.
 -
 -      * dispnew.c (direct_output_for_insert): Avoid direct output when
 -      inserting a space with word wrap on.
 -
 -      * indent.c (compute_motion): Obey integer values of
 -      truncate-partial-width-windows.
 -
 -      * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
 -      replacing truncate_partial_width_windows.
 -      (init_iterator): If Vtruncate_partial_width_windows is an integer,
 -      truncate only if the window width is below that integer.
 -      (start_display, resize_mini_window, produce_stretch_glyph)
 -      (display_string, move_it_in_display_line_to): Use line_wrap.
 -      (back_to_previous_visible_line_start, reseat_1): Reset
 -      string_from_display_prop_p.
 -      (display_line): Extend default face to end of line when wrapping.
 -
 -2008-06-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_line, move_it_in_display_line_to): Add ability
 -      to wrap continued lines at word boundaries.
 -
 -2008-06-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (Ffont_face_attributes): Multiply pixel size before point
 -      conversion to avoid multiplying rounding error.
 -
 -2008-06-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_glyph_string_background)
 -      (x_draw_glyph_string): Remove old bdf font code.
 -
 -      * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
 -
 -2008-06-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Try the adstyle specified in
 -      the property of LFACE_FONT of LFACE (if any).
 -
 -2008-06-21  Seiji Zenitani  <zenitani@mac.com>
 -          Ryo Yoshitake  <ryo@shiftmode.net>
 -
 -      * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
 -
 -2008-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
 -      Use $(BOOTSTRAPEMACS) rather than witness-emacs.
 -      (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
 -      (witness-emacs): Remove.
 -      (lisp, shortlisp): Move loaddefs.el earlier.
 -      (mostlyclean): Forget about witness-emacs.
 -
 -2008-06-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
 -      (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
 -
 -2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (PRECOMP): Remove.
 -      (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
 -      (witness-emacs): Run `compile-first'.
 -      (.el.elc): Use the new compile-onefile target.
 -
 -2008-06-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Handle QCembolden only when
 -      FC_EMBOLDEN is defined.
 -
 -2008-06-21  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
 -      (.el.elc): Likewise.
 -
 -2008-06-21  Miles Bader  <miles@gnu.org>
 -
 -      * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
 -      build dir, not the lisp source dir.
 -
 -2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
 -      (bootstrapclean): Remove.
 -      (.el.elc): New rule.
 -      (PRECOMP): New var.
 -      (../lisp/subdirs.el): Remove.
 -      (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
 -      (witness-emacs): New target.
 -      (mostlyclean): Remove witness-emacs as well.
 -      (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
 -      Add witness-emacs dependency.
 -
 -2008-06-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Ffont_face_attributes): Omit key-attribute pairs not
 -      defined by the font.
 -
 -2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
 -      (bootstrap-clean): New target that keeps TAGS around.
 -      (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
 -      (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
 -
 -2008-06-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
 -      Remove obsolete font code.
 -
 -      * w32font.c (font_matches_spec): Use csb bitfield from font signature
 -      to determine language support.
 -
 -2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * sysdep.c (cfsetspeed): New fun extracted from the code.
 -      (cfmakeraw): Move before first use.
 -
 -2008-06-20  Angelo Graziosi  <angelo.graziosi@alice.it>  (tiny change)
 -
 -      * sysdep.c (cfmakeraw): Provide fallback implementation.
 -      (serial_configure): Provide fallback implementation of cfsetspeed.
 -
 -2008-06-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
 -      the pattern.
 -
 -      * fontset.c (fontset_from_font): Copy font_spec before changing
 -      the elements.
 -
 -      * xfns.c (x_default_font_parameter): Try "monospace-12" too.
 -
 -2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
 -      for explicit `font' parameters.
 -
 -      * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
 -
 -2008-06-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * frame.c: Include <ctype.h>.
 -      (x_set_font_backend): Allow spacing characters in the X resource
 -      for FontBackend.
 -
 -2008-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * w32fns.c, xfns.c (Qfont_param): New var.
 -      (syms_of_w32fns): Initialize it.
 -      (x_default_font_parameter): Record explicit `font' into
 -      `font-parameter'.
 -
 -2008-06-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Fix previous change.
 -      (font_parse_fcname): Don't use :fc-unknown-spec.
 -      (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
 -      (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
 -      (font_add_log): Prepend the driver name to the resulting fonts.
 -
 -      * ftfont.c (ftfont_pattern_entity): New arg extra.  Caller changed.
 -      (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
 -      (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
 -
 -      * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
 -      (QCembolden): New variables.
 -      (syms_of_xftfont): DEFSYM them.
 -      (xftfont_open): Call XftFontMatch.  Don't trust the result of
 -      XftTextExtents8 if the pixel_size is less than 5.
 -
 -2008-06-18  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
 -      (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
 -
 -2008-06-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_list, w32font_match): Add logging.
 -
 -      * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
 -
 -2008-06-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Store divider characters for
 -      unknown-spec list.  For known key symbols, intern using correct
 -      symbol name.
 -
 -2008-06-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (realize_default_face): If the frame is not on window
 -      system, set the fontset of face to nil.
 -
 -2008-06-17  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)
 -
 -      * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
 -
 -2008-06-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
 -      (build_font_name_from_vector): Delete externs.
 -
 -      * xfaces.c (struct font_name): Don't declare.
 -
 -2008-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
 -
 -2008-06-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix handling of unknown-spec string.
 -
 -2008-06-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec): Fix usage in docstring.
 -      (Ffont_face_attributes): Doc fix.
 -
 -2008-06-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (Ffont_face_attributes): Fix definition.
 -
 -2008-06-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.h (font_style_symbolic_from_value): Remove.
 -
 -      * font.c (font_style_symbolic_from_value): Remove.
 -      (font_style_symbolic): Revert to pre 2008-06-13 version.
 -
 -      * w32font.c (w32_to_fc_weight): New function.
 -      (w32font_full_name, logfont_to_fcname): Use it.
 -
 -2008-06-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_check_object): Delete it.
 -      (font_clear_cache): Check if a font-object is alive.
 -      (font_open_entity): Likewise.  Set FONT_OBJLST_INDEX of a
 -      font-object to nil.
 -      (font_close_object): Don't check FONT_CLOSE_OBJECT.
 -      (font_at): Don't call font_check_object.
 -      (Ffont_get): Return a symbol for :weight, :slant, and :width.
 -
 -2008-06-16  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1230000.
 -
 -2008-06-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
 -
 -2008-06-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Only one decimal point.
 -      (font_unparse_fcname): Handle data in family and foundry indices
 -      as symbols, not strings.
 -      (font_unparse_gtkname, Ffont_face_attributes): New functions.
 -
 -      * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
 -
 -      * font.h (font_unparse_gtkname): Add prototype.
 -
 -2008-06-15  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)
 -
 -      * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
 -
 -2008-06-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_update_drivers): Fix crash when no drivers match.
 -
 -2008-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
 -      * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
 -
 -2008-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
 -
 -2008-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Fserial_process_configure, Fprocess_send_eof):
 -      Use EQ to compare Lisp_Objects.
 -
 -2008-06-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_select_font): Remove old font API function.
 -
 -      * w32font.c (logfont_to_fcname): New function.
 -      (Fx_select_font): New font dialog function compatible with
 -      GTK/fontconfig version.
 -
 -      * font.c (font_style_symbolic_from_value): New function.
 -      (font_style_symbolic): Use it.
 -
 -      * font.h (font_style_symbolic_from_value): Declare new function.
 -
 -2008-06-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (syms_of_font) <font-weight-table, font-slant-table>:
 -      <font-width-table>: Fix typos in docstrings.
 -
 -2008-06-13  Daniel Engeler  <engeler@gmail.com>
 -
 -      These changes add serial port access.
 -      * process.c: Add HAVE_SERIAL.
 -      (Fdelete_process, Fprocess_status, Fset_process_buffer)
 -      (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
 -      (list_processes_1, select_wrapper, Fstop_process)
 -      (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
 -      (status_notify): Modify to handle serial processes.
 -      [HAVE_SERIAL] (Fserial_process_configure)
 -      [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
 -      New functions.
 -      * process.h (struct Lisp_Process): Add `type'.
 -      * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
 -      New functions.
 -      * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
 -      serial ports.
 -      (serial_open, serial_configure): New functions.
 -      * w32.h: Add FILE_SERIAL.
 -      (struct _child_process): Add ovl_read, ovl_write.
 -
 -2008-06-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (enum lface_attribute_index): New member
 -      LFACE_FOUNDRY_INDEX.
 -
 -      * font.c (font_score): Delete arg alternate_families.  Check only
 -      weight, slant, width, and size.  Ignore the difference of alias
 -      style symbols.
 -      (font_sort_entites): Adjust for the above change.  Reflect the
 -      order of font-driver to scores.
 -      (font_list_entities): Don't check alternate_familes here.
 -      (font_clear_prop): Handle foundry.
 -      (font_update_lface): Don't parse "foundry-family" form here.
 -      Handle FONT_FOUNDRY_INDEX.
 -      (font_find_for_lface): Likewise.  Handle alternate families here.
 -      If registry is nil, try iso8859-1 and ascii-0.
 -      (font_open_for_lface): Pay attention to size in ENTITY.
 -      (font_open_by_name): Simplify by calling font_load_for_lface.
 -      (free_font_driver_list): Delete it.
 -      (font_update_drivers): Preserve the order of backends.
 -      (syms_of_font): Setting of sort_shift_bits adjusted for the change
 -      of font_score and font_sort_entites.
 -      (font_update_sort_order): Likewise.
 -
 -      * xfaces.c (LFACE_FOUNDRY): New macro.
 -      (check_lface_attrs): Check foundry.
 -      (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
 -      (merge_face_vectors): Check foundry.
 -      (merge_face_ref): Likewise.
 -      (Finternal_set_lisp_face_attribute): Likewise.
 -      (x_update_menu_appearance): Likewise.
 -      (Finternal_get_lisp_face_attribute): Likewise.
 -      (lface_hash): Likewise.
 -      (lface_same_font_attributes_p): Likewise.
 -      (x_supports_face_attributes_p): Likewise.
 -      (tty_supports_face_attributes_p): Likewise.
 -      (Finternal_set_alternative_font_family_alist): Intern strings.
 -      (Finternal_set_alternative_font_registry_alist): Downcase strings.
 -      (realize_default_face): Set LFACE_FOUNDRY (lface).
 -
 -      * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
 -      font-driver at first.
 -
 -      * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
 -
 -2008-06-12  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * lread.c (Fload): Use xfree, not free on saved_doc_string.
 -
 -2008-06-12  Jim Meyering  <meyering@redhat.com>
 -
 -      Make unexec_free handle NULL the same way free does.
 -      * unexmacosx.c (unexec_free): Ignore a NULL argument.
 -
 -2008-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.h (CHAR_TO_BYTE_SAFE): New macro.
 -      * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
 -      * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
 -      (WEAK_ALIAS): Simplify.
 -      * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
 -      when searching a unibyte buffer.
 -
 -2008-06-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_select_font): Rename from x-font-dialog.
 -
 -2008-06-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c: Include ctype.h.
 -
 -2008-06-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_encode_char): Detect missing glyphs that are
 -      misreported as space.
 -      (add_font_entity_to_list): Support unicode-bmp and unicode-sip
 -      as aliases for registry iso10646-1.
 -
 -2008-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (clone_per_buffer_values): Skip `name'.
 -
 -2008-06-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix last change; accept decimal
 -      points in font size.
 -
 -2008-06-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (add_opentype_font_name_to_list):
 -      Skip non unicode fonts.
 -
 -2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_font_dialog): New function.
 -
 -      * gtkutil.c (xg_dialog_response_cb): Rename from
 -      xg_file_response_callback.
 -      (pop_down_dialog): Rename from pop_down_file_dialog.
 -      (xg_get_file_name): Callers changed.
 -      (xg_get_font_name): New function.
 -
 -      * gtkutil.h (xg_get_font_name): Insert prototype.
 -
 -2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (underline_minimum_offset): Rename from xterm.c's
 -      x_underline_minimum_display_offset.
 -      (syms_of_xdisp): Declare it here rather than in xterm.c.
 -      * dispextern.h (underline_minimum_offset): Declare it.
 -      * w32term.c (x_draw_glyph_string): Use it.
 -      * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
 -      (syms_of_xterm): Don't declare it any more.
 -      (x_draw_glyph_string): Adjust to the new name.
 -
 -2008-06-10  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * xterm.c (x_underline_minimum_display_offset): New var.
 -      (x_draw_glyph_string): Use it.
 -      (syms_of_xterm): Declare it.
 -
 -2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Accept GTK-style font names too.
 -
 -2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Don't return t if the match is exact
 -      but with different capitalization.
 -      * minibuf.c (Ftry_completion): Simplify.
 -
 -      * window.c (Vwindow_point_insertion_type): New var.
 -      (set_window_buffer): Use it.
 -      (syms_of_window): Init and export it to Lisp.
 -
 -2008-06-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (font_intern_prop): Prototype adjusted.
 -
 -      * font.c (font_intern_prop): New arg force_symbol.
 -      (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
 -      Adjust for the change of font_intern_prop.
 -
 -      * ftfont.c (ftfont_pattern_entity):
 -      * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
 -      (w32_registry):
 -      * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
 -      the change of font_intern_prop.
 -
 -2008-06-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32menu.c (digest_single_submenu): Declare extern.
 -
 -2008-06-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_make_frame_visible): Use alternate restore flags.
 -
 -      * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
 -      (parse_single_submenu): Remove.
 -      (digest_single_submenu): Remove.
 -      (syms_of_w32menu): Don't initialise variables that have moved
 -      to menu.c.
 -      (set_frame_menubar): Sync with version in xmenu.c.
 -      (w32_menu_show): Sync with xmenu_show in xmenu.c.
 -
 -      * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
 -      Make static again.
 -
 -2008-06-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      Changes to w32 files related to the move of common menu code
 -      to menu.c on 2008-06-08 by Chong Yidong.
 -
 -      * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
 -      defs to w32gui.h.
 -      (single_keymap_panes, push_menu_item, push_menu_pane):
 -      Make globally visible.
 -
 -      * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
 -      (local_free, malloc_widget_value, free_widget_value)
 -      (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
 -      (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
 -      (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
 -      (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
 -      (menu_items, menu_items_allocated, menu_items_used)
 -      (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
 -      (init_menu_items, finish_menu_items, discard_menu_items)
 -      (grow_menu_items, push_submenu_start, push_submenu_end)
 -      (push_left_right_boundary, push_menu_pane, push_menu_item)
 -      (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
 -      (free_menubar_widget_tree_value, parse_single_submenu)
 -      (update_submenu_strings): Remove functions.
 -      (xmalloc_widget_value): Remove and declare extern.
 -
 -      * makefile.w32-in ($(SRC)/menu.$(O)): New target.
 -      (OBJ1): Build it.
 -
 -      * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
 -      (local_heap, local_alloc, local_free, malloc_widget_value)
 -      (free_widget_value): Define here.
 -
 -2008-06-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (Qascii_0): Extern it.
 -
 -      * font.c (Qascii_0): New variable.
 -      (syms_of_font): DEFSYM it.
 -      (font_open_by_name): If the registry "iso8859-1" fails, try also
 -      "ascii-0".
 -
 -      * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
 -
 -2008-06-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * .gdbinit (xfont): New command.
 -
 -2008-06-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
 -      * Makefile.in (menu.o): Update dependencies.
 -
 -      * Makefile.in (obj): Always add menu.o.
 -      * emacs.c (main): Always call syms_of_menu.
 -      * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
 -
 -2008-06-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in: Compile menu.c.
 -
 -      * lisp.h: Declare syms_of_menu.
 -
 -      * emacs.c (main): Call syms_of_menu.
 -
 -      * keyboard.h: Relocate platform-independent menu definitions from
 -      xmenu.c.
 -
 -      * menu.c: New file.  Relocate platform-independent menu
 -      definitions from xmenu.c.  Suggested by Adrian Robert.
 -
 -      * xmenu.c: Remove platform-independent menu definitions.
 -      (menu_items menu_items_inuse, menu_items_allocated)
 -      (menu_items_used, menu_items_n_panes)
 -      (menu_items_submenu_depth): Move to keyboard.h.
 -      (init_menu_items, finish_menu_items, unuse_menu_items)
 -      (discard_menu_items, restore_menu_items, save_menu_items)
 -      (grow_menu_items, push_submenu_start, push_submenu_end)
 -      (push_left_right_boundary, push_menu_pane, push_menu_item)
 -      (keymap_panes, single_keymap_panes, single_menu_item)
 -      (list_of_panes, list_of_items, find_and_call_menu_selection)
 -      (xmalloc_widget_value, free_menubar_widget_value_tree)
 -      (parse_single_submenu, digest_single_submenu)
 -      (update_submenu_strings): Move to menu.c.
 -
 -2008-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
 -
 -2008-06-06  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (x_produce_glyphs): Calculate tab width based on current
 -      face, not frame default.
 -
 -2008-06-05  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (pop_up_windows, pop_up_frames)
 -      (display_buffer_reuse_frames, Vpop_up_frame_function)
 -      (Vdisplay_buffer_function, Veven_window_heights)
 -      (Vspecial_display_buffer_names, Vspecial_display_regexps)
 -      (Vspecial_display_function, Vsame_window_buffer_names)
 -      (Vsame_window_regexps, split_height_threshold)
 -      (Vsplit_window_preferred_function): Move those vars to window.el.
 -      (display_buffer_1, Fspecial_display_p, Fsame_window_p)
 -      (Fdisplay_buffer): Move those functions to window.el.
 -      (syms_of_window): Remove corresponding declarations.
 -      (display_buffer): New function.
 -      (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
 -      * dispnew.c (Flast_nonminibuf_frame): New function.
 -      * buffer.c (Fpop_to_buffer): Move to window.el.
 -
 -2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
 -
 -2008-06-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Fix previous change.
 -      (detect_coding_system): Likewise.
 -
 -2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
 -
 -      * keymap.c (Vminibuffer_local_filename_must_match_map):
 -      Rename from Vminibuffer_local_must_match_filename_map.
 -      (syms_of_keymap):
 -      * minibuf.c (Fcompleting_read): Adjust accordingly.
 -      * commands.h: Rename declaration as well.
 -
 -2008-06-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_spec): Don't use font_parse_family_registry for
 -      family name.
 -      (Ffont_put): Likewise.
 -
 -      * fontset.c (fontset_find_font): Call font_open_for_lface with the
 -      current font-spec.
 -
 -      * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
 -      is unspecified.
 -
 -      * xfaces.c (realize_x_face): If the font-related face attributes
 -      are the same as those of default face, realize a new fontset from
 -      default->fontset.
 -      (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
 -
 -2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
 -      (move_it_in_display_line): New wrapper.
 -
 -      * window.c (window_scroll_pixel_based_preserve_x)
 -      (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
 -      (window_scroll_pixel_based, window_scroll_line_based):
 -      Use them to preserve column positions.
 -      (syms_of_window): Initialize them.
 -
 -      * indent.c (Fvertical_motion): Extend first arg to allow passing an
 -      (HPOS . VPOS) pair.
 -
 -      * dispextern.h (move_it_in_display_line): Declare.
 -
 -2008-06-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
 -      (Fwindow_parameters): Return copy of parameter alist.  Doc fix.
 -      (Fset_window_parameter): Return VALUE, not parameter alist.  Doc fix.
 -
 -2008-06-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fset_window_parameter): Doc fix.
 -      (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
 -
 -2008-06-04  Joakim Verona  <joakim@verona.se>
 -
 -      * window.h (struct window): Add new member window_parameters.
 -
 -      * window.c (Fwindow_parameters, Fwindow_parameter)
 -      (Fset_window_parameter): New defuns.
 -      (syms_of_window): Defsubr the new defuns.
 -      (make_window): Initialize window_parameters to nil.
 -
 -2008-06-04  John Paul Wallington  <jpw@pobox.com>
 -
 -      * eval.c (Fdefmacro): Doc fix.
 -
 -2008-06-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Fix handling of coding->head_ascii.
 -      Be sure to call setup_coding_system when we find a proper coding system.
 -      (detect_coding_system): Fix handling of coding->head_ascii.
 -
 -2008-06-03  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_prop_validate_spacing): Fix last change.
 -
 -2008-06-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate_spacing): Handle uppercase symbols.
 -      (font_parse_fcname): Fix handling of unknown key.
 -
 -      * xfont.c (xfont_list): Try an alias.
 -
 -      * charset.c (char_charset): Return NULL if the arg charset_list is
 -      specified and C doesn't belong to any of them.
 -
 -2008-06-02  Chip Coldwell  <coldwell@redhat.com>
 -
 -      * font.c (font_pixel_size): Don't take cdr of an integer.
 -
 -2008-06-02  Jim Meyering  <meyering@redhat.com>
 -
 -      Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
 -      * alloc.c (xfree): Return right away for a NULL arg.
 -      * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
 -      * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
 -      * mac.c (create_apple_event_from_event_ref): Likewise.
 -      (create_apple_event_from_drag_ref, cfstring_create_normalized):
 -      Likewise.
 -      * doprnt.c (doprnt1): Likewise.
 -      * frame.c (frame): Likewise.
 -      * keyboard.c (wipe_kboard): Likewise.
 -      * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
 -      (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
 -      * term.c (tty_default_color_capabilities, maybe_fatal)
 -      (delete_tty): Likewise.
 -      * w16select.c (string): Likewise.
 -      * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
 -      * w32bdf.c (w32_free_bdf_font): Likewise.
 -      * w32fns.c (w32_unload_font): Likewise.
 -      * w32font.c (w32font_close): Likewise.
 -      * window.c (size_window): Likewise.
 -      * xselect.c (receive_incremental_selection): Likewise.
 -      * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
 -      * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
 -      * w32.c (stat): Likewise.
 -
 -      Remove useless if-before-free tests.
 -      * editfns.c (Fset_time_zone_rule): Likewise.
 -      * lread.c (nosuffix): Likewise.
 -      * ralloc.c (get_bloc): Likewise.
 -      * regex.c (reg_free): Likewise.
 -      * xftfont.c (xftfont_open, xftfont_close): Likewise.
 -      * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
 -      * xsmfns.c (smc_save_yourself_CB): Likewise.
 -
 -2008-06-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Handle float font size.
 -      (font_open_for_lface): Likewise.
 -
 -      * xfaces.c (x_supports_face_attributes_p): Check face->font before
 -      comparing the properties.
 -
 -2008-06-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
 -      Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
 -      Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
 -      Don't add empty script list.
 -      (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
 -
 -2008-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (dot, dotdot): Remove, update users.
 -      ".." has been used elsewhere in the file for a long time.
 -      (LIBXT_STATIC): Remove conditional based on unused variable.
 -
 -2008-06-01  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Vface_remapping_alist): New variable.
 -      (syms_of_xfaces): Initialize it.
 -      (enum named_merge_point_kind): New type.
 -      (struct named_merge_point): Add `named_merge_point_kind' field.
 -      (push_named_merge_point): Make cycle detection respect different
 -      named-merge-point kinds.
 -      (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
 -      Remove face-name alias resolution.
 -      (lface_from_face_name): New definition using
 -      `lface_from_face_name_no_resolve'.
 -      (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
 -      Call lface_from_face_name_no_resolve instead of lface_from_face_name.
 -      (get_lface_attributes): New definition that layers face-remapping on
 -      top of get_lface_attributes_no_remap.  New arg `named_merge_points'.
 -      (lookup_basic_face): New function.
 -      (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
 -      (realize_named_face): Call `get_lface_attributes_no_remap' instead of
 -      `get_lface_attributes'.
 -      (face_at_buffer_position): Use `lookup_basic_face' to lookup
 -      DEFAULT_FACE_ID if necessary.  When optimizing the default-face case,
 -      return default_face's face-id instead of the constant DEFAULT_FACE_ID.
 -
 -      * xdisp.c (init_iterator): Pass base_face_id through
 -      `lookup_basic_face' when we actually use it as a face-id.
 -      (handle_single_display_prop): Use `lookup_basic_face' to lookup
 -      DEFAULT_FACE_ID.
 -
 -      * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
 -      lookup the initial face-id.
 -
 -      * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
 -
 -2008-06-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
 -      (Fremove_text_properties): Fix typos in docstrings.
 -
 -2008-05-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_list_entities): Fix the car part of data to be
 -      stored in the cache.
 -
 -      * ftfont.c (ftfont_font_format): Don't use strcasestr.
 -
 -2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Foptimize_char_table, optimize_sub_char_table):
 -      Add a `test' argument so another predicate than `equal' can be used.
 -      (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
 -      (map_char_table): Remove unused vars `c' and `i'.
 -      * lisp.h (Foptimize_char_table): Adjust declaration.
 -      * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
 -
 -2008-05-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
 -      (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
 -      defined.
 -
 -2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fmake_variable_frame_local): Disallow mixing buffer-local and
 -      frame-local settings for the same variable.
 -
 -2008-05-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffont_info): Move to font.c.
 -      (syms_of_fontset): Delete defsubr of Sfont_info.
 -
 -      * font.c (font_style_to_value, font_score): Delete casting of the
 -      args to xstcasecmp.
 -      (register_font_driver): Increment num_font_drivers only when
 -      registering the driver globally.
 -      (Ffont_info): Move from fontset.c.  Handle a font object too.
 -      (syms_of_font): Defsubr Sfont_info.
 -
 -2008-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (enum define_coding_utf8_arg_index): New enum.
 -      (enum coding_attr_index): Change coding_attr_utf_16_bom to
 -      coding_attr_utf_bom.
 -      (enum utf_bom_type): Rename from utf_16_bom_type.
 -      (struct utf_16_spec): Adjust for the above change.
 -      (struct coding_system): Add utf_8_bom in `spec' union.
 -
 -      * coding.c (CODING_UTF_8_BOM): New macro.
 -      (enum coding_category): Delete coding_category_utf_8, add
 -      coding_category_utf_8_auto, coding_category_utf_8_nosig, and
 -      coding_category_utf_8_sig.
 -      (CATEGORY_MASK_UTF_8): Delete it.
 -      (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
 -      (CATEGORY_MASK_UTF_8_SIG): New macros.
 -      (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
 -      CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
 -      CATEGORY_MASK_UTF_8_SIG.
 -      (CATEGORY_MASK_UTF_8): New macro.
 -      (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
 -      (detect_coding_utf_8): Check BOM.
 -      (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
 -      (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
 -      (encode_coding_utf_16): Likewise.
 -      (setup_coding_system): Likewise.  Set CODING_UTF_8_BOM (coding).
 -      (detect_coding, detect_coding_system): Handle utf-8-auto.
 -      (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
 -      (syms_of_coding): Fix setting up of Vcoding_category_table.
 -
 -2008-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Faccept_process_output): If `millisec' is non-nil,
 -      `seconds' default to 0.
 -      (wait_reading_process_output): Also return non-nil if we read output
 -      from a non-running process.
 -
 -2008-05-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Prefer truetype fonts unless
 -      `raster' specified.
 -      (add_font_entity_to_list): Allow non-opentype truetype fonts back
 -      in the uniscribe backend, but disallow any font that has no
 -      unicode subrange support.
 -
 -2008-05-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
 -      Fix typos in docstrings.
 -
 -2008-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): Make it return a list of font names.
 -      (Fx_family_fonts): Set frame correctly.
 -
 -2008-05-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_glyph_string): Use clipmask if specified.
 -
 -2008-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
 -      calling build_annotations.
 -
 -2008-05-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (Fdecode_coding_region, Fencode_coding_region)
 -      (Fencode_coding_string):
 -      (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
 -      <latin-extra-code-table>: Fix typos in docstrings.
 -      (syms_of_coding) <coding-system-alist>: Doc fix.
 -      (syms_of_coding) <translation-table-for-input>: Reflow docstring.
 -
 -2008-05-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffont_info): Don't call font_close_object.
 -
 -      * font.c (font_parse_family_registry): Use Ffont_put to validate
 -      foundry and family.
 -      (font_delete_unmatched): Don't check spacing.
 -      (font_list_entities): Add spacing to the spec to list fonts.
 -
 -      * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
 -      (ftfont_list): Check spacing here.  Don't include FC_CHARSET in objset.
 -
 -      * coding.c (encode_coding_raw_text): Fix previous change.
 -      (encode_coding_object): When the dst_object is a buffer and is
 -      different from src_object, move gap to PT.
 -
 -2008-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
 -
 -2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * coding.c (encode_coding_raw_text): Set coding->produced_char for
 -      all branches.  Compute it differently.
 -
 -      * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
 -
 -2008-05-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
 -      into "else if () ... else ...".
 -
 -2008-05-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Determine if glyph indices
 -      are likely to work here.
 -
 -2008-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
 -      draw overlap glyphs with appropriate highlighting.
 -
 -2008-05-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Fix calculation of font->average_width.
 -
 -2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * casefiddle.c (casify_object): Try to guess better whether the
 -      argument is a byte or a char.
 -
 -2008-05-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * xselect.c (x_reply_selection_request): Properly handle format == 32.
 -      Always send multiples of format size.
 -
 -      * xterm.c (x_set_frame_alpha): Fix type mismatch.
 -
 -2008-05-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Zero whole metrics struct first.
 -      (compute_metrics): Don't set failure if we just cleared the cache.
 -      (w32_weight_table): Remove unused variable.
 -      (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
 -      backwards compatibility.
 -
 -2008-05-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * w32term.c (x_draw_glyph_string):
 -      * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
 -
 -      * xfaces.c: Delete unused function prototypes.
 -      (xstrlwr, font_frame): Delete them.
 -      (clear_face_cache): Delete unused variable.
 -
 -      * xftfont.c (xftfont_open): Delete unused variable.
 -      If underline_thickness is not 1, adjust underline_position.
 -
 -      * ftxfont.c (ftxfont_open): Delete unused variable.
 -
 -      * fontset.c (face_for_char): Optimize for the case of no charset
 -      property.
 -
 -      * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
 -      (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
 -      (otf_open, font_otf_capability, generate_otf_features)
 -      (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
 -      Comment out by surrounding "#if 0" and "#endif" for the moment.
 -      (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
 -      (syms_of_font): Codes for accessing above commented out.
 -
 -2008-05-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32proc.c: Include dispextern.h.
 -
 -      * w32.c: Include dispextern.h.
 -
 -2008-05-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * charset.c (Fencode_char, Fsplit_char): Doc fixes.
 -      (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
 -      Fix typos in docstrings.
 -
 -2008-05-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xsmfns.c: Remove includes that are already included by config.h.
 -
 -2008-05-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Qemacs, charset_emacs): New variables.
 -      (char_charset): Fix for non-Unicode characters.
 -      (syms_of_charset): Define charset_emacs.
 -
 -      * w32term.c (x_draw_glyph_string): Be sure to update
 -      s->underline_thickness and s->underline_position.  Be sure to draw
 -      underline within the current line area.
 -
 -      * xterm.c (x_draw_glyph_string): Be sure to update
 -      s->underline_thickness and s->underline_position.  Be sure to draw
 -      underline within the current line area.
 -
 -      * fontset.c: Delete unused variables and add casting for char *
 -      throughout the file.
 -      (fontset_font): Try the fallback fonts of the current fontset
 -      before consulting the default fontset.
 -
 -      * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
 -
 -      * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
 -
 -2008-05-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c: Don't include strings.h.
 -
 -      * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
 -
 -      * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
 -      * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
 -      * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
 -      to call xstrcasecmp.
 -
 -      * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
 -
 -      * fontset.c (fs_query_fontset): Use xstrcasecmp.
 -
 -      * font.c (font_style_to_value, font_score): Use xstrcasecmp.
 -
 -      * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
 -
 -2008-05-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1220000.
 -
 -      * font.c (font_prop_validate_style): Adjust for the format
 -      change of font_style_table.
 -
 -      * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
 -      two args.
 -
 -      * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
 -      two args.
 -
 -2008-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (keys_of_minibuf): Delete.
 -      * lisp.h (keys_of_minibuf): Delete.
 -      * emacs.c (main): Don't call keys_of_minibuf.
 -
 -2008-05-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_resolve_generic_family): Rename from
 -      ftfont_list_generic_family.  Return a single family for each
 -      generic family.
 -      (ftfont_spec_pattern): Add FC_FAMILY to pattern.
 -      (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
 -      Call font_add_log.
 -      (ftfont_match): Call font_add_log.
 -
 -      * font.h (Ffont_xlfd_name): EXFUN adjusted.
 -      (FONT_DEBUG): Define it.
 -      (font_add_log): Extern it.
 -      (font_assert): Rename from xassert.
 -
 -      * xfont.c (xfont_get_pcm): Change xassert to font_assert.
 -      (xfont_list_family): Call font_add_log.
 -      (xfont_match): Likewise.
 -      (memq_no_quit): Delete.
 -
 -      * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
 -      call of Ffont_xlfd_name.
 -
 -      * xfaces.c (struct table_entry, slant_table, weight_table)
 -      (swidth_table): Move to font.c.
 -
 -      * font.c: Checking of FONT_DEBUG is moved to font.h.  All calls of
 -      xassert are changed to font_assert.  Delete many unused variables.
 -      (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
 -      New variables.
 -      (struct table_entry): Move from xfaces.c and modified.
 -      (weight_table, slant_table, width_table): Move from xfaces.c and
 -      contents adjusted for the change of struct table_entry.
 -      (font_style_to_value, font_style_symbolic): Adjust for the
 -      format change of font_style_table.
 -      (font_parse_family_registry): Don't overwrite existing foundry and
 -      family of font_spec.
 -      (font_score): Fix calculation of diff for sizes.
 -      (font_sort_entites): Call font_add_log.
 -      (font_delete_unmatched): Return a newly created list.
 -      (font_list_entities): Fix previous change.  Call font_add_log.
 -      (font_matching_entity, font_open_entity, font_close_entity):
 -      Call font_add_log.
 -      (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
 -      (Finternal_set_font_style_table): Delete.
 -      (BUILD_STYLE_TABLE): New macro.
 -      (build_style_table): New function.
 -      (Vfont_log, font_log_env_checked): New variables.
 -      (font_add_log): New function.
 -      (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
 -      Declare Lisp variables "font-weight-table", "font-slant-table",
 -      "font-width-table", and "font-log".  Initialize font_style_table.
 -
 -2008-05-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_set_frame_alpha): Move declarations before statements.
 -
 -2008-05-21  Seiji Zenitani  <zenitani@mac.com>
 -          Ryo Yoshitake  <ryo@shiftmode.net>
 -
 -      * frame.c (Qalpha): Add a new frame parameter `alpha'.
 -      (Vframe_alpha_lower_limit): New variable.
 -      (x_set_alpha): New function.
 -
 -      * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
 -
 -      * xfns.c (x-create-frame, Qalpha):
 -      Initialize the frame parameter `alpha'.
 -      * xterm.c (OPAQUE, OPACITY): New.
 -      (x_set_frame_alpha): New function.
 -      (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
 -
 -      * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
 -      * w32fns.c (w32_frame_parm_handlers): Likewise.
 -
 -2008-05-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Don't add non-opentype
 -      truetype fonts to opentype list.
 -
 -2008-05-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fontset.c (Ffontset_info): Doc fix.
 -      (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
 -      <ignore-relative-composition>: Fix typos in docstrings.
 -
 -      * font.c (syms-of-font) <font-encoding-alist>:
 -      (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
 -      (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
 -      (Ffont_otf_alternates): Doc fixes.
 -
 -2008-05-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (FONTSRC): Delete it.  Change all $(FONTSRC) to
 -      font.h through out the file.
 -      (FONT_DRIVERS): Rename from FONTOBJ.
 -      (obj): Change $(FONTOBJ) to $(FONT_DRIVERS).  Add font.o.
 -      (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
 -
 -      * emacs.c (main): Call syms_of_font unconditionally.
 -
 -      * font.h (find_font_encoding): Extern it.
 -
 -      * font.c (Vfont_encoding_alist, find_font_encoding): Move from
 -      fontset.c.
 -      (font_pixel_size) [! HAVE_WINDOW_SYSTEM]: Return 1.
 -      (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
 -      FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
 -      only when HAVE_WINDOW_SYSTEM is defined.
 -      (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
 -      when HAVE_WINDOW_SYSTEM is defined.
 -
 -      * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
 -      (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
 -
 -      * xfaces.c: Include font.h unconditionally.
 -      (merge_face_ref, merge_face_vectors)
 -      (Finternal_set_lisp_face_attribute): Cancel the previous change.
 -
 -2008-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (select_frame_for_redisplay): Adjust for last change to
 -      indirect_variable.
 -      * eval.c (lisp_indirect_variable): New fun.
 -      (Fuser_variable_p): Use it.
 -
 -2008-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (indirect_variable):
 -      * data.c (indirect_variable, let_shadows_buffer_binding_p):
 -      Use Lisp_Symbol pointers rather than Lisp_Object.
 -      Adjust callers.
 -      * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
 -      To this end, change calling-convention.
 -
 -      * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
 -      if some non-hidden buffers are selected by string&pred.
 -
 -2008-05-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (wait_reading_process_output): Always check status
 -      when in batch mode.
 -
 -2008-05-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_list_entities): Fix handling of cache.
 -      (font_matching_entity): Likewise.
 -
 -      * ftfont.c (cs_iso8859_1): Delete.
 -      (ft_face_cache): New variable.
 -      (struct ftfont_info): New member fc_charset_idx.
 -      (ftfont_build_basic_charsets): Delete.
 -      (fc_charset_table): New variable.
 -      (ftfont_pattern_entity): New arg fc_charset_idx.  Store (FILENAME
 -      . FC_CHARSET_IDX) as :font-entity property in the font entity.
 -      Callers changed.
 -      (ftfont_lookup_cache, ftfont_get_charset): New functions.
 -      (ftfont_spec_pattern): New argument fc_charset_idx.
 -      Check registry more rigidly.  Change callers.
 -      (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
 -      change of :font-entity property of the font.
 -
 -      * xftfont.c (xftfont_open): Adjust for the change of :font-entity
 -      property of the font.
 -
 -2008-05-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (Fcoding_system_p): Rename argument to match docstring.
 -      (Funencodable_char_position, Fcheck_coding_systems_region)
 -      (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
 -      (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
 -      (Ffind_operation_coding_system, Fset_coding_system_priority)
 -      (Fcoding_system_eol_type): Doc fixes.
 -
 -2008-05-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
 -
 -2008-05-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
 -      and st_gid.
 -
 -      * frame.c (Fdelete_frame): Don't call font_update_drivers if
 -      HAVE_WINDOW_SYSTEM is not defined.
 -
 -      * xfaces.c (merge_face_ref, merge_face_vectors)
 -      (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
 -      HAVE_WINDOW_SYSTEM is defined.
 -      (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
 -
 -2008-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
 -
 -2008-05-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
 -
 -2008-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
 -      preference.
 -
 -2008-05-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
 -
 -2008-05-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (init_fns): Don't initialize weak_hash_tables here.
 -      (init_weak_hash_tables): New fun.  Initialize weak_hash_tables.
 -
 -      * alloc.c (init_alloc_once): Call init_weak_hash_tables.
 -
 -2008-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Downcase family name to check generic
 -      families.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
 -      font-spec for QCfont value.
 -
 -      * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
 -      buffer.  Check the return value of it.
 -
 -2008-05-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_get_glyph_overhangs): Remove.
 -      (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
 -
 -2008-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate): Make nil a valid value.
 -      (font_clear_cache): Check if the cached vector of entities is nil
 -      or not.
 -
 -2008-05-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main_thread): Conditionalize on
 -      FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
 -      (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
 -
 -      * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
 -      (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
 -      FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
 -
 -2008-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Ignore a coding category that
 -      has no corresponding coding system.
 -
 -2008-05-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.h (struct font) [WINDOWSNT]: Remove codepage member.
 -
 -      * w32font.h (w32font_open_internal): Update declaration.
 -
 -      * w32font.c (w32font_open_internal): Change last argument from
 -      w32font_info struct to font object.  Fill in font object from
 -      font_entity.  Get Outline metrics if possible.  Use them to
 -      calculate underline position and thickness.  Use xlfd name as name
 -      property.  Don't set codepage.
 -      (w32font_open): Pass font_object to w32font_open_internal.  Don't
 -      update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
 -      (w32font_draw): Use s->font.
 -      (clear_cached_metrics): Don't clear non-existent blocks.
 -
 -      * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
 -      font was not found.
 -      (x_draw_glyph_string): Use underline position and thickness from font.
 -
 -      * w32uniscribe.c (uniscribe_open): Pass font_object to
 -      w32font_open_internal.
 -
 -2008-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to delete all legacy font-handling codes, and
 -      make Emacs use only font-backends.
 -
 -      * Makefile.in: Delete USE_FONT_BACKEND conditionals.
 -      (frame.o, image.o, print.o): Depend on $(FONTSRC).
 -
 -      * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
 -
 -      * charset.h (Vcharset_non_preferred_head)
 -      (Vcurrent_iso639_language): Extern them.
 -
 -      * charset.c (Vcharset_non_preferred_head): New variable.
 -      (Vcurrent_iso639_language): New variable.
 -      (syms_of_charset): Declare it as a Lisp variable.
 -      (char_charset): Don't check non preferred charsets.  As a last
 -      resort, return charset_unicode.
 -      (Fset_charset_priority): Update Vcharset_non_preferred_head.
 -
 -      * composite.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -
 -      * dispextern.h (struct glyph_string): Change type of `font' to
 -      `struct font *'.
 -      (struct glyph_string): New member underline_position and
 -      underline_thickness.
 -      (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
 -      (struct face): Change type of `font' to `struct font *'.  Remove
 -      members `font_name', `font_info_id'.
 -      (per_char_metric, encode_char): Delete externs.
 -      (calc_pixel_width_or_height): Adjust the prototype.
 -
 -      * emacs.c (enable_font_backend): Delete extern.
 -      (main): Don't set enable_font_backend.  Don't check the command
 -      line argument "-disable-font-backend".
 -
 -      * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
 -      (enum font_property_index): New members FONT_DPI_INDEX,
 -      FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
 -      FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
 -      FONT_OBJECT_MAX.  Delete FONT_FRAME_INDEX.
 -      (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
 -      (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
 -      (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
 -      (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
 -      (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
 -      (struct font_spec, struct font_entity): New structs.
 -      (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
 -      (struct font): Many members from old "struct font_info" moved to
 -      here.  Members font and entity deleted.
 -      (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
 -      the new font-related objects.
 -      (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
 -      (CHECK_FONT_GET_OBJECT): Likewise.
 -      (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
 -      (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
 -      (struct font_driver): New members case_sensitive anc check.  Type
 -      of the member list and open changed.
 -      (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
 -      (font_symbolic_width, font_find_object, font_get_spec)
 -      (font_set_lface_from_name): Delete extern.
 -      (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
 -
 -      * font.c: Include <strings.h>.
 -      (enable_font_backend): Delete it.
 -      (Qfont_spec, Qfont_entity, Qfont_object): New variables.
 -      (CHECK_VALIDATE_FONT_SPEC): Delete it.
 -      (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
 -      (null_string): Delete it.
 -      (null_vector): Make it static.
 -      (font_family_alist): Delete it.
 -      (Qnormal): Extern it.
 -      (QCextra, QClanguage): Delete it.
 -      (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
 -      (font_make_spec, font_make_entity, font_make_object)
 -      (font_intern_prop): Renamed from intern_downcase.  Don't downcase
 -      the string.  Callers changed.
 -      (font_pixel_size): Adjusted for the format change of font-related
 -      objects.
 -      (prop_name_to_numeric, prop_numeric_to_name): Delete them.
 -      (font_style_to_value, font_style_symbolic): New function.
 -      (build_font_family_alist): Delete it.
 -      (font_registry_charsets): Use Fassoc_string instead of
 -      assq_no_quit.
 -      (font_prop_validate_symbol): Don't return null_string.
 -      (font_prop_validate_style): Adjusted for the change of
 -      style-related values in a font vector.
 -      (font_property_table): Delete entries for QClanguage and
 -      QCantialias, add entries for QCavgwidth.
 -      (get_font_prop_index): Delete the 2nd argument FROM.
 -      (font_prop_validate): Arguments changed.
 -      (font_put_extra): Adjusted for the change of font-related objects.
 -      (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
 -      (font_parse_fcname, font_unparse_fcname)
 -      (font_prepare_composition): Likewise.
 -      (font_parse_family_registry): Renamed from font_merge_old_spec.
 -      (otf_open): Delete the 1st arg entity.
 -      (font_otf_capability): Adjusted for the above change.
 -      (font_score): New arg alternate_families.  Adjusted for the change
 -      of font-related objects.
 -      (font_sort_entites): New arg best_only.
 -      (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
 -      Delete them.
 -      (font_match_p): Check alternate families.
 -      (font_find_object): Delete it.
 -      (font_check_object): New function.
 -      (font_clear_cache): Adjusted for the change of font-related objects.
 -      (font_delete_unmatched): New arg.
 -      (font_list_entities): Call font_driver->list with a spec that
 -      doesn't specify style-related properties.
 -      (font_matching_entity): Arguments changed.  Caller changed.
 -      (font_open_entity): Adjusted for the change of font-related objects.
 -      (font_close_object, font_has_char, font_encode_char)
 -      (font_get_name, font_get_spec): Likewise.
 -      (font_spec_from_name, font_clear_prop, font_update_lface):
 -      New functions.
 -      (font_find_for_lface, font_open_for_lface, font_load_for_lface)
 -      (font_prepare_for_face, font_done_for_face, font_open_by_name)
 -      (font_at): Adjusted for the change of font-related objects.
 -      (font_range): New function.
 -      (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
 -      (Ffont_xlfd_name): Adjusted for the change of font-related objects.
 -      (Fcopy_font_spec, Fmerge_font_spec): New function.
 -      (Ffont_family_list): Renamed from list-families.
 -      (Finternal_set_font_style_table): Arguments changed.
 -      (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
 -      (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
 -      change of font-related objects.
 -      (syms_of_font): Delete "ifdef USE_FONT_BACKEND".  DEFSYM new symbols.
 -
 -      * fontset.h (struct font_info): Delete it.  Most members go to
 -      struct font.
 -      (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
 -      (enum FONT_SPEC_INDEX): Delete it.
 -      (font_info, list_fonts_func, load_font_func, query_font_func)
 -      (set_frame_fontset_func, find_ccl_program_func)
 -      (get_font_repertory_func, new_fontset_from_font_name): Delete
 -      externs.
 -      (fontset_from_font_name): Extern it.
 -      (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
 -      (FONT_INFO_FROM_FACE): Deleted.
 -      (face_for_font): Adjust prototype.
 -
 -      * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (get_font_info_func, list_font_func, load_font_func)
 -      (query_font_func, set_frame_fontset_func, find_ccl_program_func)
 -      (get_font_repertory_func): Delete them.
 -      (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
 -      (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
 -      (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
 -      (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
 -      (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
 -      (fontset_compare_rfontdef): New function.
 -      (reorder_font_vector): Remove the argument CHARSET-ID.  Sort
 -      rfont-defs by qsort.  Adjusted for the change of font-group vector.
 -      (load_font_get_repertory): Deleted.
 -      (fontset_find_font): Use new macros to ref/set elements of
 -      font-def and rfont-def.
 -      (fontset_font): Fix the timing of remembering that no font for C.
 -      (free_face_fontset): Do nothing if the face has no fontset.
 -      (face_suitable_for_char_p): Use new macros to ref/set elements of
 -      rfont-def.
 -      (face_for_char): Likewise.  Call face_for_char with font_object.
 -      (fs_load_font): Delete.  Delete #pragma surrounding it.
 -      (fs_query_fontset): Use strcasecmp instead of strcmp.
 -      (generate_ascii_font_name): Adjusted for the format change of
 -      font-spec.
 -      (Fset_fontset_font): Likewise.  Use new macros to set elements of
 -      font-def.
 -      (Fnew_fontset): Use font_unparse_xlfd to generate
 -      FONTSET_ASCII (fontset).
 -      (new_fontset_from_font_name): Deleted.
 -      (fontset_from_font): Renamed from new_fontset_from_font.  Check if
 -      a fontset is already created for the font.  FIx updating of
 -      Vfontset_alias_alist.
 -      (fontset_ascii_font): Deleted.
 -      (Ffont_info): Adjusted for the format change of font-spec.
 -      (Finternal_char_font): Likewise.
 -      (Ffontset_info): Likewise.
 -      (syms_of_fontset): Don't check load_font_func.
 -
 -      * fns.c (internal_equal): Handle PREV_FONT.
 -
 -      * frame.h: Delete USE_FONT_BACKEND conditional.
 -
 -      * frame.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (x_set_font): Call x_new_font, not x_new_fontset2.
 -      (x_set_font_backend): Use FRAME_FONT macro to check if a font is
 -      already set for the frame.
 -
 -      * ftfont.c (ftfont_pattern_entity): Argument FRAME removed.  Make
 -      a font-entity by font_make_entity.  Use font_intern_prop instead
 -      of intern_downcase.  Use FONT_SET_STYLE to set a style-related
 -      font property.  If a font is scalable, set avgwidth property to 0.
 -      Set font-entity property by font_put_extra.
 -      (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
 -      (ffont_driver): Adjusted for the change of struct font_driver.
 -      (ftfont_spec_pattern): New function.
 -      (ftfont_list): Return a list, not vector.
 -      (ftfont_match): Use ftfont_spec_pattern to get a pattern.
 -      (ftfont_list_family): Don't downcase names.
 -      (ftfont_free_entity): Deleted.
 -      (ftfont_open): Return a font-object.  Adjusted for the change of
 -      struct font.  Get underline_thickness and underline_position from
 -      font property.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (ftfont_close): Don't free `struct font'.
 -      (ftfont_has_char): Adjusted for the format change of font-entity.
 -      (ftfont_encode_char, ftfont_text_extents): Likewise.
 -
 -      * ftxfont.c (ftxfont_list): Return a list, not vector.
 -      (ftxfont_open): Return a font-object.  Adjusted for the change of
 -      struct font.  Get underline_thickness and underline_position from
 -      font property.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
 -      (ftxfont_draw): Adjusted for the change of struct font.
 -
 -      * image.c (image_ascent): Don't include "charset.h".  Include
 -      "character.h" and "font.h".
 -
 -      * lisp.h (enum pvec_type): New member PREV_FONT.
 -      (Fassoc_string): EXFUN it.
 -
 -      * print.c: Include font.h.
 -      (print_object): Handle font-related objects.
 -
 -      * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (handle_auto_composed_prop): Do nothing if it->f is not on a
 -      window system.  Check how many following characters can be
 -      displayed by the same font.
 -      (calc_pixel_width_or_height): Type of the 4th arg is changed to
 -      'struct font *'.
 -      (get_char_face_and_encoding): Assign the whole encoding task to
 -      the `encode-char' method of a font driver.
 -      (fill_composite_glyph_string): Adjusted for the change of `struct
 -      face' and `struct glyph_string'.
 -      (fill_glyph_string): Likewise.
 -      (get_per_char_metric): Arguments changed.
 -      (x_get_glyph_overhangs): Adjusted for the change of `struct face'
 -      and `struct glyph_string'.
 -      (produce_stretch_glyph, calc_line_height_property)
 -      (x_produce_glyphs): Likewise.
 -
 -      * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Use
 -      FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
 -      (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
 -      (Qp): Extern them.
 -      (clear_font_table, load_face_font, xlfd_lookup_field_contents):
 -      Deleted.
 -      (struct font_name): Deleted.
 -      (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
 -      (compare_fonts_by_sort_order): New function.
 -      (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
 -      (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
 -      Deleted.
 -      (Fx_family_fonts): Use font_list_entities, and sort fonts by
 -      compare_fonts_by_sort_order.
 -      (Fx_font_family_list): Call Ffont_family_list.
 -      (face_numeric_value, face_numeric_weight, face_numeric_slant)
 -      (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
 -      (face_symbolic_slant, face_symbolic_swidth)
 -      (split_font_name_into_vector, build_font_name_from_vector)
 -      (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
 -      (font_rescale_ratio, split_font_name, build_font_name)
 -      (free_font_names, sort_fonts, x_face_list_fonts)
 -      (face_font_available_p, sorted_font_list, cmp_font_names)
 -      (font_list_1, concat_font_list, font_list, remove_duplicates):
 -      Deleted.
 -      (Fx_list_fonts): Use Ffont_list.
 -      (LFACE_AVGWIDTH): Deleted.
 -      (check_lface_attrs): Don't check LFACE_AVGWIDTH.  Check LFACE_FONT
 -      by FONTP.
 -      (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
 -      (set_lface_from_font_name): Delete it.
 -      (set_lface_from_font): Renamed from
 -      set_lface_from_font_and_fontset.  Caller changed.  Don't set
 -      LFACE_AVGWIDTH.  Use FONT_XXX_FOR_FACE to get a symbol suitable
 -      for face.
 -      (merge_face_vectors): Copy font-spec if necessary.
 -      Clear properties of the font-spec if necessary.
 -      (merge_face_ref): Clear properties of the font-spec if necessary.
 -      (Finternal_set_lisp_face_attribute): Likewise.
 -      (set_font_frame_param): Use font_load_for_lface to load a
 -      font-object, and call Fmodify_frame_parameters with it.
 -      (x_update_menu_appearance): Don't check LFACE_AVGWIDTH.  Get XLFD
 -      font name by Ffont_xlfd_name.
 -      (Finternal_lisp_face_attribute_values): Don't check QCweight,
 -      QCslant, and QCwidth.
 -      (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
 -      (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
 -      Compare fonts by EQ.
 -      (lookup_non_ascii_face): Deleted.
 -      (face_for_font): The 2nd argument changed.
 -      (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
 -      Check atomic font properties by case insensitive.
 -      (realize_non_ascii_face): Set face->overstrike correctly.
 -      (realize_x_face): Likewise.  Check if LFACE_FONT is a font_object.
 -      (dump_realized_face): Get font name from
 -      font->props[FONT_NAME_INDEX].  Don't print font_info_id.
 -
 -      * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (xic_create_xfontset): Original code deleted and renamed from
 -      xic_create_xfontset2.  Use FRAME_FONT, not FRAME_FONT_OBJECT.
 -      (x_make_gc): Don't set GCFont in GCs.
 -      (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
 -      opened by "fixed".
 -      (syms_of_xfns): Don't set get_font_info_func, load_font_func,
 -      find_ccl_program_func, query_font_func, set_frame_fontset_func,
 -      get_font_repertory_func.
 -
 -      * xfont.c: Include <stdlib.h> and "ccl.h".
 -      (struct xfont_info): New structure.
 -      (xfont_query_font): Deleted.
 -      (xfont_find_ccl_program): Renamed from x_find_ccl_program and
 -      moved from xterm.c.
 -      (xfont_driver): Adjusted for the change of struct font_driver.
 -      (compare_font_names): New function.
 -      (xfont_list_pattern): Sort font names case insensitively.  Make
 -      font_entity by calling font_make_entity.  Avoid auto-scaled fonts.
 -      (xfont_list): Return a list, not vector.
 -      (xfont_match): If the font doesn't have QCname property, generate
 -      a name from the other font properties.
 -      (xfont_open): Return a font-object.  Adjusted for the change of
 -      struct font.  Get underline_thickness and underline_position from
 -      font property.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (xfont_close): Don't free struct font.
 -      (xfont_prepare_face): Adjusted for the change of struct font.
 -      (xfont_done_face): Deleted.
 -      (xfont_has_char): Adjusted for the change of struct font.
 -      (xfont_encode_char, xfont_draw): Likewise.
 -      (xfont_check): New function.
 -
 -      * xftfont.c (xftfont_list): Adjusted for the change of `list'
 -      callback function.
 -      (xftfont_match): Adjusted for the format change of font-entity.
 -      (xftfont_open): Adjusted for the format change of font-entity and
 -      font-object.  Adjusted for the change of struct font.  Return a
 -      font-object.  Don't update dpyinfo->smallest_font_height and
 -      dpyinfo->smallest_char_width.
 -      (xftfont_close): Block input while calling XftFontClose.
 -      (xftfont_prepare_face): Don't block input while calling
 -      xftfont_get_colors.  Adjusted for the change of struct font.
 -      (xftfont_shape): Return value of error case fixed.
 -
 -      * xrdb.c (x_load_resources): Don't setup a fontset resource.
 -
 -      * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.
 -      (FONT_WIDTH): Return (f)->max_width.
 -      (struct x_display_info): Delete member `font'.
 -      (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
 -      (x_find_ccl_program, x_get_font_repertory): Delete externs.
 -      (struct x_output): Change type of `font' to `struct font *'.
 -
 -      * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Don't include ccl.h.
 -      (x_per_char_metric, x_encode_char): Deleted.
 -      (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
 -      (x_compute_glyph_string_overhangs): Adjusted for the change of
 -      `struct face'.
 -      (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Likewise.
 -      (x_draw_glyph_string): Likewise.  Use font->underline_position and
 -      font->underline_thickness.
 -      (x_new_font): Renamed from x_new_fontset2.
 -      (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
 -      (x_check_font): Call `check' method of a font driver.
 -      (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
 -      (x_query_font, x_get_font_repertory): Deleted.
 -      (x_find_ccl_program): Renamed and moved to xfont.c.
 -      (x_redisplay_interface): Adjusted for the change of `struct
 -      redisplay_interface'.
 -
 -      * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Surround non-used
 -      code by "#ifdef OLD_FONT" and "endif".
 -      (Fw32_select_font): Use FONT_COMPAT to get old font structure.
 -
 -      * w32font.h (struct w32font_info): New member.
 -      (FONT_COMPAT): New macro.
 -      (w32font_open_internal): Prototype adjusted.
 -
 -      * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
 -      OLD_FONT" and "endif".
 -
 -      * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.
 -      (w32font_open): Return a font-object.  Make a font-object by
 -      font_make_object.  Adjusted for the change of struct w32font_info.
 -      (w32font_close): Don't free struct font.  Adjusted for the change
 -      of struct w32font_info.
 -      (w32font_encode_char, w32font_text_extents, w32font_draw):
 -      Adjusted for the change of struct w32font_info.
 -      (w32font_draw): Likewise.
 -      (w32font_list_internal): Return a list, not vector.
 -      (w32font_open_internal): Change the 4th arg to font-object.
 -      Adjusted for the change of struct w32font_info and font-object format.
 -      (add_font_name_to_list): Don't downcase names.
 -      (w32_enumfont_pattern_entity): Make a font-entity by
 -      font_make_entity.  Adjusted for the format change of font-entity.
 -      Use FONT_SET_STYLE to set a style-related font property.  If a
 -      font is scalable, set avgwidth property to 0.  Set font-entity
 -      property by font_put_extra.
 -      (font_matches_spec): Adjusted for the format change of font-entity.
 -      (w32_weight_table, w32_decode_weight): New variables.
 -      (w32_encode_weight): New function.
 -      (fill_in_logfont): Adjusted for the format change of font-spec.
 -      (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
 -      weight value.
 -      (w32font_driver): Adjusted for the change of struct font_driver.
 -
 -      * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Surround non-used
 -      code by "#ifdef OLD_FONT" and "endif".
 -      (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
 -      (FONT_AVG_WIDTH): Adjusted for the change of struct font.
 -
 -      * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
 -      conditionals.  Don't check enable_font_backend.  Delete all codes
 -      used only when USE_FONT_BACKEND is not defined.  Surround non-used
 -      code by "#ifdef OLD_FONT" and "endif".
 -
 -      * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
 -      (uniscribe_open): Return value changed to font-object.
 -      Adjusted for the format change of font-object.
 -      (uniscribe_otf_capability): Adjusted for the change of struct font.
 -      (add_opentype_font_name_to_list): Don't downcase names.
 -      (uniscribe_font_driver): Adjusted for the change of struct
 -      font_driver.
 -
 -2008-05-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (update_frame_1): Check if tty output is still valid
 -      before flushing it.
 -
 -2008-05-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
 -      to Gtk+ menus.
 -
 -2008-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Tweak the code so as to always do it
 -      in a single pass.  Tighten the scope of some variables.
 -
 -      * dired.c (Qdefault_directory): New var.
 -      (file_name_completion): Use it instead of Fexpand_file_name.
 -      (syms_of_dired): Initialize it.
 -
 -2008-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (double_dollars): Remove dead code.
 -
 -2008-05-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
 -      Mention w32-get-true-file-attributes in doc string.
 -
 -      * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
 -
 -2008-05-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fread_file_name): Remove reference to insdef, deleted
 -      2008-04-23.
 -
 -2008-05-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Support for reporting owner and group of each file on MS-Windows:
 -      * dired.c (stat_uname, stat_gname): New functions, with special
 -      implementation for w32.
 -      (Ffile_attributes): Use them instead of getpwuid and getgrgid.
 -
 -      * w32.c: Rename the_passwd_* to dflt_passwd_*.
 -      (dflt_group_name): New static variable.
 -      (dflt_group): Rename from the_group.
 -      (init_user_info): Init dflt_group fields.  Get user's group name
 -      from LookupAccountSid.
 -      (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
 -      (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
 -      New initialization states.
 -      (globals_of_w32): Initialize them to zero.  Initialize the default
 -      group name to "None".
 -      (GetFileSecurity_Name): New global var, the name of the function
 -      to call for GetFileSecurity.
 -      (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
 -      (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
 -      (get_file_security, get_security_descriptor_owner)
 -      (get_security_descriptor_group, is_valid_sid)
 -      (get_file_security_desc, get_rid, get_name_and_id)
 -      (get_file_owner_and_group): New functions.
 -      (stat): Use get_file_security_desc and get_file_owner_and_group to
 -      report the owner and primary group of each file.  Don't ignore the
 -      high 32 bits of file's size, now that st_size is 64-bit wide.
 -      Fix test when to get true file attributes.
 -      (init_user_info): Use get_rid instead of equivalent inline code.
 -      (fstat): Don't ignore the high 32 bits of file's size.
 -
 -2008-05-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (png_load): Use correct bit-depth for setting background
 -      color.
 -
 -2008-05-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
 -      epa-hook.elc.
 -
 -2008-05-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_match_p): Don't use `iff' in docstring.
 -
 -2008-05-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * macfns.c (Fx_create_frame): Make a copy of frame parameters
 -      because the original parameters are in pure storage now.
 -      (mac_window): Remove unused params.  Update callers.
 -
 -2008-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (substitute_object_recurse): Use lower-level primitives.
 -      Don't signal errors when traversing sub-char-tables.
 -      Don't loop over all the possible characters when traversing char-tables.
 -
 -      * print.c (print_preprocess): Add sub-char-tables to the print-table,
 -      just like we do in print.c.
 -
 -2008-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Ftry_completion): Remove code left over from when we used
 -      scmp instead of Fcompare_strings.
 -
 -2008-05-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
 -
 -2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
 -      Create bitmap context in native byte order.
 -
 -      * macterm.c (XDrawLine)
 -      (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
 -      context in native byte order.
 -
 -2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * config.in: Regenerate.
 -
 -      * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
 -      New definitions for Image I/O support.
 -      (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
 -      (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
 -      [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
 -      (mac_data_provider_release_data, image_load_image_io)
 -      [USE_MAC_IMAGE_IO]: New functions.
 -      (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
 -      (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
 -      (init_image_func_pointer) [MAC_OSX]: Remove function.
 -      (image_load_quartz2d) [MAC_OSX]: Check availability of
 -      CGImageCreateWithPNGDataProvider at compile time.
 -      Use lowercase `false' for boolean constant.
 -      (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
 -      Use image_load_image_io.
 -      (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
 -      Don't check MyCGImageCreateWithPNGDataProvider.
 -      (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
 -      Don't call init_image_func_pointer.
 -
 -      * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
 -
 -      * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
 -      Make variable non-static.
 -      (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
 -      [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
 -
 -      * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
 -      (RED_FROM_ULONG): Mask off higher bits.
 -      (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
 -
 -      * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
 -      Include AvailabilityMacros.h.
 -      (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
 -      (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
 -
 -2008-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Fset_char_table_range): If range is t, really set all
 -      chars to that value.
 -
 -2008-05-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Don't allow the device number become
 -      negative.
 -
 -2008-05-02  Daiki Ueno  <ueno@unixuser.org>
 -
 -      * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
 -
 -2008-05-02  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
 -      (Fread_variable, Fread_buffer, Fcompleting_read): Document the
 -      DEFAULT argument as a list of default values in docstrings.
 -
 -2008-05-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1210000.
 -
 -2008-05-01  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * dispnew.c (change_frame_size_1): Preserve small windows when
 -      shrinking frames by calling set_window_height|width with third
 -      arg 2.
 -
 -      * window.h (struct window): Replace field too_small_ok by field
 -      resize_proportionally.
 -
 -      * window.c (make_window): Initialize resize_proportionally.
 -      (enlarge_window): Temporarily set resize_proportionally to make
 -      sure that shrink_windows does scale the window proportionally.
 -      (shrink_windows): When window has resize_proportionally set try
 -      to shrink it proportionally by stealing from other windows.
 -      (struct saved_window, Fset_window_configuration)
 -      (compare_window_configurations): Handle resize_proportionally.
 -      (WINDOW_TOTAL_SIZE): New macro.
 -      (window_min_size, shrink_windows, size_window): Use it.
 -      (check_min_window_sizes): Remove.  Invalid values of
 -      window-min-height|width are handled by window_min_size_2 now.
 -      (size_window, Fsplit_window, enlarge_window)
 -      (adjust_window_trailing_edge, grow_mini_window): Don't call
 -      check_min_window_sizes.
 -      (window_min_size_2, window_min_size_1, window_min_size):
 -      New argument safe_p for retrieving "safe" minimum sizes.
 -      (Fdisplay_buffer, Fsplit_window, enlarge_window)
 -      (adjust_window_trailing_edge, grow_mini_window):
 -      Adjust arguments of window_min_size... functions.
 -      (shrink_windows): Argument min_size removed.  New argument
 -      safe_p allows shrinking windows to their safe minimum sizes.
 -      Calculate minimum size and decide whether a window shall be
 -      deleted for each window individually.
 -      (size_window): When nodelete_p equals 2, tell shrink_windows to
 -      delete windows only if their new minimum size is no more safe.
 -      (shrink_window_lowest_first): Call window_min_size_1 to make
 -      sure to preserve modeline of bottom-most window when resizing
 -      the minibuffer.
 -      (Fset_window_configuration, Fcurrent_window_configuration)
 -      (compare_window_configurations): Do not handle
 -      window-min-height|width any more.
 -      (syms_of_window): Clarify window-min-height|width doc-strings.
 -
 -2008-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Fix up the encoding/decoding issue
 -      some more.  Copy some of the code from Ftry_completions.
 -      Remove special case code that dates back to initial revision when the
 -      slash was only added when necessary and that can't trigger nowadays.
 -
 -2008-04-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate): Signal `error' instead of `font'.
 -
 -2008-04-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_battery_status): New defun.
 -      (syms_of_w32fns): Defsubr it.
 -
 -2008-04-28  Andreas Schwab  <schwab@suse.de>
 -
 -      * dired.c (file_name_completion): Fix another mixing of encoded
 -      and decoded names.
 -
 -2008-04-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
 -
 -2008-04-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fringe.c (Fdefine_fringe_bitmap): Doc fix.
 -
 -2008-04-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * dired.c (file_name_completion): Fix inappropriate mixing of
 -      encoded and decoded names.
 -
 -      * xterm.c (XTread_socket): Fix use of uninitialized variable.
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1200000.
 -
 -2008-04-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
 -      2008-03-31, it's not needed anymore with `struct stat' definition
 -      on nt/inc/sys/stat.h.  Undo changes from 2007-01-12 and 2007-01-13
 -      for the same reasons.
 -
 -2008-04-25  Dennis Gilmore  <ausil@fedoraproject.org>  (tiny change)
 -
 -      * m/sparc.h: Additional redefinitions for GNU/Linux.
 -
 -2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
 -      (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
 -      (Qmouse_drag_overlay) [MAC_OSX]: New variable.
 -      (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
 -      (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
 -      (mac_ax_selected_text_range) [MAC_OSX]: New functions.
 -      (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Likewise.
 -
 -      * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
 -      (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
 -      (mac_ax_number_of_characters): Add externs.
 -      (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
 -      [USE_MAC_TSM]: Likewise.
 -      (mac_handle_text_input_event) [MAC_OSX]:
 -      Handle kEventTextInputOffsetToPos for no active input area case.
 -      Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
 -      (mac_handle_document_access_event)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
 -      (install_application_handler) [MAC_OSX]: Register handlers for
 -      kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
 -      (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Register mac_handle_document_access_event.
 -
 -      * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
 -      Make functions non-static.
 -
 -2008-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
 -      (read_file_name_completion_ignore_case, insert_default_directory)
 -      (Qdefault_directory): Move to minibuffer.el.
 -      (Fread_file_name): Call the new `read-file-name' instead.
 -
 -2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
 -      Make function non-static.
 -      (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
 -      Remove function.
 -      (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
 -      Move to mactoolbox.c.
 -      (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
 -
 -      * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
 -      (mac_rect_make): New macro.
 -
 -      * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
 -      instead of float.
 -      (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
 -      (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
 -      (XSetBackground) [USE_CG_DRAWING]: Likewise.
 -      (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
 -      CGRectMake.
 -      (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
 -      (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
 -      (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
 -      (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
 -      instead of WindowRef in argument type.
 -      (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
 -      (mac_invert_rectangle): Use CGContextSetBlendMode if available.
 -      (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
 -      instead of DISPLAY.  All uses changed.
 -      (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
 -      (x_calc_absolute_position): Simplify so as not to use
 -      FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
 -
 -      * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
 -      instead of WindowRef in argument type.
 -      (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
 -      [TARGET_API_MAC_CARBON]: Remove externs.
 -      (create_apple_event, mac_event_parameters_to_lisp)
 -      [TARGET_API_MAC_CARBON]: Add externs.
 -
 -      * mactoolbox.c (Vmac_ts_script_language_on_focus)
 -      (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
 -      (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
 -      is clicked.
 -      (x_activate_menubar): Remove extern for saved_menu_event_location.
 -      (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
 -      Move from mac.c.
 -
 -2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
 -      [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
 -
 -2008-04-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
 -      attributes only for local files.
 -
 -      * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
 -      default to Qlocal.
 -
 -2008-04-22  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (Fswitch_to_buffer): Change interactive spec to call
 -      read-buffer-to-switch instead of using the letter "B".
 -
 -2008-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Qdefault_directory): New variable.
 -      (Fread_file_name): Use it to pass `dir' to the completion functions.
 -
 -2008-04-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
 -
 -2008-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Vpre_help_message): Remove.
 -      (show_help_echo): Remove default C code.
 -
 -      * dired.c (directory_files_internal, file_name_completion):
 -      Only call ENCODE_FILE if the string is indeed decoded.
 -
 -2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (TOOLKIT_DEFINES): Remove.
 -      (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
 -
 -2008-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (MAC_OBJ): Add mactoolbox.o.
 -      (mactoolbox.o): New target.
 -
 -      * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
 -      Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
 -
 -      * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
 -      Use mac_set_frame_window_background instead of XSetWindowBackground.
 -      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
 -      Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
 -      (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
 -      instead of SetWindowTitleWithCFString.
 -      (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
 -      Move function to mactoolbox.c.
 -      (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
 -      Use mac_set_window_modified instead of SetWindowModified.
 -      Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
 -      (mac_window, x_create_tip_frame): Use mac_create_frame_window.
 -      (Fx_focus_frame): Use mac_front_non_floating_window instead of
 -      FrontNonFloatingWindow.  Use mac_activate_window instead of
 -      ActivateWindow.  Use mac_active_non_floating_window instead of
 -      ActiveNonFloatingWindow.
 -      (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
 -      Use mac_show_hourglass and mac_hide_hourglass.
 -      (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
 -      instead of GetGlobalMouse.
 -      (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
 -      instead of MoveWindow/SizeWindow/ShowWindow, respectively.
 -      Use mac_bring_window_to_front instead of BringToFront.
 -      (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
 -      mactoolbox.c.
 -      (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
 -      mac_file_dialog in mactoolbox.c.  Use mac_file_dialog.
 -      (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
 -      mactoolbox.c.
 -
 -      * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
 -      (XtPointer): Move typedef from macmenu.c.
 -      (enum button_type): Move enum from macmenu.c.
 -      (widget_value): Move typedef from macmenu.c.
 -      (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
 -      (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
 -      (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
 -      (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
 -      (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
 -      (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
 -      (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
 -      (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
 -      (Selection): Move typedef from macselect.c.
 -      (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
 -      macterm.c.
 -      (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
 -      (mac_is_window_collapsed, mac_bring_window_to_front)
 -      (mac_send_window_behind, mac_hide_window, mac_show_window)
 -      (mac_collapse_window, mac_front_non_floating_window)
 -      (mac_active_non_floating_window, mac_activate_window)
 -      (mac_move_window_structure, mac_move_window, mac_size_window)
 -      (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
 -
 -      * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
 -      (enum mac_menu_kind): Move enum to mactoolbox.c.
 -      (min_menu_id): Move variable to mactoolbox.c.
 -      (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
 -      (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
 -      (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
 -      (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
 -      [TARGET_API_MAC_CARBON]: Likewise.
 -      (XtPointer): Move typedef to macgui.h.
 -      (enum button_type): Move enum to macgui.h.
 -      (widget_value): Move typedef to macgui.h.
 -      (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
 -      (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
 -      (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
 -      (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
 -      (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
 -      (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
 -      (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
 -      (popup_activated_flag): Make variable non-static.
 -      (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
 -      (add_menu_item, fill_menu, dispose_menus):
 -      Move functions to mactoolbox.c.
 -      (restore_show_help_function, menu_target_item_handler)
 -      (install_menu_target_item_handler, mac_handle_dialog_event)
 -      (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
 -      [TARGET_API_MAC_CARBON]: Likewise.
 -      (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
 -      (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
 -      (find_and_call_menu_selection, name_is_separator): Make function
 -      non-static.
 -      (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
 -      to mactoolbox.c.
 -      (set_frame_menubar): Don't call install_menu_quit_handler.
 -      (menu_item_selection): New variable.
 -      (mac_menu_show): Use create_and_show_popup_menu.
 -      (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
 -      selection but set variable menu_item_selection.  All uses changed.
 -      (mac_fill_menubar): Rename from fill_menubar.  All uses changed.
 -      Call install_menu_quit_handler.  Move to mactoolbox.c.
 -
 -      * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
 -      (Selection): Move typedef to macgui.h.
 -      (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
 -      (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
 -      Make variables non-static.
 -      (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_handle_apple_event, cleanup_all_suspended_apple_events):
 -      Make functions non-static.
 -      (Vmac_service_selection) [MAC_OSX]: Likewise.
 -      (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
 -      (mac_valid_selection_target_p, mac_clear_selection)
 -      (mac_get_selection_ownership_info, mac_valid_selection_value_p)
 -      (mac_put_selection_value, mac_selection_has_target_p)
 -      (mac_get_selection_value, mac_get_selection_target_list)
 -      (init_apple_event_handler, install_drag_handler, remove_drag_handler):
 -      Move functions to mactoolbox.c.
 -      (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
 -      Likewise.
 -      (copy_scrap_flavor_data, mac_handle_service_event)
 -      (install_service_handler) [MAC_OSX]: Likewise.
 -      (syms_of_macselect) <Vmac_dnd_known_types>:
 -      Use mac_dnd_default_known_types.
 -
 -      * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
 -      Move to mactoolbox.c.
 -      (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
 -      (Fx_selection_owner_p): Add EXFUN.
 -      (install_window_handler, remove_window_handler, XSetWindowBackground):
 -      Remove externs.
 -      (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
 -      (x_raise_frame, x_lower_frame, mac_alert_sound_play)
 -      (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
 -      (mac_convert_frame_point_to_global, mac_set_frame_window_background)
 -      (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
 -      (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
 -      (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
 -      (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
 -      (create_and_show_popup_menu, mac_get_selection_from_symbol)
 -      (mac_valid_selection_target_p, mac_clear_selection)
 -      (mac_get_selection_ownership_info, mac_valid_selection_value_p)
 -      (mac_put_selection_value, mac_selection_has_target_p)
 -      (mac_get_selection_value, mac_get_selection_target_list): Add externs.
 -      (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
 -      (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
 -      (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_run_loop_run_once) [MAC_OSX]: Likewise.
 -      (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
 -      (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
 -      (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
 -      (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
 -
 -      * mactoolbox.c: New file.
 -
 -2008-04-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
 -
 -2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.c (Fmultibyte_char_to_unibyte):
 -      Return latin1 chars unchanged.
 -
 -      * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
 -      relocated if it points to `name'.
 -
 -2008-04-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * data.c (Faset): Allow setting a multibyte character in an
 -      ASCII-only unibyte string.
 -
 -      * lisp.h (STRING_SET_MULTIBYTE): New macro.
 -
 -2008-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
 -      done in config.h.
 -
 -2008-04-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (Fchar_bytes, Fchar_width, Fstring_width)
 -      (Fchar_direction): Add usage in the docstring.
 -
 -2008-04-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Remove always-true checks.
 -
 -2008-04-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Set max_bounds.descent in
 -      compatibility struct, for better underline positioning.
 -
 -2008-04-13  David Hansen  <david.hansen@gmx.net>
 -
 -      * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
 -      string.
 -
 -2008-04-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/hp800.h (XUINT, XSET): Remove.
 -
 -2008-04-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
 -      previous change.
 -
 -2008-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
 -      Relocate `nm' after calling DECODE_FILE, in case the GC was run.
 -
 -2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.h (map_keymap_canonical): Declare.
 -      * xmenu.c (single_keymap_panes): Use it.
 -
 -2008-04-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * eval.c (Fdefvaralias): If the alias is bound and the target is not,
 -      set the target's value to that of the alias.
 -
 -2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (set_tty_color_mode): Left over typo.
 -
 -2008-04-10  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
 -      only after check for file name handler functions.  Signal, when
 -      native functionality is not supported.
 -      (syms_of_fileio): Declare it unconditionally.
 -
 -2008-04-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
 -      (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
 -
 -      * w32.c (logon_network_drive): Also logon to remote drives that
 -      are mapped to drive letters.
 -
 -2008-04-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * xdisp.c (truncate-partial-width-windows): Doc fix.
 -
 -2008-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
 -      Move functions to minibuffer.el.
 -      (syms_of_fileio): Don't declare them.
 -
 -2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
 -      (syms_of_minibuf): Remove its initialization.
 -
 -      * minibuf.c (temp_echo_area_glyphs): Remove unused function.
 -
 -2008-04-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
 -
 -2008-04-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (distclean): Delete makefile too.
 -      (maintainer-clean): New target.
 -
 -      * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
 -
 -      * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
 -      for new font backend and composite cases.
 -
 -2008-04-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
 -      Most of the code moved to run_timers.
 -      (do_pending_atimers): Call run_timers.
 -      (run_timers): New function.
 -
 -      * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
 -      run atimers.
 -
 -      * process.c (wait_reading_process_output): The same as above.
 -
 -2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (last_exact_completion): Remove variable.
 -      (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
 -      (complete_and_exit_1, complete_and_exit_2)
 -      (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
 -      (Fdisplay_completion_list, display_completion_list_1)
 -      (Fminibuffer_completion_help, Fself_insert_and_exit)
 -      (Fexit_minibuffer, Fminibuffer_message): Move functions to
 -      minibuffer.el.
 -      (syms_of_minibuf): Remove corresponding initializations.
 -
 -      * keyboard.c (Qdeactivate_mark): New var.
 -      (command_loop_1): Use it to call `deactivate-mark'.
 -      (syms_of_keyboard): Initialize it.
 -
 -      * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
 -      to another frame.
 -      * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
 -      Don't call set_tty_color_mode.
 -      (store_frame_param): Reset previous_frame rather than call
 -      set_tty_color_mode.
 -      * term.c (set_tty_color_mode): Rewrite.
 -      * dispextern.h (set_tty_color_mode): New type.
 -      * termchar.h (struct tty_display_info): Add `previous_color_mode'.
 -
 -2008-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
 -      for generic chars, which do not exist any more in emacs-unicode.
 -
 -2008-04-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * coding.c (detect_coding_emacs_mule)
 -      (Ffind_operation_coding_system): Fix typo.
 -
 -2008-04-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (SNAME): Extract only symbol name.
 -
 -      * w32font.h (struct w32_metric_cache): New struct.
 -      (w32font_info): Use it.
 -      (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
 -      (CACHE_BLOCKSIZE): New constants.
 -
 -      * w32font.c (Qja, Qko, Qzh): New symbols.
 -      (syms_of_w32font): Initialise them.
 -      (font_matches_spec): Use them to filter by language.
 -      (recompute_cached_metrics): Remove function.
 -      (compute_metrics, clear_cached_metrics): New functions.
 -      (w32font_encode_char): Use them to manage metric cache.
 -      (w32font_text_extents): Cache metrics for all glyphs on demand.
 -      Delay converting glyph indices to WORD until needed.
 -      (w32font_open_internal): Initialize metric cache to empty.
 -      (registry_to_w32_charset): Charset should always be a symbol.
 -      (fill_in_logfont, list_all_matching_fonts): Family should
 -      always be a symbol.
 -
 -2008-04-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
 -      Give up if glyph indices not supported.  Use uniscribe obtained
 -      ABC widths for individual metrics.  Map glyph clusters back to
 -      characters using fClusterStart flag.  Return number of glyphs
 -      produced, not chars processed.
 -      (uniscribe_shape): Map char at FROM to current glyph.
 -
 -2008-04-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
 -      Use SetMenuItemHierarchicalMenu.
 -
 -2008-04-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (pbm_load): Allow color values up to 65535.
 -      Throw an error if max_color_idx is outside the supported range.
 -      Report an error when image size is invalid.
 -      Read two bytes at a time when raw images have max_color_idx above 255.
 -
 -2008-04-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (readdir): If FindFirstFile/FindNextFile return in
 -      cFileName a file name that includes `?' characters, use the 8+3
 -      alias in cAlternateFileName instead.
 -
 -2008-04-05  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
 -      append "CCL: Quitted" when the CCL program is quitted.
 -      (setup_ccl_program): Initialize ccl->quit_silently to zero.
 -
 -      * ccl.h (struct ccl_program): New member quit_silently.
 -
 -2008-04-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * search.c (compile_pattern_1): Treat non-nil and non-string of
 -      search-spaces-regexp as nil.
 -
 -      * minibuf.c (Fassoc_string): Tweak docstring.
 -
 -2008-04-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Support inode numbers wider than 32
 -      bits.  Remove ugly WINDOWSNT-specific kludge introduced on
 -      2008-03-14 to force inode be positive.
 -
 -      * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
 -      _S_* ones, since we now use our own sys/stat.h.
 -      (stat, fstat): Don't mangle the inode number.
 -      (init_user_info): Don't restrict UID and GID to 0-60000 range.
 -
 -2008-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h (struct frame): Give one more bit to `visible' since we use
 -      values larger than 1 to indicate obscured frames on ttys.
 -
 -      * keymap.c (Qkeymap_canonicalize): New var.
 -      (Fmap_keymap_internal): New fun.
 -      (describe_map): Use keymap-canonicalize.
 -
 -      * undo.c (last_boundary_buffer, last_boundary_position): New vars.
 -      (Fundo_boundary): Set them.
 -      (syms_of_undo): Initialize them.
 -      (record_point): Use them instead of last_point_position*.
 -      (last_undo_buffer): Change type.
 -
 -2008-04-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Use font's ascent and descent.
 -      (recompute_cached_metrics): Don't set ascent and descent per char.
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Fix last change.
 -      (uniscribe_check_otf): Add GC protection before consing.
 -      Rearrange loop for counting features.
 -
 -2008-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
 -      buffer with byte-size of source buffer.
 -
 -2008-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callint.c (Fcall_interactively): Handle temporary region even
 -      when shift-select-mode is off.
 -
 -2008-04-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
 -
 -2008-04-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
 -      (CATEGORY_MASK_UTF_16): Likewise.
 -      (detect_coding_utf_16): Add heuristics to reject utf-16 for a
 -      binary file.
 -      (detect_coding): Add null-byte detection for a binary file.
 -      (detect_coding_system): Likewise.
 -
 -2008-04-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c: New file.
 -
 -      * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
 -
 -      * w32font.h (uniscribe_check_otf): Declare for w32font.c.
 -
 -      * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
 -      (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
 -      (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
 -      (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
 -      (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
 -      (Qphonetic): New symbols.
 -      (syms_of_w32font): Initialize them.
 -      (font_supported_scripts): Use them.
 -      (w32font_list_family): List all charsets.
 -      (w32font_text_extents, recompute_cached_metrics): Fix metric
 -      calculations.
 -      (w32_enumfont_pattern_entity): Make full_type a DWORD.
 -      Give opentype fonts their own format.
 -      (font_matches_spec): New arguments backend and logfont.
 -      Handle :otf spec for uniscribe backend.
 -      (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
 -      (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
 -
 -      * w32fns.c (Fx_create_frame): Conditionally register uniscribe
 -      font backend.
 -      (globals_of_w32fns): Initialize uniscribe font backend.
 -
 -      * makefile.w32-in (CONFIG_H): New variable.  Use it to clean up
 -      dependencies.
 -      (w32uniscribe.$(O)): New file to build.
 -      (FONT_OBJ): Include w32uniscribe.$(O).
 -      (LIBS): Add uniscribe libraries.
 -
 -      * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
 -
 -2008-04-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callint.c (Vshift_select_mode): New var.
 -      (Finteractive): Document new ^ spec.
 -      (Fcall_interactively): Call handle-shift-selection if the ^ spec
 -      is present.
 -
 -      * keyboard.c (Vthis_command_keys_shift_translated): New var.
 -      (command_loop_1): Avoid running the direct display versions of
 -      forward-char and backward-char if shift-selection may occur.
 -      (read_key_sequence): Set Vthis_command_keys_shift_translated if
 -      shift-translation takes place.
 -
 -      * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
 -      avoid clobbering by define-minor-mode.
 -
 -      * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
 -      (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
 -
 -      * syntax.c (Fforward_word): Add ^ interactive spec.
 -
 -      * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
 -      (Fscroll_right): Add ^ interactive spec.
 -
 -2008-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
 -
 -      * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
 -
 -      * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
 -
 -2008-03-31  Juri Linkov  <juri@jurta.org>
 -
 -      * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
 -
 -2008-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_set_geometry): Fix indentation.
 -      (xg_resize_outer_widget): Remove.
 -      (x_wm_size_hint_off): Fix indentation.
 -      (xg_frame_set_char_size): Call flush_and_sync after
 -      gtk_window_resize.
 -      (x_wm_set_size_hint): Pass NULL as geometry window to
 -      gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
 -      Add menu bar and tool bar height to base height.
 -      (xg_update_frame_menubar, free_frame_menubar)
 -      (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
 -      (update_frame_tool_bar, free_frame_tool_bar):
 -      Change xg_resize_outer_widget to xg_frame_set_char_size.
 -
 -2008-03-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
 -      (Fdbus_call_method): New parameter TIMEOUT.
 -      (dbus-send-signal): Optimize UNGCPRO call.
 -
 -2008-03-29  Juri Linkov  <juri@jurta.org>
 -
 -      * window.c (Fdisplay_buffer): Move call to
 -      Vsplit_window_preferred_function out of conditions that check
 -      if window is eligible for vertical splitting.
 -      When Vsplit_window_preferred_function is non-nil, call it and use
 -      its non-nil return value as window.  Otherwise, continue doing
 -      vertical splitting using Fsplit_window with arg horflag=nil.
 -      (syms_of_window) <Vsplit_window_preferred_function>: Change the
 -      default value from `split-window' to nil.
 -
 -2008-03-29  Juri Linkov  <juri@jurta.org>
 -
 -      * callint.c (Fcall_interactively): Revert 2008-03-16 change
 -      for interactive code letters 'b' and 'B'.
 -
 -2008-03-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
 -      multibyte string.
 -
 -2008-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (pending_funcalls): New var.
 -      (timer_check): Run it.
 -      (syms_of_keyboard): Initialize it.
 -      * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
 -      (Vdelete_terminal_functions): New vars.
 -      (syms_of_terminal): Initialize them.
 -      (Fdelete_terminal): Run delete-terminal-functions.
 -      * xdisp.c (safe_eval): Rewrite.
 -      (safe_call2): New fun.
 -      * frame.c (Qdelete_frame_functions): New var.
 -      (syms_of_frame): Initialize it.
 -      (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
 -      * lisp.h (safe_call2, pending_funcalls): Declare.
 -
 -2008-03-28  Andreas Schwab  <schwab@suse.de>
 -
 -      * indent.c (Fmove_to_column): Move declaration before statements.
 -
 -2008-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h (enum fullscreen_type): Give it a name.  Move it before use.
 -      (struct frame): Use bit fields for boolean vars.
 -
 -      * process.c (server_accept_connection): Simplify naming.
 -      (emacs_get_tty_pgrp): Use SDATA.
 -
 -      * coding.c (decode_coding_object): Fix last change.
 -
 -2008-03-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
 -
 -2008-03-27  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * charset.c (Fdefine_charset_internal): Change the way of
 -      registering charsets in Vcharset_order_list.
 -      (syms_of_charset): Make the charset `eight-bit' supplementary.
 -
 -2008-03-26  Alexandre Oliva  <aoliva@redhat.com>  (tiny change)
 -
 -      * regex.c (EXTEND_BUFFER): Change order of pointer addition
 -      operations, to avoid having the difference between pointers
 -      overflow.
 -
 -2008-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * indent.c (check_display_width): New fun.
 -      (scan_for_column): Use it.
 -
 -      * data.c (syms_of_data): Mark most-positive-fixnum and
 -      most-negative-fixnum as constants.
 -
 -      * xdisp.c (redisplay_internal): Reset selected_frame earlier.
 -
 -      * indent.c (scan_for_column): Extract from current_column_1.
 -      Merge with the same code from Fmove_to_column.
 -      (current_column_1, Fmove_to_column): Use it.
 -
 -2008-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (map_keymap_internal): New fun.
 -      (map_keymap): Use it.
 -      (Fmap_keymap_internal): New fun.
 -      (Fmap_keymap): Remove left-out test from before make_save_value.
 -
 -      * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
 -
 -      * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
 -      Use XCAR/XCDR.
 -
 -      * process.h (struct Lisp_Process): Remove filter_multibyte.
 -      * process.c (QCfilter_multibyte): Remove.
 -      (setup_process_coding_systems): Don't use filter_multibyte.
 -      (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
 -      (read_process_output): Don't adjust multibyteness to filter_multibyte.
 -      (Fset_process_filter_multibyte): Change the coding-system to
 -      approximate the previous behavior.
 -      (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
 -      coding-system.
 -
 -      * coding.c (decode_coding_object): When not decoding into a buffer,
 -      obey the coding system's preference of (uni|multi)byte.
 -
 -2008-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
 -      every char is changed and has a different byte-length.
 -      (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
 -      Fix int -> EMACS_INT.
 -
 -2008-03-23  David Hansen  <david.hansen@gmx.net>
 -
 -      * dbusbind.c (xd_read_message): Remove extra copying of message
 -      strings.  Check for NULL `interface' or `member'.
 -
 -2008-03-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (readdir): If FindFirstFile/FindNextFile return in
 -      cFileName a file name that includes `?' characters, use the 8+3
 -      alias in cAlternateFileName instead.
 -
 -2008-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
 -
 -2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
 -      (set_point, set_point_both): Use EMACS_INT.  Remove `buffer' arg,
 -      work on current_buffer only instead (that was already the case
 -      for some of the code anyway).
 -      * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
 -      (temp_set_point, temp_set_point_both): Use EMACS_INT.
 -      (SET_PT, SET_PT_BOTH): Adjust.
 -      * intervals.h (set_point, temp_set_point, set_point_both)
 -      (temp_set_point_both): Remove redundant declarations.
 -
 -2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents):
 -      * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
 -      * buffer.h (BUF_SET_PT): Remove.  set_point_both doesn't work right
 -      when buffer != current_buffer anyway.
 -
 -2008-03-20  Andreas Schwab  <schwab@suse.de>
 -
 -      * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
 -      as default.
 -
 -2008-03-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
 -      (syms_of_w32fns): Initialize them.
 -      (HOURGLASS_ID): New constant.
 -      (x_window_to_frame): Don't check hourglass_window.
 -      (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
 -      (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
 -      (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
 -      (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
 -      Only change the cursor if hourglass is not active.
 -      (Fx_create_frame): Initialize frame's current_cursor.
 -      (hourglass_atimer): Remove.
 -      (hourglass_started): New function.
 -      (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
 -      (show_hourglass): Adapt to w32, changing argument to frame.
 -
 -      * w32term.h (struct w32_output): Remove hourglass_window.
 -      Add current_cursor.
 -
 -      * eval.c (call_debugger, Fsignal):
 -      * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
 -      (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
 -      (Fexecute_extended_command, cancel_hourglass_unwind):
 -      * minibuf.c (read_minibuf):
 -      * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
 -
 -2008-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (run_funs): New fun.
 -      (run_window_configuration_change_hook): Use it to run the buffer-local
 -      and the global part of the hook.
 -
 -      * xdisp.c (format_mode_line_unwind_data): Add window argument.
 -      (unwind_format_mode_line): Restore selected window.
 -      (x_consider_frame_title, Fformat_mode_line): Set selected window.
 -
 -2008-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fchar_equal): Check they are valid characters.
 -
 -      * buffer.h (Fbuffer_list): Declare (for use in callint.c).
 -
 -2008-03-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
 -      against a charset.
 -
 -      * lisp.h (Fbuffer_list): Declare.
 -
 -2008-03-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
 -      handlebox_widget is != 0.
 -
 -2008-03-16  Juri Linkov  <juri@jurta.org>
 -
 -      * callint.c (Fcall_interactively): For interactive code letters
 -      'b' and 'B' put the buffer list into the list of default "future"
 -      values of the minibuffer.
 -
 -2008-03-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * keyboard.c (read_key_sequence): Fix downcasing of letters with
 -      modifiers.
 -
 -      * regex.c (re_match_2_internal): Correct matching of a charset
 -      against latin-1 characters.
 -
 -2008-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
 -      (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
 -      (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
 -      (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
 -      (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
 -      CHAR_STRING_ADVANCE.
 -      (produce_chars): Fix for the case that the source and the
 -      destination are the same buffer.  Use CHAR_STRING_ADVANCE_NO_UNIFY
 -      instead of CHAR_STRING_ADVANCE.
 -      (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
 -      STRING_CHAR_ADVANCE.
 -
 -2008-03-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * regex.c (re_match_2_internal): Correct matching of eight bit
 -      characters in unibyte strings.
 -
 -2008-03-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (overlays_in, Foverlays_in): Include empty overlays
 -      at end of range when it coincides with the end of the buffer.
 -
 -2008-03-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
 -
 -      * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
 -
 -2008-03-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * editfns.c (initial_tz): New variable.
 -      (syms_of_editfns): Initialize it.
 -      (Fset_time_zone_rule): Set it when first called.
 -      Use it when TZSTRING is nil.
 -
 -      * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
 -      (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
 -      (monitor_from_point_fn, get_monitor_info_fn): New globals.
 -      (globals_of_w32fns): Initialize them.
 -      (compute_tip_xy): Use them to position tooltips.
 -
 -2008-03-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main): Revert previous change.
 -      (standard_args): Revert -internal-script back to -scriptload,
 -      and remove the long-option form.
 -
 -2008-03-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
 -      Remove option -enable-font-backend.
 -
 -2008-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
 -
 -2008-03-11  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_connection_closed): For GTK: If this is the last
 -      terminal just exit without closing the display.
 -
 -2008-03-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_full_name): Use floor to round.
 -
 -2008-03-10  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 -
 -      * sound.c (alsa_configure): Declare vol at beginning of block.
 -
 -      * fontset.c (Ffontset_info): Remove extra semicolon.
 -
 -2008-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
 -      size of resulting string.
 -
 -2008-03-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dispnew.c (adjust_glyph_matrix): Initialize window_height.
 -
 -2008-03-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
 -      Don't pretend as if characters with display property haven't been
 -      consumed for string-replacing-string case.
 -
 -2008-03-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
 -      (get_next_display_element, next_element_from_string)
 -      (next_element_from_ellipsis, next_element_from_buffer): Use it.
 -
 -2008-03-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.h (struct Lisp_Process): Declare bit fields as unsigned.
 -
 -2008-03-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32_registry): Take font_type argument.  Use ANSI
 -      when charset not specified.  Only translate ANSI to unicode when
 -      font_type is truetype.
 -      (w32font_coverage_ok): New function.
 -      (add_font_entity_to_list): Use it to filter unsuitable fonts.
 -
 -2008-03-05  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * lread.c (Fread_char): Resolve modifiers.
 -      (Fread_char_exclusive): Likewise.
 -
 -      * character.c (char_resolve_modifier_mask): New function.
 -      (char_string): Use char_resolve_modifier_mask.
 -      (Fchar_resolve_modifiers): New function.
 -      (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
 -      function.
 -
 -2008-03-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in: Always include w32font.c in the build.
 -      * w32font.c: Wrap in USE_FONT_BACKEND conditional.
 -
 -2008-03-04  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
 -      (versionclean): Likewise.
 -
 -2008-03-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * .cvsignore: Add oo.
 -
 -2008-03-03  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (decode_coding_object): Inhibit gap shrinking while
 -      decoding in place.
 -
 -2008-03-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * w32term.c: Remove unused include "gnu.h".
 -      * makefile.w32-in (w32term.o): Don't depend on gnu.h.
 -
 -      * gnu.h: Rename to ...
 -      * emacs-icon.h: ... this.
 -      * xterm.c: Use emacs-icon.h instead of gnu.h.
 -      * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
 -
 -2008-03-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c: Include math.h.
 -
 -2008-03-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
 -      Compute options separately.
 -      (w32font_open_internal): Set glyph_idx before caching metrics.
 -
 -      * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
 -      Define if system headers don't.
 -      (struct w32font_info): Enlarge ascii_metrics.  Add glyph_idx.
 -      (w32font_encode_char): Don't declare here.
 -
 -      * w32font.c (Quniscribe, QCformat): New symbols.
 -      (syms_of_w32font): Define them.
 -      (w32font_has_char): Indicate uncertainty.
 -      (w32font_encode_char): Encode as glyph point.  Make static.
 -      (recompute_cached_metrics): New function.
 -      (w32font_open_internal): Use it.  Set font to use glyph points
 -      initially.  Set format based on type of font.
 -      (w32font_text_extents, w32font_draw): Optionally use glyph points.
 -      (w32_enumfont_pattern_entity): Accept backend arg.  Set type based
 -      on it.  Set format based on information available here.
 -      (add_font_entity_to_list): Identify backend based on opentype_only.
 -
 -2008-03-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
 -
 -      * coding.c (decode_coding_big5, produce_chars):
 -      Fix typos in last change.
 -
 -2008-03-02  Kentaro Ohkouchi  <nanasess@fsm.ne.jp>
 -
 -      * gnu.h: New icon.
 -
 -2008-03-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_8): When eol-type of CODING is
 -      `dos', don't decode '\r' if that is the last in the source.
 -      (decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_raw_text, decode_coding_charset): Likewise.
 -      (produce_chars): Don't decode EOL here.  Use EMACS_INT.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_full_name): Report point size for scalable fonts.
 -
 -2008-03-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_full_name): New function.
 -      (w32font_open_internal): Use it.
 -
 -2008-03-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (line_draw_cost): Fix invalid glyph check.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (font_unparse_fcname): Increase len when style is a symbol.
 -
 -2008-03-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
 -      xg_frame_resized when the event is for the edit widget.
 -
 -      * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
 -
 -      * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
 -      set_char_size.
 -      (xg_frame_resized): Renamed from xg_resize_widgets.  Remove all
 -      operations on widgets here.  Just set frame size if needed.
 -      (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
 -      (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
 -      (x_wm_set_size_hint): Set size hints on the edit widget only, not
 -      the whole frame.
 -      (xg_create_tool_bar): Move attachment of the tool bar to
 -      xg_pack_tool_bar.  Do not attach the tool bar if there are no items.
 -      (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
 -
 -2008-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_msg_pump): Disable debug code.
 -
 -2008-03-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
 -
 -2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (next_overlay_string): Don't set
 -      overlay_strings_at_end_processed_p if we're currently reading from
 -      a display string.
 -
 -2008-02-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_overlay_strings_1): Fix typo.
 -
 -2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_overlay_strings_1): Add missing argument type.
 -
 -2008-02-28  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
 -
 -      * xdisp.c (display_mode_element): Cancel the previous change.
 -      (decode_mode_spec): Likewise.
 -      (handle_auto_composed_prop): Don't make composition if it->string
 -      is a string.
 -
 -2008-02-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h (GLYPH): Change type from int to struct with separate char
 -      and face_id members.
 -      (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
 -      (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
 -      (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
 -      (GLYPH_CHAR, GLYPH_FACE): ... these.  Change users.
 -      (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove.  Rewrite users to use ...
 -      (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
 -      (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
 -      (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
 -      handle new Lisp glyph code encoding, either an integer or a cons.
 -
 -      * disptab.h (GLYPH_SIMPLE_P): Rewrite.
 -      (GLYPH_ALIAS): Delete.
 -      (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
 -      (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
 -      (GLYPH_FROM_CHAR): Replace macro by ...
 -      (SET_GLYPH_FROM_CHAR): ... this macro.  Change users.
 -
 -      * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
 -      (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
 -      (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro.  Change users.
 -      (GLYPH_INVALID_P): New macro.
 -      (spec_glyph_lookup_face): Update prototype.
 -
 -      * dispnew.c (line_draw_cost): Adapt to new glyph type.
 -      (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
 -      new glyph code encoding.
 -      (spec_glyph_lookup_face): No return value; update passed glyph instead.
 -      (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
 -
 -      * xdisp.c (get_next_display_element, next_element_from_display_vector):
 -      Adapt to new glyph type and new glyph code encoding.
 -
 -      * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
 -
 -      * indent.c (current_column, current_column_1, Fmove_to_column)
 -      (compute_motion): Adapt to new glyph code encoding.
 -
 -      * msdos.c (IT_write_glyphs): Adapt to new glyph type.
 -
 -2008-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (wait_reading_process_output): Check for window
 -      changes caused by timers.
 -      Suggested by Johan Bockgård.
 -
 -2008-02-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (USAGE1): Add `--disable-font-backend'.
 -
 -2008-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
 -      is made to the buffer.
 -
 -2008-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispextern.h (face_at_buffer_position, face_for_overlay_string)
 -      (face_at_string_position):
 -      * xfaces.c (face_at_buffer_position, face_for_overlay_string)
 -      (face_at_string_position):
 -      * xdisp.c (display_string, next_overlay_change):
 -      * buffer.h (overlays_at):
 -      * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
 -      Update callers.
 -
 -2008-02-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fformat): Doc fix.
 -
 -2008-02-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
 -      (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
 -      (Ffont_otf_alternates, Fquery_font): Doc fixes.
 -
 -2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): New function.
 -      (syms_of_buffer): Defsubr it.
 -
 -2008-02-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (command_loop_1): Revert 2006-10-09 change.
 -
 -2008-02-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Draw one character at a time when padding.
 -
 -2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fdelete_window, Fadjust_window_trailing_edge):
 -      Handle a nil arg.  Use run_window_configuration_change_hook.
 -      (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
 -      (Fenlarge_window, Fshrink_window, Fset_window_configuration):
 -      Use run_window_configuration_change_hook.
 -
 -2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
 -      1-pixel width.
 -
 -2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
 -      (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
 -      if the glyph in the font is zero pixel with.
 -
 -      * dispextern.h (struct glyph_string): New member padding_p.
 -
 -      * w32font.c (w32font_draw): Pay attention to s->padding_p.
 -
 -      * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
 -
 -      * xfont.c (xfont_draw): Pay attention to s->padding_p.
 -
 -      * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
 -
 -      * font.c: If the font driver doesn't have `shape' function, return Qnil.
 -
 -2008-02-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
 -
 -2008-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Allow fine-grained image-cache flushing.
 -      * dispextern.h (struct image): Add `dependencies' field.
 -      (clear_image_caches): Change arg to Lisp_Object.
 -      * image.c (make_image): Initialize `dependencies' field.
 -      (clear_image_cache): Change arg to allow fine-grained flushing.
 -      Perform the flush even if image-cache-eviction-delay is nil.
 -      (clear_image_caches): Change arg to Lisp_Object.
 -      (Fclear_image_cache): Expand meaning of the argument.
 -      (mark_image): Mark `dependencies' field.
 -      * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
 -      (lface_hash): Use XHASH rather than XFASTINT.
 -      (face_at_buffer_position): Fix int -> EMACS_INT position.
 -      * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
 -      (select_frame_for_redisplay): Remove code duplication.
 -      (redisplay_internal): Adapt arg to call to clear_image_caches.
 -
 -2008-02-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/vms4-0.h:
 -      * s/vms4-2.h:
 -      * s/vms4-4.h:
 -      * s/vms5-5.h: Remove, unused.
 -
 -      * s/irix5-2.h:
 -      * s/irix6-0.h:
 -      * s/riscos5.h:
 -      * s/mach-bsd4-3.h:
 -      * m/mips4.h: Remove files for obsolete systems.
 -
 -      * Makefile.in:
 -      * filelock.c:
 -      * unexmips.c:
 -      * m/hp9000s300.h:
 -      * m/iris4d.h:
 -      * s/aix3-1.h:
 -      * s/hpux.h:
 -      * s/msdos.h:
 -      * s/usg5-0.h:
 -      * s/usg5-2-2.h:
 -      * s/usg5-2.h:
 -      * s/usg5-3.h: Remove references to obsolete variables.
 -
 -      * s/irix5-0.h: Remove, move all the contents ...
 -      * s/irix6-5.h: ... here.  Simplify.
 -      * config.in: Regenerate.
 -
 -2008-02-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_glyph_string_background): Clear the background
 -      manually when cleartype is in use.
 -      (x_draw_glyph_string_foreground): Draw text transparently when
 -      cleartype is in use.
 -
 -      * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
 -      a font into it unless we have to.
 -
 -2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * intervals.h (INT_LISPLIKE): Remove.  It may misfire.
 -      (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
 -
 -2008-02-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_shell_execute): Encode parameters.
 -
 -2008-02-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
 -
 -2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * unexhp9k800.c (read_header): Replace `legal' with `valid'.
 -
 -2008-02-24  Ulrich Neumerkel  <ulrich@complang.tuwien.ac.at>  (tiny change)
 -
 -      * xterm.c (x_set_offset): Don't change the gravity if
 -      CHANGE_GRAVITY is -1.
 -
 -2008-02-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (auto_save_error_occurred): New var.
 -      (auto_save_error): Set it.
 -      (Fdo_auto_save): Don't overwrite the error message if an auto-save
 -      error occurred.
 -
 -2008-02-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (globals_of_w32): Add initializations for
 -      g_b_init_get_sid_sub_authority and
 -      g_b_init_get_sid_sub_authority_count.
 -
 -2008-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
 -      (font_parse_xlfd): Use them for sanity check.
 -      (Finternal_set_font_style_table): Make sure the table is bijective.
 -
 -      Consolidate the image_cache to the terminal struct.
 -      * termhooks.h (P_): Remove redundant def.
 -      (struct terminal): New field `image_cache'.
 -      * frame.h (FRAME_IMAGE_CACHE): New macro.  Use it everywhere in place
 -      of FRAME_X_IMAGE_CACHE.
 -      * xterm.h (struct x_display_info): Remove image_cache field.
 -      (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
 -      * w32term.h (struct w32_display_info): Remove image_cache field.
 -      (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
 -      * macterm.h (struct mac_display_info): Remove image_cache field.
 -      (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
 -      * xterm.c (x_term_init):
 -      * w32term.c (w32_term_init):
 -      * macterm.c (mac_term_init): Set the image_cache in the terminal.
 -      * dispextern.h (clear_image_cache, forall_images_in_image_cache):
 -      Remove declarations.
 -      (clear_image_caches, mark_image_cache): New declarations.
 -      * xfaces.c (clear_face_cache):
 -      * xdisp.c (redisplay_internal): Use clear_image_caches.
 -      * image.c (clear_image_cache): Don't check that a frame is on
 -      a window-system before checking if it shares the same cache.
 -      (clear_image_caches): New function.
 -      (Fclear_image_cache): Use it.
 -      (mark_image): Move from allo.c.
 -      (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
 -      * alloc.c (mark_image, mark_image_cache): Move to image.c.
 -      (mark_object): Don't call mark_image_cache for frames.
 -      (mark_terminals): Call mark_image_cache.
 -
 -      * lisp.h (Fdelete_terminal): Declare.
 -
 -      * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
 -      (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
 -      wrong_type_argument.
 -
 -2008-02-22  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (lisp): Remove devanagari.el, kannada.el,
 -      malayalam.el, and tamil.el.  Add sinhala.el.
 -
 -2008-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_connection_closed): Consolidate identical tests.
 -      (x_delete_terminal): Don't crash if called via x_connection_closed.
 -
 -2008-02-21  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (decode_mode_spec): New arg string.
 -      (display_mode_element): Adjust for the above change.
 -
 -2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * callint.c (Fcall_interactively): Use AREF.
 -
 -2008-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
 -
 -2008-02-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_show_tip): Set string to " " if empty.
 -
 -2008-02-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
 -      with Qt.
 -
 -2008-02-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape): Return Lispy number.
 -
 -      * xfaces.c (prepare_face_for_display): Use display_info->font->fid
 -      for GCs.
 -      (Finternal_set_font_selection_order): Call font_update_sort_order
 -      only when enable_font_backend is set.
 -      (realize_x_face): Set face->font_info to that of default face only
 -      when enable_font_backend is set.
 -
 -      * xdisp.c (handle_composition_prop): Set it->c to the fist
 -      character of the composed region.
 -      (fill_composite_glyph_string): Set base_face->font_info to
 -      s->font_info.  Get a face for ascii from base_face->ascii_face.
 -      (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
 -      with a face already decided.
 -      (x_produce_glyphs): Be sure to set it->ascent and it->descent to
 -      non-negative.
 -      (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
 -      call font_prepare_composition unconditionally.
 -
 -      * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
 -
 -      * xterm.h (struct x_display_info): New member font.
 -
 -      * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
 -      (x_set_mouse_face_gc, x_new_font): Likewise.
 -      (x_term_init): Setup display_info->font.
 -      (x_delete_terminal): Free display_info->font.
 -
 -      * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
 -
 -      * ftxfont.c (ftxfont_default_fid): Delete it.
 -      (ftxfont_open): Set xfont->fid to 0.
 -      (ftxfont_end_for_frame): Clear data specific to the frame and the
 -      font-driver.
 -
 -      * xftfont.c (xftfont_default_fid): Delete it.
 -      (xftfont_open): Set xfont->fid to 0.
 -
 -      * fontset.c (FONTSET_OBJLIST): New macro.
 -      (fontset_find_font): Update font-object list of the fontset.
 -      (free_realized_fontset): New function.
 -      (free_face_fontset): Call free_realized_fontset.
 -      (Ffont_info): Call font_close_object only when enable_font_backend
 -      is set.
 -
 -      * font.c [HAVE_X_WINDOWS]: Include xterm.h.
 -      [HAVE_NTGUI]: Include w32term.h.
 -      [MAC_OS]: Include macterm.ch.
 -      (font_otf_ValueRecord): Use make_number.
 -      (font_finish_cache): Fix handling of reference count.
 -      (font_clear_cache): Update num_fonts.
 -      (font_open_entity): Update smallest_char_width and
 -      smallest_font_height of the frame.
 -      (font_close_object): Update num_fonts.
 -      (Fclear_font_cache): Fix finding the target cache data.
 -
 -2008-02-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * fontset.c (Finternal_char_font): Fix compilation warning.
 -
 -2008-02-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
 -      instead of char arrays.  Enlarge the size of array passed to
 -      get_token_information.
 -
 -      * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
 -      warnings.
 -
 -2008-02-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * .gdbinit: Don't set `args', it breaks gdb --args.
 -
 -2008-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Adjust offsets when replacing
 -      within a narrowed buffer.
 -
 -2008-02-14  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (decode_coding_object, encode_coding_object):
 -      Preserve Vdeactivate_mark.  Delete unnecessary call of Fcurrent_buffer.
 -
 -2008-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * coding.c (coding_set_destination): Use BEG_BYTE rather than
 -      hardcoding 1.
 -      (detect_coding_system):
 -      * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
 -      (string_char_to_byte, string_byte_to_char, insert_from_gap):
 -      * insdel.c (insert_from_gap):
 -      * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
 -      (string_char_to_byte, string_byte_to_char, string_make_multibyte)
 -      (string_to_multibyte):
 -      * character.c (chars_in_text, multibyte_chars_in_text):
 -      * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
 -
 -      * character.h (FETCH_STRING_CHAR_ADVANCE)
 -      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
 -      (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
 -
 -      * casefiddle.c (casify_region): Only call after-change and composition
 -      functions on the part of the region that was changed.
 -
 -      * keyboard.c (read_avail_input):
 -      * frame.c (Fdelete_frame): Call Fdelete_terminal.
 -
 -2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
 -      (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
 -
 -2008-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32menu.c (push_submenu_start, push_submenu_end)
 -      (push_left_right_boundary, push_menu_pane, push_menu_item):
 -      * keyboard.c (read_key_sequence): Don't pass args with side effects
 -      to AREF, it fails when compiling with -DENABLE_CHECKING.
 -
 -2008-02-11  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (${lispsource}international/charprop.el):
 -      Delete this target.
 -
 -      * search.c (boyer_moore): Fix incorrect synching of the trunk and
 -      emacs-unicode-2.
 -
 -2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * terminal.c (Fdelete_terminal): Clean up the `force' path.
 -
 -2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (Qnoelisp): New symbol.
 -      (syms_of_frame): Initialize it.
 -      (Fdelete_frame): Use it to distinguish a mere `force' passed from some
 -      harmless Elisp code, from a strong `force' from x_connection_closed.
 -      * frame.h (Qnoelisp): Declare.
 -      * xterm.c (x_connection_closed): Pass `noelisp'.
 -
 -      * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
 -      (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
 -      (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
 -      rather than `int' for the type of `type'.
 -
 -2008-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
 -
 -      * Makefile.in (GNUC): Remove support for gcc-1.x.
 -
 -2008-02-10  Richard Stallman  <rms@gnu.org>
 -
 -      * lisp.h (ASET): Use AREF, not ASLOT.
 -
 -2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (ASET): Check bounds.
 -
 -2008-02-10  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (mode-name): Doc fix.
 -
 -2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in:
 -      * emacs.c:
 -      * gmalloc.c:
 -      * keyboard.c:
 -      * lisp.h:
 -      * m/ibm370aix.h:
 -      * process.c:
 -      * regex.c:
 -      * s/hpux.h:
 -      * sysdep.c:
 -      * sysselect.h:
 -      * systty.h:
 -      * unexec.c:
 -      * w32term.c:
 -      * xsmfns.c:
 -      * xterm.c: Remove code that deals with obsolete variables.
 -
 -      * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
 -
 -      * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
 -      nothing else needs it anymore.
 -
 -2008-02-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
 -      instead of unibyte_char_to_multibyte.
 -
 -2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/gnu-linux.h: Remove commented out code.
 -
 -      * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
 -
 -      * Makefile.in: Update what RMS says about using autoconf.
 -      (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
 -      (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
 -      (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
 -      (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
 -
 -2008-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fkey_description): Move side effect outside of macro call.
 -
 -      * xfaces.c (Finternal_make_lisp_face):
 -      * keyboard.c (add_command_key, parse_menu_item): Use ASET.
 -
 -      * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
 -      (syms_of_fontset): Use ASET.
 -
 -      * fns.c (concat): Move side effect outside of macro call.
 -      (hash_clear): Use ASET.
 -
 -2008-02-08  Richard Stallman  <rms@gnu.org>
 -
 -      * frame.c (Fdelete_frame): If FORCE, don't call hooks.
 -      If FORCE, and frame has a surrogate minibuffer for another frame,
 -      delete the other frame first.
 -
 -2008-02-07  Timo Savola  <timo.savola@iki.fi>
 -
 -      * xterm.c (x_detect_focus_change): Handle embed client message.
 -      (handle_one_xevent): Ditto.
 -      (handle_one_xevent): If embedded and we get a button press/release,
 -      request focus.
 -      (xembed_set_info, xembed_send_message): New functions.
 -      (x_make_frame_visible): Call xembed_set_info if embedded.
 -      (x_make_frame_invisible): Call xembed_set_info if embedded.
 -      (x_term_init): Initialize Xatom_XEMBED.
 -      (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
 -      (x_iconify_frame): Ditto.
 -
 -      * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
 -      (enum xembed_info, enum xembed_message, enum xembed_focus)
 -      (enum xembed_modifier, enum xembed_accelerator): New.
 -      (xembed_set_info, xembed_send_message): Declare.
 -      (FRAME_X_EMBEDDED_P): New.
 -
 -      * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
 -      gtk_plug_new.
 -
 -      * xfns.c (Fx_create_frame): Do not override the explicitly set parent
 -      window ID of a frame.
 -      (x_window): Reparent frame if embedded.
 -      (Fx_create_frame): Don't set border width if embedded.
 -
 -      * emacs.c (USAGE3): Add --parent-id.
 -      (standard_args): Ditto.
 -
 -2008-02-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
 -
 -2008-02-07  Jim Meyering  <meyering@redhat.com>
 -
 -      Use "do...while (0)", not "if (1)...else" in macro definitions.
 -      The latter provokes a warning from gcc about the empty else, when
 -      followed by ";".  Also, without that trailing semicolon, it would
 -      silently swallow up any following statement.
 -      * syntax.h (SETUP_SYNTAX_TABLE)
 -      (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
 -      * buffer.h (DECODE_POSITION): Likewise.
 -      * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
 -      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
 -      (FETCH_CHAR_ADVANCE): Likewise.
 -      (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
 -
 -2008-02-07  Jim Meyering  <meyering@redhat.com>
 -
 -      * lread.c [lint]: Don't include <sys/inode.h>.
 -
 -2008-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xselect.c (x_handle_dnd_message):
 -      * xmenu.c (digest_single_submenu, xmenu_show):
 -      * xdisp.c (with_echo_area_buffer_unwind_data)
 -      (format_mode_line_unwind_data, unwind_format_mode_line)
 -      (display_menu_bar):
 -      * eval.c (Ffetch_bytecode):
 -      * doc.c (store_function_docstring):
 -      * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
 -      (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
 -      * buffer.c (add_overlay_mod_hooklist): Use ASET.
 -
 -2008-02-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftxfont.c (ftxfont_open): Don't set
 -      dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
 -
 -      * ftfont.c (ftfont_open): Fix previous change.
 -
 -2008-02-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Fill in lbearing metric.
 -      Use cached metrics for ASCII characters.
 -      (w32font_open_internal): Don't set font's owning_frame.
 -      Cache metrics for ASCII characters.
 -
 -      * w32font.h (struct w32font_info): Add ascii_metrics.
 -      Remove owning_frame.
 -
 -2008-02-06  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
 -      to negative value.
 -
 -      * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
 -
 -      * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
 -
 -      * charset.c (syms_of_charset): Set QCtest and Qeq.
 -
 -2008-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Fstart_process):
 -      * callproc.c (Fcall_process): Handle the case where
 -      Funhandled_file_name_directory returns nil.
 -
 -      * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
 -      (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
 -      * font.c (check_gstring): Use them and AREF to access the vector before
 -      we know it's really a gstring.
 -      (Ffont_shape_text): Fix typo.
 -      (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
 -
 -      * composite.h (Fcompose_region_internal, Fcompose_string_internal):
 -      Declare.
 -
 -      * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
 -
 -2008-02-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
 -      Set smallest_font_height and smallest_char_width in display info.
 -
 -2008-02-05  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
 -
 -2008-02-05  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (get_lface_attributes, merge_named_face)
 -      (lookup_named_face, lookup_derived_face, realize_named_face):
 -      Revert 2008-02-01 change by cyd@stupidchicken.com.
 -
 -2008-02-04  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fontset.c (Ffontset_info): Handle the case of inhibitting the
 -      fallback fonts.
 -      (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
 -
 -2008-02-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Use font_unparse_fcname to
 -      set full_name.
 -      (w32font_open_internal): Use xmalloc, xrealloc, xfree.
 -
 -2008-02-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (OBJ1): Include font.o here.
 -      (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
 -
 -2008-02-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (temacs): Bump EMHEAP to 21.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/cygwin.h: Define VIRT_ADDR_VARIES.
 -
 -      * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (shortlisp, lisp): Update for rename of
 -      ../lisp/language/myanmar.el.
 -
 -2008-02-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (get_lface_attributes): Delete function.
 -      (merge_named_face, lookup_named_face, lookup_derived_face)
 -      (realize_named_face): Call lface_from_face_name directly, and use
 -      the fact that merge_face_vectors does not alter its FROM argument.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
 -      input in the default locale.  Handle non-Unicode multibyte input.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fontset.c (reorder_font_vector): Exclude nil elements from the
 -      font group.  Don't try multiple fonts.
 -      (fontset_font): Adjust for the above change.
 -      (Finternal_char_font): Return nil if the found font doesn't
 -      contain the character ch.
 -
 -      * Makefile.in (lisp, shortlisp): Add cham.el.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.h (FONTP): Make it return 1 also for a font-object.
 -
 -      * .gdbinit (xfontset): New function.
 -
 -      * font.c (font_find_for_lface): Check if the character C is
 -      supported or not only for the first font.
 -
 -      * fontset.c (reorder_font_vector): Fix typo.
 -      (fontset_find_font): Don't add a font-spec specifying a script.
 -      Use 0 (not Qt) for the indication of empty font-group.  Change the
 -      format of RFONT-DEF.  Return Qt if no font in the font-group
 -      support the character.
 -      (fontset_font): Adjust for the above change.  If no font was
 -      found the character, remember that.
 -      (face_for_char): Adjust for the change of RFONT-DEF.
 -      (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
 -      no font for the target.
 -      (Finternal_char_font): Adjust for the change of RFONT-DEF.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.c (font_load_for_face): Handle the case that the font in
 -      face->lface is a string.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
 -      Fix previous change.  If the frame is not on a window system,
 -      signal an error.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (decode_coding_object, encode_coding_object): Adjust
 -      marker positions after conversion.
 -
 -      * lisp.h (struct Lisp_Marker): New member need_adjustment.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.c (font_find_for_lface): Fix the handling of the return
 -      value of font_has_char.
 -      (Ffont_shape_text): Fix previous change.
 -
 -      * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
 -      (fontset_ref_and_range): Delete it.
 -      (fontset_find_font): Call char_table_ref_and_range instead of
 -      FONTSET_REF_AND_RANGE.
 -      (make_fontset): Don't setup font groups of Latin here.
 -      (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
 -      (new_fontset_from_font): Make the specified font the default for
 -      all Latin characters.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
 -      is on a window system before accessing the fontset of the frame.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
 -
 -      * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
 -      when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
 -
 -      * font.c (Ffont_shape_text): If the font driver doesn't have a
 -      shaper function, make zero-width glyphs to have at least one-pixel
 -      width.  Fix setting of `to' field of glyphs.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
 -      glyphs.
 -
 -      * font.h (struct font_driver): Improve docstring of member `shape'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (syms_of_composite): Fix docstring of
 -      auto-composition-function.
 -
 -      * font.h (LGLYPH_SIZE): New macro.
 -
 -      * font.c (Ffont_fill_gstring): Stop filling when a character not
 -      supported by the font is found.
 -      (Ffont_shape_text): When a shape callback function returns nil,
 -      try at most two more times with larger gstring.
 -      (Ffont_at): Fix getting of w.  Call font_at with correct 5th argument.
 -
 -      * xdisp.c (handle_auto_composed_prop): Change the argument to
 -      auto-composition-function.
 -
 -      * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
 -      (ftfont_shape_by_flt): If an element of lgstring is nil, make a
 -      Lispy glyph and store it in the lgstring.
 -
 -      * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
 -
 -      * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.c (Ffont_shape_text): Avoid unnecessary composition.
 -
 -      * fontset.c (Vfont_encoding_charset_alist): New variable.
 -      (syms_of_fontset): DEFVAR it.
 -      (reorder_font_vector, fontset_find_font): Optimize for the case of
 -      no need of reordering.
 -      (face_for_char): Map the charset property by
 -      Vfont_encoding_charset_alist.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (logfonts_match): Don't check adstyle here.
 -      (font_matches_spec): Check here against physical font instead.
 -      (add_font_entity_to_list): Avoid some substitutions.
 -
 -      * font.c (font_parse_fcname): Default weight and slant to normal.
 -      (font_score): Prefer normal fonts if weight or slant unspecified.
 -      (font_score) [WINDOWSNT]: Scale weight difference down to closer
 -      match freetype scores.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Don't use the frame stored in the
 -      font, as it may have been deleted.
 -      (w32_enumfont_pattern_entity): Map generic family to adstyle using
 -      most common hyphenless variation.
 -      (logfonts_match): Check generic family.
 -      (font_matches_spec): Don't check generic family here.
 -      (fill_in_logfont): Set generic family based on adstyle.
 -
 -      * w32font.h (w32font_get_cache): Update declaration.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (ftfont_get_cache): Adjust the argument type.
 -
 -      * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
 -      If none of the new drivers are available, call font_update_drivers
 -      with the old drivers.
 -
 -      * w32font.c (w32font_get_cache): Adjust the argument type.
 -
 -      * xfont.c (xfont_get_cache): Adjust the argument type.
 -
 -      * font.h (struct font_driver): Change argument type of get_cache.
 -
 -      * xftfont.c (xftfont_start_for_frame): Delete prototype.
 -
 -      * font.c (Ffont_get): Fix arguments to Fassoc.
 -      (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
 -      (font_clear_cache): New function.
 -      (font_list_entities, font_matching_entity): Use font_get_cache.
 -      (font_update_drivers): Call font_clear_cache when finishing a driver.
 -
 -      * fontset.c (fontset_find_font): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
 -      dpyinfo->font_table.
 -      (x_delete_display) [USE_FONT_BACKEND]: Likewise.
 -      (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
 -
 -      * font.c (font_at): Handle the case that the arg C is negative.
 -      Handle the unibyte case.
 -      (Ffont_at): Call font_at with the arg C -1.
 -
 -      * xdisp.c (handle_auto_composed_prop): Don't get a character at
 -      the position here, and call font_at with the arg C -1.
 -      Don't check the range of the existing composition at the point.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fontset.c (fontset_add): New args charset_id and family.
 -      Change caller.
 -      (load_font_get_repertory, fontset_find_font): Assume that
 -      font_spec is always a font-spec object.
 -      (Fset_fontset_font): Always store a font-spec object in a fontset.
 -
 -      * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
 -      instead of get_property_and_range.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xftfont.c (struct xftfont_info): Delete the member ft_face.
 -      (xftfont_open): Don't keep locking face.
 -      (xftfont_close): Don't unlock face.
 -      (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
 -
 -      * fontset.c (fontset_find_font): Don't prefer a font of
 -      supplementary charset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
 -      script, langsys_tag to langsys, new member script.
 -      (OTF_TAG_STR): Terminate by '\0'.
 -      (ftfont_get_open_type_spec): If :otf prop is spec, limit the
 -      listing to the script specified in that property.  Fix arg to
 -      OTF_check_features.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.h: New file.
 -
 -      * w32font.c: Include it.
 -      (struct w32font_info): Add owning_frame field.  Move to w32font.h.
 -      (w32font_open): Set owning_frame.
 -      (w32font_text_extents): Use owning_frame.
 -      (struct font_callback_data): Add opentype_only field.
 -      (add_font_entity_to_list): Use it to filter fonts.
 -      Don't check against full name.
 -      (w32font_list_internal): New function.
 -      (w32font_list): Use it.
 -      (w32font_match_internal): New function.
 -      (w32font_match): Use it.
 -      (w32font_open_internal): New function.
 -      (w32font_open): Use it.
 -      (w32font_get_cache, w32font_close, w32font_has_char)
 -      (w32font_encode_char, w32font_text_extents, w32font_draw):
 -      Make non-static.
 -
 -      * makefile.w32-in (w32font.o): Depend on w32font.h.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * charset.c (Fdefine_charset_internal): Record a supplementary
 -      charset at the tail of Vcharset_order_list.
 -
 -      * font.c (Ffont_shape_text): Fix the return value.
 -
 -      * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftfont.c (struct OpenTypeSpec): New struct.
 -      (OTF_SYM_TAG, OTF_TAG_STR): New macros.
 -      (ftfont_get_open_type_spec): New function.
 -      (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
 -
 -      * lread.c (read1): Redo the previous change with checking Vpurify_flag.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Compare only the beginning
 -      of full name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Simplify the code.
 -      Never return HANDLED_RECOMPUTE_PROPS.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_gstring_produce): Delete it.
 -
 -      * composite.h (COMPOSITION_METHOD):
 -      Handle COMPOSITION_WITH_GLYPH_STRING.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfont.c (Qx): Delete.
 -      (syms_of_xfont): Don't initialize Qx.
 -
 -      * composite.h (enum composition_method):
 -      Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
 -      (choose_face_font): Accept new form of font-spec.
 -
 -      * frame.h (font_driver_list): Declare it unconditionally.
 -      (struct frame): Define members font_driver_list and font_data_list
 -      unconditionally.
 -
 -      * fontset.c: Include "font.h" unconditionally.
 -      (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
 -      (Fset_fontset_font): Accept a font-spec object.
 -
 -      * font.c (font_unparse_xlfd): If pixel_size is zero, make the
 -      PIXEL_SIZE part a wild card.
 -
 -      * dispextern.h (struct glyph_string): Define members clip and
 -      num_clips unconditionally.
 -      (struct face): Define members font_info and extra unconditionally.
 -
 -      * ftfont.c (ftfont_open): Set members maybe_otf and otf of
 -      ftfont_info only when HAVE_LIBOTF is defined.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
 -      and end.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_driver): Add new fields.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
 -      (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
 -      (LIBES): Add @M17N_FLT_CFLAGS@.
 -
 -      * composite.c (compose_text): Don't treat the new style
 -      composition specially.
 -
 -      * emacs.c (main): Call syms_of_font unconditionally.
 -
 -      * font.h (FONT_ENTITY_NOT_LOADABLE)
 -      (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
 -      (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
 -      (struct font_driver): New member shape.
 -      (font_registry_charsets): Extern it.
 -      (font_find_for_lface, font_prepare_composition): Adjust prototype.
 -      (font_otf_capability, font_drive_otf): Delete their externs.
 -
 -      * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
 -      (font_charset_alist, font_registry_charsets): Move from xfont.c
 -      and rename.
 -      (font_prop_validate_otf): New function.
 -      (font_property_table): Register it for QCotf.
 -      (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
 -      (font_drive_otf): Delete.
 -      (font_prepare_composition): New arg F.  Adjust for the change of
 -      lispy gstring.
 -      (font_find_for_lface): New arg C.
 -      (font_load_for_face): Adjust for the change of font_find_for_lface.
 -      (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
 -      lispy gstring.
 -      (Ffont_shape_text): New function.
 -      (Fopen_font): If the font size is not given, use 12-pixel.
 -      (Ffont_at): New arg STRING.
 -      (syms_of_font): Initialize font_charset_alist.
 -      Declare Ffont_shape_text as a Lisp function.  Call syms_of_XXfont
 -      conditionally.
 -
 -      * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
 -      fonts of the same font-spec.  Change the format of RFONT-DEF.
 -      (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
 -      Adjust for the change of RFONT-DEF.
 -      (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
 -
 -      * ftfont.h: New file.
 -
 -      * ftfont.c: Don't include Freetype headers.  Include "ftfont.h".
 -      (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
 -      (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
 -      (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
 -      font_otf_capability and font_drive_otf, set ftfont_shape.
 -      (ftfont_list): Adjust for the change of :otf property value.
 -      (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
 -      (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
 -      (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
 -      (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
 -      (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
 -      (otf_gstring, gstring, m17n_flt_initialized): New variables.
 -
 -      * w32term.c (x_draw_composite_glyph_string_foreground):
 -      Adjust for the change of lispy gstring.
 -
 -      * xdisp.c (handle_composition_prop): Adjust for the change of
 -      lispy gstring.  Call a function for auto-composition with the
 -      third arg it->window.
 -      (fill_composite_glyph_string): Adjust for the change of lispy string.
 -      (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
 -
 -      * xfaces.c (set_font_frame_param): Adjust for the change of
 -      font_find_for_lface.
 -
 -      * xfont.c (x_font_charset_alist): Move to font.c and rename.
 -      (xfont_registry_charsets): Likewise.  Change caller.
 -      (syms_of_xfont): Don't handle x_font_charset_alist.
 -
 -      * xftfont.c: Include "ftfont.h".
 -      (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
 -      (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
 -      (xftfont_close) [HAVE_LIBOTF]: Close otf.
 -      (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
 -      (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
 -      Set xftfont_driver.shape to xftfont_shape.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 -      the change of lispy gstring.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Fill background manually.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (Qfontp): Remove unused symbol.
 -      (QCantialias): New symbol.
 -      (syms_of_font): Define it.
 -      (font_property_table): Set a validator for QCantialias.
 -
 -      * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
 -      Define if not already.
 -      (QCfamily): Share with xfaces.c.
 -      (Qstandard, Qsubpixel, Qnatural): New symbols.
 -      (syms_of_w32font): Define them.  Don't define QCfamily here.
 -      (w32_antialias_type, lispy_antialias_type): New functions.
 -      (w32_enumfont_pattern_entity): New arg requested_font.
 -      Set antialias parameter if non-default was requested.
 -      (fill_in_logfont): Fill in lfQuality if :antialias specified.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * lread.c (read1): Undo the previous change.
 -
 -2008-02-01  CHENG Gao  <chenggao@gmail.com>  (tiny change)
 -
 -      * frame.c (Fdelete_frame): Call font_update_drivers only when
 -      USE_FONT_BACKEND is defined.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * font.h (struct font_bitmap): New member bits_per_pixel.
 -      (struct font_driver): New members start_for_frame and end_for_frame.
 -      (struct font_data_list): New struct.
 -      (font_put_frame_data, font_get_frame_data): Extern them.
 -
 -      * frame.h (struct frame): New member font_data_list.
 -
 -      * font.c (font_update_drivers): Call driver->start_for_frame and
 -      driver->end_for_frame at proper timings.
 -      (font_put_frame_data, font_get_frame_data): New functions.
 -      (Ffont_spec): Add usage in the docstring.
 -
 -      * frame.c (make_frame): Initialize f->font_data_list to NULL.
 -      (Fdelete_frame): Call font_update_drivers.
 -
 -      * xftfont.c (struct xftface_info): Delete the member xft_draw.
 -      (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
 -      (xftfont_get_xft_draw): New function.
 -      (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
 -      (xftfont_end_for_frame): New function.
 -      (syms_of_xftfont): Set xftfont_driver.end_for_frame.
 -
 -      * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
 -      Change argument.  Cache GCs in the per-frame data.
 -      (struct ftxfont_frame_data): New struct.
 -      (ftxfont_draw_bitmap): New arg gc_fore and flush.
 -      (ftxfont_prepare_face, ftxfont_done_face): Delete them.
 -      (ftxfont_draw): Get GCs by ftxfont_get_gcs.  Reflect s->clip in GCs.
 -      (ftxfont_end_for_frame): New function.
 -      (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
 -
 -      * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xselect.c (Vselection_coding_system)
 -      (Vnext_selection_coding_system): Delete them.
 -      (syms_of_xselect): Don't declare selection-coding-system and
 -      next-selection-coding-system.  They are declared in select.el.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
 -
 -      * w32fns.c: Include imm.h.
 -      (get_composition_string_fn, get_ime_context_fn): New optional
 -      system functions.
 -      (globals_of_w32fns): Load them from imm32.dll.
 -      (ignore_ime_char): New flag.
 -      (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
 -      WM_IME_ENDCOMPOSITION messages.
 -
 -      * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
 -      MULTIBYTE_CHAR_KEYSTROKE_EVENT.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
 -      (READCHAR_REPORT_MULTIBYTE): New macro.
 -      (readchar): New 2nd arg MULTIBYTE.
 -      (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
 -      Make symbol's name multibyte according to the multibyteness of the
 -      source.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * xfaces.c (face_for_overlay_string): Call lookup_face with
 -      correct arguments (fix of synching with the trunk).
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_prop_validate_symbol, font_prop_validate_style)
 -      (font_prop_validate_non_neg, font_prop_validate_spacing):
 -      Delete argument prop_index.
 -      (font_property_table): Change arguments to validater.  Change Callers.
 -      (font_lispy_object): Delete.
 -      (font_at): Use font_find_object instead fo font_lispy_object.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
 -      and file names.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_name_to_list): Avoid vertical fonts.
 -      (font_matches_spec): Remove debug output.
 -      (add_font_entity_to_list): Avoid using substituted fonts.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * doc.c (Fsnarf_documentation):
 -      * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * dispextern.h (struct glyph_row): Only define "clip" field if
 -      HAVE_WINDOW_SYSTEM is defined.
 -
 -2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Fix up multi-tty merge.
 -
 -      * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
 -      and indentation.
 -
 -      * xfaces.c (free_realized_face, clear_face_gcs):
 -      Include font_done_for_face in the input_blocked section, just in case.
 -
 -      * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
 -      (get_char_face_and_encoding): Undo last change and remove the *other*
 -      duplicate definition (i.e. keep the one that's better scoped and that
 -      includes code for the font-backend).
 -
 -      * terminal.c (create_terminal): Default keyboard_coding to
 -      `no-conversion' and terminal_coding to `undecided'.
 -
 -      * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
 -
 -      * fontset.c (free_realized_fontsets): Check that the table entry does
 -      contain a fontset before trying to compare it to `base'.
 -
 -      * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
 -      syms_of_charset, and syms_of_coding earlier because init_window_once
 -      now needs Vcoding_system_hash_table to be setup.
 -
 -      * coding.h (default_buffer_file_coding): Remove.
 -
 -      * coding.c (default_buffer_file_coding): Remove.
 -      (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
 -      than ->symbol, and use the terminal-local coding system.
 -      (syms_of_coding): Don't setup the coding-systems that are not
 -      terminal-local.
 -      (Fdefine_coding_system_internal): Use XCAR/XCDR.
 -
 -      * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
 -      Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
 -
 -      * alloc.c (Fmake_char_table, make_sub_char_table): Remove.  They're now
 -      in chartab.c and were re-added here by mistake.
 -      (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
 -
 -      * doc.c (Fsnarf_documentation):
 -      * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
 -      src to etc.
 -
 -      * ChangeLog.10: Add mistakenly removed entry.
 -
 -2008-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
 -      Add extra args to FACE_FOR_CHAR.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (where_is_internal_1): If key is a cons, store the copy
 -      in sequence.
 -
 -      * chartab.c (map_sub_char_table, map_char_table): If the range
 -      contains just one character, call the function with that character
 -      even if the depth is not 3.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_text_extents): Calculate metrics for the
 -      whole string.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_set_glyph_string_clipping): Use
 -      get_glyph_string_clip_rects.
 -      (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
 -      Adjust for the change of struct glyph_string.
 -
 -      * w32font.c (w32font_draw): Do clipping here.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_draw): Adjust for the change of struct
 -      glyph_string.
 -
 -      * xterm.c (x_set_glyph_string_clipping): Use
 -      get_glyph_string_clip_rects.
 -      (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
 -      Adjust for the change of struct glyph_string.
 -
 -      * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
 -      the resulting clip(s}.
 -      (expose_overlaps): Add arg r.  Change callers.  Set it to
 -      row->clip temporarily.
 -      (expose_window): Redraw rows overlapping the exposed area.
 -
 -      * dispextern.h (struct glyph_row): New member clip.
 -      (struct glyph_string): Delete members clip_x, clip_y, clip_width,
 -      clip_height, new member clip, and num_clips.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * data.c (Fchar_or_string_p): Fix docstring.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
 -      create a temporary XftDraw object.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffontp): Fix docstring.
 -
 -      * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
 -      strong evidence of ISO-2022.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
 -      SYNTAX_ENTRY_FOLLOW_PARENT.
 -
 -2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
 -      its type.
 -      (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
 -      Update to the new type of weak_hash_tables and next_weak.
 -
 -      * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
 -      a plain C pointer to Lisp_Hash_Table.
 -
 -      * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
 -      (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
 -      (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
 -      (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
 -      (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
 -      (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
 -      (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
 -      (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
 -      (GC_EQ): Remove since they've been identical to their non-GC_
 -      alter-egos ever since the markbit was eradicated.
 -
 -      * alloc.c:
 -      * buffer.c:
 -      * buffer.h:
 -      * data.c:
 -      * fileio.c:
 -      * filelock.c:
 -      * fns.c:
 -      * frame.h:
 -      * lisp.h:
 -      * macterm.c:
 -      * print.c:
 -      * process.c:
 -      * w32fns.c:
 -      * w32menu.c:
 -      * w32term.c:
 -      * xfns.c:
 -      * xmenu.c:
 -      * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (map_sub_char_table): Make it work for the top-level
 -      char-table.  Fix handling of parent char-table.
 -      (map_char_table): Adjust for the above change.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Qgdi): Rename from Qw32.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (get_quoted_string): Make function static.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): If one of font's ASCII glyph has
 -      bigger ascent and descent than those of the font, use them as
 -      font's ascent and descent.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (${lispsource}international/charprop.el): Move this
 -      target within "#ifdef HAVE_UNIDATA" and "#endif".
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
 -      (shortlisp): Add ../lisp/language/tai-viet.el.
 -
 -2008-02-01  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * Makefile.in (${lispsource}international/charprop.el): Depend on
 -      temacs${EXEEXT}.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_close): Delete the GDI font object.
 -
 -      * w32menu.c: Include character.h.
 -
 -      * w32proc.c: Likewise.
 -
 -      * w32select.c: Likewise.
 -
 -      * makefile.w32-in (w32proc.o): Depend on character.h.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
 -
 -      * w32menu.c (syms_of_w32menu): Likewise.
 -
 -      * w32proc.c (syms_of_ntproc): Likewise.
 -
 -      * w32select.c (syms_of_w32select): Likewise.
 -
 -      * w32term.c (syms_of_w32term): Likewise.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Delete brush after using it.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open): Don't set font_idx.
 -      (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
 -      to font settings.
 -      (w32font_draw): Fill background explicitly.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Don't call w32font_initialize.
 -
 -      * w32font.c (w32font_info): Remove subranges.
 -      (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
 -      (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
 -      (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
 -      (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
 -      (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
 -      (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
 -      (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
 -      (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
 -      (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
 -      (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
 -      New symbols.
 -      (font_callback_data): New struct.
 -      (w32font_list, w32font_match): Use it.
 -      (w32font_open): Don't populate subranges.
 -      (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
 -      (w32font_encode_char): Always return unicode code-point as-is.
 -      (w32font_text_extents): Supply a transformation matrix to
 -      GetGlyphOutline.  Never look up by glyph index.  Avoid looping
 -      twice.  Use unicode version of GetTexExtentPoint32 instead of
 -      glyph index version.
 -      (set_fonts_frame): Remove.
 -      (w32_enumfont_pattern_entity): Add frame parameter, use it to
 -      set frame parameter.  Use backward compatible fake foundries.
 -      Save generic family in extra slot under QCfamily.  Make width slot
 -      constant.  Save QCspacing value.  Save list of scripts instead of
 -      binary subranges.
 -      (w32_generic_family, logfonts_match, font_matches_spec): New functions.
 -      (add_font_entity_to_list): Use font_callback_data struct.  Filter
 -      unwanted fonts.
 -      (add_one_font_entity_to_list): Use font_callback_data struct.
 -      (w32_registry): Default to iso10646_1.
 -      (fill_in_logfont): Use dpi from extra slot.  Don't bother with
 -      string font registries.  Don't fill in font name if it is a generic
 -      family name, fill family instead.  Use spacing, family and script
 -      extra info to fill pitch, family and charset fields.
 -      (list_all_matching_fonts): Use font_callback_data struct.
 -      (unicode_range_for_char): Remove.
 -      (font_supported_scripts): New function.
 -      (w32font_initialize): Remove.
 -      (syms_of_w32font): Update which symbols are defined.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * font.c (font_pixel_size): Reverse assq_no_quit args.
 -
 -      * w32term.h (FONT_WIDTH): Report max width, not average.
 -      (FONT_MAX_WIDTH): Remove.
 -      (FONT_AVG_WIDTH): New macro.
 -
 -      * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
 -      redefinition of FONT_WIDTH.
 -
 -      * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
 -      (w32_cache_char_metrics): Use FONT_WIDTH.
 -
 -      * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open): Make lfHeight negative.
 -
 -      * w32fns.c (x_default_font_parameter): Use new style font name.
 -      (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (QCsubranges): New symbol.
 -      (w32font_open, w32font_has_char): Get subranges from subproperty
 -      of extra.
 -      (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
 -      (syms_of_w32font): Define :subranges symbol.
 -
 -      * font.c (font_put_extra): Expose externally.
 -
 -      * font.h (font_put_extra): Move declaration from font.c.
 -
 -      * font.c (Ffont_get): Use font driver to determine otf capability.
 -      (adjust_anchor): Check if driver defines anchor_point before using.
 -
 -      * w32font.c (w32font_open): Handle size, height and pixel_size better.
 -      (w32font_draw): Use options.
 -      (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
 -      Fix detection of truetype fonts.
 -      (registry_to_w32_charset): Handle charsets other than iso8859-1
 -      expressed as lisp symbols.
 -      (w32_registry): Express charset as lisp symbol.
 -      (fill_in_logfont): Reverse pixel and point height logic.
 -      Don't set width here.  Set quality to default.
 -
 -      * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
 -      (x_to_w32_font): Fill in lfPitchAndFamily correctly.
 -
 -      * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
 -      Remove redundant loop and allocation.
 -
 -      * makefile.w32-in (font.o, w32font.o): New objects.
 -      (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
 -      (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
 -
 -      * xdisp.c (fill_composite_glyph_string): Make the first arg to
 -      STORE_XCHARB a valid l-value.
 -
 -      * w32term.c (w32_native_per_char_metric): Swap width and rbearing
 -      calculations for non-Truetype fonts.
 -      (x_draw_glyph_string): Sync with xterm.c.
 -      (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
 -      Remove redundant code.
 -      (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
 -
 -      * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
 -      (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
 -
 -      * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
 -      (x_to_w32_charset, w32_to_x_charset): Expose externally.
 -
 -      * w32font.c: New file for w32 font backend.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c: Don't include "buffer.h" twice.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Funibyte_string): New function.
 -      (syms_of_character): Defsubr it.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c [USE_FONT_BACKEND]:
 -      (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
 -      (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
 -      (x_draw_glyph_string, x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground, x_new_fontset2)
 -      (x_free_frame_resources): Sync with xterm.c.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
 -      char-table size.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_driver): Delete font_otf_gsub and
 -      font_otf_gpos, add font_drive_otf.
 -
 -      * fontset.c (fontset_find_font): Pay attention to font size
 -      specified for a font.
 -      (reorder_font_vector): Check contents of font_def.
 -
 -      * font.c (struct otf_list): Delete it.
 -      (otf_list): Make it a lisp variable.
 -      (otf_open): Use lispy otf_list.
 -      (generate_otf_features): Rename from parse_gsub_gpos_spec.
 -      (check_otf_features): New function.
 -      (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
 -      New functions.
 -      (font_drive_otf): New function merging font_otf_gsub and
 -      font_otf_gpos.
 -      (font_open_for_lface): New arg spec.  Change argument order.
 -      (font_load_for_face): Adjust for the change of font_open_for_lface.
 -      (Ffont_drive_otf): New function merging Ffont_otf_gsub and
 -      Ffont_otf_gpos.
 -      (syms_of_font): Staticpro otf_list.  Delete defsubr of
 -      Sfont_otf_gsub and Sfont_otf_gpos.  Defsubr Sfont_drive_otf.
 -
 -      * xfaces.c (set_font_frame_param): Adjust for the change of
 -      font_open_for_lface.
 -
 -      * font.h (font_open_for_lface): Adjust prototype.
 -      (struct font_driver): Delete members otf_gsub and otf_gpos, add
 -      member otf_drive.
 -      (font_otf_gsub, font_otf_gpos): Delete externs.
 -      (font_drive_otf): Extern it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_at): If the window W is not on a window system,
 -      return Qnil.
 -
 -      * coding.c (produce_chars, encode_coding): Don't call
 -      insert_from_gap if no characters to produce.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (free_realized_fontsets): Avoid unnecessary call of
 -      Fclear_face_cache.
 -
 -      * xfaces.c (face_for_font): Check also face->font==font->font.font.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * emacs.c (main): Change default value of `enable_font_backend' to 1.
 -      Parse "--disable-font-backend" option.
 -      (standard_args): Add "--disable-font-backend" option.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): New function.
 -      (fontset_font): Use fontset_find_font.
 -      (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
 -      Register the specified font for all Latin characters.
 -      (new_fontset_from_font): Register the specified font for all Latin
 -      characters.
 -      (dump_fontset): For a realized fontset, include the base fontset
 -      name in the returned vector.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (CHAR_STRING): Cast C to unsigned on calling
 -      char_string.
 -
 -      * character.c (char_string): Type of arg C changed to unsigned.
 -      Signal an error if C is an invalid character code.
 -
 -      * editfns.c (general_insert_function, Fchar_to_string):
 -      Use CHARACTERP, not INTEGERP.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (MIN_MULTIBYTE_LEADING_CODE)
 -      (MAX_MULTIBYTE_LEADING_CODE): New macros.
 -
 -      * regex.c (analyse_first): Fix for multibyte characters in "case
 -      charset:" and "case categoryspec:".
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in (LIBES): Move standard libraries to the end.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
 -      nonzero, don't shrink the buffer nextb.
 -
 -      * buffer.h (struct buffer_text): New member inhibit_shrinking.
 -
 -      * coding.c (coding_alloc_by_making_gap): New arg offset.
 -      (alloc_destination): Call coding_alloc_by_making_gap with the arg
 -      offset.
 -      (decode_coding_iso_2022): Update coding->safe_charsets.
 -      (decode_coding_gap): Temporarily set
 -      current_buffer->text->inhibit_shrinking to 1.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Fix
 -      indexing into elements of s->cmp and s->char2b.
 -
 -2008-02-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
 -      target_multibyte instead of multibyte.
 -      (re_match_2_internal): Call bcmp_translate with target_multibyte.
 -      (bcmp_translate): Change the argument name from multibyte to
 -      target_multibyte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to compile a regexp into a pattern that can be
 -      used both for multibyte and unibyte targets.
 -
 -      * Makefile.in (search.o): Depend on charset.h.
 -
 -      * character.c (multibyte_char_to_unibyte_safe): New function.
 -
 -      * search.c: Include "charset.h".
 -      (compile_pattern_1): Delete argument multibyte.  Don't set
 -      cp->buf.target_multibyte here.  Set cp->buf.charset_unibyte.
 -      (compile_pattern): Don't compare cp->buf.target_multibyte.
 -      Compare cp->buf.charset_unibyte.
 -      (compile_pattern): Set cp->buf.target_multibyte.
 -
 -      * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
 -
 -      * regex.h (struct re_pattern_buffer): New member charset_unibyte.
 -
 -      * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
 -      multibyte.  Change callers.
 -      (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
 -      (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete.  Change callers
 -      to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
 -      (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
 -      (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
 -      (regex_compile): Make the compiled pattern usable both for
 -      multibyte and unibyte targets.
 -      (analyse_first): Make the fastmap usable both for multibyte and
 -      unibyte targets.
 -      (TRANSLATE_VIA_MULTIBYTE): Delete.
 -      (re_match_2_internal): Pay attention to the case that the
 -      multibyteness of bufp and target may be different.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): When a font is not found, make the
 -      empty box occupy at least one column width.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * Makefile.in: Remove redundant HAVE_XFT clause.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xrdb.c (x_load_resources): Setup the default fontSet X resource.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Finternal_char_font): Fix for the case of POSITION
 -      being nil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Call FcConfigSubstitute.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Don't enable antialias explicitly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (simple_search): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (ftfont_font_format): Extern declaration.
 -
 -      * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
 -
 -      * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
 -      (xfont_list): Don't directly use Lisp_Object as an operand of &&.
 -
 -      * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
 -      (ftfont_font_format): Fix previous change.
 -
 -      * font.h (Ffont_xlfd_name): EXFUN it.
 -
 -      * font.c (font_parse_xlfd): Fix the array size of `f'.
 -      (register_font_driver): Use EQ to compare driver->type.
 -
 -      * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
 -      (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
 -      (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
 -      (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Set font->format.
 -
 -      * xftfont.c (xftfont_open): Set font->format.
 -
 -      * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
 -      (ftfont_list): Include FC_FONTFORMAT in FcObject.
 -      (ftfont_open): Set font->format.
 -      (ftfont_font_format): New function.
 -
 -      * font.h (struct font): New member format.
 -
 -      * font.c (Qopentype): New variable.
 -      (syms_of_font): Defsym it.
 -      (Fquery_font): Change the format of the last element of the return
 -      value.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (xic_create_xfontset): Try the default fontset name as a
 -      last resort.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): Fix detection of multi-byte
 -      charset.
 -
 -2008-02-01  Bob Halley  <halley@play-bow.org>  (tiny change)
 -
 -      * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Set it->face_id for the
 -      first component of a composition.
 -      (x_produce_glyphs): Check if the font is changed or not for composition.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Qlatin): New variable.
 -      (syms_of_fontset): Define it as a lisp symbol.
 -      (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_unparse_fcname): Pay attention to the case that
 -      some of font property is a null string.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c: Include "composite.h".
 -      (encode_terminal_code): Output all components of composition.
 -      Check the size of encode_terminal_src.
 -      (produce_glyphs): For composition, call produce_composite_glyph.
 -      (append_composite_glyph, produce_composite_glyph): New functions.
 -
 -      * xdisp.c (x_produce_glyphs): In handling composition, if a font
 -      is not found, get font_info from the current ascii face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): On replacing, temporarily bind
 -      buffer-file-name to Qnil before calling insert_from_buffer.
 -
 -      * font.c (font_unparse_fcname): Pay attention to the case that
 -      foundry is a null string.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Allow registry "unicode-sip".
 -
 -      * font.c (Qunicode_sip): New variable.
 -      (syms_of_font): Declare it as a Lisp symbol.
 -
 -      * font.h (Qunicode_sip): Extern it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (get_composition_id): Pay attention to TAB component.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
 -      TAB.  Adjust for the change of s->char2b which always points to
 -      the first element of allocated memory.
 -
 -      * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
 -
 -      * xdisp.c (handle_composition_prop): Set it->c to the first
 -      non-TAB component.
 -      (fill_composite_glyph_string): Change argument.
 -      (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
 -      (x_produce_glyphs): Fix handling of left/right padding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_system): Fix for handling off
 -      inhibit_iso_escape_detection.  Fix for the case that no coding
 -      system is defined for a specific coding category.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_matching_entity): Delete unused local var.
 -
 -      * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
 -      opening a font.
 -
 -      * fileio.c (Finsert_file_contents): On recovering a file, assume
 -      Unix-like eol.
 -      (choose_write_coding_system): On auto-saving a file, force
 -      Unix-like eol.
 -
 -      * coding.c (setup_coding_system): Fix setting of
 -      coding->common_flags based on eol_type.
 -      (coding_inherit_eol_type): If PARENT is not nil, be sure to
 -      inherit from it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (NSTATICS): Increas to 0x600.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
 -      (ftfont_list): Don't check :name property.
 -      (ftfont_match): New function.
 -      (ftfont_pattern_entity): If the pattern doesn't contain
 -      FC_SPACING, don't assume FC_MONO.
 -
 -      * font.h (struct font_driver): New member `match'.
 -      (font_update_drivers): Adjust prototype.
 -
 -      * font.c (font_parse_fcname, font_parse_name): Don't change :name
 -      property of FONT.
 -      (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
 -      them unconditionally.
 -      (font_matching_entity): New function.
 -      (font_open_by_name): Try font_matching_entity if exact match is
 -      not found.
 -      (font_update_drivers): Delete the arg FONT.  Return a list of
 -      actually used backends.  Don't free faces, font caches here.
 -      Don't store data in frame parameters.  Don't call x_set_font.
 -      (Ffont_spec): Store :name property as is.
 -      (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
 -      (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
 -      (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
 -      (Ffont_otf_alternates): Check if the driver has otf_gsub function.
 -      Call font->driver->otf_gsub instead of font_otf_gsub.
 -
 -      * frame.c (x_set_font_backend): Do more works that were done in
 -      font_update_drivers before.
 -
 -      * xfont.c (xfont_match): New function.
 -      (xfont_driver): Set xfont_driver.match to xfont_match.
 -      (xfont_draw): Set font in GC if necessary.
 -
 -      * ftxfont.c (ftxfont_match): New function.
 -      (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
 -
 -      * xftfont.c (xftfont_match): New function.
 -      (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (struct font): New member scalable.
 -      (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
 -      (font_otf_gsub): Adjust prototype.
 -
 -      * font.c (font_otf_capability): Fix handling of the default langsys.
 -      (parse_gsub_gpos_spec): Change type to void.  New arg nbytes.
 -      Check the contents of SPEC.
 -      (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
 -      (check_gstring): New function.
 -      (REPLACEMENT_CHARACTER): New macro.
 -      (font_otf_gsub): New arg alternate_subst.  Be sure to set all
 -      glyph codes of GSTRING.
 -      (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
 -      (font_prepare_composition): Set cmp->glyph_len.
 -      (font_open_entity): Set font->scalable.
 -      (Ffont_get): Handle :otf property.
 -      (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
 -      functions.
 -      (Fquery_font): Use font->font.full_name.
 -      (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
 -      Sfont_otf_alternates.
 -
 -      * ftfont.c (ftfont_open): Set font->font.full_name and
 -      font->font.name properly.  Fix calculation of font->font.height
 -      and font->min_width.
 -
 -      * ftxfont.c (ftxfont_create_gcs): New function.
 -      (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
 -      (ftxfont_draw_backgrond): Fix filling region.
 -      (ftxfont_default_fid): New function.
 -      (ftxfont_open): Set xfont->fid to the return value of
 -      ftxfont_default_fid.
 -      (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
 -      (ftxfont_done_face): Free only GCs that are created by
 -      ftxfont_create_gcs.
 -      (ftxfont_draw): If face->gc != s->gc, create proper GCs.
 -
 -      * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
 -      Clip to src->width, etc (not src->clip_XXX).
 -
 -      * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
 -      FontBackend frame parameter.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (struct font_driver_list): New member `on'.
 -      (Fclear_font_cache): EXFUN it.
 -      (font_update_drivers): Extern it.
 -
 -      * font.c (font_unparse_fcname): Fix typo (swidth->width).
 -      (font_list_entities): Check driver_list->on.
 -      (register_font_driver): Initialize `on' member to 0.
 -      (font_update_drivers): New function.
 -      (Fclear_font_cache): Check driver_list->on.
 -
 -      * frame.h (Qfont_backend): Extern it.
 -      (x_set_font_backend): Extern it.
 -
 -      * frame.c (Qfont_backend): New variable.
 -      (frame_parms): New element for font-backend.
 -      (x_set_font_backend): New function.
 -
 -      * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
 -      FontBackend frame parameter.
 -      (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
 -      x_set_font_backend.
 -
 -      * xfont.c (xfont_list): Don't try listing by :name property if the
 -      name is not for XLFD.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
 -      (LGLYPH_SET_TO): New macros.
 -      (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
 -      element of G is vector or not.
 -      (font_at): Extern it.
 -
 -      * font.c: Include window.h.
 -      (font_lispy_object): New function.
 -      (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
 -      end of valid glyph.
 -      (font_close_object): Fix getting (struct font *).
 -      (font_at): New function.
 -      (Ffont_get): If FONT is a font-object, get entity from it.
 -      (Ffont_make_gstring): Initialize elements of glyphs with nil.
 -      (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX.  Fix
 -      range check.
 -      (Ffont_at): New function.
 -      (syms_of_font): Defsubr Sfont_at.
 -
 -      * xdisp.c (it_props): Move the entry for Qauto_composed to just
 -      before the entry for Qcomposition.
 -      (handle_auto_composed_prop): Call auto-composition-function with 4 args.
 -      (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
 -      the font in gstring.
 -      (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
 -      LGLYPH_FORM (g) to detect the end of valid glyph.
 -      (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
 -      we are composing with gstring.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
 -      Check if adjustment is vector or not.
 -
 -      * Makefile.in (font.o): Make it depends on window.h.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Check if
 -      adjustment is vector or not.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
 -      (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
 -      (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
 -
 -      * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
 -      (DEVICE_DELTA): Fix typo.
 -      (font_otf_gpos, font_prepare_compositio): Adjust for the change of
 -      LGLYPH format.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 -      the change of LGLYPH format.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Fix typo.
 -      (ftfont_build_basic_charsets): Don't include letters with diacritics.
 -
 -2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
 -
 -      * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
 -      xftface_info is non-NULL.
 -
 -2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * ftfont.c (ftfont_list): Move misplaced #endif.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_list): Pay attention to the case that
 -      FC_CAPABILITY is not defined.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Set charset related members to -1.
 -
 -      * ftfont.c (ftfont_list): Handle QCotf property.  Fix handling of
 -      QCname.
 -      (ftfont_open): Set charset related members to -1.
 -
 -      * fontset.c (Votf_script_alist): New variable.
 -      (syms_of_fontset): Initialize it.
 -      (fontset_font): Delete unused variable.
 -
 -      * fontset.h (Votf_script_alist): Extern it.
 -
 -      * font.c (font_find_for_lface): Optimize code.
 -
 -      * font.h (font_close_object, font_merge_old_spec): Extern them.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
 -      (syms_of_font): Initialize them.
 -      (font_pixel_size): Allow float value in dpi.
 -      (font_prop_validate_type): Delete.
 -      (font_prop_validate_symbol, font_prop_validate_style): Change argument.
 -      Change caller.
 -      (font_prop_validate_non_neg): Rename from font_prop_validate_size.
 -      (font_prop_validate_extra): Delete.
 -      (font_prop_validate_spacing): New function.
 -      (font_property_table): Add elements for all known properties.
 -      (get_font_prop_index): Rename from check_font_prop_name.  New
 -      argument FROM.  Change caller.
 -      (font_prop_validate): Validate all known properties.
 -      (font_put_extra): Delete argument force.  Change caller.
 -      (font_expand_wildcards): Make it static.  Fix the way of shrinking
 -      the possible range.
 -      (font_parse_xlfd): Delete argument merge.  Fix handling of RESX,
 -      RESY, SPACING, and AVGWIDTH.  Don't validate property values here.
 -      Change caller.
 -      (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
 -      (font_parse_fcname): Delete argument merge.  Fix parsing of point
 -      size.  Don't validate properties values here.  Change caller.
 -      (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
 -      (font_open_by_name): Delete unused variable.
 -      (Ffont_spec): Likewise.  Validate property values.
 -      (Ffont_match_p): New function.
 -
 -      * font.h (QCscalable): Extern it.
 -      (font_parse_xlfd, font_parse_fcname): Adjust prototype.
 -
 -      * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
 -
 -      * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
 -      (xfont_list_pattern): New function.
 -      (xfont_list): Use xfont_list_pattern.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (Flist_fonts): EXFUN it.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Add back smoothing_type and
 -      smoothing_enabled definitions.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
 -      s->face->font on determining underline position.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
 -      (font_has_char): Accept font-object too.
 -      (font_find_for_lface): Try at first with a size specified in face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
 -      font_open_by_name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (QCspacing, QCdpi): Extern them.
 -      (enum font_spacing): New enum.
 -      (FONT_PIXEL_SIZE_QUANTUM): New macro.
 -
 -      * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
 -      (QCspacing, QCdpi): New variables.
 -      (syms_of_font): Initialize them.
 -      (font_pixel_size): New function.
 -      (font_put_extra): New function.
 -      (font_parse_xlfd): Fix handling of font size.  Add QCdpi property
 -      in FONT_EXTRA.
 -      (font_parse_fcname): Handle enumerated values (e.g. bold).
 -      Fix handling font size.  Add QCname property that contains only
 -      unknown properties.
 -      (font_score): Change argument.  Change caller.  Pay attention to
 -      FONT_PIXEL_SIZE_QUANTUM.
 -      (font_sort_entites, font_list_entities, font_find_for_lface)
 -      (font_open_for_lface, font_open_by_name): Fix handling of font size.
 -      (Ffont_spec): Add QCname property that contains only unknown properties.
 -
 -      * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq.  Don't
 -      include weight in listing pattern, instead check weight of each
 -      listed font.  Don't include scalable in pattern.  Pay attention to
 -      FONT_PIXEL_SIZE_QUANTUM.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_fcname): Fix parsing of point-size.
 -      (font_unparse_fcname): Produce symbolic names for style properties.
 -      (font_list_entities): Handle float size correctly.
 -      (font_open_by_name): Prefer `normal' property values if the name
 -      doesn't specify them.
 -
 -      * fontset.c (Finternal_char_font): Use font_get_name, not
 -      Ffont_xlfd_name.
 -
 -      * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
 -      FC_WEIGHT_REGULAR.  Exclude FC_SIZE and FC_PIXEL_SIZE from listing
 -      pattern.  Don't force scalable.
 -
 -      * xftfont.c (xftfont_open): For generating a name, start from
 -      96-byte buffer.
 -
 -2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.h (x_new_fontset2): Fix prototype.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (struct font_driver): Delete member parse_name.
 -      (font_match_p, font_get_spec, font_parse_fcname)
 -      (font_unparse_fcname): Extern them.
 -      (font_get_name): Adjust prototype.
 -
 -      * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
 -      (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
 -      (font_expand_wildcards): Fix handling ENCODING field.  Avoid
 -      unnecessary checks for weight, slant, and swidth.
 -      (font_parse_fcname): New function.
 -      (font_unparse_fcname): New function.
 -      (font_parse_name): New function.
 -      (font_match_p): New function.
 -      (font_get_name): Change return value to Lisp string.
 -      (font_get_spec): New function.
 -      (Qunspecified, Qignore_defface): Don't extern them.
 -      (font_find_for_lface): Assume that LFACE is fully specified.
 -      (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
 -      object, use it for FACE.
 -      (font_open_by_name): Call Ffont_spec with QCname prop.  Don't call
 -      driver->parse_name.
 -      (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
 -
 -      * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
 -      prototype.
 -
 -      * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
 -      argument F.  Don't call Fnew_fontset.  Instead, directly call
 -      make_fontset.
 -
 -      * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
 -
 -      * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
 -      of x_new_fontset2.
 -
 -      * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
 -      (Qsans__serif): New variables.
 -      (ftfont_generic_family_list): New variable.
 -      (syms_of_ftfont): Initialize the above variables.
 -      (ftfont_pattern_entity): Delete argument NAME.
 -      (ftfont_list_generic_family): New function.
 -      (ftfont_parse_name): Delete this function.
 -      (ftfont_list): Try generic family only when FcFontList found no font.
 -      (ftfont_list_family): Fix args to FcObjectSetBuild.
 -
 -      * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
 -      object in attrs[LFACE_FONT_INDEX].
 -      (set_lface_from_font_name): Cancel all changes for font-backend.
 -      (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
 -      function.
 -      (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
 -      font object in QCfont attribute.
 -      (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
 -      (realize_default_face) [USE_FONT_BACKEND]: Call
 -      set_lface_from_font_and_fontset.
 -
 -      * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
 -      "fixed", and signal error here if no suitable font was found.
 -
 -      * xfont.c (xfont_parse_name): Delete this function.
 -
 -      * xftfont.c (xftfont_open): Change coding style of error
 -      handling.  Generate fontconfig's fontname pattern.
 -
 -      * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
 -      (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
 -
 -      * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
 -      Both args FONTSET and FONT_OBJECT must be existing ones.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open, xfont_encode_char): Fix typo.
 -
 -      * font.h (struct font): Fix typo.
 -
 -      * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
 -      XLFD_XXX_INDEX.
 -      (enum xlfd_field_mask): New enum.
 -      (intern_font_field): Changed argument.  Change caller.  If digits
 -      are followed by non-digits, return a symbol.
 -      (font_expand_wildcards): New function.
 -      (font_parse_xlfd): Fix wildcard handling.
 -      (Ffont_spec): If :name is specified, reflect the info in the other
 -      properties.
 -
 -      * ftfont.c (ftfont_pattern_entity): Fix typo.
 -      (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
 -      locale.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
 -
 -      * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
 -      (font_unparse_xlfd): Fix argument type declaration.  Append "*" if
 -      registry doesn't specify encoding part.
 -      (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
 -      (font_open_by_name): At first try parsing the name.
 -      (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
 -      as Lisp symbols.
 -
 -      * fontset.c (reorder_font_vector): Pay attention to the case that
 -      the 3rd element of font_def is nil.
 -      (fontset_font): For the default fontset, append one more fontset
 -      elements for a script-based font specification.  Don't add script
 -      attribute on finding a font.
 -      (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
 -      font name.
 -      (fontset_ascii_font): If a font can't be opened, return nil.
 -
 -      * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
 -      (ftfont_pattern_entity): New function.
 -      (ftfont_get_cache): Assume that freetype_font_cache is already
 -      initialized.
 -      (ftfont_list): Handle the case that a file is specified in font
 -      name.  Use ftfont_pattern_entity to generate entities.
 -      (ftfont_has_char): Check if the pattern contains FC_CHARSET.
 -      (syms_of_ftfont): Initialize freetype_font_cache.
 -
 -      * xftfont.c (xftfont_open): Make the font name fontconfig's
 -      style.  Add BLOCK_INPUT and UNBLOCK_INPUT.
 -      (xftfont_close): Free font->font.name if not NULL.
 -
 -      * xfont.c (xfont_list): If script is specified for a font, return
 -      null_vector.
 -      (xfont_list_family): Declare argument type.
 -
 -      * xfaces.c (set_lface_from_font_name): If a font doesn't have a
 -      name, set LFACE_FONT (lface) to nil.
 -
 -      * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
 -      return Qnil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
 -      (standard_args): Add "-enable-font-backend".
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_default_fid): Set fid_known to 1.
 -      (struct xftdraw_list, xftdraw_list): Delete them.
 -      (register_xftdraw, check_xftdraw): Delete them.
 -      (xftfont_prepare_face): Don't call register_xftdraw.
 -      (xftfont_done_face): Don't call check_xftdraw.
 -      (xftfont_draw): Get background color only when with_background is
 -      nonzero.
 -
 -      * xfont.c (xfont_encode_char): Fix calculation of char2b.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are for the new font handling codes.
 -
 -      * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
 -      @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
 -      (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
 -      (FONTSRC, FONTOBJ): New variables.
 -      (obj): Add $(FONTOBJ).
 -      (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
 -      (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
 -      @LIBOTF_LIBS@.
 -      (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
 -      (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
 -
 -      * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
 -
 -      * character.h (Vscript_representative_chars): Extern it.
 -
 -      * character.c (Vscript_representative_chars): New variable.
 -      (syms_of_character): Declare it as a Lisp variable.
 -
 -      * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
 -      enable_font_backend is nonzero, accept the composition method
 -      COMPOSITION_WITH_GLYPH_STRING.
 -
 -      * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
 -      enumeration COMPOSITION_WITH_GLYPH_STRING.
 -
 -      * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
 -      members clip_x, clip_y, clip_width, and clip_height.
 -      (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
 -
 -      * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
 -      --enable-font-backend.  Call syms_of_font.
 -
 -      * fns.c (assoc_no_quit): New function.
 -
 -      * fontset.h (FONT_INFO_FROM_FACE): New macro.
 -      (face_for_font, new_fontset_from_font)
 -      (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
 -
 -      * fontset.c [USE_FONT_BACKEND]: Include "font.h".
 -      (fontset_font, fontset_ascii, face_for_char)
 -      (make_fontset_for_ascii_face, Ffont_info)
 -      (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
 -      is nonzero, use font-backend mechanism.
 -      (find_font_encoding): Make it non-static.
 -      (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
 -      New functions.
 -
 -      * frame.h (struct frame): New members resx and resy.
 -      (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
 -      (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
 -
 -      * frame.c [USE_FONT_BACKEND]: Include "font.h".
 -      (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
 -
 -      * lisp.h (assoc_no_quit): Extern it.
 -
 -      * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
 -      Through out the file, use FONT_INFO_FROM_FACE instead of
 -      FONT_INFO_FROM_ID, use get_per_char_metric instead of
 -      rif->per_char_metric.
 -      (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
 -      method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
 -      (get_glyph_face_and_encoding, fill_composite_glyph_string)
 -      (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
 -      (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
 -      nonzero, use font-backend mechanism.
 -      (get_per_char_metric): New function.
 -
 -      * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
 -      (set_lface_from_font_name)
 -      (set_font_frame_param, free_realized_face)
 -      (prepare_face_for_display, clear_face_gcs)
 -      (Finternal_set_font_selection_order, realize_x_face)
 -      [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
 -      font-backend mechanism.
 -      (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
 -      (load_face_font) [USE_FONT_BACKEND]: Abort.
 -      (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
 -      (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
 -
 -      * xfns.c [USE_FONT_BACKEND]: Include "font.h".
 -      (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
 -      (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
 -      nonzero, register all available font drivers.  Call
 -      x_default_font_parameter for deciding a font.
 -      (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
 -
 -      * xterm.c [USE_FONT_BACKEND]: Include "font.h".
 -      (x_set_mouse_face_gc, x_set_glyph_string_clipping)
 -      (x_set_glyph_string_clipping_exactly)
 -      (x_compute_glyph_string_overhangs)
 -      (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
 -      (x_free_frame_resources) [USE_FONT_BACKEND]: If
 -      enable_font_backend is nonzero, use font-backend mechanism.
 -      (x_new_fontset2) [USE_FONT_BACKEND]: New function.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
 -      system_eol_type.
 -      (syms_of_coding): Initialize system_eol_type.
 -
 -      * process.c (Fset_process_coding_system): Inherit system's eol
 -      format if necessary.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_eol): Pay attention to buffer relocation in
 -      del_range_2.
 -      (decode_coding): Call decode_eol before restoring undo_list.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdefine_charset_internal): Fix setting of
 -      emacs_mule_bytes.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keyboard.c (read_char): Check if C is a character or not before
 -      looking up Vkeyboard_translate_table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
 -      condition to terminate the loop.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (produce_composition): Compare charbuf[i] instead of
 -      args[i] against 0.
 -      (Fterminal_coding_system): Use EQ to compare Lisp objects.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_COMPOSITION_START): If the source is short, set
 -      coding->result to CODING_RESULT_INSUFFICIENT_SRC.
 -      (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
 -      detect_coding.
 -      (emacs_mule_char): Handle old style (Emacs 20) component character
 -      of a composition.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
 -      (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
 -      composition rule.
 -      (decode_coding_emacs_mule): Handle invalid bytes correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_ccl): Allocate destination dynamically
 -      when necessary.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
 -      the loop.  When quitted, show a proper error message.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_set_glyph_string_clipping_exactly): Set
 -      src->clip_head and src->clip_tail temporarily instead of src->hl.
 -
 -      * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
 -      character sequence.
 -      (Fccl_execute_on_string): Use ASET, not XSET.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding): Fix the condition of terminating the
 -      decoding loop.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * data.c (Faset): On setting a character bigger than 255 in a
 -      unibyte string, signal an error instead of make the string multibyte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (map_charset_chars): Fix for ascii-compatible charset
 -      made by a mapping table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
 -      not.
 -      (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
 -      (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Check
 -      s->face is NULL or not.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_set_glyph_string_clipping_exactly): New function.
 -      (x_draw_glyph_string): Fix drawing of right_overhang and
 -      left_overhang around/on cursor.
 -
 -      * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): Handle composition with TAB.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fdefine_coding_system_internal)
 -      (Fdefine_coding_system_alias): Avoid a duplicated element in
 -      Vcoding_system_alist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
 -
 -      * coding.c (Qcoding_system_define_form): New variable.
 -      (syms_of_coding): Intern and staticpro it.
 -      (Fcoding_system_p): Check Qcoding_system_define_form.
 -      (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
 -
 -      * coding.h (CODING_SYSTEM_P): If ID is not available, call
 -      Fcoding_system_p.
 -      (CHECK_CODING_SYSTEM): If ID is not available, call
 -      Fcheck_coding_system.
 -      (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
 -      Try also Fcheck_coding_system.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_conversion_restore): GCPRO arg.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (lisp_string_width): Check multibyteness of STRING.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_encode_char): Call ccl_driver with the last arg
 -      Qnil.  Use JIS_TO_SJIS instead of ENCODE_SJIS.
 -      (decode_mac_font_name): Use decode_coding_c_string instead of
 -      decode_coding.
 -      (x_load_font): Initialize fontp->fontset to -1.  Set
 -      fontp->encoding_type.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (search_buffer): Give up BM search on case-fold-search
 -      if one of a target character has a case-equivalence of different
 -      byte length even if that target character is an ASCII.
 -      (simple_search): Fix calculation of byte length of matched text.
 -      (boyer_moore): Fix handling of case-equivalent multibyte characters.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding): Fix handling of invalid bytes.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
 -      Unicode characters.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_object): If a pre-write-conversion
 -      function makes a new buffer, kill it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (QCascii_compatible_p): New variable.
 -      (syms_of_coding): Initialize it.
 -      (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
 -      calling string_char.
 -      (record_conversion_result): Add `default:' case.
 -      (coding_charset_list): Delete unused variable `coding_type'.
 -      (Fdefine_coding_system_internal): Add `ascii-compatible-p'
 -      property in the plist of the coding system.
 -      (Fcoding_system_put): Check QCascii_compatible_p.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
 -      removed calculation of frame `f', as it's now used.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
 -      (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
 -      (UNIDATA): New variable.
 -      (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
 -      (bootstrap-emacs${EXEEXT}): Depends on charprop.el.  Run
 -      $(RUN_TEMACS) unconditionally.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
 -      (admindir): New variable.
 -      ($(lispsource)international/charprop.el): New target.
 -
 -2008-02-01  Miles Bader  <miles@gnu.org>
 -
 -      * character.c (chars-in-region): Remove obsolete function.
 -      (syms_of_character): Remove its initialization.
 -
 -2008-02-01  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
 -
 -      * w32select.c (validate_coding_system)
 -      (setup_windows_coding_system): New functions.
 -      (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
 -      setup_windows_coding_system.
 -      (setup_config, Fw32_get_clipboard_data): Use
 -      validate_coding_system.
 -      (Fx_selection_exists): Move call to setup_config to a place
 -      where signals are allowed.
 -
 -      * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
 -      (Fcheck_coding_system): Add declarations.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map_from_vector): Fix for the first iteration.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
 -      string as the second argument for x_new_fontset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_object): Use safe_call1 instead of call1.
 -      (encode_coding_object): Use safe_call instead of call2.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): Check family element of a given vector.
 -
 -      * Makefile.in (lisp): Include charprop.el.
 -
 -2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
 -      Not sure if it's unnecessary.
 -
 -2008-02-01  Steven Tamm  <steventamm@mac.com>
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
 -      some possibly unnecessary fontset checking code that crashed
 -      when creating a new frame.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
 -      lookup_face.
 -
 -      * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
 -
 -      * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c: Cancel the change done in HEAD on 2008-02-01.
 -      (coding_charset_list): New function.
 -
 -      * coding.h (coding_charset_list): Extern it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): Call find_font_encoding with
 -      concatenation of family and registry.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (BYTE8_STRING): Fix typo.
 -
 -      * editfns.c (Ftranslate_region_internal): Don't convert unibyte
 -      string to multibyte (sync to HEAD).
 -
 -      * casefiddle.c (casify_region): Handle changes in byte-length
 -      using replace_range_2 (sync to HEAD).
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * chartab.c (map_char_table): GCPRO table and arg.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
 -      already at limit.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fs_load_font): Use fast_string_match_ignore_case
 -      instead of fast_c_string_match_ignore_case.
 -      (find_font_encoding): Change argument to Lisp_Object.  Use
 -      fast_string_match_ignore_case instead of
 -      fast_c_string_match_ignore_case.  Change caller.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): In unibyte case, decide to
 -      display in octal form by checking a character by
 -      UNIBYTE_CHAR_HAS_MULTIBYTE_P.
 -
 -      * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
 -
 -      * character.c (unibyte_has_multibyte_table): New variable.
 -
 -      * character.h (unibyte_has_multibyte_table): Extern it.
 -      (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_iso_2022): Fix handling of charset
 -      annotation.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): If coding_system is nil, use
 -      Qundecided.
 -      (Fterminal_coding_system): Return nil if terminal coding system is
 -      `undecided'.
 -      (syms_of_coding): Define coding-system `undecided' here.  Setup
 -      terminal_coding as `undecided'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (message_dolog, set_message_1): Call
 -      unibyte_char_to_multibyte with arg type int.
 -
 -      * lread.c (read1): Fix reading of a char-table.
 -
 -      * print.c (print_object): Include sub char-table in circularities
 -      detection.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
 -      Append the found sequences in car of ARGS instead of prepending.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (report_file_error): Make a unibyte string from
 -      strerror (errorno).
 -      (Fsubstitute_in_file_name): Fix the arg to
 -      unibyte_char_to_multibyte.  It is evaluated twice.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_16): Don't set detect_info->found if
 -      BOM is not found.
 -      (detect_coding, detect_coding_system): Optimization for ISO-2022
 -      when no 8-bit data is found.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_to_w32_font): Update to use new coding struct.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
 -      CHARS.
 -
 -2008-02-01  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (mac_encode_char): Add charset argument and update
 -      to use encoding_type.
 -      (x_new_font, x_new_fontset): Merge in changes from xterm.c;
 -      switch to pure fontset.
 -      (decode_mac_font_name): Temporarily remove decoding.
 -      (x_font_name_to_mac_font_name): Temporarily remove encoding.
 -      (x_load_font): Temporarily remove encoding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fface_font): If frame is not on a window system,
 -      ignore CHARACTER arg.  If HAVE_WINDOW_SYSTEM is not defined, don't
 -      refer to face->font.
 -      (split_font_name_into_vector, build_font_name_from_vector)
 -      (lookup_non_ascii_face, realize_non_ascii_face): Define them only
 -      when HAVE_WINDOW_SYSTEM is defined.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
 -      (x_produce_glyphs): Fix setting of members of cmp in case
 -      cmp->glyph_len is zero.
 -
 -      * fontset.c (Fset_fontset_font): Fix docstring.
 -      (Ffontset_info): Make it backward compatible.  New arg ALL.
 -
 -2008-02-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (read_process_output): Grow decoding_buf when needed;
 -      this could cause a crash in allocate_string and compact_small_strings.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (WRITE_BUF_SIZE): Delete this macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): Set coding->common_flags
 -      correctly for raw-text.
 -      (consume_chars): On encoding unibyte text by raw-text, don't check
 -      multibyte form.
 -      (encode_coding): On encoding by raw-text, never use translation tables.
 -
 -      * fileio.c (e_write): Short cut for the case of no encoding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding, detect_coding_system): Delete unused
 -      variables.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
 -      (consume_chars): Fix handling of 8-bit bytes in unibyte source.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Ffind_coding_systems_region_internal): Include
 -      raw-text and no-conversion in the result.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
 -      (load_font_get_repertory): Delete unnecessary check of ENCODING of
 -      FONT_DEF.
 -      (font_def_arg, add_arg, from_arg, to_arg): New args.
 -      (set_fontset_font): Change argument.
 -      (Fset_fontset_font): Fix for the case that TARGET is a script
 -      name and charset name.
 -      (new_fontset_from_font_name): Fix argument to Fnew_fontset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_font): Rename from fontset_face.  Change return
 -      value.
 -      (face_suitable_for_char_p, face_for_char): Adjust for the change
 -      of fontset_font.
 -      (make_fontset_for_ascii_face): Fix setting of the fontset element
 -      for ASCII.
 -      (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
 -      to get a font name.
 -      (Ffontset_info): Adjust for the change of fontset_font.
 -
 -      * coding.c (emacs_mule_char): Check invalid code more rigidly.
 -
 -      * character.h (LEADING_CODE_LATIN_1_MIN)
 -      (LEADING_CODE_LATIN_1_MAX): Delete these macros.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (check_translation): New function.
 -      (Ftranslate_region_internal): Handle M:N mapping.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
 -      goto invalid_code.
 -      (decode_coding_iso_2022): Fix handling of invalid designation.
 -
 -      * fileio.c (Finsert_file_contents): Be sure to call unbind_to
 -      after calling code_conversion_save.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
 -
 -      * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
 -
 -      * fontset.c: Include "intervals.h".
 -      (fontset_face): Fix comparing of Lisp_Objects.
 -      (free_face_fontset, new_fontset_from_font_name): Fix
 -      Lisp_Object/int mixup.
 -
 -      * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
 -
 -      * coding.c: Add many prototypes for static functions.
 -      (get_translation_table): Allow max_lookup to be NULL.
 -      (decode_coding, Ffind_coding_systems_region_internal)
 -      (Funencodable_char_position, Fcheck_coding_systems_region): Call
 -      get_translation_table with max_lookup NULL.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (get_translation_table): Declare it as Lisp_Object.
 -      (LOOKUP_TRANSLATION_TABLE): New macro.
 -      (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
 -      instead of CHAR_TABLE_REF.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
 -      annotation data format.
 -      (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
 -      Change arguments FROM and TO to single argument NCHARS.  Change caller.
 -      (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_ccl, decode_coding_charset): Pay attention to
 -      coding->charbuf_used.
 -      (get_translation): New function.
 -      (produce_chars): New arguments translation_table and last_block.
 -      Translate characters here.  Return number of carryover chars.
 -      Change caller.
 -      (produce_composition): New argument pos.  Change caller.
 -      Adjust for the change of annotation data format.
 -      (produce_charset, produce_annotation): Likewise.
 -      (decode_coding, encode_coding): Don't call translate_chars.
 -      (consume_chars): New arg translation_table.  Change caller.
 -      (translate_chars): Delete.
 -      (syms_of_coding): Make translation-table's number of extra slots 2.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (simple_search): Fix setting this_pos_byte in backward
 -      search.
 -
 -      * coding.c (detect_coding_emacs_mule): Fix counting of encoded
 -      byte sequence.
 -      (detect_coding_ccl): Fix setting of the variable valids.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
 -
 -      * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
 -
 -      * editfns.c (Ftranslate_region_internal): Rename from
 -      Ftranslate_region.  Accept a char-table in TABLE.
 -      (syms_of_editfns): Defsubr Stranslate_region_internal.
 -
 -      * xfaces.c (set_lface_from_font_name): If a font is specified for
 -      a frame, generate a fontset from the font.
 -      (build_scalable_font_name): If the scalable font is requested for
 -      a specific size, don't change that size.
 -      (try_font_list): Try a scalable font also in the case that a
 -      pattern string is specified.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fface_font): New optional arg CHARACTER.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHARSET_OFFSET): New macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
 -
 -      * fontset.c (fontset_face): Handle the case that repertory is a
 -      char-table.
 -      (find_font_encoding): Return nil for unknown encoding.
 -      (Fset_fontset_font): Ignore a font of unknown encoding.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (describe_vector): Handle default value of a char table.
 -
 -      * fontset.c (fontset_face): Handle fallback fonts correctly.
 -      (Ffontset_info): Return infomation about fallback fonts.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (FONTSET_DEFAULT): New macro.
 -      (FONTSET_ADD, fontset_add): Handle the case that range is nil.
 -      (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
 -      the case that it is nil.
 -      (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
 -      (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
 -
 -      * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
 -      subset or superset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Call init_charset after syms_of_XXX.
 -
 -      * charset.c (Vcharset_map_directory): Delete.
 -      (Vcharset_map_path): New variable.
 -      (load_charset_map_from_file): Use Vcharset_map_path instead.
 -      (init_charset): Initialize Vcharset_map_path.
 -      (syms_of_charset): Delete declaration of "charset-map-directory",
 -      add declaration of "charset-map-path".
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
 -      ASCII only string.
 -
 -      * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
 -
 -      * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
 -      (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
 -
 -      * coding.c (QCmnemonic, QCdefalut_char)
 -      (QCdecode_translation_table, QCencode_translation_table)
 -      (QCpost_read_conversion, QCpre_write_conversion): New variables.
 -      (get_translation_table): Return a list of translation tables if
 -      necessary.
 -      (decode_coding): Call get_translation_table with ENCODEP 0.
 -      (char_encodable_p): If translation_table is non-nil, always call
 -      translate_char.
 -      (Fdefine_coding_system_internal): Accept list of translation
 -      tables as :encode-translation-table and :decode-translation-table.
 -      (Fcoding_system_put): New function.
 -      (syms_of_coding): Declare new symbols.  Defsubr
 -      Scoding_system_put.
 -      (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
 -      typically JISX0212.
 -
 -      * charset.c (map_charset_chars): Fix arg to map_charset_chars in
 -      when the charset is superset type.
 -
 -      * character.c (translate_char): Accept list of translation tables.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
 -      (CODING_ATTR_TRANS_TBL): New macro.
 -
 -      * coding.c (get_translation_table): New function.
 -      (translate_chars): Fix the bug of skipping annotation data.
 -      (decode_coding, encode_coding): Utilize get_translation_table.
 -      (char_encodable_p, Funencodable_char_position): Translate char if
 -      necessary.
 -      (Ffind_coding_systems_region_internal)
 -      (Fcheck_coding_systems_region): Setup translation table for encode
 -      in a coding system attribute vector in advance.
 -      (Fdefine_coding_system_internal): Allow a symbol as translation
 -      table.  For shift-jis type coding system, allow 4th charset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_sjis): Check the first byte rigidly.
 -
 -      * xdisp.c (get_next_display_element): Pass -1 as POS to
 -      FACE_FOR_CHAR if displaying a C-string.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (get_composition_id): Handle xoff and yoff in a
 -      composition rule.
 -
 -      * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
 -      (struct composition): New member lbearing and rbearing.
 -
 -      * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
 -      (x_get_glyph_overhangs): Handle a composition glyph.
 -      (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
 -
 -      * xterm.c (x_compute_glyph_string_overhangs): Handle also a
 -      composition glyph.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c: Include charset.h.
 -      (Vprint_charset_text_property): New variable.
 -      (Qdefault): Extern it.
 -      (PRINT_STRING_NON_CHARSET_FOUND)
 -      (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
 -      (print_check_string_result): New variable.
 -      (print_check_string_charset_prop): New function.
 -      (print_prune_charset_plist): New variable.
 -      (print_prune_string_charset): New function.
 -      (print_object): Call print_prune_string_charset if
 -      Vprint_charset_text_property is not t.
 -      (print_interval): Print nothing if interval->plist is nil.
 -      (syms_of_print): Declare Vprint_charset_text_property as a lisp
 -      variable.  Init and staticpro print_prune_charset_plist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (new_fontset_from_font_name): Use the specified font
 -      for all characters in the new fontset.
 -
 -      * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
 -      OBJECT args.
 -
 -      * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
 -      OBJECT args for composition too.
 -
 -      * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
 -      OBJECT args.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
 -
 -      * fontset.c (reorder_font_vector): Adjust for the change of
 -      FONT_DEF format.
 -      (fontset_face): New arg id.  Change caller.
 -      (face_for_char): New args pos and object.
 -      (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
 -      (fs_query_fontset): Check NAME by Fassoc too.
 -      (Fset_fontset_font): Allow non-XLFD font name.
 -      (Ffontset_info): Adjust for the change of FONT_DEF format.
 -
 -      * fontset.h (face_for_char): Adjust prototype.
 -
 -      * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
 -      (append_space, extend_face_to_end_of_line)
 -      (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
 -      (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
 -
 -      * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
 -      POS and OBJECT args.
 -
 -      * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
 -      POS and OBJECT args.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
 -      of GlobalAlloc'ed memory.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
 -
 -      * charset.h (charset_table_used): Delete extern.
 -
 -      * charset.c (charset_table_used): Make it static.
 -      (map_charset_chars): Fix args to c_function with.
 -
 -      * chartab.c (map_sub_char_table_for_charset): Fix args to
 -      c_function with.
 -
 -      * coding.h (enum coding_result_code): Delete
 -      CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
 -
 -      * coding.c (Qinsufficient_source, Qinconsistent_eol)
 -      (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
 -      (Vlast_code_conversion_error): New variables.
 -      (syms_of_coding): DEFSYM or DEFVAR_LISP them.
 -      (ONE_MORE_BYTE): Record error if any instead of signaling an
 -      error.  If non-ASCII multibyte char is found, return the negative
 -      value of the code.  All callers changed to check it.
 -      (ONE_MORE_BYTE_NO_CHECK): Likewise.
 -      (record_conversion_result): New function.  Change all codes setting
 -      coding->result to call this function.
 -      (detect_coding_utf_8, decode_coding_utf_8)
 -      (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
 -      Don't use the local variable incomplete.
 -      (emacs_mule_char): Change the second arg to `const'.
 -      (decode_coding): Fix of flushing out unprocessed data.
 -      (make_conversion_work_buffer): Fix making of a work buffer.
 -      (decode_coding_object): Return coding->dst_object.
 -
 -      * fontset.c (set_fontset_font): Fix args.
 -
 -      * lisp.h (CHARACTERBITS): Define as 22.
 -
 -      * process.c (send_process): Be sure to set coding->src_multibyte.
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Give limit to
 -      Fnext_single_char_property_change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (syms_of_composite): Don't make the composition hash
 -      table weak.
 -
 -      * fontset.c (Fset_fontset_font): Fix docstring.
 -
 -      * lisp.h (detect_coding_system): Adjust prototype.
 -
 -      * fileio.c (kill_workbuf_unwind): Delete this function.
 -      (Finsert_file_contents): Adjust the call of detect_coding_system.
 -      Get conversion_buffer by code_conversion_save.  Use the macro
 -      CODING_MAY_REQUIRE_DECODING.  After decoding, update
 -      coding_system.
 -
 -      * coding.h (make_conversion_work_buffer): Delete extern.
 -      (code_conversion_save): Extern it.
 -
 -      * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
 -      (CODING_GET_INFO): Delete argument eol_type.  Change callers.
 -      (decode_coding_utf_8): Don't do eol converion.
 -      (detect_coding_utf_16): Check coding->src_chars, not
 -      coding->src_bytes.  Add heuristics for those that have no signature.
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
 -      Don't do eol converion.
 -      (adjust_coding_eol_type): Return a new coding system.
 -      (detect_coding): Don't detect eol.  Fix for utf-16 detection.
 -      (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
 -      each change.
 -      (decode_coding): Pay attention to undo_list.  Do eol conversion for
 -      all types of coding-systems (if necessary).
 -      (Vcode_conversion_work_buf_list): Delete it.
 -      (Vcode_conversion_reused_workbuf): Rename from
 -      Vcode_conversion_reused_work_buf.
 -      (Vcode_conversion_workbuf_name): New variable.
 -      (reused_workbuf_in_use): New variable.
 -      (make_conversion_work_buffer): Delete the arg DEPTH.
 -      (code_conversion_restore): Change argument to cons.
 -      (code_conversion_save): Delete the argument BUFFER.  Change callers.
 -      (detect_coding_system): New argument src_chars.  Change callers.
 -      Fix for utf-16 detection.
 -      (init_coding_once): Don't use ISO_carriage_return.
 -      (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
 -      reused_workbuf_in_use.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (store_in_keymap): Pay attention to the case that idx
 -      is a cons specifying a character range.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Fix the case of returning
 -      HANDLED_RECOMPUTE_PROPS.
 -
 -      * coding.c (Fdefine_coding_system_internal): Fix checking of
 -      ascii compatibility.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (find_charsets_in_text): Delete unused locale variable.
 -      (Fset_charset_priority): Update Vemacs_mule_charset_list too.
 -
 -      * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
 -      Resync charset_list to Vemacs_mule_charset_list.
 -
 -      * keymap.c (store_in_keymap): Pay attention to the case that idx
 -      is a cons specifying a character range.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (update_compositions): Bind inhibit-read-only, etc
 -      to t before calling remove-list-of-text-properties.
 -
 -      * print.c (print_object): Always print ASCII chars as is.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
 -
 -      * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
 -      is a char table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (set_lface_from_font_name): Fix for the case that
 -      FONTNAME is not fontset name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (base64_encode_1): Fix previous change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (set_fontset_font): New function.
 -      (Fset_fontset_font): If a font is specified for a charset, use
 -      map_charset_chars to store the font spec in a fontset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_face): Create a fallback fontset on demand.
 -      (make_fontset): Don't create a fallback fontset here.
 -      (free_face_fontset): Free a fallback fontset (if any) too.
 -      (n_auto_fontsets): Delete this variable.
 -      (auto_fontset_alist): New variable.
 -      (new_fontset_from_font_name): Check auto_fontset_alist.
 -      (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
 -      (Ffontset_list_all) [FONTSET_DEBUG]: New function.
 -      (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
 -      Defsubr Sfontset_list_all.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fnew_fontset): Check NAME more rigidly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fgoto_char): Fix docstring.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (insert_from_gap): Adjust intervals correctly.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
 -      (pfnGetFontUnicodeRanges): New dynamically loaded function.
 -      (w32_initialize): Try to load it.
 -      (x_get_font_repertory): Use it if available.
 -      (w32_encode_char): Add shortcut for unicode output.
 -
 -      * w32fns.c (w32_load_system_font): Default charset to -1.
 -      (x_to_w32_charset): Match all fonts for unicode.
 -      (w32_to_x_charset): New parameter matching.  Don't return partial
 -      or wildcard charsets.
 -      (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
 -      (w32_codepage_for_font): Return CP_UNICODE for unicode.
 -      (w32_to_x_font): Match charset to real charset.
 -      (enum_font_cb2): Always list unicode versions.
 -
 -      * makefile.w32-in (temacs): Increase EMHEAP.
 -
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_encode_char): New charset parameter.
 -      font_info.encoding becomes encoding_type.
 -      (x_get_font_repertory): New function.  Warning: stub only!
 -      (x_new_font): Return quickly if font already set.
 -      (x_new_fontset): fontsetname parameter is Lisp_Object.
 -      Use new fs_query_fontset.  Try new_fontset_from_font_name.
 -      Use fontset_name for return value.
 -
 -      * w32term.h: Declare x_get_font_repertory.
 -
 -      * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
 -      place of find_charset_in_text.  Use encode_coding_object in place
 -      of encode_coding.
 -      (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
 -      decode_coding.
 -
 -      * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
 -      of x_new_fontset.
 -      (w32_load_system_font): Initialize charset as unicode.
 -      font_info.encoding becomes encoding_type.
 -      (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
 -      (x_to_w32_font): Use encode_coding_object in place of encode_coding.
 -      (syms_of_w32fns): Set get_font_repertory_func.
 -
 -      * w32console.c: Include character.h.  Use terminal_encode_buffer
 -      from term.c.
 -      (write_glyphs): Use new version of encode_terminal_code.  Use
 -      encode_coding_object in place of encode_coding.
 -
 -      * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
 -      encoding becomes encoding_type.
 -
 -      * term.c (terminal_encode_buffer): Make externally visible.
 -
 -      * makefile.w32-in: Add character.h dependancies.
 -      (character.o, chartab.o): New targets.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
 -      CODING_ID_EOL_TYPE.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (produce_chars): Revert last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (charset_unicode): Extern it.
 -
 -      * charset.c (string_xstring_p): Check by (C >= 0x100).
 -      (find_charsets_in_text): Change format of the arc CHARSETS.  New
 -      arg MULTIBYTE.
 -      (Ffind_charset_region, Ffind_charset_string): Adjust for the
 -      change of find_charsets_in_text.
 -      (Fsplit_char): Fix doc.  Never return unknown.
 -
 -      * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
 -
 -      * coding.c (Fdefine_coding_system_alias): Update
 -      Vcoding_system_list.
 -
 -      * fontset.c (load_font_get_repertory): Pay attention to the case
 -      that ENCODING of a font is specified by a char-table.
 -
 -      * xterm.c (x_get_font_repertory): Handle the case that the
 -      encoding of font is other than Unicode.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_code): Don't handle glyph-table.  Check
 -      if a character is encodable by the terminal coding system.  If
 -      not, produces proper number of `?'s.  Update
 -      terminal_encode_buffer and terminal_encode_buf_size if necessary.
 -      (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
 -      variables.
 -      (encode_terminal_code): Change argument.  Encode multiple
 -      characters at once.  Store the result of encoding in
 -      terminal_encode_buffer.
 -      (write_glyphs, insert_glyphs): Adjust for the change of
 -      encode_terminal_code.
 -      (term_init): Initialize terminal_encode_buffer and
 -      terminal_encode_buf_size.
 -
 -      * coding.c (consume_chars): If coding->src_object is nil, don't
 -      check annotation.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (char_string): Use ASCII_CHAR_P instead of
 -      SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_auto_composed_prop): Check if the last
 -      characters of auto-composed region is newly composed with the
 -      following characters.
 -      (handle_composition_prop): Fix checking of point being inside
 -      composition.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (concat): Don't change multibyteness of the result by
 -      concatenating an 8-bit character.
 -
 -      * data.c (Faset): Check newelt by CHECK_CHARACTER.  Don't change
 -      multibyteness of the result when newelt is an 8-bit character.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
 -      EMACS_INT.
 -
 -      * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
 -
 -      * xfaces.c (face_numeric_value): Declare dim size_t.
 -      (Finternal_lisp_face_equal_p): Remove unused f.
 -
 -      * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
 -      (MATRIX_ROW): Remove unused vars.
 -      (draw_glyphs, x_insert_glyphs, fast_find_position)
 -      (fast_find_position, fast_find_string_pos): Use EMACS_INT for
 -      byte/char counts.
 -
 -      * regex.c (regex_compile): Remove unused var.
 -
 -      * minibuf.c (Fminibuffer_complete_word): Remove unused var.
 -
 -      * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
 -      (Faccessible_keymaps, where_is_internal): Remove unused vars.
 -
 -      * keyboard.c (cancel_hourglass_unwind): Return Qnil.
 -
 -      * frame.c (frame_name_fnn_p): Make len EMACS_INT.
 -
 -      * fileio.c (Fwrite_region): Remove unused var.
 -
 -      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
 -      (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
 -
 -      * composite.c (Fremove_list_of_text_properties): Declare.
 -
 -      * coding.c (inhibit_pre_post_conversion): Remove (unused).
 -      (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
 -      (coding_inherit_eol_type): Remove unused attrs.
 -      (detect_coding): Cast arg of detect_eol.
 -
 -      * charset.c (syms_of_charset): Remove unused var p.
 -      (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
 -      byte/char counts.
 -
 -      * casetab.c (set_case_table): Remove unused var.
 -
 -      * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
 -      unused vars.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (x_bitmap_mask): Declare.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (x_term_init): Fix type error.
 -
 -      * lisp.h: Add Funibyte_char_to_multibyte.
 -
 -      * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
 -      (Fset_coding_system_priority): Doc fix.
 -
 -      * ccl.c (ccl_driver): Fix arg of CHARACTERP.
 -
 -      * indent.c (check_composition): Make start and end EMACS_INT.
 -
 -      * character.c (lisp_string_width): Make ignore and end EMACS_INT.
 -
 -      * xdisp.c (handle_composition_prop, check_point_in_composition):
 -      Make buffer positions EMACS_INT.
 -
 -      * composite.c (find_composition, run_composition_function)
 -      (update_compositions, Ffind_composition_internal): Make buffer
 -      positions EMACS_INT.
 -
 -      * composite.h (find_composition, update_compositions): Make
 -      position args EMACS_INT.
 -
 -      * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
 -
 -      * intervals.c (get_property_and_range):
 -      * intervals.h (get_property_and_range): Make start and end EMACS_INT.
 -
 -      * unexalpha.c: Don't include varargs.h.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.h (ENCODE_UTF_8): New.
 -
 -      * Makefile.in (gtkutil.o): Depend on coding.h.
 -
 -      * coding.c (Fset_coding_system_priority): Doc fix.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Call setup_coding_system in
 -      the case of auto saving.
 -
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * chartab.c (map_char_table, map_char_table_for_charset): Protect
 -      `range' from GC.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_sjis): Check bytes more rigidly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (choose_write_coding_system): Return a decided coding system.
 -      (Fwrite_region): Set Vlast_coding_system_used to the return value
 -      of choose_write_coding_system.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fset_charset_priority): Pay attention to duplicated
 -      arguments.
 -
 -      * coding.c (QCcategory): New variable.
 -      (syms_of_coding): Defsym it.  Set all elements of
 -      Vcoding_category_table and their symbol values.
 -      (Fset_coding_system_priority): Doc fix.  Update symbol qvalues of
 -      coding-category-XXX, and coding-category-list.
 -      (Fdefine_coding_system_internal): Add category in the plist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): Handle carryover correctly.
 -
 -      * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
 -      (raw_text_coding_system): Check NILP (coding_system).
 -      (coding_inherit_eol_type): Check NILP (coding_system) and
 -      NILP (parent).
 -      (consume_chars): Fix for the case of raw-text.
 -
 -      * process.c (read_process_output): Handle carryover correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * regex.c (re_search_2): Fix last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
 -      target_multibyte.  Even in a unibyte case, return a converted
 -      multibyte char.
 -      (GET_CHAR_AFTER): New macro.
 -      (PATFETCH): Translate via multibyte char.
 -      (HANDLE_UNIBYTE_RANGE): Delete this macro.
 -      (SETUP_MULTIBYTE_RANGE): New macro.
 -      (regex_compile): Setup compiled code so that its multibyteness
 -      matches that of a target.  Fix the handling of "[X-YZ]" using
 -      SETUP_MULTIBYTE_RANGE.
 -      (analyse_first) <charset>: For filling fastmap for all multibyte
 -      characters, don't check by BASE_LEADING_CODE_P.
 -      (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp).  It is
 -      the same as RE_MULTIBYTE_P (bufp) now.
 -      (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
 -      (TARGET_CHAR_AND_LENGTH): Delete this macro.
 -      (TRANSLATE_VIA_MULTIBYTE): New macro.
 -      (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
 -      It is the same as RE_MULTIBYTE_P (bufp) now.
 -      <exactn>: Translate via multibyte.
 -      <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH.  Don't
 -      translate it.
 -      <charset, charset_not>: Fetch a character by
 -      RE_STRING_CHAR_AND_LENGTH.  Translate via multibyte.
 -      <duplicate>: Call bcmp_translate with the last arg `multibyte'.
 -      <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
 -      notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
 -      by GET_CHAR_AFTER.
 -      (bcmp_translate): Likewise.
 -
 -      * search.c (compile_pattern): Check the member target_multibyte,
 -      not the member multibyte of buf.
 -
 -      * lread.c (read1): While reading a string, set force_singlebyte
 -      and force_multibyte correctly.
 -
 -      * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
 -      up of unibyte_to_multibyte_table.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): If coding has
 -      post-read-conversion or pre-write-conversion, set
 -      CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
 -      respectively.
 -      (decode_coding_gap): Run post-read-conversion if any.
 -
 -      * fileio.c (Finsert_file_contents): Even if we read into a
 -      unibyte buffer, check if we must decode the result or not.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (make_conversion_work_buffer): Change the work buffer
 -      name to the same one as that of Emacs 21.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (make_conversion_work_buffer): Adjust prototype.
 -      (code_conversion_restore): Don't extern it.
 -
 -      * coding.c (detected_mask): Delete unused variable.
 -      (decode_coding_iso_2022): Pay attention to the byte sequence of
 -      CTEXT extended segment, and retain those bytes as is.
 -      (decode_coding_ccl): Delete unused variable `valids'.
 -      (setup_coding_system): Delete unused variable `category'.
 -      (consume_chars): Delete unused variable `category'.  Make it work
 -      for non-multibyte case.
 -      (make_conversion_work_buffer): Change argument.
 -      (saved_coding): Delete unused variable.
 -      (code_conversion_restore): Don't check saved_coding->destination.
 -      (code_conversion_save): New function.
 -      (decode_coding_gap, encode_coding_gap): Call code_conversion_save
 -      instead of record_unwind_protect.
 -      (decode_coding_object, encode_coding_object): Likewise.  Recover PT.
 -      (detect_coding_system): Delete unused variable `mask'.
 -      (Fdefine_coding_system_internal): Delete unused variable id.
 -
 -      * fileio.c (kill_workbuf_unwind): New function.
 -      (Finsert_file_contents): On replacing, call
 -      make_conversion_work_buffer with correct args, and call
 -      record_unwind_protect with the first arg kill_workbuf_unwind.
 -
 -      * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
 -      (fontset_add): Fix for the case that TO is less than TO1.
 -      (Ffontset_info): Don't use fallback fontset on checking the
 -      default fontset.
 -      (dump_fontset): New function for debugging.
 -
 -      * coding.c (Fdefine_coding_system_internal): Fix for the case that
 -      coding_type is Qcharset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
 -      (map_char_table): Don't inherit the value from the parent on
 -      initializing VAL.  Adjust for the above change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Qsignature, Qendian): Delete these variables.
 -      (syms_of_coding): Don't initialize them.
 -      (CATEGORY_MASK_UTF_16_AUTO): New macro.
 -      (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
 -      detect_info->found.
 -      (decode_coding_utf_16): Don't detect BOM here.
 -      (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
 -      is NOT utf_16_without_bom.
 -      (setup_coding_system): For a coding system of type utf-16, check
 -      if the attribute :endian is Qbig or not (not nil or not), and set
 -      CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
 -      (detect_coding): If coding type is utf-16 and BOM detection is
 -      required, detect it.
 -      (Fdefine_coding_system_internal): For a coding system of type
 -      utf-16, check if the attribute :endian is Qbig or not (not nil or not).
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_set_source): Fix for the case that the current
 -      buffer is different from coding->src_object.
 -      (decode_coding_object): Don't use the conversion work buffer if
 -      DST_OBJECT is a buffer.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * lread.c (read_emacs_mule_char) [len==2]: Index
 -      emacs_mule_charset correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
 -      (detect_coding_big5, decode_coding_big5, encode_coding_big5)
 -      (Fdecode_big5_char, Fencode_big5_char): Delete.  (Big5 no longer
 -      treated specially.)
 -      (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
 -      (detected_mask): Remove Big5 bits.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are to make the font rescaling facility
 -      compatible with Emacs 21.
 -
 -      * xfaces.c (Vface_font_rescale_alist): Rename from
 -      Vface_resizing_fonts.
 -      (struct font_name): Rename member resizing_ratio to rescale_ratio.
 -      (font_rescale_ratio): Rename from font_resizing_ratio.
 -      (split_font_name): Set font->rescale_ratio.
 -      (better_font_p): Pay attention to font->rescale_ratio.
 -      (build_scalable_font_name): Likewise.  Change RESX, and RESY
 -      fields.
 -      (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
 -      (Qutf_16_le): Remove these variables.
 -      (syms_of_coding): Don't DEFSYM them.
 -      (decode_coding_utf_16): Fix handling of BOM.
 -      (encode_coding_utf_16): Fix handling of BOM.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): On replacing, before decoding
 -      the file into the work buffer, set point of the work buffer to the end.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix type errors.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 -      and fix C types.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (SKIP_GLYPHS): New macro.
 -      (set_cursor_from_row): Pay attention to string display properties.
 -
 -      * category.c (copy_category_entry): Fix for the case that RANGE
 -      is an integer.
 -
 -      * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
 -
 -      * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fcharset_id_internal): New function.
 -      (syms_of_charset): Defsubr it.
 -
 -      * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
 -      with the last arg charset_list acquired from coding.
 -      (Fdefine_coding_system_internal): For ccl-based coding system, fix
 -      the attribute coding_attr_ccl_valids.
 -
 -      * coding.h (enum define_coding_ccl_arg_index): Set the first
 -      member coding_arg_ccl_decoder to coding_arg_max.
 -
 -      * ccl.h (ccl_driver): Adjust prototype.
 -
 -      * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
 -      (ccl_driver): New arg CHARSET_LIST.  Use the above macros instead
 -      of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
 -      (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
 -      last arg Qnil.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
 -      call encode_char.
 -
 -      * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * composite.c (syms_of_composite): Make composition_hash_table weak.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (check_face_attributes, generate_ascii_font_name)
 -      (font_name_registry): Don't extern them.
 -      (split_font_name_into_vector, build_font_name_from_vector): Extern them.
 -
 -      * fontset.h (Qfontset): Don't extern it.
 -      (new_fontset_from_font_name): Extern it.
 -
 -      * fontset.c: Give 8 extra slots to fontset objects.
 -      (Qfontset_info): New variable.
 -      (syms_of_fontset): Defsym it.
 -      (FONTSET_FALLBACK): New macro.
 -      (fontset_face): Try also the default fontset.
 -      (make_fontset): Realize a fallback fontset from the default fontset.
 -      (generate_ascii_font_name): Move from xfaces.c.  Rewritten by
 -      using split_font_name_into_vector and build_font_name_from_vector.
 -      (Fset_fontset_font): Access the elements of font_spec by enum
 -      FONT_SPEC_INDEX.  If font_spec is a string, extract the registry
 -      name by using split_font_name_into_vector.
 -      (Fnew_fontset): If no ASCII font is specified in FONTLIST,
 -      generate a proper font name from the fontset name.  Update
 -      Vfontset_alias_alist.
 -      (n_auto_fontsets): New variable.
 -      (new_fontset_from_font_name): New function.
 -      (Ffont_info): Store the information about fonts generated from the
 -      default fontset in the first extra slot of the returned char-table.
 -
 -      * xfaces.c (generate_ascii_font_name): Move to fontset.c.
 -      (font_name_registry): Delete function.
 -      (split_font_name_into_vector): New function.
 -      (build_font_name_from_vector): New function.
 -      (font_list): The argument REGISTRY is now a list of registry names.
 -      (choose_face_font): If we are choosing an ASCII font, and ATTRS
 -      specifies an explicit font name, return the name as is.  Make a
 -      list of registy names.
 -
 -      * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
 -      of x_new_fontset.
 -      (Fx_create_frame): Don't call x_new_fontset here.  Just use
 -      x_list_fonts to check the existence of fonts.
 -
 -      * xterm.h (x_new_fontset): Adjust prototype.
 -
 -      * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
 -      string.  Use new_fontset_from_font_name to create a fontset from a
 -      font name.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (Vfind_word_boundary_function_table): New name for
 -      Vnext_word_boundary_function_table.
 -      (find-word-boundary-function-table): New name for
 -      next-word-boundary-function-table.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in: Fix some dependencies.
 -
 -      * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
 -      set it to nil before returning.
 -
 -      * composite.c (update_compositions): Fix type error.
 -
 -      * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_new_font): Optimize for the case that the font is
 -      already set for the frame.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (char_table_ascii): Check if the char table contents
 -      is sub-char-table or not.
 -      (char_table_set, char_table_set_range): Fix argument to
 -      char_table_ascii.
 -
 -      * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
 -      (detect_coding_utf_8, detect_coding_utf_16)
 -      (detect_coding_emacs_mule, detect_coding_iso_2022)
 -      (detect_coding_sjis, detect_coding_big5)
 -      (detect_coding_ccl, detect_coding_charset): Change argument MASK
 -      to DETECT_INFO.  Update DETECT_INFO and return 1 if the byte
 -      sequence is valid in this coding system.  Change callers.
 -      (MAX_ANNOTATION_LENGTH): New macro.
 -      (ADD_ANNOTATION_DATA): New macro.
 -      (ADD_COMPOSITION_DATA): Change argument.  Change callers.  Call
 -      ADD_ANNOTATION_DATA.  Change the format of annotation data.
 -      (ADD_CHARSET_DATA): New macro.
 -      (emacs_mule_char): New argument ID.  Change callers.
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
 -      Produce charset annotation data in coding->charbuf.
 -      (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
 -      to charset annotation data in coding->charbuf.
 -      (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
 -      coding->common_flags if the coding system is iso-2022 based and
 -      uses designation.
 -      (produce_composition): Adjust for the new annotation data format.
 -      (produce_charset): New function.
 -      (produce_annotation): Handle charset annotation.
 -      (handle_composition_annotation, handle_charset_annotation): New
 -      functions.
 -      (consume_chars): Handle charset annotation.  Utilize the above two
 -      functions.
 -      (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
 -      buffer, get the deleted text as a string and set
 -      coding->src_object to that string.
 -      (detect_coding, detect_coding_system): Use the new struct
 -      coding_detection_info.
 -
 -      * coding.h (struct coding_detection_info): New structure.
 -      (struct coding_system): Adjust prototype of the member `detector'.
 -      (CODING_ANNOTATE_CHARSET_MASK): New macro.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (insert_from_gap): Fix argument to offset_intervals.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
 -      (Fapropos_internal): Don't gcpro apropos_accumulate.  Set result
 -      to new local and nullify apropos_accumulate before returning.
 -      (syms_of_keymap): Staticpro and initialize apropos_accumulate.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdefine_charset_internal): Setup charset.fast_map
 -      correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (Flanginfo): Call synchronize_system_time_locale.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are to make character composition happen
 -      automatically on displaying.
 -
 -      * Makefile.in (lisp, shortlisp): Add composite.elc.
 -
 -      * composite.h (Qauto_composed, Vauto_composition_function)
 -      (Qauto_composition_function): Extern them.
 -
 -      * composite.c (Vcomposition_function_table)
 -      (Qcomposition_function_table): Delete variables.
 -      (Qauto_composed, Vauto_composition_function)
 -      (Qauto_composition_function): New variables.
 -      (run_composition_function): Don't call
 -      compose-chars-after-function.
 -      (update_compositions): Clear `auto-composed' text property.
 -      (compose_chars_in_text): Delete this function.
 -      (syms_of_composite): Staticpro Qauto_composed and
 -      Qauto_composition_function.  Declare Vauto_composition_function as
 -      a Lisp variable.
 -
 -      * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
 -
 -      * xdisp.c (it_props): Add an entry for Qauto_composed.
 -      (handle_auto_composed_prop): New function.
 -
 -      * xselect.c (selection_data_to_lisp_data): Don't call
 -      compose_chars_in_text.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * keyboard.c (read_char): Modify checking around use of
 -      Vkeyboard_translate_table.
 -
 -      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 -      and fix C types.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
 -      the case that the last byte is '\r' correctly.
 -      (decode_coding): Flush out the unprocessed data correctly.
 -      (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (XTread_socket): Fix changes for defined keysyms.
 -      Add XK_ISO... case.
 -      (xaw_scroll_callback): Revert last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Vface_resizing_fonts): New variable.
 -      (struct font_name): New member `resizing_ratio'.
 -      (font_resizing_ratio): New function.
 -      (split_font_name): Set font->resizing_ratio.
 -      (better_font_p): Pay attention to font->resizing_ratio.
 -      (build_scalable_font_name): Likewise.  Don't change POINT_SIZE,
 -      RESX, and RESY fields.
 -      (try_alternative_families): Try scalable fonts if
 -      Vscalable_fonts_allowed is not Qt.
 -      (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (xaw_scroll_callback): Cast correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
 -      (lispy_kana_keys): Comment out.
 -      (make_lispy_event) [XK_kana_A]: Comment out.
 -
 -      * xterm.c (xaw_scroll_callback): Cast call_data.
 -      (XTread_socket): Deal with ASCII keysyms.
 -      (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (Vx_keysym_table): New.
 -      (syms_of_xterm): Initialize it.
 -      (XTread_socket): Use it.
 -      From head: Eliminate incorrect optimization that tried to avoid
 -      decoding the output of X*LookupString.
 -      (x_get_font_repertory): Delete charset declaration.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): If only ASCII bytes are found,
 -      return 0.
 -      (Fdefine_coding_system_internal): Setup
 -      CODING_ATTR_ASCII_COMPAT (attrs) correctly.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Fcheck_coding_system): Doc fix.
 -
 -      * editfns.c (Finsert_byte): Return a proper value.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding): Fix args to translate_chars.  Pay
 -      attention to Vstandard_translation_table_for_decode.
 -      (encode_coding): Fix args to translate_chars.  Pay attention to
 -      Vstandard_translation_table_for_encode.
 -
 -      * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
 -      not by SINGLE_BYTE_CHAR_P.
 -
 -      * fns.c (concat): Check CH by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
 -      by SINGLE_BYTE_CHAR_P.
 -
 -      * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (Flanginfo): Fix typo.
 -
 -      * unexelf.c (unexec): Make last change conditional on Irix 6.5.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_8, detect_coding_utf_16)
 -      (detect_coding_emacs_mule, detect_coding_iso_2022)
 -      (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
 -      incomplete byte sequence.  Don't update *mask when correctly detected.
 -      (decode_coding_sjis): Fix decoding of katakana-jisx0201.
 -      (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
 -      (detect_coding, detect_coding_system): Adjust for the changes above.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (char_string): Rename from
 -      char_string_with_unification.  Pay attention to CHAR_MODIFIER_MASK.
 -      (string_char): Rename from string_char.
 -
 -      * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
 -      if C is greater than MAX_3_BYTE_CHAR.
 -      (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
 -      string_char instead of string_char_with_unification.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (push_key_description): Pay attention to force_multibyte.
 -
 -      * regex.c (re_search_2): Fix for the case of unibyte buffer.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.c (define_charset_internal): Rename `supprementary'.
 -
 -      * Makefile.in (lisp, shortlisp): Remove latin-N.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c (x_window, x_window): Use use_xim.
 -
 -      * xterm.c (use_xim): Initialize.
 -      (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
 -      (x_term_init): Maybe set use_xim.
 -
 -      * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (search_buffer): Fix case-fold-search of multibyte
 -      characters.
 -      (boyer_moore): Rename the last argument to char_high_bits.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (display_string): Fix for the case of zero width glyph.
 -
 -      * xfns.c (x_set_font): Change the error message of the case that
 -      x_new_fontset returns Qt.
 -
 -      * xfaces.c (set_lface_from_font_name): Reject the default fontset.
 -      (Finternal_set_lisp_face_attribute): Use signal_error for the
 -      error of invalid fontset.
 -
 -      * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
 -      fontset, return Qt.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * unexelf.c (unexec): Make .got handling not SGI-specific.
 -
 -      * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
 -
 -      * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
 -
 -      * keyboard.c (read_key_sequence): Fix type error.
 -
 -      * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
 -      type error.
 -
 -      * fontset.c (fontset_add): Return Lisp_Object.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.h (charset_ordered_list_tick): Declare extern.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes (and some of 2008-02-01 changes of mine) are
 -      for handling syntax, category, and case conversion for unibyte
 -      characters by converting them to multibyte on the fly.  With these
 -      changes, we don't have to setup syntax and case tables for unibyte
 -      characters in each language environment.
 -
 -      * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
 -      multibyte if necessary.
 -
 -      * bytecode.c (Fbyte_code): Likewise.
 -
 -      * character.h (LEADING_CODE_LATIN_1_MIN)
 -      (LEADING_CODE_LATIN_1_MAX): New macros.
 -      (unibyte_to_multibyte_table): Extern it.
 -      (unibyte_char_to_multibyte): New macro.
 -      (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
 -      (CHAR_LEADING_CODE): New macro.
 -      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
 -
 -      * character.c (unibyte_to_multibyte_table): New variable.
 -      (unibyte_char_to_multibyte): Move to character.h and define as macro.
 -      (multibyte_char_to_unibyte): If C is an eight-bit character,
 -      convert it to the corresponding byte value.
 -
 -      * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
 -      not 1, signals an error.  Update the elements of
 -      unibyte_to_multibyte_table.
 -      (init_charset_once): Initialize unibyte_to_multibyte_table.
 -      (syms_of_charset): Define the charset `iso-8859-1'.
 -
 -      * cmds.c (internal_self_insert): In a multibyte buffer, insert C
 -      as is without converting it to unibyte.  In a unibyte buffer,
 -      convert C to multibyte before checking the syntax.
 -
 -      * lisp.h (unibyte_char_to_multibyte): Delete extern.
 -
 -      * minibuf.c (Fminibuffer_complete_word): Use the macro
 -      FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
 -
 -      * regex.h (struct re_pattern_buffer): New member target_multibyte.
 -
 -      * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
 -      (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte.  If
 -      that is zero, convert an eight-bit char to multibyte.
 -      (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
 -      non-emacs case.
 -      (PATFETCH): Convert an eight-bit char to multibyte.
 -      (HANDLE_UNIBYTE_RANGE): New macro.
 -      (regex_compile): Setup the compiled pattern for multibyte chars
 -      even if the given regex string is unibyte.  Use PATFETCH_RAW
 -      instead of PATFETCH in many places.  To handle `charset'
 -      specification of unibyte, call HANDLE_UNIBYTE_RANGE.  Use bitmap
 -      only for ASCII chars.
 -      (analyse_first) <exactn>: Simplify because the compiled pattern
 -      is multibyte.
 -      <charset_not>: Setup fastmap from bitmap only for ASCII chars.
 -      <charset>: Use CHAR_LEADING_CODE to get leading codes.
 -      <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
 -      (re_compile_fastmap) [emacs]: Call analyse_first with the arg
 -      multibyte always 1.
 -      (re_search_2): In emacs, set the locale variable multibyte to 1,
 -      otherwise to 0.  New local variable target_multibyte.  Check it
 -      to decide the multibyteness of STR1 and STR2.  If
 -      target_multibyte is zero, convert unibyte chars to multibyte
 -      before translating and checking fastmap.
 -      (TARGET_CHAR_AND_LENGTH): New macro.
 -      (re_match_2_internal): In emacs, set the locale variable multibyte
 -      to 1, otherwise to 0.  New local variable target_multibyte.  Check
 -      it to decide the multibyteness of STR1 and STR2.  Use
 -      TARGET_CHAR_AND_LENGTH to fetch a character from D.
 -      <charset, charset_not>: If multibyte is nonzero, check fastmap
 -      only for ASCII chars.  Call bcmp_translate with
 -      target_multibyte, not with multibyte.
 -      <begline>: Declare the local variable C as `unsigned'.
 -      (bcmp_translate): Change the last arg name to target_multibyte.
 -
 -      * search.c (compile_pattern_1): Don't adjust the multibyteness of
 -      the regexp pattern and the matching target.  Set cp->buf.multibyte
 -      to the multibyteness of the regexp pattern.  Set
 -      cp->but.target_multibyte to the multibyteness of the matching target.
 -      (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
 -      FETCH_STRING_CHAR_ADVANCE.
 -      (Freplace_match): Convert unibyte chars to multibyte.
 -
 -      * syntax.c (char_quoted, back_comment, scan_words)
 -      (Fforward_comment, scan_lists, Fbackward_prefix_chars)
 -      (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
 -      unibyte chars to multibyte.
 -      (skip_chars): Delete the arg syntaxp, and move the code for
 -      handling syntaxes to skip_syntaxes.  Change callers.
 -      Fix the case that the multibyteness of STRING and the current
 -      buffer doesn't match.
 -      (skip_syntaxes): New function.
 -      (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (QCfontset): New variable.
 -      (LFACE_FONTSET): New macro.
 -      (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
 -      (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
 -      (Finternal_set_lisp_face_attribute)
 -      (Finternal_get_lisp_face_attribute): Handle QCfontset.
 -      (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
 -      check also LFACE_FONTSET_INDEX.
 -      (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
 -      attrs[LFACE_FONT_INDEX].
 -      (syms_of_xfaces): Intern and staticpro QCfontset.
 -
 -      * dispextern.h (enum lface_attribute_index): New member
 -      LFACE_FONTSET_INDEX.
 -
 -      * fns.c (base64_encode_1): Handle eight-bit chars correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_set_destination): Fix coding->destination for
 -      the case converting a region.
 -      (encode_coding_utf_8): Encode eight-bit chars as single byte.
 -      (encode_coding_object): Fix coding->dst_pos and
 -      coding->dst_pos_byte for the case converting a region.
 -
 -      * insdel.c (insert_from_gap): Make it work even if PT != GTP.
 -
 -      * character.h (BYTE8_STRING): New macro.
 -
 -      * fns.c (base64_decode_1): Insert eight-bit chars correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
 -      characters by octal form.
 -
 -      * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
 -
 -      * buffer.h (_fetch_multibyte_char_len): Delete extern.
 -      (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
 -      _fetch_multibyte_char_len.
 -      (FETCH_CHAR_AS_MULTIBYTE): New macro.
 -
 -      * casetab.c (set_canon, set_identity, shuffle): Simplify.
 -
 -      * casefiddle.c (casify_object): Simplify.  Handle the case that
 -      the case conversion change the byte length.
 -      (casify_region): Likewise.
 -
 -      * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
 -
 -      * character.c (_fetch_multibyte_char_len): Delete this variable.
 -      (syms_of_character): Setup Vprintable_chars.
 -
 -      * editfns.c (Fchar_equal): Fix for the unibyte case.
 -      (Finsert_byte): New function.
 -      (syms_of_editfns): Defsubr it.
 -
 -      * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
 -      of direct code 0x3ffff.
 -
 -      * search.c (Freplace_match): Fix for the unibyte case.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c (safe_to_load_p): Fix the logic.
 -
 -      * syntax.c (scan_words): Don't treat characters belonging to
 -      different scripts as constituting a word.
 -
 -      * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 -
 -      * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
 -
 -      * emacs.c (main): In the case of --unibyte, instead of aborting on
 -      finding non-empty buffer, make it unibyte.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
 -      to create a fontset.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * character.c (Funibyte_char_to_multibyte): Doc fix.
 -
 -      * xfns.c [HAVE_STDLIB_H]: Fix last change.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_add): Make the type `int'.
 -      (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
 -
 -      * character.c (unibyte_char_to_multibyte)
 -      (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
 -      charset_unibyte, not charset_primary.
 -
 -      * charset.h (charset_unibyte): Extern it instead of charset_primary.
 -
 -      * charset.c (charset_unibyte): Rename from charset_primary.
 -      (Funibyte_charset): Rename from Fprimary_charset.
 -      (Fset_unibyte_charset): Rename from Fset_primary_charset.
 -      (syms_of_charset): Adjust for the above changes.
 -
 -      * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when
 -      it->multibyte_p is zero.
 -
 -      * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
 -      Delete extern.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fdefine_coding_system_internal): Fix category setting
 -      for a coding system of type iso-2022.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (Vnext_word_boundary_function_table): New variable.
 -      (next-word-boundary-function-table): Declare it as a Lisp variable
 -      in syms_of_syntax.
 -      (scan_words): Call functions in Vnext_word_boundary_function_table
 -      if any.
 -
 -      * xterm.c (x_load_font): Initialize fontp->fontset to -1.
 -
 -      * fontset.c (fs_load_font): If fontp->charset is not negative,
 -      return fontp without setting its members.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
 -
 -      * m/sparc.h (HAVE_ALLOCA): Delete.
 -
 -      * s/irix6-5.h: Don't include strings.h.
 -      (bcopy, bzero, bcmp): Don't undef.
 -
 -      * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
 -
 -      * s/usg5-4.h (NO_SIOCTL_H): Don't define.
 -      (TIOCSIGSEND): Don't test IRIX6.
 -      (bcopy, bzero, bcmp): Define conditionally.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (Qas, Qmake, Qto): New variables.
 -      (Fset_buffer_multibyte): New optional arg METHOD.  Change caller.
 -      (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
 -
 -      * callproc.c (Fcall_process): Don't call insert_1_both directly if
 -      we are inserting a process output into a multibyte buffer.
 -
 -      * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
 -      multibyte_char_to_unibyte.
 -
 -      * character.c (Funibyte_char_to_multibyte): If C can't be decoded
 -      by the primary charset, make it eight-bit char.
 -      (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
 -
 -      * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
 -      (charset_8_bit__control, charset_8_bit_graphic)
 -      (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
 -      (define_charset_internal): New function.
 -      (syms_of_charset): Call define_charset_internal for pre-defined
 -      charsets.
 -
 -      * charset.h (charset_8_bit): Extern it.
 -
 -      * coding.c (make_conversion_work_buffer): Adjust for the change
 -      of Fset_buffer_multibyte.
 -      (encode_coding_raw_text): Increment p0 in the loop.
 -
 -      * lisp.h (Fset_buffer_multibyte): Adjust prototype.
 -
 -      * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
 -      for the change of Fset_buffer_multibyte.
 -
 -      * fns.c (Fstring_to_multibyte): New function.
 -      (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c (x_put_x_image): Declare args.
 -
 -      * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
 -      (try_font_list): Declare an arg.
 -
 -      * xdisp.c (message2_nolog, set_message): Declare an arg.
 -
 -      * terminfo.c (tparam): Declare an arg.  Use P_ to declare tparm.
 -
 -      * syntax.c (scan_sexps_forward): Declare an arg.
 -
 -      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 -      Declare an arg.
 -
 -      * lisp.h (Fnew_fontset): Declare.
 -
 -      * keymap.c (push_key_description): Call CHARACTERP correctly.
 -
 -      * fontset.c (fontset_add): Declare args.  Call make_number correctly.
 -      (face_for_char): Delete unused vars.
 -      (Fset_fontset_font): Doc fix.  Delete unused vars.
 -
 -      * doc.c (Fsubstitute_command_keys): Delete unused vars.
 -
 -      * composite.c (update_compositions): Declare arg.
 -
 -      * cm.c (calccost, cmgoto): Declare args.
 -
 -      * charset.c: Remove `emacs' conditional.  Doc fixes.
 -      (map_char_table_for_charset): Declare.
 -
 -      * character.c (syms_of_character) <translation-table-vector>: Doc fix.
 -
 -      * ccl.c: Remove `emacs' conditional.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are to allow specifying multiple font
 -      patterns for a character range (specified by script or charset).
 -
 -      * Makefile.in (abbrev.o): Depend on syntax.h.
 -      (xfaces.o): Depend on charset.h.
 -
 -      * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.
 -
 -      * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
 -
 -      * character.h (Vchar_script_table): Extern it.
 -
 -      * character.c (Vscript_alist): Delete.
 -      (Vchar_script_table, Qchar_script_table): New variable.
 -      (syms_of_character): Declare Vchar_script_table as a lisp variable
 -      and initialize it.
 -
 -      * chartab.c (Fmake_char_table): Doc fix.  If PURPOSE doesn't
 -      have property char-table-extra-slots, make no extra slot.
 -
 -      * dispextern.h (struct face): Delete member `charset'.
 -      (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.
 -      (choose_face_font, lookup_non_ascii_face, font_name_registry):
 -      Add prototypes.
 -      (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
 -      (generate_ascii_font_name): Rename from generate_ascii_font.
 -
 -      * fontset.h (get_font_repertory_func): New prototype.
 -      (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
 -      (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
 -
 -      * fontset.c (Qprepend, Qappend): New variables.
 -      (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
 -      (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
 -      (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
 -      (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
 -      (fontset_ref_and_range, fontset_add, reorder_font_vector)
 -      (load_font_get_repertory): New functions.
 -      (fontset_set): Delete.
 -      (fontset_face): New arg FACE.  Return face ID, not face.
 -      Complete re-write to handle new fontset structure.  Change caller.
 -      (free_face_fontset): Use ASET istead of AREF (X) = Y.
 -      (face_for_char): Don't call lookup_face.
 -      (make_fontset_for_ascii_face): New arg FACE.
 -      (fs_load_font): New arg CHARSET_ID.  Don't check
 -      Vfont_encoding_alist here.
 -      (find_font_encoding): New function.
 -      (list_fontsets): Use STRINGP, not ! NILP.
 -      (accumulate_script_ranges): New function.
 -      (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
 -      re-written to handle new fontset structure.
 -      (Ffontset_font): Return a copy of element.
 -      (syms_of_fontset): Define symbols Qprepend and Qappend.  Fix
 -      docstring of font-encoding-alist.
 -
 -      * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
 -      (Fset_fotset_font): Fix arguments to 5.
 -
 -      * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
 -
 -      * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
 -      Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 -      (highlight_trailing_whitespace): Adjust for the change of
 -      lookup_named_face.
 -
 -      * xfaces.c: Include charset.h.
 -      (load_face_font): Delete argument C.  Change caller.
 -      (generate_ascii_font_name): Rename from generate_ascii_font.
 -      (font_name_registry): New function.
 -      (cache_face): Store ascii faces before non-ascii faces in buckets.
 -      (lookup_face): Delete arguments C and BASE_FACE.  Change caller.
 -      Lookup only ascii faces.
 -      (lookup_non_ascii_face): New function.
 -      (lookup_named_face): Delete argument C.  Change caller.
 -      (lookup_derived_face): Delete argument C.  Change caller.
 -      (try_font_list): New arg PATTERN.  Change caller.  If PATTERN is
 -      a string, just call font_list with it.
 -      (choose_face_font): Delete arguments FACE and C.  New arg
 -      FONT_SPEC.  Change caller.
 -      (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
 -      Change caller.
 -      (realize_non_ascii_face): New function.
 -      (realize_x_face): Call load_face_font here.
 -      (realize_tty_face): Delete argument C.  Change caller.
 -      (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
 -      get a face ID.
 -      (dump_realized_face): Don't print charset of FACE.
 -
 -      * xfns.c (x_set_font): Always call x_new_fontset and
 -      store_frame_parameter.
 -      (Fx_create_frame): Call x_new_fontset, not x_new_font.
 -      (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
 -
 -      * xterm.h (x_get_font_repertory): Extern it.
 -
 -      * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when
 -      it->multibyte_p is zero.
 -      (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 -      (x_new_fontset): If FONTSETNAME doesn't match any existing
 -      fontsets, create a new one.
 -      (x_get_font_repertory): New function.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Ffind_coding_systems_region_internal): Detect an
 -      ASCII only string correctly.
 -
 -      * lread.c (Fload): Don't load with Qload_force_doc_strings t if
 -      version is 0.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c: Include "coding.h".
 -      (Qget_emacs_mule_file_char, Qload_force_doc_strings)
 -      (load_each_byte, unread_char): New variables.
 -      (readchar_backlog): Delete.
 -      (readchar): Return a character unless load_each_byte is nonzero.
 -      Handle the case that readcharfun is Qget_emacs_mule_file_char or a
 -      cons.  If unread_char is not -1, simply return it.
 -      (unreadchar): Handle the case that readcharfun is
 -      Qget_emacs_mule_file_char or a cons.  Set unread_char if necessary.
 -      (read_multibyte): Delete.
 -      (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
 -      (read_emacs_mule_char): New functions.
 -      (Fload): Even if the file doesn't have the extension ".elc", if
 -      safe_to_load_p returns a positive version number, assume that the
 -      file contains bytecompiled code.  If the version is less than 22,
 -      load the file while decoding multibyte sequences by emacs-mule.
 -      (readevalloop): Don't use readchar_backlog.
 -      (Fread): Likewise.  Pay attention to the case that STREAM is a cons.
 -      (Fread_from_string): Pay attention to the case that STREAM is a cons.
 -      (read_escape): Delete the arg BYTEREP.
 -      (read1): Set load_each_byte to 1 temporarily while handling
 -      #@NUMBER.  Don't call read_multibyte.
 -      (read_vector): Call Fread with a cons.  If readcharfun is
 -      Qget_emacs_mule_file_char, decode the read string by emacs-mule.
 -      (read_list): If doc_reference is 2, make the cdr part string as unibyte.
 -      (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
 -      and Qload_force_doc_strings.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (face_before_or_after_it_pos): Call
 -      FETCH_MULTIBYTE_CHAR with byte postion, not char position.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (TRAILING_CODE_P): New macro.
 -      (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
 -      (string_char_with_unification): Fix prototype.
 -      (Vscript_alist): Extern it.
 -
 -      * character.c (Vscript_alist): New variable.
 -      (string_char_with_unification, str_as_unibyte)
 -      (string_escape_byte8): Add `const' to local variables.
 -      (syms_of_character): Declare script-alist as a Lisp variable.
 -
 -      * charset.h (Vcharset_ordered_list): Extern it.
 -      (charset_ordered_list_tick): Extern it.
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_11)
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_12)
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_21)
 -      (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
 -      (Funify_charset): Adjust for the change of Funify_charset.
 -
 -      * charset.c (charset_ordered_list_tick): New variable.
 -      (Fdefine_charset_internal): Increment charset_ordered_list_tick.
 -      (Funify_charset): New optional arg DEUNIFY.  If it is non-nil,
 -      deunify intead of unify a charset.
 -      (string_xstring_p): Add `const' to local variables.
 -      (find_charsets_in_text): Add `const' to arguments and local variables.
 -      (encode_char): Adjust for the change of Funify_charset.  Fix
 -      detecting of invalid code.
 -      (Fset_charset_priority): Increment charset_ordered_list_tick.
 -      (Fmap_charset_chars): Fix handling of default value for FROM_CODE
 -      and TO_CODE.
 -
 -      * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
 -      (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
 -      Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
 -      (decode_coding_ccl, consume_chars)
 -      (Ffind_coding_systems_region_internal)
 -      (Fcheck_coding_systems_region): Add `const' to local variables.
 -
 -      * print.c (print_object): Use octal form for printing the
 -      contents of a bool vector.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
 -      <version == 20>: Refuse to load.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c: Move coding.h.
 -      (Qcodeset, Qdays, Qmonths): New.
 -      (concat): Use CHARACTERP instead of INTEGERP.
 -      (Flocale_codeset): Delete.
 -      (Flanginfo): New function.
 -      (syms_of_fns): Change accordingly.
 -
 -      * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * casetab.c (init_casetab_once, init_casetab_once): Fix
 -      CHAR_TABLE_SET call.
 -
 -      * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
 -
 -      * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
 -
 -      * charset.c (Fmap_charset_chars): Check args.  Convert Lisp types.
 -      (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
 -      (Fset_charset_priority, syms_of_charset): Convert Lisp types.
 -
 -      * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
 -
 -      * coding.c (ENCODE_DESIGNATION, decode_eol)
 -      (make_conversion_work_buffer, code_conversion_restore)
 -      (Fdefine_coding_system_internal): Convert Lisp types.
 -      (code_conversion_restore): Use EQ, not ==.
 -      (Fencode_coding_string): Fix code_convert_string call.
 -
 -      * coding.h (code_convert_region): Fix prototype.
 -
 -      * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
 -
 -      * fontset.c (fontset_ref, fontset_set, fs_load_font)
 -      (Ffontset_info): Convert Lisp types.
 -
 -      * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
 -
 -      * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
 -
 -      * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
 -
 -      * chartab.c: Include "...h", not <...h> in some cases.
 -
 -      * callproc.c (Fcall_process): Remove unused variables.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Fset_coding_system_priority): Allow null arg list.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * minibuf.c (Fminibuffer_complete_word): Remove unused var.
 -      (Fself_insert_and_exit): Use CHARACTERP.
 -
 -      * callproc.c (Fcall_process): Remove unused vars.
 -
 -      * xterm.c (XTread_socket): Add extra dead keysyms.
 -
 -      * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
 -
 -      * dispextern.h: Remove prototypes for redraw_frame,
 -      redraw_garbaged_frames.
 -
 -      * cmds.c (Fself_insert_command): Use CHARACTERP.
 -
 -      * chartab.c (make_sub_char_table): Remove unused var.
 -      (Fset_char_table_default, Fmap_char_table): Doc fix.
 -
 -      * keymap.c (access_keymap): Remove generic char code.
 -      (push_key_description): Use CHARACTERP.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.c: Doc fixes.
 -      (Funify_charset): Extra checking.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * lread.c: Remove some unused variables.
 -      (safe_to_load_p): If safe, return the magic number version byte.
 -      (Fload): Maybe use load-with-code-conversion.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.c (Fmodify_category_entry): Don't modify the contents
 -      of category_set for characters out of the range.  Avoid
 -      unnecessary modification.
 -
 -      * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
 -      Vchar_unify_table.  The default value of the table is now nil.
 -
 -      * character.c (syms_of_character): Setup Vchar_width_table for
 -      eight-bit-control and raw-byte chars.
 -
 -      * charset.h (enum define_charset_arg_index): Delete
 -      charset_arg_parents and add charset_arg_subset and
 -      charset_arg_superset.
 -      (enum charset_attr_index): Delete charset_parents and add
 -      charset_subset and charset_superset.
 -      (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
 -      CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
 -      (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
 -      (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
 -      (CHARSET_SUPERSET): New macros.
 -      (charset_work): Extern it.
 -      (ENCODE_CHAR): Use charset_work.
 -      (CHAR_CHARSET_P): Adjust for the change of encoder format.
 -      (map_charset_chars): Extern it.
 -
 -      * charset.c (load_charset_map): Set the default value of encoder
 -      and deunifier char-tables to nil.
 -      (map_charset_chars): Change argument.  Change callers.  Use
 -      map_char_table_for_charset instead of map_char_table.
 -      (Fmap_charset_chars): New optional args from_code and to_code.
 -      (Fdefine_charset_internal): Adjust for the change of
 -      `define-charset' (:parents -> :subset or :superset).
 -      (charset_work): New variable.
 -      (encode_char, syms_of_charset): Adjust for the change of
 -      Fdefine_charset_internal.
 -      (Ffind_charset_string): Setup the vector `charsets' correctly.
 -
 -      * chartab.c (sub_char_table_ref_and_range): New arg default.  Fix
 -      the previous change.
 -      (char_table_ref_and_range): Adjust for the above change.
 -      (map_sub_char_table_for_charset): New function.
 -      (map_char_table_for_charset): New function.
 -
 -      * keymap.c (describe_vector): Handle a char-table directly here.
 -      (describe_char_table): Delete.
 -
 -      * lisp.h (map_charset_chars): Delete.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * fns.c (count_combining): Comment out (unused).
 -      (Flocale_codeset): New.
 -      (syms_of_fns): Defsubr it.
 -
 -      * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
 -      (size_t): Remove.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in (chartab.o): Depend on charset.h.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (syms_of_character): Set the default value of
 -      Vprintable_chars to Qnil.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map): Handle the case that from < to
 -      correctly.
 -
 -      * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
 -      (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
 -      Pay attention to raw-8-bit chars.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
 -      It is not bytecompiled now.
 -
 -      * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
 -      (charset_jisx0208): New variables.
 -      (Fdefine_charset_internal): Setup them if appropriate.
 -      (init_charset_once): Initialize them to -1.
 -
 -      * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
 -      (charset_jisx0208): Extern them.
 -
 -      * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
 -      (CODING_ISO_FLAG_USE_OLDJIS): New macro.
 -      (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
 -      (setup_iso_safe_charsets): Fix arguments to Fassq.
 -      (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
 -      (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
 -      CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
 -      (encode_coding_iso_2022): Change the 1st arg to
 -      ENCODE_ISO_CHARACTER to a variable.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (enum define_charset_arg_index): New enums
 -      charset_arg_min_code and charset_arg_max_code.
 -      (struct charset): New member char_index_offset.
 -
 -      * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
 -      Take charset->char_index_offset into account.
 -      (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
 -      args[charset_arg_max_code].  Setup charset.char_index_offset.
 -      (syms_of_charset): Fix args to Fdefine_charset_internal.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8): Reject overlong sequences.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c: Doc fixes.
 -      (Fcoding_system_aliases): Fix return value.
 -      (Qmac): Remove (duplicated) definition.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * charset.c (Fcharset_priority_list, Fset_charset_priority):
 -      New functions.
 -
 -      * character.c (Fstring): Doc fix.
 -
 -      * charset.c (Fdefine_charset_alias): Update Vcharset_list.
 -
 -      * fontset.c (Ffontset_info): Doc fix.  Return charset names, not ids.
 -      (font-encoding-alist): Doc fix.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * term.c (costs_set): Declare static, non-initialized for pcc.
 -      (encode_terminal_code): Remove unused var.
 -
 -      * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
 -      for K&R.
 -
 -      * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
 -
 -      * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
 -      (suffixes): Move out of make_subsidiaries for K&R.
 -
 -      * charset.c (map_charset_chars): Fix c_function declaration for K&R.
 -
 -      * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * data.c (Fchar_or_string_p): Doc fix.  Use CHARACTERP.
 -
 -      * category.c (Fmodify_category_entry): Doc fix.  Remove unused vars.
 -
 -2008-02-01  Yong Lu  <lyongu@asia-infonet.com>
 -
 -      * charset.c (Fdefine_charset_internal): Fix argument to bzero.
 -
 -      * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
 -      vietnamese.elc to vietnamese.el.  They are not bytecompiled now.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_charset): Adjust for the change of
 -      Fdefine_coding_system_internal.
 -      (Fdefine_coding_system_internal): For a coding system of
 -      `charset' type, store a list of charset IDs in
 -      `charset_attr_charset_valids' element of coding attributes.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
 -      (emacs_mule_char): New arg src.  Delete arg `composition'.  Change
 -      caller.  Handle 2-byte and 3-byte charsets correctly.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
 -      DECODE_EMACS_MULE_COMPOSITION_RULE.  Change caller.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
 -      (DECODE_EMACS_MULE_21_COMPOSITION): Call
 -      DECODE_EMACS_MULE_COMPOSITION_RULE_21.  Produce correct annotation
 -      sequence.
 -      (decode_coding_emacs_mule): Handle composition correctly.  Rewind
 -      `src' and `consumed_chars' correctly before calling emacs_mule_char.
 -      (DECODE_COMPOSITION_START): Correctly handle the case of altchar
 -      and alt&rule composition.
 -      (decode_coding_iso_2022): Handle composition correctly.
 -      (init_coding_once): Setup emacs_mule_bytes for private charsets.
 -
 -      * charset.c (Fdefine_charset_internal): Fix bug for the case of
 -      re-defining a charset.  If the charset has :emacs-mule-id, setup
 -      emacs_mule_bytes.
 -      (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_iso_2022, encode_coding_sjis)
 -      (encode_coding_big5, encode_coding_charset): If coding requires safe
 -      encoding, produce a character specified by
 -      CODING_INHIBIT_CHARACTER_SUBSTITUTION.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (XSetIMValues): Declare.
 -
 -      * process.c: Conditionally include sys/wait.h, pty.h.
 -
 -      * print.c (print_object): Fix print format for 64-bit systems.
 -
 -      * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
 -
 -      * buffer.c (emacs_strerror): Declare.
 -
 -      * fontset.c (Fclear_face_cache): Declare.
 -      (accumulate_font_info): Comment-out (unused).
 -      (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
 -      variables.
 -
 -      * character.h (string_escape_byte8): Declare.
 -
 -      * charset.c (load_charset_map, load_charset_map_from_file): Remove
 -      unused vars.
 -      (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
 -      (Fmap_charset_chars): Doc fix.
 -
 -      * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
 -      (Fset_coding_system_priority, Fset_coding_system_priority)
 -      (Fdefine_coding_system_internal): Doc fix.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (string_escape_byte8): Make multibyte string with
 -      correct size.
 -
 -      * charset.c (Fmake_char): Delete unnecessary code.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (x_encode_text): Allocate coding.destination here, and
 -      call encode_coding_object with dst_object Qnil.
 -
 -      * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
 -      multibyte form correctly.
 -
 -      * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
 -      against Vfont_encoding_alist.
 -
 -      * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF).  Fix the
 -      handling of charset list.
 -      (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
 -      (decode_coding_object): Move point to coding->dst_pos before
 -      calling post-read-conversion function.
 -      (encode_coding_object): Give correct arguments to
 -      pre-write-conversion.  Ignore the return value of
 -      pre-write-conversion function.  Pay attention to the case that
 -      pre-write-conversion changes the current buffer.  If dst_object is
 -      Qt, even if coding->src_bytes is zero, allocate at least one byte
 -      to coding->destination.
 -
 -      * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
 -
 -      * charset.c (Fmake_char): Make it more backward compatible.
 -      (Fmap_charset_chars): Fix docstring.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * coding.c: Doc fixes.
 -      (Fdefine_coding_system_alias): Use names, not symbols, in
 -      coding-system-alist.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
 -      of calling free_realized_face.
 -
 -2008-02-01  Yong Lu  <lyongu@asia-infonet.com>
 -
 -      * charset.c (read_hex): Don't treat SPC as a comment starter.
 -      (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
 -      (Fdecode_char): Fix typo.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (struct charset): New member `code_space_mask'.
 -
 -      * coding.c (coding_set_source): Delete the local variable beg_byte.
 -      (encode_coding_charset, Fdefine_coding_system_internal):
 -      Delete the local variable charset.
 -      (Fdefine_coding_system_internal): Setup
 -      attrs[coding_attr_charset_valids] correctly.
 -
 -      * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
 -      member to check if CODE is valid or not.
 -      (Fdefine_charset_internal): Initialize `code_space_mask' member.
 -      (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
 -      is within the range of charset->min_code and carset->max_code.
 -
 -2008-02-01  Dave Love  <fx@gnu.org>
 -
 -      * syntax.h (syntax_temp) [!__GNUC__]: Declare.
 -
 -      * dispextern.h (generate_ascii_font): Fix return type.
 -
 -      * xfaces.c (generate_ascii_font): Fix arg declaration.
 -
 -      * coding.c (coding_inherit_eol_type)
 -      (Fset_terminal_coding_system_internal)
 -      (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_charset, encode_coding_charset): Handle
 -      multiple charsets correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (boyer_moore): Fix handling of multibyte character
 -      translation.
 -
 -      * xdisp.c (display_mode_element): When the variable `elt' is
 -      changed, update `this' and `lisp_string'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
 -
 -      * callproc.c (Fcall_process): Be sure to give the current buffer
 -      to decode_coding_c_string.  Update PT and PT_BYTE after the insertion.
 -
 -      * charset.c (struct charset_map_entries): New struct.
 -      (load_charset_map): Rename from parse_charset_map.  New args
 -      entries and n_entries.  Change caller.
 -      (load_charset_map_from_file): Rename from load_charset_map.
 -      Change caller.  New arg control_flag.  Call load_charset_map at
 -      the tail.
 -      (load_charset_map_from_vector): New function.
 -      (Fdefine_charset_internal): Setup charset.compact_codes_p.
 -      (encode_char): If the charset is compact, change a character index
 -      to a code point.
 -
 -      * coding.c (coding_alloc_by_making_gap): Check the case that the
 -      source and destination are the same correctly.
 -      (decode_coding_raw_text): Set coding->consumed_char and
 -      coding->consumed to 0.
 -      (produce_chars): If coding->chars_at_source is nonzero, update
 -      coding->consumed_char and coding->consumed before calling
 -      alloc_destination.
 -      (Fdefine_coding_system_alias): Register ALIAS in
 -      Vcoding_system_alist.
 -      (syms_of_coding): Define `no-conversion' coding system at the tail.
 -
 -      * fileio.c (Finsert_file_contents): Set coding_system instead of
 -      val.  If the current buffer is multibyte, always call
 -      decode_coding_gap.
 -
 -      * xfaces.c (try_font_list): Give higher priority to fontset's
 -      family than face's family.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): Be sure to give the current buffer
 -      to decode_coding_c_string.
 -
 -      * xfaces.c (try_font_list): Give a family specified in a fontset
 -      higher priority than a family specified in a face.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
 -      Fix arguments to insert_from_buffer.
 -
 -      * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (produce_chars): Set the variable `multibytep' correctly.
 -      (decode_coding_gap): Set coding->dst_multibyte correctly.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
 -      (decode_coding_utf_16): Fix converting high and low bytes to code-point.
 -      (encode_coding_utf_16): Substitute coding->default_char for
 -      non-Unicode characters.
 -      (decode_coding): Don't call record_insert here.
 -      (setup_coding_system): Initialize `surrogate' of
 -      coding->spec.utf_16 to 0.
 -      (EMIT_ONE_BYTE): Fix for multibyte case.
 -
 -      * insdel.c (insert_from_gap): Call record_insert.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * casefiddle.c (casify_region): Fix multibyte case.
 -
 -      * character.c (c_string_width): Add return type `int'.
 -      (char_string_with_unification): Delete arg ADVANCED.
 -
 -      * character.h (CHAR_VALID_P): Don't call CHARACTERP.
 -      (CHAR_STRING): Adjust for the change of char_string_with_unification.
 -      (CHAR_STRING_ADVANCE): Make it do-while statement.
 -
 -      * chartab.c (sub_char_table_set_range): Optimize for the case
 -      DEPTH == 3.  Add workaround code for a GCC optimization bug.
 -
 -      * charset.c (parse_charset_map): Remove an unused variable.
 -
 -      * coding.c: Delete unused variables.
 -
 -      * fileio.c (Finsert_file_contents): Set coding_system to Qnil
 -      earlier.  If inserted is zero and the coding system doesn't
 -      require flushing, don't call decode_coding_gap.
 -
 -      * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
 -
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 -
 -      The following changes are for using Unicode as an internal
 -      character model, and use UTF-8 format for buffer/string
 -      representation.
 -
 -      * .gdbinit (xchartable): Adjust for the change of char table structure.
 -      (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
 -
 -      * Makefile.in (obj): Add character.o and chartab.o.
 -      (lisp, shortlisp): Remove utf-8.elc.
 -      (*.o): For many files, change dependency on charset.h to
 -      character.h, and add dependency on character.h.
 -      (character.o, chartab.o): New targets.
 -
 -      * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
 -      * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
 -      * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
 -      of "charset.h".
 -
 -      * dired.c, filelock.c: Include "character.h".
 -
 -      * alloc.c: Include "character.h" instead of "charset.h".
 -      (Fmake_char_table, make_sub_char_table): Move to chartab.c.
 -      (syms_of_alloc): Remove defsubr for Smake_char_table.
 -
 -      * buffer.c: Include "character.h" instead of "charset.h", don't
 -      include "coding.h".
 -      (Fset_buffer_multibyte): Adjust for UTF-8.
 -
 -      * buffer.h: EXFUN Fbuffer_live_p.
 -
 -      * callproc.c: Include "character.h" instead of "charset.h".
 -      (Fcall_process): Big change for the new code-conversion APIs.
 -
 -      * casetab.c: Include "character.h" instead of "charset.h".
 -      (set_canon, set_identity, shuffle): Adjust for the new
 -      map_char_table spec.
 -      (init_casetab_once): Call CHAR_TABLE_SET instead of directly
 -      accessing the char table structure.
 -
 -      * chartab.c: New file that implements char table.
 -
 -      * category.c: Include "character.h".
 -      (copy_category_entry): New function.
 -      (copy_category_table): Call map_char_table and copy_category_entry.
 -      (Fmake_category_table): Initialize all top-level slots.
 -      (char_category_set): New function.
 -      (modify_lower_category_set): Delete.
 -      (Fmodify_category_entry): Call char_table_ref_and_range.
 -
 -      * category.h (CATEGORY_SET): Just call char_category_set.
 -
 -      * ccl.c: Include "character.h".
 -      (Qccl, Qcclp): New variables.
 -      (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
 -      it's less than 256.
 -      (CCL_WRITE_MULTIBYTE_CHAR): Delete.
 -      (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
 -      and DST type.
 -      (ccl_driver): Change types of argument, adjust code accordingly.
 -      (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
 -      ccl_driver.
 -      (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
 -
 -      * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
 -      New members src_multibyte, dst_multibyte, consumed, and produced.
 -      (struct ccl_spec): Delete members decoder and encoder.  New member ccl.
 -      (CODING_SPEC_CCL_PROGRAM): New macro.
 -      (ccl_driver): Update prototype.
 -      (Qccl, Qcclp, Fccl_program_p): Extern them.
 -      (CHECK_CCL_PROGRAM): New macro.
 -
 -      * character.c, character.h, chartab.c: New files.
 -
 -      * charset.c: Mostly re-written.  Move character and multibyte sequence
 -      handling codes to character.c.
 -
 -      * charset.h: Mostly re-written.  Move character and multibyte sequence
 -      handling codes to character.h.
 -
 -      * coding.c, coding.h: Mostly re-written.
 -
 -      * composite.c: Include "character.h" instead of "charset.h".
 -      (CHAR_WIDTH): Move to character.h.
 -      (HASH_KEY, HASH_VALUE): Delete.
 -
 -      * composite.h (enum composition_method): Change order of enumeration
 -      symbols.
 -
 -      * data.c: Include "character.h" instead of "charset.h".
 -      (Faref): Call CHAR_TABLE_REF for a char table.
 -      (Faset): Call CHAR_TABLE_SET for a char table.
 -
 -      * dispextern.h (free_realized_face, check_face_attribytes)
 -      (generate_ascii_font): Extern them.
 -      (free_realized_multibyte_face): Delete extern.
 -
 -      * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
 -      table structure.
 -
 -      * editfns.c: Include "character.h" instead of "charset.h".
 -      (Fchar_to_string): Always call CHAR_STRING.
 -
 -      * emacs.c (main): Call init_charset_once, init_charset,
 -      syms_of_chartab, and syms_of_character.
 -
 -      * fileio.c: Include "character.h" instead of "charset.h".
 -      (Finsert_file_contents): Big change for the new code-conversion API.
 -      (choose_write_coding_system, Fwrite_region): Likewise.
 -      (build_annotations_2): Delete.
 -      (e_write): Big change for the new code-conversion API.
 -
 -      * fns.c: Include "character.h" instead of "charset.h".
 -      (copy_sub_char_table): Move to chartab.c.
 -      (Fcopy_sequence): Call copy_char_table for a char table.
 -      (concat): Delete codes calling count_multibyte.
 -      (string_char_to_byte, string_byte_to_char): Adjust for the new
 -      multibyte form.
 -      (internal_equal): Adjust for the change of char table structure.
 -      (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
 -      (Fchar_table_extra_slot, Fset_char_table_extra_slot)
 -      (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
 -      (char_table_translate, optimize_sub_char_table)
 -      (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
 -      chartab.c.
 -      (char_table_ref_and_index): Delete.
 -      (HASH_KEY, HASH_VALUE): Move to lisp.h.
 -      (Fmd5): Call preferred_coding_system instead of accessing
 -      Vcoding_category_list.  Adjust for the new code-conversion API.
 -      (syms_of_fns): Move defsubr for char table related functions to
 -      chartab.c.
 -
 -      * fontset.c: Mostly re-written.
 -
 -      * fontset.h (struct font_info): Change type of the member encoding_type.
 -      (enum FONT_SPEC_INDEX): New enum.
 -      (fontset_font_pattern, fs_load_font): Update prototype.
 -      (FS_LOAD_FONT): Adjust for the change of fs_load_font.
 -
 -      * indent.c: Include "character.h" instead of "charset.h".
 -      (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
 -
 -      * insdel.c: Include "character.h" instead of "charset.h".
 -      (copy_text): Don't refer to Vnonascii_translation_table.
 -      (insert_from_gap): New function.
 -
 -      * keyboard.c: Include "character.h" instead of "charset.h".
 -      (command_loop_1): Never call direct_output_forward_char before
 -      a non-ASCII character.
 -      (read_char): If Vkeyboard_translate_table is a char table, always
 -      translate a character.
 -
 -      * keymap.c: Include "character.h".
 -      (store_in_keymap): Handle the case that IDX is a cons.
 -      (Fdefine_key): Handle the case that KEY is a cons and the car part
 -      is also a cons (range).
 -      (push_key_description): Adjust for the new character code.
 -      (describe_vector): Call describe_char_table for a char table.
 -      (describe_char_table): New function.
 -
 -      * keymap.h (describe_char_table): Extern it.
 -
 -      * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
 -      (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
 -      (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
 -      (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
 -      Delete.
 -      (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
 -      structure.
 -      (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
 -      (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
 -      (CHARTAB_SIZE_BITS_3): New macros.
 -      (chartab_size): Extern it.
 -      (struct Lisp_Char_Table): Re-design.
 -      (struct Lisp_Sub_Char_Table): New structure.
 -      (HASH_KEY, HASH_VALUE): Move from fns.c.
 -      (CHARACTERBITS): Define as 22.
 -      (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
 -      (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
 -      (GC_SUB_CHAR_TABLE_P): New macro.
 -      (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
 -      (code_convert_string_norecord): Deleted extern.
 -      (init_character_once, syms_of_character, init_charset)
 -      (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
 -
 -      * lread.c: Include "character.h".
 -      (read_multibyte): New arg NBYTES.
 -      (read_escape): Change the meaning of returned *BYTEREP.
 -      (to_multibyte): Delete.
 -      (read1): Adjust the handling of char table and string.
 -
 -      * print.c: Include "character.h" instead of "charset.h".
 -      (print_string): Convert 8-bit raw bytes to octal form by
 -      string_escape_byte8.
 -      (print_object): Adjust for the new multibyte form.  Print 8-bit
 -      raw bytes always in octal form.  Handle sub char table correctly.
 -
 -      * process.c: Include "character.h" instead of "charset.h".
 -      (read_process_output, send_process): Adjust for the new
 -      code-conversion API.
 -
 -      * puresize.h (BASE_PURESIZE): Increase.
 -
 -      * regex.c: Include "character.h" instead of "charset.h".
 -      (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
 -      (regex_compile): Accept a range whose starting and ending
 -      character have different leading bytes.
 -      (analyse_first): Adjust for the above change.
 -
 -      * search.c: Include "character.h" instead of "charset.h".
 -      (search_buffer, boyer_moore): Adjust for the new multibyte form.
 -      (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
 -
 -      * syntax.c: Include "character.h" instead of "charset.h".
 -      (syntax_parent_lookup): Delete.
 -      (Fmodify_syntax_entry): Accept a cons as CHAR.
 -      (skip_chars): Adjust for the new multibyte form.
 -      (init_syntax_once): Call char_table_set_range instead of directly
 -      accessing the structure of a char table.
 -
 -      * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
 -      (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
 -      (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
 -      (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
 -
 -      * term.c: Include "buffer.h" and "character.h".
 -      (encode_terminal_code, write_glyphs): Adjust for the new
 -      code-conversion API.
 -      (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
 -
 -      * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
 -
 -      * xdisp.c: Include "character.h".
 -      (get_next_display_element): Adjust for the new multibyte form.
 -      (disp_char_vector): Adjust for the new char table structure.
 -      (decode_mode_spec_coding): Adjust for the new structure of
 -      coding system.
 -      (decode_mode_spec): Adjust for the new code-conversion API.
 -
 -      * xfaces.c: Include "character.h" instead of "charset.h".
 -      (load_face_font): Adjust for the change of choose_face_font and
 -      FS_LOAD_FONT.
 -      (generate_ascii_font): New function.
 -      (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
 -      (set_font_frame_param): Adjust for the change of choose_face_font.
 -      (free_realized_face): Make it public.
 -      (free_realized_faces_for_fontset): Rename from
 -      free_realized_multibyte_face.  Free also faces realized for ASCII.
 -      (choose_face_font): Change arguments.  Adjust for the change of
 -      fontset_font_pattern and FS_LOAD_FONT.
 -
 -      * xfns.c: Include "character.h".
 -      (x_encode_text): Adjust for the new code-conversion API.
 -
 -      * xselect.c: Don't include "charset.h".
 -      (selection_data_to_lisp_data): Adjust for the new code conversion API.
 -
 -      * xterm.c: Include "character.h".
 -      (x_encode_char): New argument CHARSET.  Change caller.
 -      (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
 -      Call ENCODE_CHAR instead of SPLIT_CHAR.
 -      (x_produce_glyphs): Don't check Vnonascii_translation_table Call
 -      CHAR_WIDTH instead of CHARSET_WIDTH.
 -      (XTread_socket): Adjust for the new code-conversion API.
 -      (x_new_font): Adjust for the change of FS_LOAD_FONT.
 -      (x_load_font): Adjust for the change of struct font.
 -
 -2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfaces.c (face_at_buffer_position): Remove unused vars.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
 -      Fix overflow checking.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
 -      Cancel previous change.
 -
 -2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
 -      ccl->eight_bit_control.  Fix check for buffer overflow.
 -      (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
 -      (ccl_driver): Initialize extra_bytes to 0.
 -
 -2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * keyboard.c (make_ctrl_char): If C is a multibyte character, just
 -      return it ORed with ctrl_modifier.
 -
 -2008-01-29  Miles Bader  <miles@gnu.org>
 -
 -      * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
 -
 -2008-01-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (stat): Don't double check for networked drive.
 -
 -2008-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (run_window_configuration_change_hook): New function.
 -      Code extracted from set_window_buffer.  Set the selected frame.
 -      (set_window_buffer): Use it.
 -      * window.h (run_window_configuration_change_hook): Declare.
 -      * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
 -
 -      * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
 -
 -2008-01-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in: Remove references to unused macros.
 -
 -2008-01-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (g_b_init_get_sid_sub_authority)
 -      (g_b_init_get_sid_sub_authority_count): New static variables.
 -      (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
 -      (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
 -      (init_user_info): Use them to retrieve uid and gid.
 -      Use 500/513, the Windows defaults, as Administrator's uid/gid.
 -      (fstat): Use pw_uid and pw_gid from the_passwd structure for
 -      st_uid and st_gid of the file.
 -
 -2008-01-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (logon_network_drive): New function.
 -      (stat): Use it.
 -
 -2008-01-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Handle the case where charpos falls on
 -      invisible text covered with an ellipsis.
 -
 -2008-01-25  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
 -      jump back to beginning.  Move some other initializations after that.
 -      (Qwindow_text_change_functions, Vwindow_text_change_functions):
 -      New variables.
 -      (syms_of_xdisp): Init them.
 -
 -      * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
 -
 -      * buffer.c (reset_buffer_local_variables):
 -      Implement `permanent-local-hook'.
 -      (Qpermanent_local_hook): New variable.
 -      (syms_of_buffer): Init and staticpro it.
 -
 -2008-01-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
 -
 -2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>
 -
 -      * fns.c (Fclrhash): Return TABLE.
 -
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
 -      (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
 -      is set even without positional changes.
 -      (x_scroll_bar_clear): Set bar->redraw_needed_p.
 -
 -      * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
 -
 -2008-01-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
 -
 -      * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
 -      the unicode range available in MULE by locale-coding-system.
 -      Improve dbcs lead byte detection.  Set event timestamp and modifiers
 -      earlier.
 -
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
 -      [MAC_OSX] (init_mac_osx_environment): Initialize it.
 -      [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
 -      when used on child processes.
 -
 -2008-01-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_method_return_internal): Rename from
 -      Fdbus_method_return.
 -      (Fdbus_unregister_object): Move to dbus.el.
 -      (Fdbus_call_method, Fdbus_method_return_internal)
 -      (Fdbus_send_signal): Improve debug messages.
 -
 -2008-01-20  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * undo.c (undo_inhibit_record_point): New variable.
 -      (syms_of_undo): Initialize it.
 -      (record_point): Don't record point when undo_inhibit_record_point
 -      is set.
 -
 -2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
 -
 -      * xdisp.c (Qauto_hscroll_mode): New var.
 -      (syms_of_xdisp): Initialize it.
 -      (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
 -      window's buffer.
 -      (hscroll_windows): Don't check automatic_hscrolling_p here.
 -
 -      * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
 -      vscroll if we're setting window-buffer to the value it already has.
 -
 -2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/intel386.h: Remove references to XENIX.
 -
 -2008-01-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
 -      instead of HAVE_X86_64_LIB64_DIR.
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
 -
 -2008-01-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
 -      to HAVE_X86_64_LIB64_DIR.
 -
 -2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/irix3-3.h:
 -      * s/irix4-0.h:
 -      * s/386-ix.h:
 -      * s/domain.h:
 -      * s/hpux9-x11r4.h:
 -      * s/hpux9shxr4.h: Remove files for systems no longer supported.
 -
 -      * sysdep.c: Remove code containing references to symbols defined
 -      by unsupported systems.
 -
 -2008-01-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * coding.c (select-safe-coding-system-function): Doc fix.
 -
 -2008-01-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * config.in: Revert 2008-01-13 change: this is a generated file.
 -
 -2008-01-13  Tom Tromey  <tromey@redhat.com>
 -
 -      * lisp.h: Fix typo.
 -
 -2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/sequent-ptx.h:
 -      * m/sequent.h:
 -      * s/ptx.h:
 -      * s/ptx4-2.h:
 -      * s/ptx4.h: Remove files for systems no longer supported.
 -
 -      * callproc.c (Fcall_process): Fix previous change.
 -
 -2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * unexsunos4.c: Remove file, system not supported anymore.
 -
 -      * m/mips.h:
 -      * m/intel386.h:
 -      * callproc.c:
 -      * config.in:
 -      * ecrt0.c:
 -      * emacs.c:
 -      * fileio.c:
 -      * frame.c:
 -      * getpagesize.h:
 -      * keyboard.c:
 -      * lread.c:
 -      * process.c:
 -      * puresize.h:
 -      * sysdep.c:
 -      * systty.h:
 -      * syswait.h:
 -      * unexec.c:
 -      * xdisp.c:
 -      * alloc.c: Remove code containing references to symbols defined by
 -      unsupported systems.
 -
 -2008-01-11  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (detect_coding_mask): Fix previous change.
 -
 -2008-01-09  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * coding.c (detect_coding_iso2022): New arg
 -      latin_extra_code_state.  Allow Latin extra codes only
 -      when *latin_extra_code_state is nonzero.
 -      (detect_coding_mask): If there is a NULL byte, detect the encoding
 -      as UTF-16 or binary.  If Latin extra codes exist, detect the
 -      encoding as ISO-2022 only when there's no other proper encoding is
 -      found.
 -
 -2008-01-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
 -      #ifdef MAC_OS.
 -
 -2008-01-08  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
 -
 -2008-01-06  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * keyboard.c (parse_menu_item): Don't enclose key bindings on
 -      menu bar in parentheses.
 -
 -2008-01-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/7300.h:
 -      * m/acorn.h:
 -      * m/alliant-2800.h:
 -      * m/alliant.h:
 -      * m/alliant1.h:
 -      * m/alliant4.h:
 -      * m/altos.h:
 -      * m/amdahl.h:
 -      * m/apollo.h:
 -      * m/att3b.h:
 -      * m/aviion-intel.h:
 -      * m/aviion.h:
 -      * m/celerity.h:
 -      * m/clipper.h:
 -      * m/cnvrgnt.h:
 -      * m/convex.h:
 -      * m/cydra5.h:
 -      * m/delta88k.h:
 -      * m/dpx2.h:
 -      * m/dual.h:
 -      * m/elxsi.h:
 -      * m/f301.h:
 -      * m/gould-np1.h:
 -      * m/gould.h:
 -      * m/i860.h:
 -      * m/ibmps2-aix.h:
 -      * m/ibmrt-aix.h:
 -      * m/ibmrt.h:
 -      * m/irist.h:
 -      * m/is386.h:
 -      * m/isi-ov.h:
 -      * m/mega68.h:
 -      * m/mg1.h:
 -      * m/news-r6.h:
 -      * m/news-risc.h:
 -      * m/news.h:
 -      * m/nh3000.h:
 -      * m/nh4000.h:
 -      * m/ns16000.h:
 -      * m/ns32000.h:
 -      * m/nu.h:
 -      * m/orion.h:
 -      * m/orion105.h:
 -      * m/paragon.h:
 -      * m/pfa50.h:
 -      * m/plexus.h:
 -      * m/pyramid.h:
 -      * m/pyrmips.h:
 -      * m/sh3el.h:
 -      * m/sps7.h:
 -      * m/sr2k.h:
 -      * m/stride.h:
 -      * m/sun1.h:
 -      * m/sun2.h:
 -      * m/sun3-68881.h:
 -      * m/sun3-fpa.h:
 -      * m/sun3-soft.h:
 -      * m/sun3.h:
 -      * m/sun386.h:
 -      * m/symmetry.h:
 -      * m/tad68k.h:
 -      * m/tahoe.h:
 -      * m/targon31.h:
 -      * m/tek4300.h:
 -      * m/tekxd88.h:
 -      * m/tower32.h:
 -      * m/tower32v3.h:
 -      * m/ustation.h:
 -      * m/wicat.h:
 -      * m/xps100.h:
 -      * s/cxux.h:
 -      * s/cxux7.h:
 -      * s/dgux.h:
 -      * s/dgux4.h:
 -      * s/dgux5-4-3.h:
 -      * s/dgux5-4r2.h:
 -      * s/esix.h:
 -      * s/esix5r4.h:
 -      * s/hiuxmpp.h:
 -      * s/hiuxwe2.h:
 -      * s/iris3-5.h:
 -      * s/iris3-6.h:
 -      * s/isc2-2.h:
 -      * s/isc3-0.h:
 -      * s/isc4-0.h:
 -      * s/isc4-1.h:
 -      * s/newsos5.h:
 -      * s/newsos6.h:
 -      * s/osf1.h:
 -      * s/osf5-0.h:
 -      * s/riscix1-1.h:
 -      * s/riscix12.h:
 -      * s/sco4.h:
 -      * s/sco5.h:
 -      * s/sunos4-0.h:
 -      * s/sunos4-1.h:
 -      * s/sunos413.h:
 -      * s/sunos4shr.h:
 -      * s/umax.h:
 -      * s/unipl5-2.h:
 -      * s/xenix.h:
 -      * cxux-crt0.s:
 -      * unexapollo.c:
 -      * unexconvex.c:
 -      * unexenix.c:
 -      * unexsni.c: Remove files for systems no longer supported.
 -
 -      * m/intel386.h: Remove references to unsupported systems.
 -
 -      * w32.c (get_emacs_configuration): Remove reference to i860.
 -
 -      * sysdep.c: Remove dead code.
 -
 -2008-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/rtu.h:
 -      * m/masscomp.h: Remove files.  Platform is obsolete.
 -
 -2008-01-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_method_return): New function.
 -      (xd_read_message): Add the serial number to the event.
 -      (Fdbus_register_method): Activate the function.
 -
 -2008-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (read_key_sequence): Fix typo.
 -
 -2008-01-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
 -      (xd_signature, xd_append_arg): Handle element type detection for
 -      empty arrays.
 -      (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
 -      SDATA () calls; this must be solved more general.
 -      (Fdbus_register_signal): Use SBYTES instead of strlen.
 -
 -2008-01-03  Magnus Henoch  <magnus@zemdatav>
 -
 -      * dbusbind.c (xd_append_arg): Use unsigned char instead of
 -      unsigned int for byte values (necessary for big-endian platform).
 -      (Fdbus_call_method): Handle the case of no returned arguments.
 -
 -2007-12-31  Tom Tromey  <tromey@redhat.com>  (tiny change)
 -
 -      * dbusbind.c (xd_read_message): Use non-static input_event struct.
 -
 -2007-12-31  Magnus Henoch  <mange@freemail.hu>
 -
 -      * dbusbind.c (xd_signature): Signature of variant is just "v".
 -
 -2007-12-30  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c: Fix several errors and compiler warnings.
 -      Reported by Tom Tromey <tromey@redhat.com>.
 -      (XD_ERROR, XD_DEBUG_MESSAGE)
 -      (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
 -      (xd_append_arg): Part for basic D-Bus types rewritten.
 -      (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
 -      DBUS_TYPE_(U)INT16.  Don't call XD_DEBUG_MESSAGE with "%f" if not
 -      appropriate.
 -      (xd_read_message): Return Qnil.  Don't signal an error; it is not
 -      useful during event reading.
 -      (Fdbus_register_signal): Signal an error if the check for
 -      FUNCTIONP fails.
 -      (Fdbus_register_method): New function.  The implementation is not
 -      complete, the call of the function signals an error therefore.
 -      (Fdbus_unregister_object): New function, renamed from
 -      Fdbus_unregister_signal.  The initial check signals an error, if
 -      the object is not well formed.
 -
 -2007-12-30  Richard Stallman  <rms@gnu.org>
 -
 -      * textprop.c (get_char_property_and_overlay):
 -      Signal error if POSITION is out of range in a buffer.
 -
 -2007-12-29  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * w32fns.c (Fx_create_frame): Make copy of frame parameters
 -      because the original parameters are in pure storage now.
 -
 -2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
 -
 -2007-12-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * callint.c (syms_of_callint) <command-history>: Add reference to
 -      history-length in the doc string.
 -
 -2007-12-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
 -      before passing as wParam.
 -
 -2007-12-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
 -      DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
 -      DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
 -      Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
 -      as number.
 -      (Fdbus_call_method): Fix docstring.
 -
 -2007-12-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
 -      New macros.
 -      (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
 -      (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
 -      Simplify.
 -      (xd_signature): New function.
 -      (xd_append_arg): Compute also signatures.  Major rewrite.
 -      (xd_retrieve_arg): Make debug messages friendly.
 -      (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
 -      Check for signatures of arguments.
 -
 -2007-12-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
 -      (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
 -      (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
 -      (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
 -      (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
 -      (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
 -      (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
 -      (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
 -      (xd_retrieve_value): Remove.  Functionality included in ...
 -      (xd_append_arg): New function.
 -      (Fdbus_call_method, Fdbus_send_signal): Apply it.
 -
 -2007-12-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (top): Include <stdio.h>.
 -      (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
 -      dbus_message_new_method_call and dbus_message_new_signal.
 -      (Fdbus_register_signal): Rename unique_name to uname.
 -      Check handler for FUNCTIONP instead of CHECK_SYMBOL.  Handle case of
 -      non-existing unique name.  Fix typos in matching rule.  Return an
 -      object which is useful in Fdbus_unregister_signal.
 -      (Fdbus_unregister_signal): Reimplementation, in order to remove
 -      only the corresponding entry.
 -      (Vdbus_registered_functions_table): Change the order of entries.
 -      Apply these changes in xd_read_message and Fdbus_register_signal.
 -
 -2007-12-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Finsert_file_contents): Fix overflow check to not
 -      depend on undefined integer overflow.
 -
 -2007-12-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
 -      for characters above 127.
 -
 -2007-12-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
 -      before dereferencing array.
 -      (lookup_vk_code): Remove zero comparison.
 -
 -2007-12-14  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
 -      (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
 -      Use `unsigned int' instead of `uint'.
 -      (xd_read_message, Fdbus_register_signal): Split expressions into
 -      multiple lines before operators "&&" and "||", according to the
 -      GNU Coding Standards.
 -
 -2007-12-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
 -
 -2007-12-12  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (Frename_buffer): In interactive spec replace
 -      `read-buffer' with `read-string' that uses `buffer-name-history'
 -      as history, and the current buffer's name as default.
 -
 -2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
 -      manipulating the backtrace manually.
 -      (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
 -      (struct backtrace, backtrace_list): Remove.
 -      (command_loop_1): Remove dead var `no_direct'.
 -
 -      * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
 -      preserve non-built-in buffer-local variables.
 -      (Fkill_all_local_variables): Don't re-create&re-set permanent
 -      buffer-local variables.
 -
 -2007-12-09  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (Frename_buffer): Change interactive spec from "s" to
 -      Lisp code that uses `read-buffer' with current buffer as default.
 -
 -2007-12-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_read_message): Generate an event for every
 -      registered handler.  There might be several handlers registered
 -      for the same signal.
 -      (Fdbus_register_signal): Don't overwrite a registration for the
 -      same signal.  Add a new registration if handlers are different.
 -      (Vdbus_registered_functions_table): Rework doc string.
 -
 -2007-12-07  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
 -      (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
 -      DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
 -      (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
 -      Unify argument lists.
 -      (xd_read_message, Fdbus_register_signal): Reorder and extend event
 -      arguments and hash table keys.  Use unique name for service.
 -      (Fdbus_unregister_signal): Remove checks.
 -      (Vdbus_registered_functions_table): Fix doc string.
 -
 -2007-12-05  Magnus Henoch  <mange@freemail.hu>
 -
 -      * process.c (make_process): Initialize pty_flag to 0.
 -
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
 -      specified XBMs.
 -
 -2007-12-05  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
 -
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
 -      New variable.
 -      (mac_try_close_socket) [MAC_OSX]: New function.
 -      [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
 -      Update cfsockets_for_select.  Replace invalid CFRunLoop source.
 -
 -      * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
 -      Use mac_try_close_socket.
 -
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (unrelocate): New argument BASE.  Use it instead of
 -      reloc_base.
 -      (copy_dysymtab): Compute relocation base here.
 -      (rebase_reloc_address) [__ppc64__]: New function.
 -      (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
 -      changed.
 -
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32proc.c (sys_spawnve): Quote args with wildcards.
 -
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
 -      __objc_* sections.
 -      (unrelocate) [_LP64]: Set relocation base to address of data segment.
 -
 -2007-12-05  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
 -      Move check for Vdbus_registered_functions_table to
 -      xd_read_queued_messages.
 -      (xd_read_queued_messages): Protect xd_read_message calls by
 -      internal_condition_case_1.
 -
 -2007-12-04  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
 -      Qdbus_system_bus and Qdbus_session_bus, respectively.
 -      (Vdbus_intern_symbols): Remove.
 -      (Vdbus_registered_functions_table): New hash table.
 -      (XD_SYMBOL_INTERN_SYMBOL): Remove.
 -      (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
 -      Rewrite in order to manage registered functions by hash table
 -      Vdbus_registered_functions_table.
 -
 -2007-12-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: Update URL to Window Manager Specification in comment.
 -
 -2007-12-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * config.in (HAVE_DBUS): Add.
 -
 -      * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
 -      (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
 -      (obj): Add $(DBUS_OBJ).
 -      (LIBES): Add $(DBUS_LIBS).
 -      (dbusbind.o): New target.
 -
 -      * dbusbind.c: New file.
 -
 -      * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
 -
 -      * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
 -      (Qdbus_event): New Lisp symbol.
 -      (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
 -      (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
 -      (keys_of_keyboard): Define dbus-event.
 -
 -      * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
 -
 -2007-12-01  Richard Stallman  <rms@gnu.org>
 -
 -      * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
 -
 -2007-11-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
 -      (w32con_reset_terminal_modes): Clear screen buffer.
 -      (w32_face_attributes): Don't use color indexes that are out of range.
 -      Only reverse the default colors.
 -
 -      * xfaces.c (map_tty_color, tty_color_name): Remove special case for
 -      WINDOWSNT.
 -
 -      * w32console.c, w32term.h (vga_stdcolor_name): Remove.
 -
 -2007-11-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
 -      (w32_face_attributes): Use Vtty_defined_color_alist to determine
 -      if the terminal colors are initialized.
 -      (unspecified_fg, unspecified_bg): Remove unused declarations.
 -
 -2007-11-29  Andreas Schwab  <schwab@suse.de>
 -
 -      * keyboard.c (apply_modifiers): Fix typo.
 -
 -2007-11-29  Richard Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fcurrent_local_map): Doc fix.
 -
 -2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
 -
 -      * s/gnu-kfreebsd.h: New file.
 -
 -2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 -      Don't cast redundantly.
 -
 -      * keyboard.c (KEY_TO_CHAR): New macro.
 -      (parse_modifiers, apply_modifiers): Accept integer arguments.
 -      (read_key_sequence): Use them to unify the "shift->unshift" mapping
 -      for chars and symbol keys.
 -      After doing such remapping, apply function-key-map again.
 -
 -2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
 -      compiled anymore.
 -
 -2007-11-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (list_processes_1): Fix indentation level of the
 -      command column.
 -
 -2007-11-23  Andreas Schwab  <schwab@suse.de>
 -
 -      * editfns.c (Fformat): Handle %c specially since it requires the
 -      argument to be of type int.
 -
 -2007-11-23  Markus Triska  <markus.triska@gmx.at>
 -
 -      * emacs.c (main): Call init_editfns before init_process, since
 -      init_process sets Vprocess_connection_type depending on OS release.
 -
 -2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
 -      (find_symbol_value): Use do_symval_forwarding.
 -
 -      * data.c (set_internal): Set the value in the `cons-cell' (for
 -      Buffer_Local_values) not only for frame-local variables.
 -
 -2007-11-22  Andreas Schwab  <schwab@suse.de>
 -
 -      * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
 -      values to sprintf.
 -      * keymap.c (Fsingle_key_description): Likewise.
 -      * print.c (print_object): Likewise.
 -
 -2007-11-22  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
 -      file for image is nil.
 -
 -2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c: Include stdarg.h.
 -      (fatal): Implement using varargs.
 -      * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).
 -
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
 -      * data.c (store_symval_forwarding): Get type from buffer_objfwd.
 -      Update call to buffer_slot_type_mismatch.
 -      * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
 -      (buffer_slot_type_mismatch): Update.
 -      * buffer.c (buffer_local_types): Remove.
 -      (buffer_slot_type_mismatch): Get the symbol and type as arguments.
 -      (defvar_per_buffer): Set the type in the buffer_objfwd.
 -
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
 -      CreateFileMapping returns NULL on failure.
 -
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * search.c (Fset_match_data): Remove the `evaporate' feature.
 -      (unwind_set_match_data): Don't use the `evaporate' feature.
 -
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
 -
 -      * w32console.c (w32con_write_glyphs): Remove unused variables.
 -
 -2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
 -
 -      * s/darwin.h (MULTI_KBOARD): Remove.
 -
 -      * macfns.c (x_create_tip_frame, Fx_create_frame)
 -      (x_create_tip_frame): Don't deal with MULTI_KBOARD.
 -
 -2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_local_value): Remove redundant test.
 -      (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
 -      than in `current-buffer' to match the comment.
 -      Do the swap using swap_in_global_binding.
 -
 -      * data.c (store_symval_forwarding, set_internal):
 -      * eval.c (specbind): Remove dead code.
 -
 -      * coding.c (detect_coding, Fupdate_coding_systems_internal):
 -      * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
 -      Since we do not want to see internal Lisp_*fwd objects here.
 -
 -2007-11-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * sysdep.c (init_system_name): Use getaddrinfo if available.
 -
 -      * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
 -      (x_scroll_bar_note_movement): start, end, with, height in struct
 -      scroll_bar are integers and not Lisp_Object, so remove XINT for them.
 -
 -2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1190000.
 -
 -2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.h (struct buffer): Move `undo_list' back to before `name'.
 -      This undoes Richard's change of 14-Oct-2002.
 -
 -      * alloc.c (allocate_other_vector):
 -      * lisp.h (allocate_other_vector): Remove.
 -
 -      * window.c (struct save_window_data): Move non-lisp data to the end
 -      and make it `int' rather than Lisp_Object.
 -      (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
 -      Done wrap/unwrap integer values.
 -      (Fset_window_configuration, compare_window_configurations):
 -      Update use of fields to their new types.
 -
 -      * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
 -      Turn integer fields into `int'.  Merge x_window_low and x_window_high.
 -      (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
 -      (SET_SCROLL_BAR_X_WINDOW): Remove.
 -      (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
 -      Access the new x_window field directly.
 -      * xterm.c (x_scroll_bar_create): Use a pseudovector.
 -      Don't wrap/unwrap integers into Lisp_Objects.
 -      (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
 -      (x_scroll_bar_report_motion):
 -      Don't wrap/unwrap integers into Lisp_Objects.
 -      (x_term_init): Use SDATA.
 -      (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
 -      (x_scroll_bar_set_handle, x_scroll_bar_remove)
 -      (XTset_vertical_scroll_bar, x_scroll_bar_expose)
 -      (x_scroll_bar_report_motion, x_scroll_bar_clear):
 -      * xfns.c (x_set_background_color):
 -      * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
 -      Access the new x_window field directly.
 -
 -      * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
 -      (allocate_pseudovector): Make non-static.
 -
 -      * lisp.h (enum pvec_type): New tag PVEC_OTHER.
 -      (allocate_pseudovector): Declare.
 -      (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
 -
 -2007-11-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * editfns.c (Fformat): Correctly format EMACS_INT values.
 -      Also take precision into account when formatting an integer.
 -
 -      * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
 -
 -2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Fevent_symbol_parse_modifiers): New function.
 -      (syms_of_keyboard): Defsubr it.
 -
 -      * data.c (swap_in_global_binding): Fix longstanding bug where
 -      store_symval_forwarding was not called with the right second argument,
 -      thus causing objfwd-ing from being dropped.
 -
 -2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * macfns.c (Fx_create_frame, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
 -      (Fx_display_visual_class, Fx_display_save_under):
 -      * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_screens)
 -      (Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fw32_select_font, Fx_display_save_under):
 -      * xfns.c (Fx_create_frame, Fx_display_pixel_width)
 -      (Fx_display_pixel_height, Fx_display_planes)
 -      (Fx_display_color_cells, Fx_server_max_request_size)
 -      (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
 -      (Fx_display_save_under): Fix typos in docstrings.
 -
 -2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
 -      corresponding to deleted entries; they are an implementation detail.
 -      (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
 -      Remove variables.
 -      (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
 -      (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
 -      (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
 -      (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
 -      (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
 -      (Fw32_define_rgb_color, Fw32_load_color_file)
 -      (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
 -      Fix typos in docstrings.
 -      (Fx_server_version): Reflow docstring.
 -      (Fw32_shell_execute): Doc fixes.
 -
 -2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
 -      if w32_parse_hot_key returned nil.
 -
 -2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (load_overlay_strings): Fix copy&paste typo.
 -
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
 -
 -      * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
 -
 -      * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
 -      Remove W32_SCROLL_BAR_CLICK_EVENT.
 -
 -      * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
 -      Add MULTIMEDIA_KEY_EVENT.
 -
 -      * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
 -      (lispy_multimedia_keys) [WINDOWSNT]: New array.
 -      (make_lispy_event) [WINDOWSNT]: Use it to translate
 -      MULTIMEDIA_KEY_EVENT.
 -
 -      * w32term.h (WM_APPCOMMAND): Define if not already.
 -      (GET_APPCOMMAND_LPARAM): Likewise.
 -
 -      * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
 -      WM_APPCOMMAND.
 -
 -      * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
 -      (syms_of_w32fns): Export and initialize it.
 -      (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
 -
 -2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
 -      twice.
 -
 -      * xdisp.c (handle_face_prop): Fix last change.
 -
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (handle_face_prop): Test for strings that came from overlays,
 -      not just for after-strings and before-strings.
 -      Call face_for_overlay_string and pass the overlay to it.
 -      (handle_display_prop): Determine whether property came from an overlay.
 -      Pass OVERLAY arg to handle_single_display_spec.
 -      (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
 -      (load_overlay_strings): Fill in it->string_overlays.
 -      (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
 -
 -      * xfaces.c (face_for_overlay_string): Function renamed from
 -      face_at_buffer_position_no_overlays, and add arg OVERLAY.
 -
 -      * dispextern.h (struct it): New elt string_overlays.
 -      New elt from_overlay, also in stack.
 -      Rearrange a few elements.
 -      (face_for_overlay_string): Decl renamed from
 -      face_at_buffer_position_no_overlays, and add argument.
 -
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
 -      to get the base face for an overlay string.
 -
 -      * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
 -
 -      * xfaces.c (face_at_buffer_position_no_overlays): New function.
 -
 -      * xdisp.c (handle_stop): Move some code out of loop.
 -
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
 -      Fix conversion from Lisp object to ATSUFontID.
 -
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
 -
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
 -      Don't assume regions are aligned to page boundary.
 -      (print_load_command_name): Add LC_UUID if defined.
 -
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 -
 -      * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
 -
 -2007-11-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/windows95.h: Remove.
 -
 -2007-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
 -      abort with a message on unhandled store_type values.
 -
 -2007-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
 -      Remove HAVE_X11R5 and HAVE_X11R4.
 -
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in: Remove references to sunfns.c and sunfns.o.
 -
 -2007-11-01  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
 -      Don't set s->stippled_p here, since it has already been set by
 -      x_set_glyph_string_gc from x_draw_glyph_string.
 -
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sunfns.c: Remove file.
 -
 -      * m/sun386.h:
 -      * m/sun2.h:
 -      * m/sparc.h: Remove Sun windows code.
 -
 -2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
 -      (init_keyboard): Set current_kboard's window-system to nil.
 -      (tty_read_avail_input): Typo.
 -      * frame.c (make_initial_frame): Don't initialize the initial_kboard.
 -
 -2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/usg5-4.h:
 -      * s/usg5-3.h:
 -      * s/ptx.h:
 -      * m/is386.h:
 -      * m/ibmps2-aix.h:
 -      * Makefile.in: Remove all mentions of X10.
 -
 -      * dispnew.c (syms_of_display): Don't mention version 10.
 -
 -2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in (OBJ1): Remove abbrev.$(O).
 -      ($(BLD)/abbrev.$(O)): Remove.
 -
 -2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Rewrite abbrev.c in Elisp.
 -      * image.c (Qcount): Don't declare as extern.
 -      (syms_of_image): Initialize and staticpro `Qcount'.
 -      * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
 -      * emacs.c (main): Don't call syms_of_abbrev.
 -      * Makefile.in (obj): Remove abbrev.o.
 -      (abbrev.o): Remove.
 -      * abbrev.c: Remove.
 -
 -2007-10-26  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (window_min_size_2): Don't count header-line.
 -
 -2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.h (struct frame): Move all bit fields after the first bit
 -      field to take advantage of the available space.  Group all the
 -      chars together to reduce wasted space due to padding.
 -
 -2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
 -
 -      * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
 -      (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
 -      (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
 -      (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
 -      (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
 -      (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
 -      (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
 -      (last_marked, mark_object_loop_halt): Make static.
 -
 -      * frame.c (syms_of_frame) <delete-frame-functions>:
 -      Fix typo in docstring.
 -
 -2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c (init_environment): Fix tiny memory leak.
 -      (w32_get_resource): Remove unused variable `ok'.
 -
 -2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make `window-system' into a keyboard-local variable (rather than
 -      frame-local as done originally by multi-tty).
 -
 -      * keyboard.h (struct kboard): Add Vwindow_system.
 -      * keyboard.c (init_kboard): Set a default for Vwindow_system.
 -      (mark_kboards): Mark Vwindow_system.
 -
 -      * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
 -      (init_display): Don't set the obsolete `window-system' frame-param.
 -
 -      * xterm.c (x_term_init):
 -      * w32term.c (w32_create_terminal):
 -      * term.c (init_tty): Set Vwindow_system.
 -      * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
 -      multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
 -
 -      * xfns.c (Fx_create_frame, x_create_tip_frame):
 -      * w32fns.c (Fx_create_frame, x_create_tip_frame):
 -      * macfns.c (Fx_create_frame):
 -      Don't set the obsolete `window-system' frame-param.
 -
 -      * frame.h (Qwindow_system): Remove.
 -      * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
 -      (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
 -
 -2007-10-24  Richard Stallman  <rms@gnu.org>
 -
 -      * frame.c (x_figure_window_size): For fullscreen case,
 -      set USPosition | PPosition without clobbering rest of window_prompting.
 -
 -      * keyboard.c (Fcurrent_idle_time): Doc fix.
 -
 -      * print.c (Fwith_output_to_temp_buffer): Doc fix.
 -
 -2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (unwind_request_sigio): Only define if __ultrix__.
 -
 -      * callproc.c (child_setup): Remove spurious *.
 -
 -      * lisp.h (Fget_text_property): Declare.
 -      (have_menus_p): Declare it here rather than in sys-dep header files.
 -      * macterm.h (have_menus_p):
 -      * msdos.h (have_menus_p):
 -      * xterm.h (have_menus_p): Remove.
 -
 -      * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fmake_variable_frame_local): Just check the variable's const-ness
 -      rather than checking nil or t.
 -
 -2007-10-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c: Include math.h.
 -      (w32_abort): Declaration moved to nt/config.nt.
 -
 -      * s/ms-w32.h (HAVE_STDLIB_H): Define.
 -      (abort): Redefinition moved to nt/config.nt.
 -
 -      * m/windowsnt.h: Remove.
 -
 -2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (Fdump_emacs): Fix typo in message.
 -      (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
 -      <installation-directory>: Reflow docstring.
 -
 -2007-10-22  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c: Allow minibuffer default to be a list of default values.
 -      With empty input use the first element of this list as returned default.
 -      (string_to_object)
 -      (read_minibuf_noninteractive): If defalt is cons, set val to its car.
 -      (read_minibuf): If defalt is cons, set histstring to its car.
 -      (Fread_string): If default_value is cons, set val to its car.
 -      (Fread_buffer): If def is cons, use its car.
 -      (Fcompleting_read): If defalt is cons, set val to its car.
 -
 -2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
 -
 -2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * doc.c (Fdocumentation): Check for advice in all cases.
 -
 -2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
 -
 -2007-10-19  Richard Stallman  <rms@gnu.org>
 -
 -      * doc.c (Fdocumentation): Check for and handle an advised function.
 -
 -2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fset_process_filter): Doc fix.
 -
 -2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
 -      which caused key-translation-map to applied repeatedly (thus breaking
 -      double-mode).
 -
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xselect.c (x_own_selection, x_handle_selection_clear)
 -      (x_clear_frame_selections):
 -      * w32menu.c (list_of_panes, list_of_items):
 -      * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
 -      * textprop.c (validate_plist, interval_has_all_properties)
 -      (interval_has_some_properties, interval_has_some_properties_list)
 -      (add_properties, text_property_list):
 -      * process.c (Fget_buffer_process, list_processes_1, status_notify):
 -      * minibuf.c (Fassoc_string):
 -      * macselect.c (x_own_selection, x_clear_frame_selections)
 -      (Fx_disown_selection_internal):
 -      * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
 -      Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
 -
 -2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c: Link to libs for calling res_init() if available.
 -      (Fmake_network_process): Call res_init() before getaddrinfo or
 -      gethostbyname, if possible.
 -
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (read1): Set pvectype for char_tables.
 -
 -      * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
 -      (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
 -      Add type checks.
 -      (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
 -
 -      * alloc.c (free_misc): Use XMISCTYPE.
 -      (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
 -
 -2007-10-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
 -      (syms_of_minibuf): Add Qcompletion_ignore_case.
 -      * dired.c (Qcompletion_ignore_case): Change to external.
 -      (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
 -      * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
 -      (Fread_file_name): Use it rather than intern'ing.
 -
 -      * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
 -      (Fread_coding_system): Ignore case of user input.
 -
 -2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (handle_display_prop): Ignore display specs after
 -      replacing one when string text is being replaced.
 -      (handle_single_display_spec): Pretend as if characters with display
 -      property haven't been consumed only when buffer text is being replaced.
 -
 -2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfns.c (Fx_create_frame, Fx_display_list):
 -      * window.c (window_fixed_size_p, enlarge_window)
 -      (shrink_window_lowest_first):
 -      * macterm.c (init_font_name_table):
 -      * macfns.c (Fx_create_frame, Fx_display_list):
 -      * lread.c (close_load_descs):
 -      * keyboard.c (read_char_x_menu_prompt):
 -      * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
 -      * coding.c (code_convert_region_unwind): Test the type of an object
 -      rather than just !NILP before extracting data from it.
 -
 -      * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
 -
 -      * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
 -      (XMISCANY): New macro.
 -      (XMISCTYPE): Use it.
 -      (struct Lisp_Misc_Any): New type.
 -      (union Lisp_Misc): Use it.
 -      (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
 -      * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
 -      (find_symbol_value, set_internal, default_value, Fset_default)
 -      (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
 -      (Flocal_variable_if_set_p, Fvariable_binding_locus):
 -      The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
 -      * alloc.c (allocate_buffer): Set the size and tag.
 -      (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
 -      Use XMISCANY.
 -      (die): Follow the GNU convention for error messages.
 -      * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
 -      tag any more.
 -      (set_buffer_internal_1):
 -      * frame.c (store_frame_param):
 -      * eval.c (specbind):
 -      * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
 -
 -      * doc.c (Fsnarf_documentation): Simplify.
 -
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
 -      (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
 -
 -2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
 -
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (do_autoload): Don't save autoloads.
 -
 -      * data.c (Ffset): Save autoload of the function being set.
 -
 -2007-10-07  John Paul Wallington  <jpw@pobox.com>
 -
 -      * xfns.c (x_create_tip_frame): Set the `display-type' frame
 -      parameter before setting up faces.
 -
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * ccl.c (Fregister_code_conversion_map):
 -      * keyboard.c (append_tool_bar_item): Reformat last change.
 -
 -      * lisp.h (eabs): Rename from `abs'.  All callers changed.
 -
 -2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
 -
 -      * buffer.c (add_overlay_mod_hooklist):
 -      * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
 -      * fontset.c (make_fontset):
 -      * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
 -      (append_tool_bar_item):
 -      * macmenu.c (grow_menu_items):
 -      * w32menu.c (grow_menu_items):
 -      * xmenu.c (grow_menu_items): Use larger_vector.
 -
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
 -      selected frame'' on MSDOS).
 -
 -2007-10-12  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Qexplicit_name): New variable.
 -      (x_report_frame_params): Report it in parameter alist.
 -      (syms_of_frame): Intern and staticpro it.
 -
 -2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
 -
 -      * macfns.c (x_create_tip_frame): Set terminal for frame.
 -
 -2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (Qenvironment): Remove.
 -      (syms_of_frame) <Qenvironment>: Don't initialize.
 -      (Fdelete_frame): Don't treat the `environment' param specially.
 -      * frame.h (Qenvironment): Don't declare.
 -      * callproc.c (set_initial_environment): Don't set unused frame param.
 -
 -      * frame.c (Fframe_with_environment): Remove.
 -      (syms_of_frame) <Sframe_with_environment>: Don't declare.
 -
 -      * lisp.h (Fframe_with_environment): Don't declare.
 -
 -2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * indent.c (indent_tabs_mode, last_known_column)
 -      (last_known_column_modified): Make static.
 -      (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
 -
 -2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1170000.
 -
 -2007-10-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_set_window_size): Disable code that attempts to tell
 -      Lisp code about a size change before it actually happens.
 -
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
 -      return HANDLED_RETURN.
 -
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
 -      when there's an unread command event.
 -
 -      * frame.c (focus_follows_mouse): Move here from frame.el to allow
 -      window autoselection act appropriately when leaving selected frame.
 -      (syms_of_frame): Initialize focus_follows_mouse.
 -      * frame.h (focus_follows_mouse): Extern it.
 -      * macterm.c (XTread_socket): When focus_follows_mouse is nil
 -      make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
 -      * msdos.c (dos_rawgetc): Likewise.
 -      * w32term.c (w32_read_socket): Likewise.
 -      * xterm.c (handle_one_xevent): Likewise.
 -      * xdisp.c (syms_of_xdisp): In doc-string of
 -      mouse-autoselect-window mention focus-follows-mouse.
 -
 -2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_load_query_font): Fix missing return value.
 -      [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
 -      Add BLOCK_INPUT.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_window_cursor_type): Implement documented behavior
 -      for cursor-in-non-selected-windows = t.
 -
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (w32_get_resource): Always close registry keys.
 -
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (LIBS): Add COMCTL32.
 -
 -      * w32fns.c (globals_of_w32fns): Init common controls.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * image.c (our_memory_buffer): Rename from omfib_buffer.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Foverlays_at): Doc fix.
 -
 -2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fplist_put): Preserve uneven tail data.
 -
 -2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 -
 -      * termhooks.h (enum event_kind): Remove trailing comma.
 -
 -      * frame.h (enum): Remove trailing comma.
 -
 -2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 -
 -      * w32proc.c (delete_child): Don't terminate threads of zombies.
 -
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
 -
 -      * keyboard.c (syms_of_keyboard): Set up new Lisp variable
 -      last-repeatable-command.
 -      (init_kboard): Initialize Vlast_repeatable_command.
 -      (command_loop_1): Set it to real_this_command unless that was
 -      bound to an input event.
 -      (mark_kboards): Mark it.
 -
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (condition-case): Doc fix.
 -
 -2007-10-08  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): Fix code
 -      for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
 -      was copied and not edited.
 -
 -2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Add new `input-decode-map' keymap and use it for terminal
 -      escape sequences.
 -      * keyboard.h (struct kboard): Add Vinput_decode_map.
 -      Remove Vlocal_key_translation_map.
 -      * keyboard.c (read_key_sequence): Add support for input-decode-map.
 -      (init_kboard): Init input-decode-map.
 -      Replace local-key-translation-map back with key-translation-map.
 -      (syms_of_keyboard): Declare input-decode-map.
 -      Remove local-key-translation-map.  Update docstrings.
 -      (mark_kboards): Mark Vinput_decode_map.
 -      Don't mark Vlocal_key_translation_map.
 -      * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
 -      Replace local-key-translation-map back with key-translation-map.
 -      * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
 -      Bind in input-decode-map rather than function-key-map.
 -
 -      * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
 -      This was made redundant by the previous introduction of XSETPVECTYPE.
 -
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 -
 -      * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
 -
 -2007-09-29  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (internal_condition_case_2, internal_condition_case_1)
 -      (internal_condition_case): Reenable abort if x_catching_errors ()
 -      to see if that really happens and why.
 -
 -2007-10-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
 -
 -2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (syms_of_image) <image-types>: Fix typo in docstring.
 -
 -2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
 -
 -2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.h (struct window):
 -      * window.c (struct save_window_data, struct saved_window):
 -      * termhooks.h (struct terminal):
 -      * process.h (struct Lisp_Process):
 -      * frame.h (struct frame):
 -      * buffer.h (struct buffer):
 -      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
 -      (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
 -      The size field of (pseudo)vectors is now unsigned.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
 -
 -      * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
 -      Turn `count' into an integer.
 -
 -      * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
 -      (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
 -      * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
 -      * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
 -      (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
 -
 -      * alloc.c (allocate_pseudovector): New fun.
 -      (ALLOCATE_PSEUDOVECTOR): New macro.
 -      (allocate_window, allocate_terminal, allocate_frame)
 -      (allocate_process): Use it.
 -      (mark_vectorlike): New function.
 -      (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
 -      (mark_terminals): Use it.
 -      (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
 -      (Fmake_byte_code): Use XSETPVECTYPE.
 -
 -      * frame.c (Fframe_parameters): Minor simplification.
 -
 -      * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
 -
 -      * marker.c (Fmarker_buffer): Make test for odd case into a failure.
 -
 -      * buffer.c (Fget_buffer_create, init_buffer_once):
 -      * lread.c (defsubr):
 -      * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
 -
 -      * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
 -      defined differently in the m/*.h files.
 -      (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
 -      (XSETPVECTYPE): New macro.
 -      (XSETPSEUDOVECTOR): Use it.
 -
 -      * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
 -      (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
 -
 -      * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
 -      * lread.c (defvar_per_buffer):
 -      * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
 -
 -      * window.c (candidate_window_p): Only consider as visible frames that
 -      are on the same terminal.
 -
 -      * m/ibms390x.h (MARKBIT): Remove unused macro.
 -
 -2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (Fload): Fix typo in docstring.
 -
 -2007-10-01  Michaël Cadilhac  <michael@cadilhac.name>
 -
 -      * floatfns.c (Fexpt): Manually check for overflows, so that a power
 -      of a non-zero value can't yield zero.
 -
 -2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (term_clear_mouse_face, term_mouse_highlight)
 -      (tty_write_glyphs_with_face): Only define is HAVE_GPM.
 -
 -      * print.c (safe_debug_print): Use XHASH.
 -
 -      * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
 -      Lisp elements such as tags.
 -      (XHASH): New macro.
 -      (EQ): Use it.
 -      (SREF, SSET, STRING_COPYIN): Use SDATA.
 -      (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
 -
 -      * alloc.c (mark_terminal): Remove left-over declaration.
 -      (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
 -      (allocate_vectorlike): Remove type argument.  Adjust callers.
 -      (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
 -      Only handle the one remaining MEM_TYPE_VECTORLIKE.
 -
 -      * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
 -      to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
 -      (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
 -      (lisp_align_free, make_interval, allocate_string, allocate_string_data)
 -      (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
 -      Use them.
 -
 -      * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
 -      Don't let signal handlers run when a GC is freed but not yet NULL'ed.
 -      (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
 -
 -2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
 -      loaded by default.
 -
 -2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (Fgpm_mouse_start): Don't signal an error if already activated
 -      on this tty.
 -      (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
 -
 -      * term.c (mouse_face_window): Rename from Qmouse_face_window.
 -      Update all users.
 -      (handle_one_term_event): Use Gpm_DrawPointer.
 -      (Fgpm_mouse_start): Rename from Fterm_open_connection.
 -      Signal errors instead of returning nil.  Always return nil.
 -      (Fgpm_mouse_stop): Rename from Fterm_close_connection.
 -      Make it a noop if gpm-mouse was not activated.
 -      (syms_of_term): Update names.
 -
 -2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
 -      (init_sys_modes): Check that gpm_tty is the current tty.
 -
 -      * alloc.c (allocate_terminal): Set the vector size to only count the
 -      lisp fields.  Initialize those to nil.
 -      (mark_object): Don't treat terminals specially.
 -      (mark_terminal): Remove.
 -      (mark_terminals): Use mark_object instead.
 -
 -      * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
 -      the GC to the beginning.
 -
 -      * indent.h:
 -      * indent.c: Use EMACS_INT for ints coming from Elisp data.
 -
 -      * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
 -
 -2007-09-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
 -
 -      * w32console.c (create_w32cons_output): Remove.
 -
 -      * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
 -
 -      * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
 -      (reset_sys_modes): Use reset_terminal_modes_hook.
 -
 -2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (do_autoload): Don't output any message.
 -
 -2007-09-24  Juri Linkov  <juri@jurta.org>
 -
 -      * emacs.c (standard_args): Change priority of "--no-splash"
 -      from 40 to 3.  Add "--no-desktop" with the same priority.
 -
 -2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
 -
 -      * alloc.c (gc_sweep): Check cons cell mark bits word by word
 -      and optimize the case where they are all 1.
 -
 -2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
 -
 -      * lisp.h (abs): Define if not defined.
 -      * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
 -      Don't define `abs', since it's defined in lisp.h.
 -
 -2007-09-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.
 -      (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
 -      (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
 -      (init_tty): Use DEV_TTY instead of "/dev/tty".
 -      [WINDOWSNT]: No need to protect from NAME arg being null.
 -
 -2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
 -      up the tty state.
 -
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.
 -      (gpm_tty): Change its type.
 -      * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.
 -      (gpm_tty): Change its type and initialize it.
 -      (Fterm_open_connection): Check the frame is indeed a tty.
 -      Use the new gpm_tty.
 -      (Fterm_close_connection): Use the new gpm_tty.
 -      * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
 -      * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
 -
 -2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32term.c (x_draw_glyph_string): Use strike_through_color, not
 -      underline_color, to draw strike-through.
 -
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (allocate_terminal): Declare.
 -
 -      * window.c (candidate_window_p): Consider frames that are being placed
 -      by the user as somewhere between visible and iconified.
 -      (window_loop): Prefer windows on the current frame.
 -      (Fselect_window): Move the use of select-frame to the beginning so we
 -      can just delegate all the work (it'll call us back anyway).
 -
 -      * frame.c (Qdisplay_environment_variable):
 -      * frame.h (Qdisplay_environment_variable): Delete.
 -
 -      * .gdbinit (xbacktrace): Print the arg's address rather than the value
 -      of the first arg, since that value may be a union.
 -
 -      * callproc.c (child_setup, getenv_internal): Use the frame's `display'
 -      parameter rather than Qdisplay_environment_variable.  If all else
 -      fails, look for DISPLAY in initial-environment.
 -
 -2007-09-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (emacstool): Remove target.
 -      (lisp, shortlisp): Remove termdev.elc.
 -
 -2007-09-21  Markus Triska  <markus.triska@gmx.at>
 -
 -      * xterm.c (x_delete_display): Compile session management conditionally.
 -
 -2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * callproc.c (getenv_internal_1): New function.
 -      (getenv_internal): Use it.
 -      (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
 -
 -      * terminal.c (get_terminal): Don't accept ints to represent terminals.
 -      (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
 -      (Fset_terminal_parameter): Work with dead terminals as well.
 -      (Fmodify_terminal_parameters): Remove.
 -
 -      * terminal.c (get_terminal): Handle terminals.
 -      Make sure the terminal returned is live.
 -      (create_terminal): Use allocate_terminal.
 -      (mark_terminals): Move to alloc.c.
 -      (delete_terminal): Use terminal->name as liveness status.
 -      NULL out fields after freeing their contents.
 -      Don't deallocate the object.
 -      (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
 -      rather than an int.
 -      (Fterminal_live_p): Accept non-integer arguments.
 -      (Fterminal_list): Return terminal objects rather than an ints.
 -
 -      * alloc.c (enum mem_type): New member for `terminal' objects.
 -      (allocate_terminal): New function.
 -      (mark_maybe_pointer, valid_lisp_object_p, mark_object):
 -      Handle terminals.
 -      (mark_terminal): New fun.
 -      (mark_terminals): Move from terminal.c.
 -
 -      * term.c (get_tty_terminal): Don't treat output_initial specially.
 -      (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
 -      (delete_tty): Use terminal->name as liveness status.
 -
 -      * termhooks.h (struct terminal): Make it into a pseudovector.
 -      Remove `deleted' replaced by checking `name's nullness.
 -
 -      * print.c (print_object): Handle terminals.
 -
 -      * lisp.h (enum pvec_type): New `terminal' pseudovector.
 -      (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
 -
 -      * frame.c (make_terminal_frame):
 -      * keyboard.c (tty_read_avail_input):
 -      * w32term.c (x_delete_terminal):
 -      * xfns.c (Fx_create_frame, x_create_tip_frame):
 -      * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
 -
 -2007-09-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * process.c (Fmake_network_process): Doc fix.
 -
 -2007-09-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
 -
 -2007-09-19  Michaël Cadilhac  <michael@cadilhac.name>
 -
 -      * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
 -      Fix a C warning regarding variable constness.
 -
 -      * xterm.c (handle_one_xevent): Fix a C warning.
 -
 -2007-09-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
 -
 -2007-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (gdpy_def): New variable.
 -      (xg_initialize): Initialize gdpy_def.
 -      (xg_display_close): If no other display exists, set gdpy_def to a
 -      new connection.
 -
 -2007-09-16  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
 -      when we have no file name for the icon.
 -      (xg_tool_bar_expose_callback): Remove.
 -      (xg_create_tool_bar): Don't connect expose signal to
 -      xg_tool_bar_expose_callback.
 -      (xg_get_file_with_chooser): Move GCPRO1 after declarations.
 -
 -2007-09-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (reset_malloc_hooks): Set the hooks to the previous
 -      values instead of zapping them.
 -
 -2007-09-14  Glenn Morris  <rgm@gnu.org>
 -
 -      * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
 -      * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
 -      * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
 -      scope and rename to omfib_buffer for clarity.
 -      (gif_load) <interlace_start, interlace_increment>: Move to file scope.
 -
 -2007-09-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
 -
 -2007-09-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
 -
 -      * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
 -
 -      * macterm.c (mac_initialize): Don't call mac_init_fringe here.
 -      (mac_term_init): Call here instead, passing rif.
 -
 -2007-09-13  Glenn Morris  <rgm@gnu.org>
 -
 -      * s/hpux.h: No longer define `static' as nothing.
 -
 -2007-09-13  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * callint.c (Fcall_interactively): Remove unused var `fun'.
 -
 -2007-09-12  Romain Francoise  <romain@orebokech.com>
 -
 -      * window.c (prefer_window_split_horizontally, display_buffer):
 -      Revert 2007-09-08 change.
 -
 -2007-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * alloca.c: Remove file.
 -      * Makefile.in (alloca): Do not undef.
 -      (allocaobj, alloca.o): Remove.
 -      (otherobj): Remove allocaobj.
 -      * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
 -      * regex.c (C_ALLOCA): Remove all references and code that was only
 -      used when this was defined.
 -      * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
 -      * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
 -      * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
 -
 -      * Makefile.in (SOURCES, unlock, relock): Delete.
 -
 -      * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
 -      (menu_grab_callback): All uses changed.
 -
 -      * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
 -      (x_reply_selection_request): All uses changed.
 -
 -2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (load_warn_old_style_backquotes): Change message to look
 -      better when it appears in the middle of byte-compiler messages.
 -
 -2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
 -
 -      * xterm.c (x_create_terminal): Add comment.
 -
 -      * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
 -
 -2007-09-10  Richard Stallman  <rms@gnu.org>
 -
 -      * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
 -
 -2007-09-10  Michaël Cadilhac  <michael@cadilhac.name>
 -
 -      * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
 -      (DEFUN): Document `intspec', use it instead of `prompt'.
 -
 -      * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
 -
 -      * data.c (Finteractive_form): If the interactive specification starts
 -      with a `(', use it as a Lisp form.
 -
 -      * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
 -      name and file modes.
 -
 -      * callint.c (Fcall_interactively): Comment fixes.
 +      * xml.c (parse_region): Avoid creating spurious whiespace nodes.
  
 -2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
 -      and compiled functions.
 +      * keyboard.c (read_char): Call Lisp function help-form-show,
 +      instead of using internal_with_output_to_temp_buffer.
 +      (Qhelp_form_show): New var.
 +      (syms_of_keyboard): Use DEFSYM macro.
  
 -2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
 +      * print.c (internal_with_output_to_temp_buffer): Function deleted.
  
 -      * window.c (prefer_window_split_horizontally): New variable.
 -      (display_buffer): Consider splitting window horizontally depending
 -      on prefer_window_split_horizontally.
 +      * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
  
 -2007-09-08  Eli Zaretskii  <eliz@gnu.org>
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
 +      * process.c (Flist_processes): Removed to Lisp.
 +      (list_processes_1): Deleted.
  
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-04-06  Eli Zaretskii  <eliz@gnu.org>
  
 -      * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
 +      * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
  
 -      * frame.c (x_set_frame_parameters): Check number is positive before
 -      using XFASTINT.
 +      * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
  
 -      * window.c (freeze_window_start): Don't presume selected_window holds
 -      a window object.
 -      (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
 +2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
 +      * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
  
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
  
 -      * window.c (Vsplit_window_preferred_function): New var.
 -      (Fdisplay_buffer): Use it.
 -      (syms_of_window): Export, and initialize it.
 +      * lisp.h (message, message_nolog, fatal): Mark as printf-like.
  
 -2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
 +      * xdisp.c (vmessage): Mark as a printf-like function.
  
 -      * image.c (gif_load): Fix bug: Handle nonexistent colormap.
 +      * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
  
 -2007-09-06  Glenn Morris  <rgm@gnu.org>
 +      * sound.c (sound_warning): Don't crash if arg contains a printf format.
  
 -      * gtkutil.c (menu_grab_callback) <cnt>:
 -      * xselect.c (x_reply_selection_request) <cnt>: Move static
 -      variable to file scope.
 +      * image.c (tiff_error_handler, tiff_warning_handler): Mark as
 +      printf-like functions.
 +      (tiff_load): Add casts to remove these marks before passing them
 +      to system-supplied API.
  
 -2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * eval.c (Fsignal): Remove excess argument to 'fatal'.
  
 -      * xdisp.c (redisplay_internal): Make sure Elisp code always sees
 -      consistent values of selected_frame and selected_window.
 +      * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
 +      This avoids several warnings with gcc -Wstrict-overflow.
 +      (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
 +      directly, rather than having caller test rule sign.  This avoids
 +      some unnecessary tests.
 +      * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
 +      (COMPOSITION_ENCODE_RULE): Arguments now must be valid.  This
 +      affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
  
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 +      * xfont.c (xfont_text_extents): Remove var that was set but not used.
 +      (xfont_open): Avoid unnecessary tests.
  
 -      * w32console.c (initialize_w32_display): Zero unused hooks.
 +      * composite.c (composition_gstring_put_cache): Use unsigned integer.
  
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * composite.h, composite.c (composition_gstring_put_cache):
 +      Use EMACS_INT, not int, for length.
  
 -      * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
 -      (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
 +      * composite.h (COMPOSITION_DECODE_REFS): New macro,
 +      breaking out part of COMPOSITION_DECODE_RULE.
 +      (COMPOSITION_DECODE_RULE): Use it.
 +      * composite.c (get_composition_id): Remove unused local vars,
 +      by using the new macro.
  
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 +      * textprop.c (set_text_properties_1): Change while to do-while,
 +      since the condition is always true at first.
  
 -      * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
 -      in w32console.c.  Set up input.  Remove XXX comments that have been
 -      confirmed as correct.
 -
 -      * s/ms-w32.h (MULTI_KBOARD): Define.
 -
 -      * w32console.c (one_and_only_w32cons): Remove.
 -      (initialize_w32_display): Take terminal argument.
 -
 -      * term.c (init_tty) [WINDOWSNT]: Pass terminal to
 -      initialize_w32_display.
 -      (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
 -
 -      * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
 -
 -      * keyboard.c (discard_mouse_events): Discard it.
 -      (make_lispy_event): Translate it to a lisp event.
 -      (lispy_wheel_names): Add wheel-left and right events.
 -      (syms_of_keyboard): Enlarge wheel_syms.
 -
 -      * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
 -      <WM_MOUSEHWHEEL>: Pass new system message to lisp.
 -
 -      * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
 -
 -      * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
 -      from WM_MOUSEHWHEEL.
 -      (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
 -
 -      * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
 -      terminal.
 -
 -      * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
 -      keyboard for the terminal.
 -
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
 -      (Vresume_tty_hook): Rename from Vresume_tty_functions.
 -      (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
 -      and resume-tty-function to resume-tty-hook.
 -      (Fsuspend_tty, Fresume_tty): Use new names.
 -
 -2007-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
 -      if it starts with "n:".
 -
 -2007-08-31  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
 -
 -2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.h:
 -      * frame.c (Qterm_environment_variable): Remove.
 -      (syms_of_frame): Don't init and staticpro it.
 -
 -      * callproc.c (getenv_internal): Remove special case for $TERM.
 -
 -      * callproc.c (Vinitial_environment): New variable.
 -      (set_initial_environment): Initialize it.
 -      (syms_of_callproc): Declare it.
 -      (child_setup): Don't mess with TERM via Qterm_environment_variable; the
 -      TERM under which a process runs is never related to the TERM in which
 -      Emacs is running.
 -
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
 -      * s/darwin.h: ... do it here.
 -
 -2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (set_initial_environment): Rename from set_global_environment.
 -
 -      * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
 -      removed by mistake on the multi-tty branch.
 -
 -      * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
 -      (Fmodify_frame_parameters): Return a value.
 -
 -      * image.c (png_load): Comment-out var only used in commented-out code.
 -
 -      * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
 -      before passing it to mark_object.
 -
 -      * xfaces.c (internal_resolve_face_name): Return a value.
 -      (internal_resolve_face_name, resolve_face_name_error): Comment out.
 -
 -      * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
 -      (x_icon): Comment-out var only used in commented-out code.
 -
 -2007-08-29  Romain Francoise  <romain@orebokech.com>
 -
 -      * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
 -      QUIT hasn't been provided.
 -
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callproc.c (child_setup, getenv_internal): Use the
 -      display-environment-variable and term-environment-variable frame params.
 -      (set_initial_environment): Initialise Vprocess_environment.
 -
 -      * config.in: Disable multi-keyboard support on a mac.
 -
 -      * frame.c (Qterm_environment_variable)
 -      (Qdisplay_environment_variable): New variables.
 -      (syms_of_frame): Intern and staticpro them.
 -      (Fmake_terminal_frame): Disable output method test.
 -
 -      * frame.h: Declare them here.
 -
 -      * macfns.c (x_set_mouse_color): Get rif from the frame.
 -      (x_set_tool_bar_lines): Don't use updating_frame.
 -      (mac_window): Add 2 new parameters for consistency with other systems.
 -      (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the
 -      frame parameters following what is done in X11 and w32.  Don't use
 -      FRAME_MAC_DISPLAY_INFO.
 -      (Fx_open_connection, start_hourglass): Remove window-system check.
 -      (x_create_tip_frame): Get the keyboard from the terminal.
 -
 -      * macmenu.c: Reorder includes.
 -      (Fx_popup_menu): Use terminal specific mouse_position_hook.
 -
 -      * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
 -      terminal parameter.
 -      (x_clear_frame): Add a frame parameter.
 -      (note_mouse_movement): Get rif from the frame.
 -      (mac_term_init): Initialize the terminal.
 -      (mac_initialize): Make static and move terminal initialization ...
 -      (mac_create_terminal): ... to this new function.
 -
 -      * macterm.h (struct mac_display_info): Add terminal.
 -      (mac_initialize): Delete declaration.
 -
 -      * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
 -
 -      * sysdep.c: Comment out text after #endif.
 -
 -      * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
 -      is defined.  Better initialize ttys in windows.  Use terminal
 -      specific mouse_position_hook.
 -
 -      * termhooks.h (union display_info): Add mac_display_info.
 -
 -      * w32fns.c (Fx_create_frame): Use kboard from the terminal.
 -      Set the default minibuffer frame, window_system and the rest of the
 -      frame parameters following what is done in X11.
 -
 -      * w32term.c (w32_initialize): Make static.
 -
 -      * xselect.c (x_handle_selection_clear): Only access
 -      terminal->kboard when MULTI_KBOARD is defined.
 -
 -      * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
 -      (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
 -
 -2007-08-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
 -      (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
 -
 -      * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
 -      (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
 -
 -      * keyboard.c (restore_kboard_configuration): Only define when
 -      MULTI_KBOARD defined.
 -
 -      * makefile.w32-in: Update dependancies from Makefile.in.
 -      (OBJ1): Add terminal.$(O)
 -
 -      * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
 -      Don't define function body.
 -      (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
 -
 -      * termhooks.h (display_info) [WINDOWSNT]: Add w32.
 -
 -      * w32.c (request_sigio, unrequest_sigio): Remove.
 -
 -      * w32console.c (w32con_move_cursor, w32con_clear_to_end)
 -      (w32con_clear_frame, w32con_clear_end_of_line)
 -      (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
 -      (w32con_delete_glyphs, w32con_set_terminal_window)
 -      (scroll_line, w32_sys_ring_bell): Add frame arg.
 -      (w32con_set_terminal_modes, w32con_reset_terminal_modes):
 -      Add terminal arg.
 -      (PICK_FRAME): Remove.
 -      (w32con_write_glyphs): Use frame specific terminal coding.
 -      (one_and_only_w32cons): New global variable.
 -      (initialize_w32_display): Use it for storing hooks.
 -      (create_w32cons_output): New function.
 -
 -      * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
 -      arg a frame.
 -
 -      * w32fns.c (x_create_tip_frame): Set terminal and ref count.
 -      Set window_system.
 -      (x_set_tool_bar_lines): Don't use updating_frame.
 -      (Fx_create_frame): Set terminal and ref count.
 -      (Fx_open_connection): Remove window-system check.
 -
 -      * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
 -
 -      * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
 -      (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
 -      (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
 -      Add frame arg.
 -      (x_delete_terminal, w32_create_terminal): New functions.
 -      (w32_term_init): Create a terminal.
 -      (w32_initialize): Move terminal specific initialization to
 -      w32_create_terminal.
 -
 -      * w32term.h (x_output): Remove foreground_pixel and background_pixel.
 -      (w32_clear_rect, w32_clear_area): Use background from frame.
 -      (w32_display_info): Add terminal.
 -      (w32_sys_ring_bell, x_delete_display): Declare here.
 -
 -      * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
 -
 -      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
 -
 -2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
 -
 -      * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
 -      Fix get_named_tty calls for the controlling tty.
 -
 -2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 -
 -      * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error.
 -
 -2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
 -
 -      * term.c (tty_insert_glyphs): Add missing first parameter.
 -
 -2007-08-29  Károly Lőrentey  <karoly@lorentey.hu>
 -
 -      * buffer.c (Fbuffer_list, Fbury_buffer):
 -      Take frame->buried_buffer_list into account.
 -
 -      * cm.c (current_tty): New variable, for cmputc().
 -      (cmputc): Use it.
 -      (cmcheckmagic): Add tty parameter, look up terminal streams there.
 -      (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().
 -      (cmgoto): Add tty parameter.  Pass it on to calccost().
 -      Use emacs_tputs() instead of tputs().
 -
 -      * cm.h (emacs_tputs): New macro to set current_tty, and then call
 -      tputs().
 -      (current_tty): New variable, for cmputc().
 -      (cmcheckmagic, cmputc, cmgoto): Add prototypes.
 -
 -      * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
 -      (internal_condition_case, internal_condition_case_1)
 -      (internal_condition_case_2): Don't abort when x_catching_errors.
 -
 -      * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
 -      (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to
 -      prevent crashes caused by bogus longjmps in read_char.
 -
 -      * keymap.h (Fset_keymap_parent): Add EXFUN.
 -
 -      * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
 -      * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 -      Remove redundant definition.
 -
 -      * macfns.c (x_set_mouse_color, x_make_gc):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -
 -      * w32term.c (x_free_frame_resources):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (w32_initialize): Use the accessor macros for terminal characteristics.
 -
 -      * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
 -      Use the accessor macros for terminal characteristics.
 -      * msdos.c (internal_terminal_init): Use the accessor macros for
 -      terminal characteristics.
 -      (ScreenVisualBell, internal_terminal_init):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -
 -      * termopts.h (no_redraw_on_reenter): Declare.
 -
 -      * alloc.c (emacs_blocked_malloc): Disable mallopt call.
 -      (mark_terminals, mark_ttys): Declare.
 -      (Fgarbage_collect): Call them.
 -      (mark_object): Mark buried_buffer_list.
 -
 -      * prefix-args.c: Include stdlib.h for exit.
 -
 -      * syssignal.h: Add comment.
 -
 -      * indent.c: Include stdio.h.
 -
 -      * window.h (Vinitial_window_system): Declare.
 -      (Vwindow_system): Delete declaration.
 -
 -      * fontset.c (Finternal_char_font): Use FRAME_RIF.
 -
 -      * image.c (lookup_image): Don't initialize `c' until the xasserts
 -      have been run.
 -
 -      * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL.
 -
 -      * print.c (print_preprocess): Don't lose print_depth levels while
 -      iterating.
 -
 -      * widget.c (update_from_various_frame_slots):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -
 -      * window.c (set_window_buffer): Don't call clear_mouse_face on tty
 -      frames.
 -      (window_internal_height): Remove bogus make_number call.
 -      (init_window_once): Call make_terminal_frame with two zero parameters.
 -
 -      * fileio.c (Fread_file_name): Update comment.
 -
 -      * callint.c (Fcall_interactively):
 -      Use temporarily_switch_to_single_kboard instead of single_kboard_state.
 -      Make sure it is correctly unwound.
 -
 -      * xsmfns.c (x_session_close): New function.
 -
 -      * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
 -      Delete declarations.
 -
 -      * xterm.h: Remove declaration for x_fully_uncatch_errors.
 -      (x_output): Remove background_pixel and foreground_pixel fields.
 -      (x_display_info): Add new field TERMINAL.  Remove KBOARD field.
 -      (x_delete_device, x_session_close): Declare.
 -
 -      * lread.c: Include setjmp.h.  Update declaration of `read_char'.
 -      (read_filtered_event): Call `read_char' with a local
 -      `wrong_kboard_jmpbuf'.
 -
 -      * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
 -      Don't call single_kboard_state.  Use FRAME_RIF.
 -
 -      * process.c (Fmake_network_process): Don't unrequest_sigio on modern
 -      systems.
 -
 -      * lisp.h (set_process_environment): Rename to `set_global_environment'.
 -      (Fframe_with_environment, Fset_input_meta_mode)
 -      (Fset_quit_char): EXFUN.
 -      (x_create_device, tty_output, terminal, tty_display_info): Declare.
 -      (init_sys_modes, reset_sys_modes): Update prototypes.
 -      (init_all_sys_modes, reset_all_sys_modes): New prototypes.
 -
 -      * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
 -      Vlocal_key_translation_map, and Vkeyboard_translate_table.
 -      (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
 -      Delete declarations.
 -      (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
 -      (temporarily_switch_to_single_kboard, tty_read_avail_input):
 -      New declarations.
 -
 -      * emacs.c (main): Don't call init_sys_modes(), the new term_init()
 -      already does that during init_display().  Call syms_of_keymap
 -      before syms_of_keyboard.  Call `syms_of_terminal'.
 -      Call set_initial_environment, not set_process_environment.
 -      (shut_down_emacs): Call reset_all_sys_modes() instead of
 -      reset_sys_modes().
 -
 -      * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
 -      (internal_resolve_face_name, resolve_face_name_error): New functions.
 -      (resolve_face_name): Protect against loops and errors thrown by Fget.
 -      (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
 -      (Ftty_supports_face_attributes_p): Update tty_capable_p call.
 -
 -      * scroll.c: Replace CURTTY() with local variables throughout the
 -      file (where applicable).
 -      (calculate_scrolling, calculate_direct_scrolling)
 -      (scrolling_1, scroll_cost): Use the accessor macros for terminal
 -      characteristics.
 -
 -      * keymap.c (Vfunction_key_map): Remove.
 -      (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
 -      (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
 -      (Vkey_translation_map): Remove.
 -      (syms_of_keymap): Remove DEFVAR for key-translation-map.
 -      (Fdescribe_buffer_bindings)
 -      (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
 -      Update for terminal-local key-translation-map.
 -
 -      * Makefile.in (callproc.o): Update dependencies.
 -      (lisp, shortlisp): Add termdev.elc.
 -      (obj): Add terminal.o.
 -      (terminal.o): Add dependencies.
 -      [HAVE_CARBON]: Make terminal.o depend on macgui.h.
 -      (data.o, fns.o): Add termhooks.h dependency.
 -      (SOME_MACHINE_LISP): Add dnd.elc.
 -      (minibuf.o): Fix typo.
 -      Update dependencies.
 -
 -      * data.c (do_symval_forwarding, store_symval_forwarding)
 -      (find_symbol_value): Use the selected frame's keyboard, not
 -      current_kboard.
 -
 -      * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
 -      Vwindow_system.
 -
 -      * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
 -      Fmenu_bar_open.
 -      (syms_of_xmenu): Update defsubr.
 -      (mouse_position_for_popup, Fx_popup_menu)
 -      (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
 -      (set_frame_menubar, free_frame_menubar)
 -      (create_and_show_popup_menu, xmenu_show)
 -      (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
 -      an X frame.
 -
 -      * xselect.c (x_own_selection): Abort if not an X frame.
 -      (some_frame_on_display): Check if it is an X frame.
 -      (x_handle_selection_clear): Deal with MULTI_KBOARD.
 -
 -      * coding.c: Include frame.h and termhooks.h.
 -      (terminal_coding, keyboard_coding): Delete.
 -      (Fset_terminal_coding_system_internal)
 -      (Fset_keyboard_coding_system_internal)
 -      (Fkeyboard_coding_system)
 -      (Fterminal_coding_system): Add a terminal parameter.
 -      Get terminal_coding from the terminal.
 -      (init_coding_once): Don't call setup_coding_system here.
 -
 -      * dispextern.h (set_scroll_region, turn_off_insert)
 -      (turn_off_highlight, background_highlight, clear_end_of_line_raw)
 -      (tty_clear_end_of_line, tty_setup_colors)
 -      (delete_tty, updating_frame)
 -      (produce_special_glyphs, produce_glyphs, write_glyphs)
 -      (insert_glyphs): Remove.
 -      (raw_cursor_to, clear_to_end, tty_turn_off_insert)
 -      (tty_turn_off_highlight, get_tty_size): Add declaration.
 -      (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
 -
 -      * frame.h (enum output_method): Add output_initial.
 -      (struct x_output): Delete.
 -      (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 -      Access foreground_pixel and background_pixel directly from the frame.
 -      (tty_display): Delete.
 -      (struct frame): Add buried_buffer_list, foreground_pixel,
 -      background_pixel and terminal.  Delete kboard.
 -      (union output_data): Add tty.
 -      (FRAME_KBOARD): Get the kboard from the terminal.
 -      (FRAME_INITIAL_P): New macro.
 -      (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
 -      (Qterm_environment_variable, Qdisplay_environment_variable)
 -      (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
 -      New declarations.
 -
 -      * termchar.h (tty_output, tty_display_info): New structures.
 -      (tty_list): Declare.
 -      (FRAME_TTY, CURTTY): New macros.
 -      (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
 -      (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
 -      (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
 -      (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
 -
 -      * callproc.c: Include frame.h and termhooks.h, for terminal
 -      parameters.
 -      (add_env): New function.
 -      (child_setup): Use it.
 -      (child_setup, getenv_internal): Handle the new Vprocess_environment.
 -      (getenv_internal): Fix get_terminal_param call.
 -      (Fgetenv_internal, egetenv): Update doc.
 -      (syms_of_callproc): Initialize Vprocess_environment to nil.
 -      Register and initialize them.  Remove obsolete defvars.  Update doc
 -      strings.
 -      (child_setup): Handle Vlocal_environment_variables.
 -      (getenv_internal): Add terminal parameter.
 -      Handle Vlocal_environment_variables.
 -      (Fgetenv_internal): Add terminal parameter.
 -      (child_setup, getenv_internal, Fgetenv_internal): Store the local
 -      environment in a frame (not terminal) parameter.  Update doc strings.
 -      (set_initial_environment): Rename from set_global_environment.
 -      Store Emacs environment in initial frame parameter.
 -
 -      * xdisp.c (redisplay_internal): Update references to
 -      `previous_terminal_frame'.
 -      (display_mode_line, Fformat_mode_line): Replace calls to
 -      `push_frame_kboard' with `push_kboard'.
 -      (get_glyph_string_clip_rects): Add extra parentheses and
 -      braces to prevent compiler warnings.
 -      (calc_pixel_width_or_height): Add xassert to check that the
 -      frame is alive.  Don't call `lookup_image' on a termcap frame.
 -      (message2_nolog, message3_nolog, redisplay_internal)
 -      (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
 -      (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
 -      (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fx_display_planes, Fx_display_color_cells)
 -      (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
 -      (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
 -      (Fx_display_backing_store, Fx_display_visual_class)
 -      (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
 -      Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
 -
 -      * xfns.c (x_set_foreground_color x_set_background_color)
 -      (x_set_mouse_color, x_set_cursor_color, x_make_gc):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (Fx_create_frame, x_create_tip_frame, build_string, x_window)
 -      (Fx_create_frame, x_create_tip_frame): Don't create frames on a
 -      terminal that is being deleted.
 -      (Fx_create_frame): Use `store_frame_param' to set `window-system'
 -      frame parameter, and make sure it overrides any user-supplied setting.
 -      (Fx_close_connection, Fx_synchronize): Unify argument names with
 -      the rest of the DEFUNs.
 -
 -      * dispnew.c (Fsend_string_to_terminal): Update call to
 -      `get_tty_terminal'.
 -      (Fredraw_frame, Fsend_string_to_terminal)
 -      (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
 -      FRAME_TERMCAP_P and FRAME_TTY.
 -      (window_change_signal): Don't believe width/height values that are
 -      impossibly small.
 -      (Vinitial_window_system): Rename from Vwindow_system.
 -      (termscript, Wcm, rif): Delete.
 -
 -      * termhooks.h (struct terminal): New struct containing the
 -      previously global text display hooks and new members NAME,
 -      DELETED and PARAM_ALIST.
 -      (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
 -      (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
 -      (FRAME_RIF): New macros.
 -      (get_terminal_param, get_device): New declarations.
 -      (termscript): Delete declaration.
 -
 -      * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
 -      (XTflash, x_free_frame_resources, x_scroll_bar_create)
 -      (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL.
 -      (x_fully_uncatch_errors): Disable definition.
 -      (x_scroll_bar_expose): Fix reference to foreground pixel.
 -      (XTread_socket): Disable loop on all X displays.
 -      (x_delete_terminal): Don't set terminal->deleted and let
 -      delete_terminal delete the frames on the terminal.
 -      (x_delete_display): Doc update to reflect changes in
 -      delete_terminal.
 -      (x_display_info) <terminal>: Move member earlier in the struct.
 -      (deleting_tty): Remove old variable.
 -      (Fsuspend_tty): Call clear_tty_hooks.
 -      (Fresume_tty, init_tty): Call set_tty_hooks.
 -      (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
 -      errors on X frames.
 -      (x_catch_errors_unwind): Abort if x_error_message is NULL.
 -      (handle_one_xevent): Initialize `f' to NULL.
 -      (x_delete_terminal, x_create_terminal): New functions.
 -      (XTset_terminal_modes, XTreset_terminal_modes)
 -      (XTread_socket, x_connection_closed, x_term_init)
 -      (x_term_init, x_delete_display): Add terminal parameter.
 -      (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
 -      X connections.
 -
 -      * frame.c: Include termchar.h.
 -      (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
 -      (Qwindow_system, Qenvironment, Qterm_environment_variable)
 -      (Qdisplay_environment_variable): New vars.
 -      (Fframep): Deal with output_initial.
 -      (Fframe-live-p): Doc fix.
 -      (Fwindow-system): New function.
 -      (x_set_screen_gamma, store_frame_param): Fix compilation errors.
 -      (make_terminal_frame): Don't create frames on a terminal that is
 -      being deleted.  Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (store_frame_param): Check for found_for_frame before calling XFRAME.
 -      (Fmake_terminal_frame): Handle NULL tty names correctly.
 -      (syms_of_frame): Enhance doc string of `default-frame-alist'.
 -      (Fdelete_frame): Remove unused variable `count'.  Don't allow other
 -      frames to refer to a deleted frame in their 'environment parameter.
 -      (Fframe_with_environment): New function.
 -      (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.
 -      (get_future_frame_param): New function.
 -      (Fmake_terminal_frame): Use it.
 -      (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
 -
 -      * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
 -      * sysdep.c (reset_sys_modes): Update for renames.
 -
 -      * keyboard.c (tty_read_avail_input): New function.
 -      (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
 -      (syms_of_keyboard): Defsubr them.
 -      (Fset_input_meta_mode, Fset_quit_char): New functions.
 -      (Fset_input_mode): Split to above functions.
 -      (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
 -      parameter.  Use it in call to `read_char'.
 -      (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.
 -      Set wrong_kboard_jmpbuf correctly in recursive calls.
 -      Use current_kboard to access Vkeyboard_translate_table.
 -      Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
 -      Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
 -      Update longjmp invocations.  Remember the original current_kboard,
 -      and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
 -      changes it.  Comment out unnecessary calls to
 -      `record_single_kboard_state' and `any_kboard_state'.
 -      Update recursive calls.
 -      (wrong_kboard_jmpbuf): Remove global variable.
 -      (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
 -      Handle deleted interrupted_kboards correctly; that is a legal
 -      case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp
 -      and read_char calls.  Abort if interrupted_kboard died in read_char.
 -      (any_kboard_state, single_kboard_state)
 -      (push_frame_kboard): Remove function.
 -      (pop_kboard): Switch out of single_kboard mode if the kboard has
 -      been deleted.  Remove unused variable.  Help debugging by not
 -      changing current_kboard unnecessarily.  Set current_kboard to the
 -      kboard of the selected frame when the stored kboard object has
 -      been deleted before pop_kboard.
 -      (temporarily_switch_to_single_kboard): Change first parameter to a
 -      frame pointer.  Throw an error when caller wants to change kboards
 -      while in single_kboard mode.  Don't push_kboard if we weren't in
 -      single kboard state.  Don't pop_kboard if we popped into any
 -      kboard state.
 -      (restore_kboard_configuration): Abort if pop_kboard changed the
 -      kboard in single_kboard mode.  Call pop_kboard only after setting
 -      up single_kboard mode.
 -      (Frecursive_edit): Switch to single_kboard mode only in nested
 -      command loops.
 -      (cmd_error, command_loop, command_loop_1, timer_check):
 -      Comment out unnecessary call to `any_kboard_state' and
 -      `record_single_kboard_state'.
 -      (delete_kboard): Exit single_kboard mode if we have just deleted
 -      that kboard.  Use FRAME_KBOARD.
 -      (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
 -      `fatal_error_signal'.
 -      (record_single_kboard_state): Don't push_kboard if we weren't in
 -      single kboard state.  Don't pop_kboard if we popped into any
 -      kboard state.
 -      (push_frame_kboard): Rename to push_kboard.
 -      (kbd_buffer_get_event): Use FRAME_TERMINAL.
 -      (read_avail_input): Read input from all terminals.
 -      (mark_kboards): Also mark Vkeyboard_translate_table.
 -      (kbd_buffer_store_event_hold): Simplify condition.
 -      (read_key_sequence): Reinitialize fkey and keytran at each replay.
 -      (Vkeyboard_translate_table): Move to struct kboard.
 -      (init_kboard): Initialize Vkeyboard_translate_table.
 -      (syms_of_keyboard): Use DEFVAR_KBOARD to define
 -      Vkeyboard_translate_table.  Update doc strings.  Update docs of
 -      local-function-key-map and function-key-map.
 -
 -      * terminal.c: New file.
 -
 -      * term.c: Include errno.h.
 -      (Vring_bell_function, device_list, initial_device)
 -      (next_device_id, ring_bell, update_begin, update_end)
 -      (set_terminal_window, cursor_to, raw_cursor_to)
 -      (clear_to_end, clear_frame, clear_end_of_line)
 -      (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
 -      (Fdisplay_name, create_device, delete_device): Move to terminal.c.
 -      (syms_of_term): Move their initialization to terminal.c.
 -      (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
 -      (Ftty_display_color_cells)
 -      (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
 -      (clear_tty_hooks, set_tty_hooks)
 -      (init_tty, maybe_fatal): New functions.
 -      (Ftty_type): Return nil if terminal is not on a tty instead of
 -      throwing an error.  Doc update.
 -      (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
 -      Doc update.  Initialize new subrs and variables.
 -      (delete_tty): Use terminal->deleted.
 -      (tty_set_terminal_modes): Rename from set_terminal_modes.
 -      (tty_reset_terminal_modes): Rename from reset_terminal_modes.
 -      (set_scroll_region): Rename to `tty_set_scroll_region'.
 -      (turn_on_insert): Rename to `tty_turn_on_insert'.
 -      (turn_off_insert): Rename to `tty_turn_off_insert'.
 -      (turn_off_highlight): Rename to `tty_turn_off_highlight'.
 -      (turn_on_highlight): Rename to `tty_turn_on_highlight'.
 -      (toggle_highligh): Rename to `tty_toggle_highlight'.
 -      (background_highlight): Rename to `tty_background_highlight'.
 -      (highlight_if_desired): Rename to `tty_highlight_if_desired'.
 -      (tty_ring_bell, tty_update_end, tty_set_terminal_window)
 -      (tty_set_scroll_region, tty_background_highlight)
 -      (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
 -      (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
 -      (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
 -      (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
 -      Add static modifier.
 -      (tty_reset_terminal_modes, tty_set_terminal_window)
 -      (tty_set_scroll_region, tty_background_highlight)
 -      (tty_highlight_if_desired, tty_cursor_to)
 -      (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
 -      (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
 -      (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
 -      renames.
 -
 -2007-08-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c: Qrtl is new.
 -      (parse_tool_bar_item): Handle :rtl keyword.
 -      (syms_of_keyboard): Intern :rtl keyword.
 -
 -      * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
 -
 -      * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
 -      so no Lisp code is executed.
 -      (file_for_image, find_rtl_image): New functions.
 -      (xg_get_image_for_pixmap): Use file_for_image.
 -      (update_frame_tool_bar): If direction is RTL, use RTL image if
 -      defined.  Use Gtk stock images if defined.
 -
 -2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
 -      for nonexistent or zero-width glyph in composition glyph.
 -
 -2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
 -
 -      * xdisp.c (Finvisible_p): New function.
 -      (syms_of_xdisp): defsubr it.
 -
 -2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
 -      Doc fixes.
 -
 -2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
 -
 -2007-08-24  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
 -      whether decoding has modified buffer contents.
 -
 -2007-08-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
 -      (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
 -      (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
 -      (init_svg_functions) [HAVE_NTGUI]: New function.
 -      (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
 -      (svg_load_image): Use them.
 -      (svg_load_image) [HAVE_NTGUI]: Implement background.
 -
 -2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
 -      (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
 -      (LIBX): Remove @RSVG_LIBS@.
 -      (LIBES): Add $(RSVG_LIBS).
 -
 -      * image.c (svg_load_image): Blend with specified background if exists.
 -      Use IMAGE_BACKGROUND.  Add Mac OS Support.
 -
 -      * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
 -      (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
 -      Remove macros.
 -      [MAC_OSX] (socket_callback): Do nothing.
 -      [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
 -      ReceiveNextEvent.
 -      [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to
 -      socket_callback.
 -      (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
 -
 -2007-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
 -
 -2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
 -
 -      * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
 -
 -      * image.c: Add support for SVG images.  Some additional comments
 -      by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:
 -      (svg_image_p): New function to test for SVG image.
 -      (svg_load): New function to load SVG image.
 -      (svg_load_image): New function, helper for svg_load.
 -      (Qsvg): New Lisp_object.
 -      (svg_keyword_index): New enum.
 -      (svg_format): New static `image_keyword' struct.
 -      (svg_type): New static `image_type' struct.
 -      (librsvg/rsvg.h): Include it.
 -
 -2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
 -
 -2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Qold_style_backquotes): New var.
 -      (syms_of_lread): Init and staticpro it.
 -      (load_warn_old_style_backquotes): New fun.
 -      (Fload): Use them to warn about old style backquotes.
 -      (end_of_file_error, Fload): Remove unused vars.
 -
 -      * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
 -
 -      * lread.c (Vold_style_backquotes): New var.
 -      (syms_of_lread): Init and export it to Elisp.
 -      (read1): Set it when we find an old-style (back)quote.
 -
 -2007-08-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
 -
 -2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1140000.
 -
 -2007-08-19  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
 -
 -2007-08-19  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (pure): Round PURESIZE up.
 -
 -2007-08-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Remove check that mouse click is in
 -      active frame.
 -
 -2007-08-16  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (Fcommandp): Add parens to clarify.
 -
 -      * minibuf.c (Fall_completions): Use enum for type of table.
 -
 -      * emacs.c (USAGE2): Improve text.
 -
 -2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
 -
 -      * term.c (tty_default_color_capabilities): Declare static
 -      variables in file scope, to avoid HPUX compiler problem.
 -
 -2007-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Use -1 as index
 -      to gtk_toolbar_insert.
 -
 -2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
 -
 -      * insdel.c (reset_var_on_error): New fun.
 -      (signal_before_change, signal_after_change):
 -      Use it to reset (after|before)-change-functions to nil in case of error.
 -      Bind inhibit-modification-hooks to t.
 -      Don't bind (after|before)-change-functions to nil while they run.
 -
 -2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
 -      filling pixmap with stippled background.
 -
 -2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
 -      Don't use invisible frame as parent window for repositioning.
 -
 -2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * print.c (new_backquote_output): Rename from old_backquote_output.
 -      (print): Inverse its logic (according to its name) so as to match the
 -      behavior of new_backquote_flag in lread.c.
 -
 -2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gmalloc.c (posix_memalign): New function.
 -
 -      * macterm.c (frame_highlight, frame_unhighlight): Don't call
 -      ActivateControl/DeactivateControl here.
 -      [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
 -      frame-notice-user-settings is non-nil.
 -      [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
 -      for kEventParamFMFontStyle.
 -      [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
 -      mac_pass_command_to_system and mac_pass_control_to_system here.
 -      (XTread_socket): Call ActivateControl/DeactivateControl here.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]:
 -      Check mac_pass_command_to_system and mac_pass_control_to_system here.
 -      (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
 -      for window repositioning.
 -
 -2007-08-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * Replace `iff' in doc-strings and comments.
 -
 -2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_by_lines): Remove incorrect optimization.
 -
 -2007-08-07  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * fileio.c (Finsert_file_contents): Run format-decode and
 -      after_insert_file_functions on entire buffer when REPLACE is
 -      non-nil and inhibit modification_hooks and point_motion_hooks.
 -      For consistency, run after_insert_file_functions iff something
 -      got inserted.  Move signal_after_change and update_compositions
 -      after code running after_insert_file_functions.  Make sure that
 -      undo_list doesn't record intermediate steps of the decoding process.
 -
 -2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main)
 -      [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
 -      Call malloc_enable_thread on interactive startup.
 -
 -      * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
 -      (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
 -      [USE_PTHREAD]: Conditionalize with it.
 -      (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
 -      (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
 -      New functions.
 -
 -2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): When restoring original buffer
 -      position, make sure it is still valid.
 -
 -      * image.c (png_load): Ignore png-supplied background color.
 -
 -2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
 -      Use kCFAbsoluteTimeIntervalSince1970.
 -
 -      * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
 -      New variable.
 -      [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
 -      event loop should be quit.
 -      [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
 -      Quit dialog event loop if quit_dialog_event_loop is set.
 -
 -      * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
 -      (Selection): New typedef.  Use instead of ScrapRef.
 -      (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
 -      (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
 -      (mac_clear_selection): Rename from clear_scrap.
 -      (get_flavor_type_from_symbol): New argument SEL and subsume function of
 -      scrap_has_target_type.  All uses changed.
 -      (mac_get_selection_ownership_info, mac_valid_selection_value_p)
 -      (mac_selection_has_target_p): New functions.
 -      (mac_put_selection_value): Rename from put_scrap_string.
 -      (mac_get_selection_value): Rename from get_scrap_string.
 -      (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
 -      (put_scrap_private_timestamp, scrap_has_target_type)
 -      (get_scrap_private_timestamp): Remove functions.
 -      (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
 -      (x_own_selection, x_get_local_selection):
 -      Use mac_valid_selection_value_p.
 -      (x_own_selection): Don't use put_scrap_private_timestamp.
 -      Record OWNERSHIP-INFO into Vselection_alist instead.
 -      (x_get_local_selection): Don't check type if request is local.
 -      (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
 -      Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
 -
 -2007-08-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
 -      add comment explaining why.
 -
 -2007-08-03  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fvisited_file_modtime): Use make_time.
 -
 -2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
 -
 -      * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
 -      build.
 -
 -2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
 -
 -2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1130000.
 -
 -2007-07-30  Richard Stallman  <rms@gnu.org>
 -
 -      * lread.c (readevalloop, read1): Treat NBSP as whitespace.
 -
 -2007-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
 -
 -2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
 -      remote default-directory.
 -
 -      * buffer.c (mode-line-format): Update doc string.
 -
 -2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
 -      scroll bar gap.
 -      (x_scroll_bar_create): Set bar->fringe_extended_p.
 -      (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
 -      on frame edge.  Check fringe background extension.  Don't clear
 -      extended fringe background area.
 -
 -      * w32term.h (struct scroll_bar): New member fringe_extended_p.
 -      (w32_fill_area): Enclose multiple statements with do ... while (0).
 +      * intervals.c (graft_intervals_into_buffer): Mark var as used.
 +      (interval_deletion_adjustment): Return unsigned value.
 +      All uses changed.
  
 -      * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
 -      Extend fringe background to scroll bar gap.
 -      (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
 -      Set bar->fringe_extended_p.
 -      (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      Put leftmost/rightmost scroll bars on frame edge.  Check fringe
 -      background extension.  Don't clear extended fringe background area.
 +      * process.c (list_processes_1, create_pty, read_process_output):
 +      (exec_sentinel): Remove vars that were set but not used.
 +      (create_pty): Remove unnecessary "volatile"s.
 +      (Fnetwork_interface_info): Avoid possibility of int overflow.
 +      (read_process_output): Do adaptive read buffering even if carryover.
 +      (read_process_output): Simplify nbytes computation if buffered.
  
 -      * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      New member fringe_extended_p.
 +      * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
  
 -2007-07-25  Glenn Morris  <rgm@gnu.org>
 +      * syntax.c (scan_words): Remove var that was set but not used.
 +      (update_syntax_table): Use unsigned instead of int.
  
 -      * Relicense all FSF files to GPLv3 or later.
 +      * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
 +      (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
 +      (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
  
 -      * COPYING: Switch to GPLv3.
 +      * print.c (print_error_message): Avoid int overflow.
  
 -2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * font.c (font_list_entities): Redo for clarity,
 +      so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
  
 -      * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
 +      * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
 +      (font_score): Avoid potential overflow in diff calculation.
  
 -      * data.c (Finteractive_form): Check for the presence of an
 -      `interactive-form' symbol property more thoroughly.
 +      * fns.c (substring_both): Remove var that is set but not used.
 +      (sxhash): Redo loop for clarity and to avoid wraparound warning.
  
 -      * data.c (Finteractive_form): Use an `interactive-form' property if
 -      present, analogous to the function-documentation property.
 +      * eval.c (funcall_lambda): Rename local to avoid shadowing.
  
 -2007-07-24  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
 +      Otherwise, GCC 4.6.0 optimizes the loop check away since the check
 +      can always succeed if overflow has undefined behavior.
  
 -      * w32fns.c (x_real_positions): Get real position from OS instead of
 -      calculating it.
 +      * search.c (boyer_moore, wordify): Remove vars set but not used.
 +      (wordify): Omit three unnecessary tests.
  
 -2007-07-23  Jason Rumney  <jasonr@gnu.org>
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
 +      All callers changed.  This avoids the need for an unused var.
  
 -      * filelock.c (current_lock_owner): Allow for @ sign in username.
 +      * casefiddle.c (casify_region): Remove var that is set but not used.
  
 -2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
 +      * dired.c (file_name_completion): Remove var that is set but not used.
  
 -      * xdisp.c (decode_mode_spec): Add case 'R' for to test for
 -      remote default-directory.
 +      * fileio.c (Finsert_file_contents): Make EOF condition clearer.
  
 -      * buffer.c (mode-line-format): Describe above case in doc string.
 +      * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
 +      (Finsert_file_contents): Remove unnecessary code checking fd.
  
 -2007-07-20  Eli Zaretskii  <eliz@gnu.org>
 +      * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
 +      Check for integer overflow on size calculations.
  
 -      * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
 -      Define if not defined.
 +      * buffer.c (Fprevious_overlay_change): Remove var that is set
 +      but not used.
  
 -2007-07-18  Jason Rumney  <jasonr@gnu.org>
 +      * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
 +      Remove vars that are set but not used.
 +      (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
 +      (timer_check_2): Mark vars as initialized.
  
 -      * w32proc.c (w32_executable_type): Handle 64 bit executables.
 +      * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
  
 -2007-07-18  Richard Stallman  <rms@gnu.org>
 +      * image.c (lookup_image): Remove var that is set but not used.
 +      (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
  
 -      * data.c (Fsetq_default): Doc fix.
 +      * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
 +      that are set but not used.
  
 -      * eval.c (Fsetq): Doc fix.
 +      * xfns.c (make_invisible_cursor): Don't return garbage
 +      if XCreateBitmapFromData fails (Bug#8410).
  
 -2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
 +      * xselect.c (x_get_local_selection, x_handle_property_notify):
 +      Remove vars that are set but not used.
  
 -      * coding.c (Ffind_operation_coding_system):
 -      * eval.c (For, Fand): Doc fixes.
 -      Reported by Johan Bockgård.
 +      * xfns.c (x_create_tip_frame): Remove var that is set but not used.
 +      (make_invisible_cursor): Initialize a possibly-uninitialized variable.
  
 -2007-07-18  Jan Djärv  <jan.h.d@swipnet.se>
 +      * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
 +      Remove var that is set but not used.
 +      (scroll_bar_windows_size): Now size_t, not int.
 +      (x_send_scroll_bar_event): Use size_t, not int, for sizes.
 +      Check for overflow.
  
 -      * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
 +      * xfaces.c (realize_named_face): Remove vars that are set but not used.
 +      (map_tty_color) [!defined MSDOS]: Likewise.
  
 -      * xterm.h: Declare x_ewmh_activate_frame.
 +      * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
  
 -      * xterm.c (x_ewmh_activate_frame): New function.
 -      (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
 +      * coding.c: Remove vars that are set but not used.
 +      (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
 +      All callers changed.
 +      (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
 +      (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
 +      (decode_coding_charset): Remove vars that are set but not used.
  
 -2007-07-17  Martin Rudalics  <rudalics@gmx.at>
 +      * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
 +      that is set but not used.
  
 -      * window.c (Fdisplay_buffer): If largest or LRU window is the
 -      only window, split it even if it is not eligible for splitting.
 -      This restores the original behavior broken by the 2007-07-15
 -      change.
 +      * print.c (print_object): Remove var that is set but not used.
  
 -2007-07-17  Glenn Morris  <rgm@gnu.org>
 +      Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
 +      The gnulib version avoids calling malloc in the usual case,
 +      and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
 +      * fileio.c (Ffile_symlink_p): Use emacs_readlink.
 +      * filelock.c (current_lock_owner): Likewise.
 +      * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
 +      * sysdep.c: Include allocator.h, careadlinkat.h.
 +      (emacs_no_realloc_allocator): New static constant.
 +      (emacs_readlink): New function.
 +      * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
 +      ../lib/careadlinkat.h.
  
 -      * abbrev.c (abbrev_check_chars): New function.
 -      (Fdefine_global_abbrev, Fdefine_mode_abbrev):
 -      Call abbrev_check_chars to check abbrev characters are word
 -      constituents.  Doc fix.
 +2011-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
 +      first non-nil return value).
  
 -      * process.c (Fstart_process, Fmake_network_process)
 -      (read_process_output): Fix up last changes.
 +2011-04-03  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-07-16  Eli Zaretskii  <eliz@gnu.org>
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
 +      if not defined (Bug#8403).
  
 -      * makefile.w32-in (clean): Don't delete *~.
 +2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-07-16  Andreas Schwab  <schwab@suse.de>
 +      * xdisp.c (display_count_lines): Remove parameter `start',
 +      unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
 +      (get_char_face_and_encoding): Remove parameter `multibyte_p',
 +      unused since 2008-05-14T01:40:23Z!handa@m17n.org.  All callers changed.
 +      (fill_stretch_glyph_string): Remove parameters `row' and `area',
 +      unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
 +      and thereabouts.  All callers changed.
 +      (get_per_char_metric): Remove parameter `f', unused since
 +      2008-05-14T01:40:23Z!handa@m17n.org.  All callers changed.
  
 -      * window.c (Fdisplay_buffer): Use NILP.
 -      (Fset_window_scroll_bars): Likewise.
 +2011-04-02  Jim Meyering  <meyering@redhat.com>
  
 -2007-07-15  Martin Rudalics  <rudalics@gmx.at>
 +      do not dereference NULL upon failed strdup
 +      * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
 +      (ns_get_family): Likewise.
 +
 +2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (window_min_size_2): New function.
 -      (window_min_size_1, size_window, Fdisplay_buffer)
 -      (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
 -      windows without mode- or header-lines when window-min-height is
 -      too small.
 -      (size_window): Reset nodelete_p after testing it, following an
 -      earlier note by Kim F. Storm.
 -      (display_buffer): Do not set split_height_threshold to twice the
 -      value of window_min_height to avoid changing the value of a
 -      customizable variable.  Rather explicitly check whether the
 -      height of the window that shall be splitted is at least as large
 -      as split_height_threshold.
 -      (Fwindow_full_width_p): New defun.
 -      (syms_of_window): Defsubr it.
 +      * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
 +
 +2011-04-02  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * window.h: Add EXFUN for Fwindow_full_width_p.
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
 +      later (Bug#8403).
  
 -2007-07-14  Jason Rumney  <jasonr@gnu.org>
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add lexical binding.
  
 -      * process.c [WINDOWSNT]: Don't undefine AF_INET6.
 +      * window.c (Ftemp_output_buffer_show): New fun.
 +      (Fsave_window_excursion):
 +      * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
  
 -2007-07-14  Richard Stallman  <rms@gnu.org>
 +      * lread.c (lisp_file_lexically_bound_p): New function.
 +      (Fload): Bind Qlexical_binding.
 +      (readevalloop): Remove `evalfun' arg.
 +      Bind Qinternal_interpreter_environment.
 +      (Feval_buffer): Bind Qlexical_binding.
 +      (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
 +      Mark as dynamic.
 +      (syms_of_lread): Declare `lexical-binding'.
  
 -      * eval.c (maybe_call_debugger): New function.
 -      (find_handler_clause): Use maybe_call_debugger.
 -      Call it when the handler says `debug'.
 -      Eliminate DEBUGGER_VALUE_PTR.
 -      (Fsignal): Eliminate debugger_value.
 -      (Qdebug): New variable.
 -      (syms_of_eval): Initialize it.
 +      * lisp.h (struct Lisp_Symbol): New field `declared_special'.
  
 -2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
 +      * keyboard.c (eval_dyn): New fun.
 +      (menu_item_eval_property): Use it.
  
 -      * eval.c (Fprogn):
 -      * keyboard.c (Ftrack_mouse):
 -      * print.c (Fwith_output_to_temp_buffer):
 -      * window.c (Fsave_window_excursion): Doc fix.
 +      * image.c (parse_image_spec): Use Ffunctionp.
  
 -2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fns.c (concat, mapcar1): Accept byte-code-functions.
  
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
 +      * eval.c (Fsetq): Handle lexical vars.
 +      (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
 +      (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
 +      (FletX, Flet): Obey lexical binding.
 +      (Fcommandp): Handle closures.
 +      (Feval): New `lexical' arg.
 +      (eval_sub): New function extracted from Feval.  Use it almost
 +      everywhere where Feval was used.  Look up vars in lexical env.
 +      Handle closures.
 +      (Ffunctionp): Move from subr.el.
 +      (Ffuncall): Handle closures.
 +      (apply_lambda): Remove `eval_flags'.
 +      (funcall_lambda): Handle closures and new byte-code-functions.
 +      (Fspecial_variable_p): New function.
 +      (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
 +      but without exporting it to Lisp.
  
 -2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * doc.c (Fdocumentation, store_function_docstring):
 +      * data.c (Finteractive_form): Handle closures.
  
 -      * process.h (struct Lisp_Process): Turn slots infd, outfd,
 -      kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
 -      inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
 -      read_output_delay, and read_output_skip from Lisp_Objects to ints.
 -      Remove unused encoding_carryover.
 -      * process.c: Adjust all functions accordingly.
 +      * callint.c (Fcall_interactively): Preserve lexical-binding mode for
 +      interactive spec.
  
 -2007-07-12  Richard Stallman  <rms@gnu.org>
 +      * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
 +      byte-codes.
 +      (exec_byte_code): New function extracted from Fbyte_code to handle new
 +      calling convention for byte-code-functions.  Add new byte-codes.
  
 -      * term.c: Include unistd.h only if HAVE_UNISTD_H.
 +      * buffer.c (defvar_per_buffer): Set new `declared_special' field.
  
 -2007-07-11  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (Fmake_symbol): Init new `declared_special' field.
  
 -      * makefile.w32-in (LIBS): Include OLE32.
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
 -      (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
 +      * xdisp.c (redisplay_internal): Fix prototype.
  
 -2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-31  Eli Zaretskii  <eliz@gnu.org>
  
 -      * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
 -      * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
 -      from a Lisp_Object into a bare pointer.
 -      (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
 -      Adjust the code correspondingly.
 +      * xdisp.c (SCROLL_LIMIT): New macro.
 +      (try_scrolling): Use it when setting scroll_limit.  Limit
 +      scrolling to 100 screen lines.
 +      (redisplay_window): Even when falling back on "recentering",
 +      position point in the window according to scroll-conservatively,
 +      scroll-margin, and scroll-*-aggressively variables.  (Bug#6671)
  
 -      * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
 +      (try_scrolling): When point is above the window, allow searching
 +      as far as scroll_max, or one screenful, to compute vertical
 +      distance from PT to the scroll margin position.  This prevents
 +      try_scrolling from unnecessarily failing when
 +      scroll-conservatively is set to a value slightly larger than the
 +      window height.  Clean up the case of PT below the margin at bottom
 +      of window: scroll_max can no longer be INT_MAX.  When aggressive
 +      scrolling is in use, don't let point enter the opposite scroll
 +      margin as result of the scroll.
 +      (syms_of_xdisp) <scroll-conservatively>: Document the
 +      threshold of 100 lines for never-recentering scrolling.
  
 -      * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
 -      (term_show_mouse_face): Remove unused var `j'.
 -      (handle_one_term_event): Remove unused vars `i' and `j'.
 -      Don't cast return value of ttyname since it's not necessary.
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * dispextern.h (move_it_by_lines):
 +      * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
 +      since 2000-12-29T14:24:09Z!gerd@gnu.org.  All callers changed.
 +      (message_log_check_duplicate): Remove parameters `prev_bol' and
 +      `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
 +      (redisplay_internal): Remove parameter `preserve_echo_area',
 +      unused since 1999-07-21T21:43:52Z!gerd@gnu.org.  All callers changed.
  
 -      * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
 -      USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
 +      * indent.c (Fvertical_motion):
 +      * window.c (window_scroll_pixel_based, Frecenter):
 +      Don't pass `need_y_p' to `move_it_by_lines'.
  
 -      * fns.c (map_char_table): Use an array of int for `indices' rather than
 -      an array of Lisp_Objects (which are only ever integers anyway).
 -      (Fmap_char_table): Update caller.
 -      * lisp.h: Update prototype.
 -      * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
 -      * fontset.c (Ffontset_info):
 -      * casetab.c (set_case_table): Update callers.
 +2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
 +      * eval.c (struct backtrace): Don't cheat with negative numbers, but do
 +      steal a few bits to be more compact.
 +      (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
 +      Remove unneeded casts.
  
 -      * keymap.c (struct accessible_keymaps_data)
 -      (struct where_is_internal_data): New structures.
 -      (accessible_keymaps_1, where_is_internal_1): Use them to change
 -      interface to adhere to the one used by map_keymap.
 -      (Faccessible_keymaps, where_is_internal): Use map_keymap.
 -      (accessible_keymaps_char_table, where_is_internal_2): Remove.
 +      * bytecode.c (Fbyte_code): CAR and CDR can GC.
  
 -      * keymap.h (map_keymap_function_t): More informative prototype.
 +2011-03-30  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
  
 -2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
 +      * keyboard.c (Fexecute_extended_command): Do log the "suggest key
 +      binding" message (bug#7967).
  
 -      * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
 -      (looking_at_1): Don't change search_regs and last_thing_searched
 -      if `inhibit-changing-match-data' is non-nil.
 -      (string_match_1, search_buffer, set_search_regs): Likewise.
 -      (syms_of_search): Add Lisp level definition for
 -      `inhibit-changing-match-data' and set it to nil.
 -      (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
 -      start and end of the match, instead of using values in search_regs.
 +2011-03-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * minibuf.c (Fcompleting_read): New value `confirm-only'
 -      for `require-match'.
 +      * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
 +      Remove unused local var.
  
 -2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * editfns.c (Fmessage_box): Remove unused local var.
  
 -      * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
 -      part of the 2007-06-27 change to syms_of_fileio.
 +      * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
 +      (note_mode_line_or_margin_highlight, note_mouse_highlight):
 +      Omit unused local vars.
 +      * window.c (shrink_windows): Omit unused local var.
 +      * menu.c (digest_single_submenu): Omit unused local var.
 +      * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
 +      Omit unused local var.
 +
 +      * keyboard.c (parse_modifiers_uncached, parse_modifiers):
 +      Don't assume string length fits in int.
 +      (keyremap_step, read_key_sequence): Use size_t for sizes.
 +      (read_key_sequence): Don't check last_real_key_start redundantly.
  
 -2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
 +      instead of alloca (Bug#8344).
  
 -      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check WINDOWP before using XWINDOW.  Consolidate return statements.
 +      * eval.c (Fbacktrace): Don't assume nargs fits in int.
 +      (Fbacktrace_frame): Don't assume nframes fits in int.
  
 -2007-06-27  Richard Stallman  <rms@gnu.org>
 +      * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
  
 -      * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
 +      * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
 +      concerns.
  
 -2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
 +      * term.c (produce_glyphless_glyph): Remove unnecessary test.
  
 -      * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
 +      * cm.c (calccost): Turn while-do into do-while, for clarity.
  
 -2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * keyboard.c (syms_of_keyboard): Use the same style as later
 +      in this function when indexing through an array.  This also
 +      works around GCC bug 48267.
  
 -      * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
 -      (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
 -      (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
 -      (_free_internal, memalign): Use them.
 -      (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
 -      Initialize to PTHREAD_MUTEX_INITIALIZER.
 -      (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
 -      (morecore_nolock): Rename from morecore.  All uses changed.
 -      Use only nolock versions of internal allocation functions.
 -      (_malloc_internal_nolock, _realloc_internal_nolock)
 -      (_free_internal_nolock): New functions created from
 -      _malloc_internal, _realloc_internal, and _free_internal.
 -      (_malloc_internal, _realloc_internal, _free_internal): Use them.
 -      Copy hook value to automatic variable before its use.
 -      (memalign): Copy hook value to automatic variable before its use.
 +      * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
  
 -2007-06-26  Kenichi Handa  <handa@m17n.org>
 +      * xselect.c (x_check_property_data): Return correct size (Bug#8335).
  
 -      * coding.c (Ffind_operation_coding_system): Docstring improved.
 -      (syms_of_coding): Docstring of `file-coding-system-alist' improved.
 +      * chartab.c (sub_char_table_ref_and_range): Redo for slight
 +      efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +      * keyboard.c, keyboard.h (num_input_events): Now size_t.
 +      This avoids undefined behavior on integer overflow, and is a bit
 +      more convenient anyway since it is compared to a size_t variable.
  
 -      * keymap.c (Fcurrent_active_maps): Add `position' argument.
 -      (Fwhere_is_internal): Adjust call to `current-active-maps' to
 -      cater for additional parameter.
 +      Variadic C functions now count arguments with size_t, not int.
 +      This avoids an unnecessary limitation on 64-bit machines, which
 +      caused (substring ...) to crash on large vectors (Bug#8344).
 +      * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
 +      (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
 +      All variadic functions and their callers changed accordingly.
 +      (struct gcpro.nvars): Now size_t, not int.  All uses changed.
 +      * data.c (arith_driver, float_arith_driver): Likewise.
 +      * editfns.c (general_insert_function): Likewise.
 +      * eval.c (struct backtrace.nargs, interactive_p)
 +      (internal_condition_case_n, run_hook_with_args, apply_lambda)
 +      (funcall_lambda, mark_backtrace): Likewise.
 +      * fns.c (concat): Likewise.
 +      * frame.c (x_set_frame_parameters): Likewise.
 +      * fns.c (get_key_arg): Now accepts and returns size_t, and returns
 +      0 if not found, not -1.  All callers changed.
  
 -      * keymap.h: Adjust number of parameters to `current-active-maps'.
 +      * alloc.c (garbage_collect): Don't assume stack size fits in int.
 +      (stack_copy_size): Now size_t, not int.
 +      (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
  
 -      * doc.c (Fsubstitute_command_keys): Adjust call of
 -      `current-active-maps'.
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +      * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
 +      unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
 +      All callers changed.
  
 -      * callint.c (Fcall_interactively): Make the parsing of interactive
 -      specs somewhat more readable.
 +      * lisp.h (multibyte_char_to_unibyte):
 +      * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
 +      unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
 +      * character.h (CHAR_TO_BYTE8):
 +      * cmds.c (internal_self_insert):
 +      * editfns.c (general_insert_function):
 +      * keymap.c (push_key_description):
 +      * search.c (Freplace_match):
 +      * xdisp.c (message_dolog, set_message_1): All callers changed.
  
 -2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
 -      to scroll bar gap also when bitmap fills fringe.  Draw only foreground
 -      if extended background has already been filled.
 +      * keyboard.c (safe_run_hook_funcall): New function.
 +      (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
 +      don't set the hook to nil, but remove the offending function instead.
 +      (Qcommand_hook_internal): Remove, unused.
 +      (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
 +      Vcommand_hook_internal.
  
 -2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * eval.c (enum run_hooks_condition): Remove.
 +      (funcall_nil, funcall_not): New functions.
 +      (run_hook_with_args): Call each function through a `funcall' argument.
 +      Remove `cond' argument, now redundant.
 +      (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
 +      (Frun_hook_with_args_until_failure): Adjust accordingly.
 +      (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
  
 -      * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
 -      (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
 -      Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
 -      in #if 0 as it is not compatible with y-or-n-p-with-timeout.
 -      (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
 -      [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
 -      instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.
 -      (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
 -      [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
 -      Run timers during dialog popup.
 -      (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
 +      * dispextern.h (string_buffer_position): Remove declaration.
  
 -2007-06-21  Jason Rumney  <jasonr@gnu.org>
 +      * print.c (strout): Remove parameter `multibyte', unused since
 +      1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.
  
 -      * image.c (convert_mono_to_color_image): Swap fore and background.
 +      * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
 +      never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
 +      All callers changed.
  
 -2007-06-20  Jason Rumney  <jasonr@gnu.org>
 +      * w32.c (_wsa_errlist): Use braces for struct initializers.
  
 -      * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
 -      (w32_free_bdf_font): Unmap memory not handle.
 +      * xdisp.c (string_buffer_position_lim): Remove parameter `w',
 +      never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
 +      All callers changed.
 +      (string_buffer_position): Likewise.  Also, make static (it's never
 +      used outside xdisp.c).
 +      (cursor_row_p): Remove parameter `w', unused since
 +      2000-10-17T16:08:57Z!gerd@gnu.org.  All callers changed.
 +      (decode_mode_spec): Remove parameter `precision', introduced during
 +      Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
 +      All callers changed.
  
 -2007-06-20  Sam Steingold  <sds@gnu.org>
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * gmalloc.c (__morecore): Fix the declaration to comply with the
 -      definition.
 +      * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
  
 -2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-27  Anders Lindgren  <andlind@gmail.com>
  
 -      * w32term.c (w32_delete_display): Remove leftover declaration.
 -      (w32_define_cursor, w32_initialize): Make static.
 +      * nsterm.m (ns_menu_bar_is_hidden): New variable.
 +      (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
 +      (ns_update_auto_hide_menu_bar): New functions.
 +      (ns_update_begin): Call ns_update_auto_hide_menu_bar.
 +      (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
 +      ns_constrain_all_frames.
 +      (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
 +      (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
  
 -      * w32.c (_wsa_errlist): Fix typo in error message.
 -      (init_environment): Ignore any environment variable from the
 -      registry having a null value.
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-06-20  Glenn Morris  <rgm@gnu.org>
 +      * nsmenu.m (runDialogAt): Remove argument to timer_check.
  
 -      * Makefile.in (LIBGIF): Default to -lgif.
 +2011-03-27  Glenn Morris  <rgm@gnu.org>
  
 -2007-06-17  Jason Rumney  <jasonr@gnu.org>
 +      * syssignal.h: Replace RETSIGTYPE with void.
 +      * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
 +      * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
 +      Replace SIGTYPE with void everywhere.
 +      * s/usg5-4-common.h (SIGTYPE): Remove definition.
 +      * s/template.h (SIGTYPE): Remove commented out definition.
  
 -      * w32menu.c (add_menu_item): Don't use multibyte string functions on
 -      unicode strings.
 +2011-03-26  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
 +      * xdisp.c (redisplay_window): Don't check buffer's clip_changed
 +      flag as a prerequisite for invoking try_scrolling.  (Bug#6671)
  
 -      * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
 -      Fix typo in docstring.
 +2011-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-16  Eli Zaretskii  <eliz@gnu.org>
 +      * w32.c (read_unc_volume): Use parameter `henum', instead of
 +      global variable `wget_enum_handle'.
  
 -      * w32menu.c (add_menu_item): Escape `&' characters in menu items
 -      and their keybindings.
 +      * keymap.c (describe_vector): Remove parameters `indices' and
 +      `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
 +      (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
  
 -2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
 +      * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
  
 -      * composite.c (update_compositions): Fix last fix.
 +      * keyboard.c (timer_check): Remove parameter `do_it_now',
 +      unused since 1996-04-12T06:01:29Z!rms@gnu.org.
 +      (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
 +      unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
  
 -2007-06-14  Jason Rumney  <jasonr@gnu.org>
 +      * keyboard.c (read_char):
 +      * w32menu.c (w32_menu_display_help):
 +      * xmenu.c (show_help_event, menu_help_callback):
 +      Adjust calls to `show_help_echo'.
  
 -      * w32.c (get_process_times_fn): New function pointer.
 -      (globals_of_w32): Intialize it if present in kernel32.dll.
 -      (w32_get_internal_run_time): New function.
 +      * gtkutil.c (xg_maybe_add_timer):
 +      * keyboard.c (readable_events):
 +      * process.c (wait_reading_process_output):
 +      * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
  
 -      * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
 +      * insdel.c (adjust_markers_gap_motion):
 +      Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
 +      (gap_left, gap_right): Don't call it.
  
 -2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
 +2011-03-25  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * composite.c (update_compositions): Check the validness of
 -      compositions.
 +      * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
 +      incurred during fontification.
  
 -2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
 -      (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
 +      * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
 +      (DEFVAR_PER_BUFFER): Don't pass it.
  
 -      * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
 -      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
 +      * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
 +      (scrolling_window): Don't pass it.
  
 -      * macgui.h (USE_MAC_TOOLBAR): New define.
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 -      Return immediately unless popup is activated.
 +      * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
  
 -      * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
 -      background to scroll bar gap.
 -      (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
 -      (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
 -      scroll bars on frame edge.  Check fringe background extension.
 -      Don't clear extended fringe background area.
 -      (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
 -      (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
 -      (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
 -      [USE_MAC_TOOLBAR]: New macros.
 -      (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
 -      (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
 -      (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
 -      (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
 -      [USE_MAC_TOOLBAR]: New functions.
 -      (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
 -      manually if previous repositioning has failed.
 -      (mac_handle_keyboard_event): Use precomputed event kind.
 -      (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
 -      as tool bar item click.  Handle mouse movement over tool bar items.
 +      * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
 +      and `suffix'.
 +      (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
 +      of variables specific to SELinux and computation of `encoded_absname'.
  
 -      * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
 -      toolbar_win_gravity.
 -      (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
 -      (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
 -      Add externs.
 +      * image.c (XPutPixel): Remove unused variable `height'.
  
 -      * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
 -      [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
 +      * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
  
 -2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * unexw32.c (get_section_info): Remove unused variable `section'.
  
 -      * image.c (search_image_cache): Remove unused variable.
 +      * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
 +      (system_process_attributes): Remove unused variable `sess'.
 +      (sys_read): Remove unused variable `err'.
  
 -2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
 +      (w32_wnd_proc): Remove unused variable `isdead'.
 +      (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
 +      (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
 +      (x_create_tip_frame): Remove unused variable `tem'.
  
 -      * xfns.c, xmenu.c: Link to xaw3d if available.
 +      * w32inevt.c (w32_console_read_socket):
 +      Remove unused variable `no_events'.
  
 -2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * w32term.c (x_draw_composite_glyph_string_foreground):
 +      Remove unused variable `width'.
  
 -      * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
 -      frame_foreground and frame_background.
 +2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * image.c (lookup_image): Save frame foreground and background colors.
 -      (search_image_cache): Check if saved and current frame colors match.
 +      * w32term.c (x_set_glyph_string_clipping):
 +      Don't pass uninitialized region to CombineRgn.
  
 -2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * regex.c (regex_compile): Remove the `regnum' counter.
 -      Use bufp->re_nsub instead.  Add support for \(?N:RE\).
 +      * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
 +      (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
 +      (Fx_close_connection): Remove unused variable `i'.
  
 -2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * w32font.c (w32font_draw): Return number of glyphs.
 +      (w32font_open_internal): Remove unused variable `i'.
 +      (w32font_driver): Add missing initializer.
  
 -      * term.c: Include intervals.h to declare Fget_text_property.
 +      * w32menu.c (utf8to16): Remove unused variable `utf16'.
 +      (fill_in_menu): Remove unused variable `items_added'.
  
 -2007-06-10  Jason Rumney  <jasonr@gnu.org>
 +      * w32term.c (last_mouse_press_frame): Remove static global variable.
 +      (w32_clip_to_row): Remove unused variable `f'.
 +      (x_delete_terminal): Remove unused variable `i'.
  
 -      * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
 +      * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
 +      (NOTHING): Remove unused static global variable.
 +      (uniscribe_check_otf): Remove unused variable `table'.
 +      (uniscribe_font_driver): Add missing initializers.
  
 -2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-23  Julien Danjou  <julien@danjou.info>
  
 +      * term.c (Fsuspend_tty, Fresume_tty):
 +      * minibuf.c (read_minibuf, run_exit_minibuf_hook):
 +      * window.c (temp_output_buffer_show):
 +      * insdel.c (signal_before_change):
 +      * frame.c (Fhandle_switch_frame):
 +      * fileio.c (Fdo_auto_save):
 +      * emacs.c (Fkill_emacs):
 +      * editfns.c (save_excursion_restore):
 +      * cmds.c (internal_self_insert):
        * callint.c (Fcall_interactively):
 -      * editfns.c (Fdelete_and_extract_region):
 -      * fileio.c (Fread_file_name):
 -      * fns.c (Fmapconcat):
 -      * keyboard.c (cmd_error_internal):
 -      * keymap.c (Fkey_description):
 -      * lread.c (openp):
 -      * minibuf.c (read_minibuf):
 -      * search.c (wordify):
 -      * sunfns.c (sel_read):
 -      * xdisp.c (Fformat_mode_line, syms_of_xdisp):
 -      * xfns.c (x_default_scroll_bar_color_parameter):
 -      * xmenu.c (menu_help_callback):
 -      * xselect.c (Fx_get_atom_name):
 -      * xterm.c (x_term_init): Use empty_unibyte_string.
 -
 -2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
 -
 -      * alloc.c (init_strings): Initialize canonical empty strings.
 -      (make_uninit_string, make_uninit_multibyte_string): Return appropriate
 -      canonical empty string when the requested size is 0.
 -
 -      * emacs.c (empty_unibyte_string): Rename from empty_string.
 -      (empty_multibyte_string): New canonical empty string.
 -      (syms_of_emacs): Don't initialize empty_string.
 -
 -      * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
 -      string, if appropriate.
 -      (empty_unibyte_string, empty_multibyte_string): New externs.
 -      (empty_string): Remove extern.
 -
 -      * lread.c (syms_of_lread): Use empty_unibyte_string.
 -
 -2007-06-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.h: Don't define HAVE_TZNAME.
 -
 -      * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
 -
 -2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
 -
 -      * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
 -      (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
 -
 -      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 -      Don't call next handler.
 -      [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
 -      Remove argument.  Install handler to application.
 -      (set_frame_menubar): Don't change deep_p.
 -      (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
 -      FRAME_OUTER_TO_INNER_DIFF_Y.
 -      (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
 -      (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
 -      [HAVE_DIALOGS]: New macros.
 -      [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
 -      Use them.
 -      (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
 -
 -      * macselect.c [MAC_OSX] (install_service_handler): Rename from
 -      init_service_handler.  All callers changed.  Return OSStatus value.
 -
 -      * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.
 -      All callers changed so as not to call SetPortWindowPort.
 -      (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
 -      (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
 -      mac_draw_string_common.
 -      (mac_draw_image_string_qd): Likewise.
 -      (mac_draw_string_common): Use them.  Add INLINE.
 -      (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
 -      Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
 -      GetGlobalMouse.
 -      (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
 -      and FRAME_OUTER_TO_INNER_DIFF_Y.
 -      [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
 -      [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
 -      (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
 -      repositioning window to mac_handle_window_event.
 -      (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
 -      saving window location to mac_handle_window_event
 -      [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
 -      (install_menu_target_item_handler): Remove argument in extern.
 -      [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
 -      Also accept command events.
 -      (do_keystroke): New function created from XTread_socket.
 -      (init_command_handler): Remove functions.
 -      [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
 -      and save window location by kEventWindowShowing and kEventWindowHiding
 -      handlers here.  Don't call next handler for window state change and
 -      focus events.
 -      (mac_handle_application_event, mac_handle_keyboard_event)
 -      [TARGET_API_MAC_CARBON]: New functions.
 -      (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
 -      kEventWindowShowing and kEventWindowHiding events.  Move installation
 -      of mouse, font, text input and menu target item handlers to
 -      install_application_handler.
 -      (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
 -      (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      New function.
 -      (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Register it.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]:
 -      Consolidate SendEventToEventTarget calls.
 -      Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
 -      Move application activation handler to mac_handle_application_event.
 -      Move keyboard handler to mac_handle_keyboard_event.
 -      (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
 -      (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
 -      init_command_handler.  Call install_application_handler.
 -
 -      * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
 -      (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
 -
 -2007-06-07  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main): Use `emacs-copyright' in --version output.
 -
 -2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
 -
 -2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (mac_window): Replace WindowPtr with WindowRef.
 -
 -      * macgui.h: Replace WindowPtr with WindowRef.
 -
 -      * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
 -      GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
 -      Replace ControlHandle with ControlRef.
 -      (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
 -
 -      * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
 -      GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
 -      Replace ControlHandle with ControlRef.
 -      (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.
 -      [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
 -
 -      * macterm.h (struct scroll_bar): Rename member control_handle_low
 -      and control_handle_high to control_ref_low and control_ref_high.
 -      All uses changed.
 -      (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
 -      SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
 -      respectively.  All uses changed.
 -      (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
 -      (install_window_handler, remove_window_handler): Replace WindowPtr
 -      with WindowRef in externs.
 -
 -2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
 -
 -2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
 -
 -      * frame.c (Fmouse_position, Fmouse_pixel_position):
 -      Condition on HAVE_GPM too.
 -
 -      * term.c (term_mouse_highlight): Remove unused variables.
 -      (Fterm_open_connection): Set gpm_zerobased to 1.
 -      (term_mouse_movement, term_mouse_click, handle_one_term_event):
 -      Use zero based co-ordinates.
 -      (handle_one_term_event): Report a drag as mouse movement too.
 -
 -      * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
 -
 -2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (search_image_cache): New function.  Require background
 -      color match if background color is unspecified in the image spec.
 -      (uncache_image, lookup_image): Use it.
 -
 -2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fshrink_window): Reflow docstring.
 -
 -2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 22.1 released.
 -
 -2007-06-01  Richard Stallman  <rms@gnu.org>
 -
 -      * xfns.c (x_encode_text): Add GCPRO.
 -
 -2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (x_set_name_internal): Save encoded name before
 -      x_encode_text in case string data is relocated.
 -
 -2007-05-31  Richard Stallman  <rms@gnu.org>
 -
 -      * buffer.c (syms_of_buffer): Doc fix.
 -
 -2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * sysdep.c (init_sys_modes): Add rather than replace with
 -      O_NONBLOCK.
 -
 -      * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
 -      term_mouse_moveto.
 -
 -      * termhooks.h (term_mouse_moveto): New extern.
 -
 -      * term.c (mouse_face_window): Rename...
 -      (Qmouse_face_window): ...to this.
 -      (term_show_mouse_face, term_clear_mouse_face)
 -      (term_mouse_highlight): Use Qmouse_face_window.
 -      (term_mouse_moveto): New function.
 -      (term_mouse_position): Make it work.
 -      (syms_of_term): Uncomment assignment to mouse_position_hook.
 -      Staticpro Qmouse_face_window.
 -
 -2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
 -      around current_column call.
 -
 -2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xfaces.c (syms_of_xfaces): Delete stray semicolon.
 -      * xdisp.c (next_element_from_buffer):
 -      * window.c (delete_window):
 -      * term.c (term_mouse_highlight):
 -      * msdos.c (getdefdir):
 -      * macterm.c (mac_create_bitmap_from_bitmap_data)
 -      (init_font_name_table):
 -      * fns.c (Fsxhash):
 -      * data.c (Fmake_local_variable):
 -      * ccl.c (ccl_driver): Likewise.
 -
 -2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
 -      Call mac_wakeup_from_rne on window size change.
 -
 -2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (uncache_image): Fix typo.
 +      * buffer.c (Fkill_all_local_variables):
 +      * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
 +      Use Frun_hooks.
 +      (command_loop_1): Use Frun_hooks.  Call safe_run_hooks
 +      unconditionnaly since it does the check itself.
 +
 +2011-03-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix more problems found by GCC 4.5.2's static checks.
 +
 +      * coding.c (encode_coding_raw_text): Avoid unnecessary test
 +      the first time through the loop, since we know p0 < p1 then.
 +      This also avoids a gcc -Wstrict-overflow warning.
 +
 +      * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
 +      leading to a memory leak, possible in functions like
 +      load_charset_map_from_file that can allocate an unbounded number
 +      of objects (Bug#8318).
 +
 +      * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
 +      that could (at least in theory) be that large.
 +
 +      * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
 +      This is less likely to overflow, and avoids undefined behavior if
 +      overflow does occur.  All callers changed.  Use strtoul to scan
 +      for the unsigned long integer.
 +      (pint2hrstr): Simplify and tune code slightly.
 +      This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
 +
 +      * scroll.c (do_scrolling): Work around GCC bug 48228.
 +      See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
 +
 +      * frame.c (Fmodify_frame_parameters): Simplify loop counter.
 +      This also avoids a warning with gcc -Wstrict-overflow.
 +      (validate_x_resource_name): Simplify count usage.
 +      This also avoids a warning with gcc -Wstrict-overflow.
 +
 +      * fileio.c (Fcopy_file): Report error if fchown or fchmod
 +      fail (Bug#8306).
 +
 +      * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
 +
 +      * process.c (Fmake_network_process): Use socklen_t, not int,
 +      where POSIX says socklen_t is required in portable programs.
 +      This fixes a porting bug on hosts like 64-bit HP-UX, where
 +      socklen_t is wider than int (Bug#8277).
 +      (Fmake_network_process, server_accept_connection):
 +      (wait_reading_process_output, read_process_output):
 +      Likewise.
  
 -2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
 +      * process.c: Rename or move locals to avoid shadowing.
 +      (list_processes_1, Fmake_network_process):
 +      (read_process_output_error_handler, exec_sentinel_error_handler):
 +      Rename or move locals.
 +      (Fmake_network_process): Define label "retry_connect" only if needed.
 +      (Fnetwork_interface_info): Fix pointer signedness.
 +      (process_send_signal): Add cast to avoid pointer signedness problem.
 +      (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
 +      (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
  
 -      * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
 +      Make tparam.h and terminfo.c consistent.
 +      * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
 +      Include tparam.h instead, since it declares them.
 +      * cm.h (PC): Remove extern decl; tparam.h now does this.
 +      * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
 +      * terminfo.c: Include tparam.h, to check interfaces.
 +      (tparm): Make 1st arg a const pointer in decl.  Put it at top level.
 +      (tparam): Adjust signature to match interface in tparam.h;
 +      this removes some undefined behavior.  Check that outstring and len
 +      are zero, which they always are with Emacs.
 +      * tparam.h (PC, BC, UP): New extern decls.
  
 -2007-05-22  Richard Stallman  <rms@gnu.org>
 +      * xftfont.c (xftfont_shape): Now static, and defined only if needed.
 +      (xftfont_open): Rename locals to avoid shadowing.
  
 -      * xterm.c (x_connection_closed): Remove NO_RETURN.
 +      * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
 +      (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
 +      (OTF_TAG_SYM): Omit macro if not needed.
 +      (ftfont_list): Remove unused local.
 +      (get_adstyle_property, ftfont_pattern_entity):
 +      (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
 +      Rename locals to avoid shadowing.
  
 -2007-05-22  Martin Rudalics  <rudalics@gmx.at>
 +      * xfont.c (xfont_list_family): Mark var as initialized.
  
 -      * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
 +      * xml.c (make_dom): Now static.
  
 -2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * composite.c (composition_compute_stop_pos): Rename local to
 +      avoid shadowing.
 +      (composition_reseat_it): Remove unused locals.
 +      (find_automatic_composition, composition_adjust_point): Likewise.
 +      (composition_update_it): Mark var as initialized.
 +      (find_automatic_composition): Mark vars as initialized,
 +      with a FIXME (Bug#8290).
  
 -      * image.c (uncache_image): New function.
 -      (Fimage_refresh): New function.
 +      character.h: Rename locals to avoid shadowing.
 +      * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
 +      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
 +      (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
 +      (BUF_DEC_POS): Be more systematic about renaming local temporaries
 +      to avoid shadowing.
  
 -2007-05-20  Jan Djärv  <jan.h.d@swipnet.se>
 +      * textprop.c (property_change_between_p): Remove; unused.
  
 -      * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
 +      * intervals.c (interval_start_pos): Now static.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +      * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
  
 -      * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
 -      * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
 +      * atimer.c (start_atimer, append_atimer_lists, set_alarm):
 +      Rename locals to avoid shadowing.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +      * sound.c (wav_play, au_play, Fplay_sound_internal):
 +      Fix pointer signedness.
 +      (alsa_choose_format): Remove unused local var.
 +      (wav_play): Initialize a variable to 0, to prevent undefined
 +      behavior (Bug#8278).
  
 -      * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
 -      conditional on [HAVE_GPM_H].
 +      * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
  
 -2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
  
 -      * syntax.c (skip_chars): Update syntax-table only after we checked that
 -      the new location is valid.
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
 +      clobbering (Bug#8298).
 +      * sysdep.c (sys_subshell): Likewise.
 +      Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
  
 -2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
 +      This should get cleaned up, so that child_setup has the
 +      same signature on all platforms.
  
 -      * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
 -      mac_get_window_bounds.
 +      * callproc.c (call_process_cleanup): Now static.
 +      (relocate_fd): Rename locals to avoid shadowing.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * Makefile.in (LIBGPM): Allow it to be set from configure.
 -      If set then link Emacs with it.
 +      * xterm.c (x_clear_frame): Remove XClearWindow call.  This appears
 +      not to be necessary, and produces flickering.
  
 -      * config.in: Regenerate.
 +2011-03-20  Glenn Morris  <rgm@gnu.org>
  
 -      * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
 -      New externs.
 +      * config.in: Remove file.
  
 -      * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
 -      Include gpm.h.
 -      (handle_one_term_event, term_gpm): New externs.
 +2011-03-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
 -      and allow it to be interrupted by SIGIO.
 +      * minibuf.c (Vcompleting_read_function): Don't declare, global variables
 +      are now in src/globals.h.
 +      (syms_of_minibuf): Remove spurious & from previous change.
  
 -      * process.c (gpm_wait_mask, max_gpm_desc): New variables.
 -      (wait_reading_process_output): Wait on gpm_fd too.
 -      (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
 -      (add_gpm_wait_descriptor_called_flag): New variable.
 -      (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
 +2011-03-20  Leo  <sdl.web@gmail.com>
  
 -      * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
 -      (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
 -      (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
 -      Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
 -      (make_lispy_event): Add case GPM_CLICK_EVENT.
 -      (read_avail_input): Handle mouse input.
 +      * minibuf.c (completing-read-function): New variable.
 +      (completing-read-default): Rename from completing-read.
 +      (completing-read): Call completing-read-function.
  
 -      * term.c (write_glyphs_with_face): New function.
 -      [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
 -      (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
 -      (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
 -      (mouse_face_face_id, term_gpm, pos_x, pos_y)
 -      (last_mouse_x, last_mouse_y): New variables.
 -      (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
 -      (term_mouse_highlight, term_mouse_movement, term_mouse_position)
 -      (term_mouse_click, handle_one_term_event, Fterm_open_connection)
 -      (Fterm_close_connection): New functions.
 -      (term_init): Initialise mouse_face_window.
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * xfaces.c (Fx_load_color_file):
 +      Read color file from absolute filename (bug#8250).
  
 -      * xdisp.c (redisplay_window): If first window line is a
 -      continuation line, recompute the new window start instead of
 -      recentering.
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-18  Glenn Morris  <rgm@gnu.org>
 +      * makefile.w32-in: Update dependencies.
  
 -      * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
 -      Suggested by Alfred M. Szmidt <ams@gnu.org>.
 +2011-03-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-05-17  Glenn Morris  <rgm@gnu.org>
 +      * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
  
 -      * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
 +2011-03-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      Fix more problems found by GCC 4.5.2's static checks.
  
 -      * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
 -      dead key repeat and up events.
 +      * process.c (make_serial_process_unwind, send_process_trap):
 +      (sigchld_handler): Now static.
  
 -2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
 +      That way, the code declares only the vars that it needs.
 +      * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
 +      * s/cygwin.h (PTY_ITERATION): Likewise.
 +      * s/darwin.h (PTY_ITERATION): Likewise.
 +      * s/gnu-linux.h (PTY_ITERATION): Likewise.
  
 -      * image.c (pbm_load): Check image size for monochrome pbm.
 +      * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
 +      * process.c (allocate_pty): Don't declare stb unless it's needed.
  
 -2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
 +      (CONSTANTLIM): Remove; unused.
 +      (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
 +      Define only if needed.
  
 -      * xterm.c (XTread_socket): Revert last change.
 +      * unexelf.c (unexec): Name an expression,
 +      to avoid gcc -Wbad-function-cast warning.
 +      Use a different way to cause a compilation error if anyone uses
 +      n rather than nn, a way that does not involve shadowing.
 +      (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
  
 -2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
 +      * deps.mk (unexalpha.o): Remove; unused.
  
 -      * image.c (pbm_load): Correctly check image size for greyscale pbm.
 +      New file unexec.h, the (simple) interface for unexec (Bug#8267).
 +      * unexec.h: New file.
 +      * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
 +      (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
 +      Depend on unexec.h.
 +      * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
 +      * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
 +      * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
 +      Change as necessary to match prototype in unexec.h.
  
 -      * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
 +      * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
 +      shadowing.
 +      (back_comment, skip_chars): Mark vars as initialized.
 +
 +      * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
 +      Rename locals to avoid shadowing.
 +
 +      * lread.c (read1): Rewrite so as not to use empty "else".
 +      (Fload, readevalloop, read1): Rename locals to avoid shadowing.
 +
 +      * print.c (Fredirect_debugging_output): Fix pointer signedess.
 +
 +      * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
 +      warning when compiling print.c.
 +
 +      * font.c (font_unparse_fcname): Abort in an "impossible" situation
 +      instead of using an uninitialized var.
 +      (font_sort_entities): Mark var as initialized.
 +
 +      * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
 +
 +      * font.c (font_unparse_xlfd): Don't mix pointers to variables with
 +      pointers to constants.
 +      (font_parse_fcname): Remove unused vars.
 +      (font_delete_unmatched): Now static.
 +      (font_get_spec): Remove; unused.
 +      (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
 +      (font_update_drivers, Ffont_get_glyphs, font_add_log):
 +      Rename or move locals to avoid shadowing.
 +
 +      * fns.c (require_nesting_list, require_unwind): Now static.
 +      (Ffillarray): Rename locals to avoid shadowing.
 +
 +      * floatfns.c (domain_error2): Define only if needed.
 +      (Ffrexp, Fldexp): Rename locals to avoid shadowing.
 +
 +      * alloc.c (mark_backtrace): Move decl from here ...
 +      * lisp.h: ... to here, so that it can be checked.
 +
 +      * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
 +      (Fdefvar): Rewrite so as not to use empty "else".
 +      (lisp_indirect_variable): Name an expression,
 +      to avoid gcc -Wbad-function-cast warning.
 +      (Fdefvar): Rename locals to avoid shadowing.
 +
 +      * callint.c (quotify_arg, quotify_args): Now static.
 +      (Fcall_interactively): Rename locals to avoid shadowing.
 +      Use const pointer when appropriate.
 +
 +      * lisp.h (get_system_name, get_operating_system_release):
 +      Move decls here, to check interfaces.
 +      * process.c (get_operating_system_release): Move decl to lisp.h.
 +      * xrdb.c (get_system_name): Likewise.
 +      * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
 +      (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
 +      some of which prompt warnings from gcc -Wbad-function-cast.
 +      (Fformat_time_string, Fencode_time, Finsert_char):
 +      (Ftranslate_region_internal, Fformat):
 +      Rename or remove local vars to avoid shadowing.
 +      (Ftranslate_region_internal): Mark var as initialized.
 +
 +      * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
 +      avoid shadowing.
 +
 +      * lisp.h (eassert): Check that the argument compiles, even if
 +      ENABLE_CHECKING is not defined.
 +
 +      * data.c (Findirect_variable): Name an expression, to avoid
 +      gcc -Wbad-function-cast warning.
 +      (default_value, arithcompare, arith_driver, arith_error): Now static.
 +      (store_symval_forwarding): Rename local to avoid shadowing.
 +      (Fmake_variable_buffer_local, Fmake_local_variable):
 +      Mark variables as initialized.
 +      (do_blv_forwarding, do_symval_forwarding): Remove; unused.
 +
 +      * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
 +      (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
 +      Rename locals to avoid shadowing.
 +      (mark_stack): Move local variables into the #ifdef region where
 +      they're used.
 +      (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
 +      ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
 +      needed otherwise.
 +      (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
 +      (GC_STRING_CHARS): Remove; not used.
 +      (Fmemory_limit): Cast sbrk's returned value to char *.
 +
 +      * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
 +      avoids undefined behavior in theory.
 +
 +      * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
 +
 +      Use functions, not macros, for up- and down-casing (Bug#8254).
 +      * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
 +      (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove.  All callers changed
 +      to use the following functions instead of these macros.
 +      (downcase): Adjust to lack of DOWNCASE_TABLE.  Return int, not
 +      EMACS_INT, since callers assume the returned value fits in int.
 +      (upcase1): Likewise, for UPCASE_TABLE.
 +      (uppercasep, lowercasep, upcase): New static inline functions.
 +      * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
 +      the race-condition problem in the old DOWNCASE.
 +
 +      * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
 +      Rename locals to avoid shadowing.
 +      (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
 +      (regex_compile, re_search_2, re_match_2_internal):
 +      Remove unused local vars.
 +      (FREE_VAR): Rewrite so as not to use empty "else",
 +      which gcc can warn about.
 +      (regex_compile, re_match_2_internal): Mark locals as initialized.
 +      (RETALLOC_IF): Define only if needed.
 +      (WORDCHAR_P): Likewise.  This one is never needed, but is used
 +      only in a comment talking about a compiler bug, so put inside
 +      the #if 0 of that comment.
 +      (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
 +      (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
 +      Remove; unused.
 +
 +      * search.c (boyer_moore): Rename locals to avoid shadowing.
 +      * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
 +      (PREV_CHAR_BOUNDARY): Likewise.
 +
 +      * search.c (simple_search): Remove unused var.
 +
 +      * dired.c (compile_pattern): Move decl from here ...
 +      * lisp.h: ... to here, so that it can be checked.
 +      (struct re_registers): New forward decl.
 +
 +      * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
 +
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
 +      All uses changed.
 +      (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
 +      Rename locals to avoid shadowing.
 +      (Fvertical_motion): Mark locals as initialized.
 +
 +      * casefiddle.c (casify_object, casify_region): Now static.
 +      (casify_region): Mark local as initialized.
 +
 +      * cmds.c (internal_self_insert): Rename local to avoid shadowing.
 +
 +      * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
 +      New macros, so that the caller can use some names other than
 +      gcpro1, gcpro2, etc.
 +      (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
 +      of the new macros.
 +      (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
 +      argument, for consistency with GCPRO2_VAR, etc: it is now the
 +      prefix of the variable, not the variable itself.  All uses
 +      changed.
 +      * dired.c (directory_files_internal, file_name_completion):
 +      Rename locals to avoid shadowing.
 +
 +      Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
 +      An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
 +      dired.c's scmp function, had undefined behavior.
 +      * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
 +      (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
 +      * buffer.h: ... to here, because these macros use current_buffer,
 +      and the new implementation with inline functions needs to have
 +      current_buffer in scope now, rather than later when the macros
 +      are used.
 +      (downcase, upcase1): New static inline functions.
 +      (DOWNCASE, UPCASE1): Reimplement using these functions.
 +      This avoids undefined behavior in expressions like
 +      DOWNCASE (x) == DOWNCASE (y), which previously suffered
 +      from race conditions in accessing the global variables
 +      case_temp1 and case_temp2.
 +      * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
 +      * lisp.h (case_temp1, case_temp2): Remove their decls.
 +      * character.h (ASCII_CHAR_P): Move from here ...
 +      * lisp.h: ... to here, so that the inline functions mentioned
 +      above can use them.
 +
 +      * dired.c (directory_files_internal_unwind): Now static.
 +
 +      * fileio.c (file_name_as_directory, directory_file_name):
 +      (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
 +      Now static.
 +      (file_name_as_directory): Use const pointers when appropriate.
 +      (Fexpand_file_name): Likewise.  In particular, newdir might
 +      point at constant storage, so make it a const pointer.
 +      (Fmake_directory_internal, Fread_file_name): Remove unused vars.
 +      (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
 +      signedness issues.
 +      (Fset_file_times, Finsert_file_contents, auto_save_error):
 +      Rename locals to avoid shadowing.
 +
 +      * minibuf.c (choose_minibuf_frame_1): Now static.
 +      (Ftry_completion, Fall_completions): Rename or remove locals
 +      to avoid shadowing.
 +
 +      * marker.c (bytepos_to_charpos): Remove; unused.
 +
 +      * lisp.h (verify_bytepos, count_markers): New decls,
 +      so that gcc does not warn that these functions aren't declared.
 +
 +      * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
 +      (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
 +      (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
 +      (copy_text): Remove unused local var.
 +
 +      * filelock.c (within_one_second): Now static.
 +      (lock_file_1): Rename local to avoid shadowing.
 +
 +      * buffer.c (fix_overlays_before): Mark locals as initialized.
 +      (fix_start_end_in_overlays): Likewise.  This function should be
 +      simplified by using pointers-to-pointers, but that's a different
 +      matter.
 +      (switch_to_buffer_1): Now static.
 +      (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
 +      (report_overlay_modification): Rename locals to avoid shadowing.
 +
 +      * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
 +      Fix pointer signedness issue.
 +      (sys_subshell): Mark local as volatile if checking for lint,
 +      to suppress a gcc -Wclobbered warning that does not seem to be right.
 +      (MAXPATHLEN): Define only if needed.
 +
 +      * process.c (serial_open, serial_configure): Move decls from here ...
 +      * systty.h: ... to here, so that they can be checked.
 +
 +      * fns.c (get_random, seed_random): Move extern decls from here ...
 +      * lisp.h: ... to here, so that they can be checked.
 +
 +      * sysdep.c (reset_io): Now static.
 +      (wait_for_termination_signal): Remove; unused.
 +
 +      * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
 +      (copy_keymap_item, append_key, push_text_char_description):
 +      Now static.
 +      (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
 +      (DENSE_TABLE_SIZE): Remove; unused.
 +      (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
 +      (describe_map_tree):
 +      Rename locals to avoid shadowing.
 +
 +      * keyboard.c: Declare functions static if they are not used elsewhere.
 +      (echo_char, echo_dash, cmd_error, top_level_2):
 +      (poll_for_input, handle_async_input): Now static.
 +      (read_char, kbd_buffer_get_event, make_lispy_position):
 +      (make_lispy_event, make_lispy_movement, apply_modifiers):
 +      (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
 +      (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
 +      (Fread_key_sequence_vector): Rename locals to avoid shadowing.
 +      (read_key_sequence, read_char): Mark locals as initialized.
 +      (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
 +
 +      * keyboard.h (make_ctrl_char): New decl.
 +      (mark_kboards): Move decl here ...
 +      * alloc.c (mark_kboards): ... from here.
 +
 +      * lisp.h (force_auto_save_soon): New decl.
 +
 +      * emacs.c (init_cmdargs): Rename local to avoid shadowing.
 +      (DEFINE_DUMMY_FUNCTION): New macro.
 +      (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
 +      Use it.
 +      (main): Add casts to avoid warnings
 +      if GCC considers string literals to be constants.
 +
 +      * lisp.h (fatal_error_signal): Add decl, since it's exported.
 +
 +      * dbusbind.c: Pointer signedness fixes.
 +      (xd_signature, xd_append_arg, xd_initialize):
 +      (Fdbus_call_method, Fdbus_call_method_asynchronously):
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal):
 +      (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
 +      (Fdbus_register_signal): Use SSDATA when the context wants char *.
 +
 +      * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
 +      if GCC considers string literals to be constants.
 +      (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
 +
 +2011-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
 +      (print_preprocess, print_object): New macro to fix last change.
 +
 +      * print.c (print_preprocess): Don't forget font objects.
 +
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacs.c (USAGE3): Doc fixes.
 +
 +2011-03-15  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * coding.c (detect_coding_iso_2022): Reorganize code to clarify
 +      structure.
  
 -      * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 +2011-03-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-07  Andreas Schwab  <schwab@suse.de>
 +      * lisp.h (VWindow_system, Qfile_name_history):
 +      * keyboard.h (lispy_function_keys) [WINDOWSNT]:
 +      * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
 +      (w32_system_caret_x, w32_system_caret_y): Declare extern.
  
 -      * keymap.c (Flookup_key): Fix typo in last change.
 +      * w32select.c: Don't #include "keyboard.h".
 +      (run_protected): Add extern declaration for waiting_for_input.
  
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * w32.c (Qlocal, noninteractive1, inhibit_window_system):
 +      * w32console.c (detect_input_pending, read_input_pending)
 +      (encode_terminal_code):
 +      * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
 +      (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
 +      (w32_system_caret_y, Qfile_name_history):
 +      * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
 +      * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
 +      * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
 +      (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
 +      * w32proc.c (Qlocal, report_file_error):
 +      * w32term.c (Vwindow_system, updating_frame):
 +      * w32uniscribe.c (initialized, uniscribe_font_driver):
 +      Remove unneeded extern declarations.
  
 -      * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
 -      mapping for unibyte strings.
 +2011-03-14  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
  
 -      * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
 -      (Fx_popup_dialog) [MAC_OSX]: Likewise.
 +2011-03-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-04-29  Richard Stallman  <rms@gnu.org>
 +      * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 +      (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
 +      These macros can no longer be used for assignment.
  
 -      * insdel.c (replace_range): For undo, record insertion first.
 +      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 +      Assign struct members directly, instead of using BUF_BEGV etc.
 +      (record_buffer_markers, fetch_buffer_markers): New functions for
 +      recording and fetching special buffer markers.
 +      (set_buffer_internal_1, set_buffer_temp): Use them.
  
 -2007-04-29  Andreas Schwab  <schwab@suse.de>
 +      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
  
 -      * lisp.h (VECSIZE): Use OFFSETOF.
 +      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
  
 -2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 +      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
  
 -      * xdisp.c (try_window_reusing_current_matrix): Fix number of
 -      disabled lines.
 +      * xdisp.c (hscroll_window_tree):
 +      (reconsider_clip_changes): Use PT instead of BUF_PT.
  
 -2007-04-28  Richard Stallman  <rms@gnu.org>
 +2011-03-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
 +      $(EMACS_ROOT)/lib/intprops.h.
 +
 +2011-03-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix more problems found by GCC 4.5.2's static checks.
 +
 +      * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
 +      to unsigned char * to avoid compiler diagnostic.
 +      (xg_free_frame_widgets): Make it clear that a local variable is
 +      needed only if USE_GTK_TOOLTIP.
 +      (gdk_window_get_screen): Make it clear that this macro is needed
 +      only if USE_GTK_TOOLTIP.
 +      (int_gtk_range_get_value): New function, which avoids a diagnostic
 +      from gcc -Wbad-function-cast.
 +      (xg_set_toolkit_scroll_bar_thumb): Use it.
 +      (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
 +      diagnostic from gcc -Wbad-function-cast.
 +      (get_utf8_string, xg_get_file_with_chooser):
 +      Rename locals to avoid shadowing.
 +      (create_dialog): Move locals to avoid shadowing.
 +
 +      * xgselect.c (xg_select): Remove unused var.
 +
 +      * image.c (four_corners_best): Mark locals as initialized.
 +      (gif_load): Initialize transparent_p to zero (Bug#8238).
 +      Mark another local as initialized.
 +      (my_png_error, my_error_exit): Mark with NO_RETURN.
 +
 +      * image.c (clear_image_cache): Now static.
 +      (DIM, HAVE_STDLIB_H_1): Remove unused macros.
 +      (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
 +      (x_edge_detection): Remove unnecessary cast that
 +      gcc -Wbad-function-cast diagnoses.
 +      (gif_load): Fix pointer signedness.
 +      (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
 +      (jpeg_load, gif_load): Rename locals to avoid shadowing.
 +
 +2011-03-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve quality of tests for time stamp overflow.
 +      For example, without this patch (encode-time 0 0 0 1 1
 +      1152921504606846976) returns the obviously-bogus value (-948597
 +      62170) on my RHEL 5.5 x86-64 host.  With the patch, it correctly
 +      reports time overflow.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
 +      * deps.mk (editfns.o): Depend on ../lib/intprops.h.
 +      * editfns.c: Include limits.h and intprops.h.
 +      (TIME_T_MIN, TIME_T_MAX): New macros.
 +      (time_overflow): Move earlier, to before first use.
 +      (hi_time, lo_time): New functions, for an accurate test for
 +      out-of-range times.
 +      (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
 +      (Fget_internal_run_time): Don't assume time_t fits in int.
 +      (make_time): Use list2 instead of Fcons twice.
 +      (Fdecode_time): More accurate test for out-of-range times.
 +      (check_tm_member): New function.
 +      (Fencode_time): Use it, to test for out-of-range times.
 +      (lisp_time_argument): Don't rely on undefined left-shift and
 +      right-shift behavior when checking for time stamp overflow.
 +
 +      * editfns.c (time_overflow): New function, refactoring common code.
 +      (Fformat_time_string, Fdecode_time, Fencode_time):
 +      (Fcurrent_time_string): Use it.
 +
 +      Move 'make_time' to be next to its inverse 'lisp_time_argument'.
 +      * dired.c (make_time): Move to ...
 +      * editfns.c (make_time): ... here.
 +      * systime.h: Note the move.
 +
 +2011-03-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * lread.c (read_escape): In a string, \s is always space.
 +      * fringe.c (update_window_fringes): Remove unused variables.
  
 -2007-04-27  Jan Djärv  <jan.h.d@swipnet.se>
 +      * unexmacosx.c (copy_data_segment): Also copy __got section.
 +      (Bug#8223)
  
 -      * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
 +2011-03-12  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * termcap.c [MSDOS]: Include "msdos.h".
 +      (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
 +      Constify `char *' arguments and their references according to
 +      prototypes in tparam.h.
 +
 +      * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
 +
 +      * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
 +      Adapt all references accordingly.
 +
 +      * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
 +
 +2011-03-11  Tom Tromey  <tromey@redhat.com>
 +
 +      * buffer.c (syms_of_buffer): Remove obsolete comment.
 +
 +2011-03-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * termhooks.h (encode_terminal_code): Declare prototype.
 +
 +      * msdos.c (encode_terminal_code): Don't declare prototype.
 +
 +      * term.c (encode_terminal_code): Now external again, used by
 +      w32console.c and msdos.c.
 +
 +      * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
 +      Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
 +
 +2011-03-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some minor problems found by GCC 4.5.2's static checks.
 +
 +      * fringe.c (update_window_fringes): Mark locals as initialized
 +      (Bug#8227).
 +      (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
 +
 +      * alloc.c (mark_fringe_data): Move decl from here ...
 +      * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
 +      to check its interface.
 +      (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
 +
 +      * fontset.c (free_realized_fontset): Now static.
 +      (Fset_fontset_font): Rename local to avoid shadowing.
 +      (fontset_font): Mark local as initialized.
 +      (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
 +
 +      * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
 +
 +      * xselect.c (x_disown_buffer_selections): Remove; not used.
 +      (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
 +      (x_own_selection, Fx_disown_selection_internal): Rename locals
 +      to avoid shadowing.
 +      (x_handle_dnd_message): Remove local to avoid shadowing.
 +
 +      * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
 +      so that the caller can use some name other than gcpro1.
 +      (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
 +      (Fx_backspace_delete_keys_p):
 +      Use them to avoid shadowing, and rename vars to avoid shadowing.
 +      (x_decode_color, x_set_name, x_window): Now static.
 +      (Fx_create_frame): Add braces to silence GCC warning.
 +      (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
 +      (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
 +      Remove unused locals.
 +      (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
 +      (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
 +      Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
 +      macros.
 +
 +      * xterm.h (x_mouse_leave): New decl.
 +
 +      * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
 +      Remove unused functions.
 +      (x_shift_glyphs_for_insert, XTflash, XTring_bell):
 +      (x_calc_absolute_position): Now static.
 +      (XTread_socket): Don't define label "out" unless it's used.
 +      Don't declare local "event" unless it's used.
 +      (x_iconify_frame, x_free_frame_resources): Don't declare locals
 +      unless they are used.
 +      (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
 +      (x_fatal_error_signal): Remove; not used.
 +      (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
 +      (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
 +      (x_error_catcher, x_connection_closed, x_error_handler):
 +      (x_error_quitter, xembed_send_message, x_iconify_frame):
 +      (my_log_handler): Rename locals to avoid shadowing.
 +      (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
 +      (x_connection_closed): Tell GCC not to suggest NO_RETURN.
 +
 +      * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
 +      Rename or move locals to avoid shadowing.
 +      (tty_defined_color, merge_face_heights): Now static.
 +      (free_realized_faces_for_fontset): Remove; not used.
 +      (Fx_list_fonts): Mark variable that gcc -Wuninitialized
 +      does not deduce is never used uninitialized.
 +      (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
 +      (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
 +
 +      * terminal.c (store_terminal_param): Now static.
 +
 +      * xmenu.c (menu_highlight_callback): Now static.
 +      (set_frame_menubar): Remove unused local.
 +      (xmenu_show): Rename parameter to avoid shadowing.
 +      (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
 +      since they might point to immutable storage.
 +      (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
 +      since it's unused otherwise.
 +
 +      * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
 +      Add a FIXME, since the code still doesn't look right.  (Bug#8215)
 +      (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
 +      avoids a gcc -Wuninitialized diagnostic.
 +      (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
 +      (note_mouse_highlight): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +
 +      * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
 +
 +      * xdisp.c (redisplay_window): Rename local to avoid shadowing.
 +      * window.c (window_loop, size_window):
 +      (run_window_configuration_change_hook, enlarge_window): Likewise.
 +
 +      * window.c (display_buffer): Now static.
 +      (size_window): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +      * window.h (check_all_windows): New decl, to forestall
 +      gcc -Wmissing-prototypes diagnostic.
 +      * dispextern.h (bidi_dump_cached_states): Likewise.
 +
 +      * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
 +      shadowing.
 +      * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
 +      Include <limits.h>.
 +      (Fsort_charsets): Redo min/max calculation to shorten the code a bit
 +      and to avoid gcc -Wuninitialized warning.
 +      (load_charset_map): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +      (load_charset): Abort instead of using uninitialized var (Bug#8229).
 +
 +      * coding.c (coding_set_source, coding_set_destination):
 +      Use "else { /* comment */ }" rather than "else /* comment */;"
 +      for clarity, and to avoid gcc -Wempty-body warning.
 +      (Fdefine_coding_system_internal): Don't redeclare 'i' inside
 +      a block, when the outer 'i' will do.
 +      (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
 +      (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
 +      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
 +      (decode_coding_raw_text, decode_coding_charset, get_translation_table):
 +      (Fdecode_sjis_char, Fdefine_coding_system_internal):
 +      Rename locals to avoid shadowing.
 +      * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
 +      * coding.c (emacs_mule_char, encode_invocation_designation):
 +      Now static, since they're not used elsewhere.
 +      (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
 +      (decode_coding_object, encode_coding_object, detect_coding_system):
 +      (decode_coding_emacs_mule): Mark variables that gcc
 +      -Wuninitialized does not deduce are never used uninitialized.
 +      (detect_coding_iso_2022): Initialize a local variable that might
 +      be used uninitialized.  Leave a FIXME because it's not clear that
 +      this initialization is needed.  (Bug#8211)
 +      (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
 +      (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
 +      (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
 +      (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
 +      Remove unused macros.
 +
 +      * category.c (hash_get_category_set): Remove unused local var.
 +      (copy_category_table): Now static, since it's not used elsewhere.
 +      * character.c (string_count_byte8): Likewise.
 +
 +      * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
 +      (Fregister_code_conversion_map): Rename locals to avoid shadowing.
 +
 +      * chartab.c (copy_sub_char_table): Now static, since it's not used
 +      elsewhere.
 +      (sub_char_table_ref_and_range, char_table_ref_and_range):
 +      Rename locals to avoid shadowing.
 +      (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
 +
 +      * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
 +      (BIDI_BOB): Remove unused macro.
 +
 +      * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
 +      deduce are never used uninitialized.
 +      * term.c (encode_terminal_code): Likewise.
 +
 +      * term.c (encode_terminal_code): Now static.  Remove unused local.
 +
 +      * tparam.h: New file.
 +      * term.c, tparam.h: Include it.
 +      * deps.mk (term.o, tparam.o): Depend on tparam.h.
 +      * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
 +      Move these decls to tparam.h, and make them agree with what
 +      is actually in tparam.c.  The previous trick of using incompatible
 +      decls in different modules does not conform to the C standard.
 +      All callers of tparam changed to use tparam's actual API.
 +      * tparam.c (tparam1, tparam, tgoto):
 +      Use const pointers where appropriate.
 +
 +      * cm.c (calccost, cmgoto): Use const pointers where appropriate.
 +      * cm.h (struct cm): Likewise.
 +      * dispextern.h (do_line_insertion_deletion_costs): Likewise.
 +      * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
 +      * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
 +      (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
 +      (turn_on_face, init_tty): Likewise.
 +      * termchar.h (struct tty_display_info): Likewise.
 +
 +      * term.c (term_mouse_position): Rename local to avoid shadowing.
 +
 +      * alloc.c (mark_ttys): Move decl from here ...
 +      * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
 +
 +2011-03-11  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
 +
 +2011-03-09  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * search.c (compile_pattern_1): Remove argument regp, unused since
 +      revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
 +      (compile_pattern): Don't pass it.
 +
 +2011-03-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xterm.h (DEFAULT_GDK_DISPLAY): New define.
 +      (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
 +      for ! HAVE_GTK3.
 +      (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
 +
 +      * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
 +
 +      * gtkutil.c: Include gtkx.h if HAVE_GTK3.  If ! HAVE_GTK3, define
 +      gdk_window_get_screen, gdk_window_get_geometry,
 +      gdk_x11_window_lookup_for_display and GDK_KEY_g.
 +      (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
 +      (xg_get_pixbuf_from_pixmap): New function.
 +      (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
 +      to Pixmap, take frame as parameter, remove GdkColormap parameter.
 +      Call xg_get_pixbuf_from_pixmap instead of
 +      gdk_pixbuf_get_from_drawable.
 +      (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
 +      xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
 +      (xg_check_special_colors): Use GtkStyleContext and its functions
 +      for HAVE_GTK3.
 +      (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
 +      (xg_prepare_tooltip, create_dialog, menubar_map_cb)
 +      (xg_update_frame_menubar, xg_tool_bar_detach_callback)
 +      (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
 +      Call gtk_widget_get_preferred_size.
 +      (xg_frame_resized): gdk_window_get_geometry only takes 5
 +      parameters.
 +      (xg_win_to_widget, xg_event_is_for_menubar):
 +      Call gdk_x11_window_lookup_for_display.
 +      (xg_set_widget_bg): New function.
 +      (delete_cb): New function.
 +      (xg_create_frame_widgets): connect delete-event to delete_cb.
 +      Call xg_set_widget_bg.  Only set backgrund pixmap for ! HAVE_GTK3
 +      (xg_set_background_color): Call xg_set_widget_bg.
 +      (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
 +      (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
 +      Only call gtk_range_set_update_policy if ! HAVE_GTK3.
 +      (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
 +      if ! HAVE_GTK3.
 +      (update_frame_tool_bar): Call gtk_widget_hide.
 +      (xg_initialize): Use GDK_KEY_g.
 +
 +      * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
 +      if ! HAVE_GTK3
 +      (x_session_initialize): Call gdk_x11_set_sm_client_id.
 +
 +      * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
 +      (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
 +      Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
 +
 +2011-03-08  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * gtkutil.c (xg_update_menubar, create_menus): Create empty
 -      submenu for menu bar items.
 +      * w32xfns.c (select_palette): Check success of RealizePalette against
 +      GDI_ERROR, not zero.
  
 -See ChangeLog.10 for earlier changes.
 +See ChangeLog.11 for earlier changes.
  
  ;; Local Variables:
  ;; coding: utf-8
 -;; add-log-time-zone-rule: t
  ;; End:
  
 -    Copyright (C) 2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 +  Copyright (C) 2011  Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
  
    You should have received a copy of the GNU General Public License
    along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 -
 -;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40
diff --combined src/process.c
index 4476014edfa9e5ce39bb76af4a5ed41729d4e097,9a33500dc4e960d3164d640ff976d111a877b3e5..6cddbf6d1a9e9bc7e477b4f8d1342cbfb621ee3e
@@@ -1,7 -1,7 +1,7 @@@
  /* Asynchronous subprocess control for GNU Emacs.
 -   Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995,
 -               1996, 1998, 1999, 2001, 2002, 2003, 2004,
 -               2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +
 +Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2011
 +  Free Software Foundation, Inc.
  
  This file is part of GNU Emacs.
  
@@@ -21,6 -21,17 +21,6 @@@ along with GNU Emacs.  If not, see <htt
  
  #include <config.h>
  #include <signal.h>
 -
 -/* This file is split into two parts by the following preprocessor
 -   conditional.  The 'then' clause contains all of the support for
 -   asynchronous subprocesses.  The 'else' clause contains stub
 -   versions of some of the asynchronous subprocess routines that are
 -   often called elsewhere in Emacs, so we don't have to #ifdef the
 -   sections that call them.  */
 -
 -\f
 -#ifdef subprocesses
 -
  #include <stdio.h>
  #include <errno.h>
  #include <setjmp.h>
  #ifdef HAVE_INTTYPES_H
  #include <inttypes.h>
  #endif
 -#ifdef STDC_HEADERS
 -#include <stdlib.h>
 -#endif
  
 -#ifdef HAVE_UNISTD_H
  #include <unistd.h>
 -#endif
  #include <fcntl.h>
  
 -#ifdef HAVE_SOCKETS   /* TCP connection support, if kernel can do it */
 +/* Only MS-DOS does not define `subprocesses'.  */
 +#ifdef subprocesses
 +
  #include <sys/socket.h>
  #include <netdb.h>
  #include <netinet/in.h>
  #include <sys/un.h>
  #endif
  #endif
 -#endif /* HAVE_SOCKETS */
  
 -#if defined(BSD_SYSTEM)
  #include <sys/ioctl.h>
 -#if !defined (O_NDELAY) && defined (HAVE_PTYS) && !defined(USG5)
 -#include <fcntl.h>
 -#endif /* HAVE_PTYS and no O_NDELAY */
 -#endif /* BSD_SYSTEM */
 +#if defined(HAVE_NET_IF_H)
 +#include <net/if.h>
 +#endif /* HAVE_NET_IF_H */
  
  #ifdef NEED_BSDTTY
  #include <bsdtty.h>
  #endif
  
 -/* Can we use SIOCGIFCONF and/or SIOCGIFADDR */
 -#ifdef HAVE_SOCKETS
 -#if defined(HAVE_SYS_IOCTL_H) && defined(HAVE_NET_IF_H)
 -/* sys/ioctl.h may have been included already */
 -#ifndef SIOCGIFADDR
 -#include <sys/ioctl.h>
 -#endif
 -#include <net/if.h>
 -#endif
 -#endif
 -
 -#ifdef HAVE_SYS_WAIT
 -#include <sys/wait.h>
 -#endif
 -
  #ifdef HAVE_RES_INIT
  #include <netinet/in.h>
  #include <arpa/nameser.h>
  #include <resolv.h>
  #endif
  
 +#ifdef HAVE_UTIL_H
 +#include <util.h>
 +#endif
 +
 +#ifdef HAVE_PTY_H
 +#include <pty.h>
 +#endif
 +
 +#endif        /* subprocesses */
 +
  #include "lisp.h"
  #include "systime.h"
  #include "systty.h"
  #include "dispextern.h"
  #include "composite.h"
  #include "atimer.h"
 +#include "sysselect.h"
 +#include "syssignal.h"
 +#include "syswait.h"
 +#ifdef HAVE_GNUTLS
 +#include "gnutls.h"
 +#endif
  
  #if defined (USE_GTK) || defined (HAVE_GCONF)
  #include "xgselect.h"
  #endif /* defined (USE_GTK) || defined (HAVE_GCONF) */
 +#ifdef HAVE_NS
 +#include "nsterm.h"
 +#endif
 +
 +Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid;
 +Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime;
 +Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
 +Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime;
 +Lisp_Object QCname, QCtype;
 +\f
 +/* Non-zero if keyboard input is on hold, zero otherwise.  */
 +
 +static int kbd_is_on_hold;
 +
 +/* Nonzero means don't run process sentinels.  This is used
 +   when exiting.  */
 +int inhibit_sentinels;
 +
 +#ifdef subprocesses
  
  Lisp_Object Qprocessp;
  Lisp_Object Qrun, Qstop, Qsignal;
@@@ -138,7 -135,7 +138,7 @@@ Lisp_Object Qipv6
  Lisp_Object QCport, QCspeed, QCprocess;
  Lisp_Object QCbytesize, QCstopbits, QCparity, Qodd, Qeven;
  Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary;
 -Lisp_Object QCname, QCbuffer, QChost, QCservice, QCtype;
 +Lisp_Object QCbuffer, QChost, QCservice;
  Lisp_Object QClocal, QCremote, QCcoding;
  Lisp_Object QCserver, QCnowait, QCnoquery, QCstop;
  Lisp_Object QCsentinel, QClog, QCoptions, QCplist;
@@@ -154,15 -151,62 +154,15 @@@ extern Lisp_Object QCfamily
  /* QCfilter is defined in keyboard.c.  */
  extern Lisp_Object QCfilter;
  
 -Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid;
 -Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime;
 -Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
 -Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime;
 -
 -#ifdef HAVE_SOCKETS
  #define NETCONN_P(p) (EQ (XPROCESS (p)->type, Qnetwork))
  #define NETCONN1_P(p) (EQ ((p)->type, Qnetwork))
  #define SERIALCONN_P(p) (EQ (XPROCESS (p)->type, Qserial))
  #define SERIALCONN1_P(p) (EQ ((p)->type, Qserial))
 -#else
 -#define NETCONN_P(p) 0
 -#define NETCONN1_P(p) 0
 -#define SERIALCONN_P(p) 0
 -#define SERIALCONN1_P(p) 0
 -#endif /* HAVE_SOCKETS */
 -
 -/* Define first descriptor number available for subprocesses.  */
 -#define FIRST_PROC_DESC 3
 -
 -/* Define SIGCHLD as an alias for SIGCLD.  There are many conditionals
 -   testing SIGCHLD.  */
 -
 -#if !defined (SIGCHLD) && defined (SIGCLD)
 -#define SIGCHLD SIGCLD
 -#endif /* SIGCLD */
 -
 -#include "syssignal.h"
 -
 -#include "syswait.h"
 -
 -extern char *get_operating_system_release ();
 -
 -/* Serial processes require termios or Windows.  */
 -#if defined (HAVE_TERMIOS) || defined (WINDOWSNT)
 -#define HAVE_SERIAL
 -#endif
 -
 -#ifdef HAVE_SERIAL
 -/* From sysdep.c or w32.c  */
 -extern int serial_open (char *port);
 -extern void serial_configure (struct Lisp_Process *p, Lisp_Object contact);
 -#endif
 -
 -#ifndef USE_CRT_DLL
 -extern int errno;
 -#endif
  
  #ifndef HAVE_H_ERRNO
  extern int h_errno;
  #endif
  
 -/* t means use pty, nil means use a pipe,
 -   maybe other values to come.  */
 -static Lisp_Object Vprocess_connection_type;
 -
  /* These next two vars are non-static since sysdep.c uses them in the
     emulation of `select'.  */
  /* Number of events of change of status of a process.  */
@@@ -172,12 -216,11 +172,12 @@@ int update_tick
  
  /* Define NON_BLOCKING_CONNECT if we can support non-blocking connects.  */
  
 +/* Only W32 has this, it really means that select can't take write mask.  */
  #ifdef BROKEN_NON_BLOCKING_CONNECT
  #undef NON_BLOCKING_CONNECT
 +#define SELECT_CANT_DO_WRITE_MASK
  #else
  #ifndef NON_BLOCKING_CONNECT
 -#ifdef HAVE_SOCKETS
  #ifdef HAVE_SELECT
  #if defined (HAVE_GETPEERNAME) || defined (GNU_LINUX)
  #if defined (O_NONBLOCK) || defined (O_NDELAY)
  #endif /* O_NONBLOCK || O_NDELAY */
  #endif /* HAVE_GETPEERNAME || GNU_LINUX */
  #endif /* HAVE_SELECT */
 -#endif /* HAVE_SOCKETS */
  #endif /* NON_BLOCKING_CONNECT */
  #endif /* BROKEN_NON_BLOCKING_CONNECT */
  
  #undef DATAGRAM_SOCKETS
  #else
  #ifndef DATAGRAM_SOCKETS
 -#ifdef HAVE_SOCKETS
  #if defined (HAVE_SELECT) || defined (FIONREAD)
  #if defined (HAVE_SENDTO) && defined (HAVE_RECVFROM) && defined (EMSGSIZE)
  #define DATAGRAM_SOCKETS
  #endif /* HAVE_SENDTO && HAVE_RECVFROM && EMSGSIZE */
  #endif /* HAVE_SELECT || FIONREAD */
 -#endif /* HAVE_SOCKETS */
  #endif /* DATAGRAM_SOCKETS */
  #endif /* BROKEN_DATAGRAM_SOCKETS */
  
@@@ -231,15 -277,23 +231,15 @@@ static int process_output_delay_count
  
  static int process_output_skip;
  
 -/* Non-nil means to delay reading process output to improve buffering.
 -   A value of t means that delay is reset after each send, any other
 -   non-nil value does not reset the delay.  A value of nil disables
 -   adaptive read buffering completely.  */
 -static Lisp_Object Vprocess_adaptive_read_buffering;
  #else
  #define process_output_delay_count 0
  #endif
  
 -
 -#include "sysselect.h"
 -
 -static int keyboard_bit_set P_ ((SELECT_TYPE *));
 -static void deactivate_process P_ ((Lisp_Object));
 -static void status_notify P_ ((struct Lisp_Process *));
 -static int read_process_output P_ ((Lisp_Object, int));
 -static void create_pty P_ ((Lisp_Object));
 +static int keyboard_bit_set (SELECT_TYPE *);
 +static void deactivate_process (Lisp_Object);
 +static void status_notify (struct Lisp_Process *);
 +static int read_process_output (Lisp_Object, int);
 +static void create_pty (Lisp_Object);
  
  /* If we support a window system, turn on the code to poll periodically
     to detect C-g.  It isn't actually used when doing interrupt input.  */
  #define POLL_FOR_INPUT
  #endif
  
 -static Lisp_Object get_process ();
 -static void exec_sentinel ();
 +static Lisp_Object get_process (register Lisp_Object name);
 +static void exec_sentinel (Lisp_Object proc, Lisp_Object reason);
  
 -extern int timers_run;
 -\f
  /* Mask of bits indicating the descriptors that we wait for input on.  */
  
  static SELECT_TYPE input_wait_mask;
@@@ -262,9 -318,9 +262,9 @@@ static SELECT_TYPE non_keyboard_wait_ma
  
  static SELECT_TYPE non_process_wait_mask;
  
 -/* Mask for the gpm mouse input descriptor.  */
 +/* Mask for selecting for write.  */
  
 -static SELECT_TYPE gpm_wait_mask;
 +static SELECT_TYPE write_mask;
  
  #ifdef NON_BLOCKING_CONNECT
  /* Mask of bits indicating the descriptors that we wait for connect to
@@@ -275,13 -331,26 +275,13 @@@ static SELECT_TYPE connect_wait_mask
  
  /* Number of bits set in connect_wait_mask.  */
  static int num_pending_connects;
 -
 -#define IF_NON_BLOCKING_CONNECT(s) s
 -#else
 -#define IF_NON_BLOCKING_CONNECT(s)
 -#endif
 +#endif        /* NON_BLOCKING_CONNECT */
  
  /* The largest descriptor currently in use for a process object.  */
  static int max_process_desc;
  
 -/* The largest descriptor currently in use for keyboard input.  */
 -static int max_keyboard_desc;
 -
 -/* The largest descriptor currently in use for gpm mouse input.  */
 -static int max_gpm_desc;
 -
 -/* Non-zero if keyboard input is on hold, zero otherwise.  */
 -static int kbd_is_on_hold;
 -
 -/* Nonzero means delete a process right away if it exits.  */
 -static int delete_exited_processes;
 +/* The largest descriptor currently in use for input.  */
 +static int max_input_desc;
  
  /* Indexed by descriptor, gives the process (if any) for that descriptor */
  Lisp_Object chan_process[MAXDESC];
@@@ -318,90 -387,18 +318,90 @@@ struct sockaddr_and_len 
  /* Maximum number of bytes to send to a pty without an eof.  */
  static int pty_max_bytes;
  
 -/* Nonzero means don't run process sentinels.  This is used
 -   when exiting.  */
 -int inhibit_sentinels;
 +\f
  
 -#ifdef HAVE_PTYS
 -#ifdef HAVE_PTY_H
 -#include <pty.h>
 -#endif
 -/* The file name of the pty opened by allocate_pty.  */
 +struct fd_callback_data
 +{
 +  fd_callback func;
 +  void *data;
 +#define FOR_READ  1
 +#define FOR_WRITE 2
 +  int condition; /* mask of the defines above.  */
 +} fd_callback_info[MAXDESC];
 +
 +
 +/* Add a file descriptor FD to be monitored for when read is possible.
 +   When read is possible, call FUNC with argument DATA.  */
 +
 +void
 +add_read_fd (int fd, fd_callback func, void *data)
 +{
 +  xassert (fd < MAXDESC);
 +  add_keyboard_wait_descriptor (fd);
 +
 +  fd_callback_info[fd].func = func;
 +  fd_callback_info[fd].data = data;
 +  fd_callback_info[fd].condition |= FOR_READ;
 +}
 +
 +/* Stop monitoring file descriptor FD for when read is possible.  */
 +
 +void
 +delete_read_fd (int fd)
 +{
 +  xassert (fd < MAXDESC);
 +  delete_keyboard_wait_descriptor (fd);
 +
 +  fd_callback_info[fd].condition &= ~FOR_READ;
 +  if (fd_callback_info[fd].condition == 0)
 +    {
 +      fd_callback_info[fd].func = 0;
 +      fd_callback_info[fd].data = 0;
 +    }
 +}
 +
 +/* Add a file descriptor FD to be monitored for when write is possible.
 +   When write is possible, call FUNC with argument DATA.  */
 +
 +void
 +add_write_fd (int fd, fd_callback func, void *data)
 +{
 +  xassert (fd < MAXDESC);
 +  FD_SET (fd, &write_mask);
 +  if (fd > max_input_desc)
 +    max_input_desc = fd;
 +
 +  fd_callback_info[fd].func = func;
 +  fd_callback_info[fd].data = data;
 +  fd_callback_info[fd].condition |= FOR_WRITE;
 +}
 +
 +/* Stop monitoring file descriptor FD for when write is possible.  */
 +
 +void
 +delete_write_fd (int fd)
 +{
 +  int lim = max_input_desc;
 +
 +  xassert (fd < MAXDESC);
 +  FD_CLR (fd, &write_mask);
 +  fd_callback_info[fd].condition &= ~FOR_WRITE;
 +  if (fd_callback_info[fd].condition == 0)
 +    {
 +      fd_callback_info[fd].func = 0;
 +      fd_callback_info[fd].data = 0;
 +
 +      if (fd == max_input_desc)
 +        for (fd = lim; fd >= 0; fd--)
 +          if (FD_ISSET (fd, &input_wait_mask) || FD_ISSET (fd, &write_mask))
 +            {
 +              max_input_desc = fd;
 +              break;
 +            }
 +
 +    }
 +}
  
 -static char pty_name[24];
 -#endif
  \f
  /* Compute the Lisp form of the process status, p->status, from
     the numeric status that was returned by `wait'.  */
  static Lisp_Object status_convert (int);
  
  static void
 -update_status (p)
 -     struct Lisp_Process *p;
 +update_status (struct Lisp_Process *p)
  {
    eassert (p->raw_status_new);
    p->status = status_convert (p->raw_status);
@@@ -438,7 -436,11 +438,7 @@@ status_convert (int w
     and store them individually through the three pointers.  */
  
  static void
 -decode_status (l, symbol, code, coredump)
 -     Lisp_Object l;
 -     Lisp_Object *symbol;
 -     int *code;
 -     int *coredump;
 +decode_status (Lisp_Object l, Lisp_Object *symbol, int *code, int *coredump)
  {
    Lisp_Object tem;
  
  /* Return a string describing a process status list.  */
  
  static Lisp_Object
 -status_message (p)
 -     struct Lisp_Process *p;
 +status_message (struct Lisp_Process *p)
  {
    Lisp_Object status = p->status;
    Lisp_Object symbol;
          if (! NILP (Vlocale_coding_system))
            string = (code_convert_string_norecord
                      (string, Vlocale_coding_system, 0));
 -        c1 = STRING_CHAR ((char *) SDATA (string));
 -        c2 = DOWNCASE (c1);
 +        c1 = STRING_CHAR (SDATA (string));
 +        c2 = downcase (c1);
          if (c1 != c2)
            Faset (string, make_number (0), make_number (c2));
        }
  \f
  #ifdef HAVE_PTYS
  
 +/* The file name of the pty opened by allocate_pty.  */
 +static char pty_name[24];
 +
  /* Open an available pty, returning a file descriptor.
     Return -1 on failure.
     The file name of the terminal corresponding to the pty
     is left in the variable pty_name.  */
  
  static int
 -allocate_pty ()
 +allocate_pty (void)
  {
 -  register int c, i;
    int fd;
  
  #ifdef PTY_ITERATION
    PTY_ITERATION
  #else
 +  register int c, i;
    for (c = FIRST_PTY_LETTER; c <= 'z'; c++)
      for (i = 0; i < 16; i++)
  #endif
        {
 -      struct stat stb;        /* Used in some PTY_OPEN.  */
  #ifdef PTY_NAME_SPRINTF
        PTY_NAME_SPRINTF
  #else
               three failures in a row before deciding that we've reached the
               end of the ptys.  */
            int failed_count = 0;
 +          struct stat stb;
  
            if (stat (pty_name, &stb) < 0)
              {
  #endif /* HAVE_PTYS */
  \f
  static Lisp_Object
 -make_process (name)
 -     Lisp_Object name;
 +make_process (Lisp_Object name)
  {
    register Lisp_Object val, tem, name1;
    register struct Lisp_Process *p;
    p->read_output_skip = 0;
  #endif
  
 +#ifdef HAVE_GNUTLS
 +  p->gnutls_initstage = GNUTLS_STAGE_EMPTY;
 +  p->gnutls_log_level = 0;
 +  p->gnutls_p = 0;
 +#endif
 +
    /* If name is already in use, modify it until it is unused.  */
  
    name1 = name;
  }
  
  static void
 -remove_process (proc)
 -     register Lisp_Object proc;
 +remove_process (register Lisp_Object proc)
  {
    register Lisp_Object pair;
  
    deactivate_process (proc);
  }
  
 -/* Setup coding systems of PROCESS.  */
 -
 -void
 -setup_process_coding_systems (process)
 -     Lisp_Object process;
 -{
 -  struct Lisp_Process *p = XPROCESS (process);
 -  int inch = p->infd;
 -  int outch = p->outfd;
 -  Lisp_Object coding_system;
 -
 -  if (inch < 0 || outch < 0)
 -    return;
 -
 -  if (!proc_decode_coding_system[inch])
 -    proc_decode_coding_system[inch]
 -      = (struct coding_system *) xmalloc (sizeof (struct coding_system));
 -  coding_system = p->decode_coding_system;
 -  if (! NILP (p->filter))
 -    ;
 -  else if (BUFFERP (p->buffer))
 -    {
 -      if (NILP (XBUFFER (p->buffer)->enable_multibyte_characters))
 -      coding_system = raw_text_coding_system (coding_system);
 -    }
 -  setup_coding_system (coding_system, proc_decode_coding_system[inch]);
 -
 -  if (!proc_encode_coding_system[outch])
 -    proc_encode_coding_system[outch]
 -      = (struct coding_system *) xmalloc (sizeof (struct coding_system));
 -  setup_coding_system (p->encode_coding_system,
 -                     proc_encode_coding_system[outch]);
 -}
  \f
  DEFUN ("processp", Fprocessp, Sprocessp, 1, 1, 0,
         doc: /* Return t if OBJECT is a process.  */)
 -     (object)
 -     Lisp_Object object;
 +  (Lisp_Object object)
  {
    return PROCESSP (object) ? Qt : Qnil;
  }
  
  DEFUN ("get-process", Fget_process, Sget_process, 1, 1, 0,
         doc: /* Return the process named NAME, or nil if there is none.  */)
 -     (name)
 -     register Lisp_Object name;
 +  (register Lisp_Object name)
  {
    if (PROCESSP (name))
      return name;
    return Fcdr (Fassoc (name, Vprocess_alist));
  }
  
 -DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
 -       doc: /* Return the (or a) process associated with BUFFER.
 -BUFFER may be a buffer or the name of one.  */)
 -     (buffer)
 -     register Lisp_Object buffer;
 -{
 -  register Lisp_Object buf, tail, proc;
 -
 -  if (NILP (buffer)) return Qnil;
 -  buf = Fget_buffer (buffer);
 -  if (NILP (buf)) return Qnil;
 -
 -  for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
 -    {
 -      proc = Fcdr (XCAR (tail));
 -      if (PROCESSP (proc) && EQ (XPROCESS (proc)->buffer, buf))
 -      return proc;
 -    }
 -  return Qnil;
 -}
 -
  /* This is how commands for the user decode process arguments.  It
     accepts a process, a process name, a buffer, a buffer name, or nil.
     Buffers denote the first process in the buffer, and nil denotes the
     current buffer.  */
  
  static Lisp_Object
 -get_process (name)
 -     register Lisp_Object name;
 +get_process (register Lisp_Object name)
  {
    register Lisp_Object proc, obj;
    if (STRINGP (name))
      {
        proc = Fget_buffer_process (obj);
        if (NILP (proc))
 -      error ("Buffer %s has no process", SDATA (XBUFFER (obj)->name));
 +      error ("Buffer %s has no process", SDATA (BVAR (XBUFFER (obj), name)));
      }
    else
      {
@@@ -730,7 -783,8 +730,7 @@@ DEFUN ("delete-process", Fdelete_proces
         doc: /* Delete PROCESS: kill it and forget about it immediately.
  PROCESS may be a process, a buffer, the name of a process or buffer, or
  nil, indicating the current buffer's process.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    register struct Lisp_Process *p;
  
@@@ -797,7 -851,8 +797,7 @@@ failed -- when a non-blocking connectio
  nil -- if arg is a process name and no such process exists.
  PROCESS may be a process, a buffer, the name of a process, or
  nil, indicating the current buffer's process.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    register struct Lisp_Process *p;
    register Lisp_Object status;
@@@ -832,7 -887,8 +832,7 @@@ DEFUN ("process-exit-status", Fprocess_
         1, 1, 0,
         doc: /* Return the exit status of PROCESS or the signal number that killed it.
  If PROCESS has not yet exited or died, return 0.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    if (XPROCESS (process)->raw_status_new)
@@@ -846,7 -902,8 +846,7 @@@ DEFUN ("process-id", Fprocess_id, Sproc
         doc: /* Return the process id of PROCESS.
  This is the pid of the external process which PROCESS uses or talks to.
  For a network connection, this value is nil.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    /* Assignment to EMACS_INT stops GCC whining about limited range of
       data type.  */
@@@ -861,7 -918,8 +861,7 @@@ DEFUN ("process-name", Fprocess_name, S
         doc: /* Return the name of PROCESS, as a string.
  This is the name of the program invoked in PROCESS,
  possibly modified to make it unique among process names.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->name;
@@@ -873,7 -931,8 +873,7 @@@ This is a list of strings, the first st
  and the rest of the strings being the arguments given to it.
  For a network or serial process, this is nil (process is running) or t
  \(process is stopped).  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->command;
@@@ -883,7 -942,8 +883,7 @@@ DEFUN ("process-tty-name", Fprocess_tty
         doc: /* Return the name of the terminal PROCESS uses, or nil if none.
  This is the terminal that the process itself reads and writes on,
  not the name of the pty that Emacs uses to talk with that terminal.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->tty_name;
  DEFUN ("set-process-buffer", Fset_process_buffer, Sset_process_buffer,
         2, 2, 0,
         doc: /* Set buffer associated with PROCESS to BUFFER (a buffer, or nil).  */)
 -     (process, buffer)
 -     register Lisp_Object process, buffer;
 +  (register Lisp_Object process, Lisp_Object buffer)
  {
    struct Lisp_Process *p;
  
@@@ -911,7 -972,8 +911,7 @@@ DEFUN ("process-buffer", Fprocess_buffe
         1, 1, 0,
         doc: /* Return the buffer PROCESS is associated with.
  Output from PROCESS is inserted in this buffer unless PROCESS has a filter.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->buffer;
  DEFUN ("process-mark", Fprocess_mark, Sprocess_mark,
         1, 1, 0,
         doc: /* Return the marker for the end of the last output from PROCESS.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->mark;
@@@ -942,7 -1005,8 +942,7 @@@ The string argument is normally a multi
  - if `default-enable-multibyte-characters' is nil, it is a unibyte
    string (the result of converting the decoded input multibyte
    string to unibyte with `string-make-unibyte').  */)
 -     (process, filter)
 -     register Lisp_Object process, filter;
 +  (register Lisp_Object process, Lisp_Object filter)
  {
    struct Lisp_Process *p;
  
@@@ -984,7 -1048,8 +984,7 @@@ DEFUN ("process-filter", Fprocess_filte
         1, 1, 0,
         doc: /* Returns the filter function of PROCESS; nil if none.
  See `set-process-filter' for more info on filter functions.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->filter;
@@@ -995,7 -1060,8 +995,7 @@@ DEFUN ("set-process-sentinel", Fset_pro
         doc: /* Give PROCESS the sentinel SENTINEL; nil for none.
  The sentinel is called as a function when the process changes state.
  It gets two arguments: the process, and a string describing the change.  */)
 -     (process, sentinel)
 -     register Lisp_Object process, sentinel;
 +  (register Lisp_Object process, Lisp_Object sentinel)
  {
    struct Lisp_Process *p;
  
@@@ -1012,7 -1078,8 +1012,7 @@@ DEFUN ("process-sentinel", Fprocess_sen
         1, 1, 0,
         doc: /* Return the sentinel of PROCESS; nil if none.
  See `set-process-sentinel' for more info on sentinels.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->sentinel;
  DEFUN ("set-process-window-size", Fset_process_window_size,
         Sset_process_window_size, 3, 3, 0,
         doc: /* Tell PROCESS that it has logical window size HEIGHT and WIDTH.  */)
 -     (process, height, width)
 -     register Lisp_Object process, height, width;
 +  (register Lisp_Object process, Lisp_Object height, Lisp_Object width)
  {
    CHECK_PROCESS (process);
    CHECK_NATNUM (height);
@@@ -1052,20 -1120,36 +1052,20 @@@ is more appropriate for saving the proc
  Binding the variable `inherit-process-coding-system' to non-nil before
  starting the process is an alternative way of setting the inherit flag
  for the process which will run.  */)
 -     (process, flag)
 -     register Lisp_Object process, flag;
 +  (register Lisp_Object process, Lisp_Object flag)
  {
    CHECK_PROCESS (process);
    XPROCESS (process)->inherit_coding_system_flag = !NILP (flag);
    return flag;
  }
  
 -DEFUN ("process-inherit-coding-system-flag",
 -       Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag,
 -       1, 1, 0,
 -       doc: /* Return the value of inherit-coding-system flag for PROCESS.
 -If this flag is t, `buffer-file-coding-system' of the buffer
 -associated with PROCESS will inherit the coding system used to decode
 -the process output.  */)
 -     (process)
 -     register Lisp_Object process;
 -{
 -  CHECK_PROCESS (process);
 -  return XPROCESS (process)->inherit_coding_system_flag ? Qt : Qnil;
 -}
 -
  DEFUN ("set-process-query-on-exit-flag",
         Fset_process_query_on_exit_flag, Sset_process_query_on_exit_flag,
         2, 2, 0,
         doc: /* Specify if query is needed for PROCESS when Emacs is exited.
  If the second argument FLAG is non-nil, Emacs will query the user before
  exiting or killing a buffer if PROCESS is running.  */)
 -     (process, flag)
 -     register Lisp_Object process, flag;
 +  (register Lisp_Object process, Lisp_Object flag)
  {
    CHECK_PROCESS (process);
    XPROCESS (process)->kill_without_query = NILP (flag);
@@@ -1076,14 -1160,15 +1076,14 @@@ DEFUN ("process-query-on-exit-flag"
         Fprocess_query_on_exit_flag, Sprocess_query_on_exit_flag,
         1, 1, 0,
         doc: /* Return the current value of query-on-exit flag for PROCESS.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return (XPROCESS (process)->kill_without_query ? Qnil : Qt);
  }
  
  #ifdef DATAGRAM_SOCKETS
 -Lisp_Object Fprocess_datagram_address ();
 +Lisp_Object Fprocess_datagram_address (Lisp_Object process);
  #endif
  
  DEFUN ("process-contact", Fprocess_contact, Sprocess_contact,
@@@ -1096,7 -1181,8 +1096,7 @@@ connection.  If KEY is t, the complete 
  connection is returned, else the specific value for the keyword KEY is
  returned.  See `make-network-process' or `make-serial-process' for a
  list of keywords.  */)
 -     (process, key)
 -     register Lisp_Object process, key;
 +  (register Lisp_Object process, Lisp_Object key)
  {
    Lisp_Object contact;
  
  DEFUN ("process-plist", Fprocess_plist, Sprocess_plist,
         1, 1, 0,
         doc: /* Return the plist of PROCESS.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return XPROCESS (process)->plist;
  DEFUN ("set-process-plist", Fset_process_plist, Sset_process_plist,
         2, 2, 0,
         doc: /* Replace the plist of PROCESS with PLIST.  Returns PLIST.  */)
 -     (process, plist)
 -     register Lisp_Object process, plist;
 +  (register Lisp_Object process, Lisp_Object plist)
  {
    CHECK_PROCESS (process);
    CHECK_LIST (plist);
@@@ -1148,7 -1236,8 +1148,7 @@@ DEFUN ("process-connection", Fprocess_c
         doc: /* Return the connection type of PROCESS.
  The value is nil for a pipe, t or `pty' for a pty, or `stream' for
  a socket connection.  */)
 -     (process)
 -     Lisp_Object process;
 +  (Lisp_Object process)
  {
    return XPROCESS (process)->type;
  }
@@@ -1159,13 -1248,15 +1159,13 @@@ DEFUN ("process-type", Fprocess_type, S
  The value is either the symbol `real', `network', or `serial'.
  PROCESS may be a process, a buffer, the name of a process or buffer, or
  nil, indicating the current buffer's process.  */)
 -     (process)
 -     Lisp_Object process;
 +  (Lisp_Object process)
  {
    Lisp_Object proc;
    proc = get_process (process);
    return XPROCESS (proc)->type;
  }
  
 -#ifdef HAVE_SOCKETS
  DEFUN ("format-network-address", Fformat_network_address, Sformat_network_address,
         1, 2, 0,
         doc: /* Convert network ADDRESS from internal format to a string.
@@@ -1174,7 -1265,8 +1174,7 @@@ An 8 or 9 element vector represents an 
  If optional second argument OMIT-PORT is non-nil, don't include a port
  number in the string, even when present in ADDRESS.
  Returns nil if format of ADDRESS is invalid.  */)
 -     (address, omit_port)
 -     Lisp_Object address, omit_port;
 +  (Lisp_Object address, Lisp_Object omit_port)
  {
    if (NILP (address))
      return Qnil;
  
    return Qnil;
  }
 -#endif
 -\f
 -static Lisp_Object
 -list_processes_1 (query_only)
 -     Lisp_Object query_only;
 +
 +DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0,
 +       doc: /* Return a list of all processes.  */)
 +  (void)
  {
 -  register Lisp_Object tail, tem;
 -  Lisp_Object proc, minspace, tem1;
 -  register struct Lisp_Process *p;
 -  char tembuf[300];
 -  int w_proc, w_buffer, w_tty;
 -  int exited = 0;
 -  Lisp_Object i_status, i_buffer, i_tty, i_command;
 +  return Fmapcar (Qcdr, Vprocess_alist);
 +}
 +\f
 +/* Starting asynchronous inferior processes.  */
  
 -  w_proc = 4;    /* Proc   */
 -  w_buffer = 6;  /* Buffer */
 -  w_tty = 0;     /* Omit if no ttys */
 +static Lisp_Object start_process_unwind (Lisp_Object proc);
  
 -  for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
 -    {
 -      int i;
 +DEFUN ("start-process", Fstart_process, Sstart_process, 3, MANY, 0,
 +       doc: /* Start a program in a subprocess.  Return the process object for it.
 +NAME is name for process.  It is modified if necessary to make it unique.
 +BUFFER is the buffer (or buffer name) to associate with the process.
  
 -      proc = Fcdr (XCAR (tail));
 -      p = XPROCESS (proc);
 -      if (NILP (p->type))
 -      continue;
 -      if (!NILP (query_only) && p->kill_without_query)
 -      continue;
 -      if (STRINGP (p->name)
 -        && ( i = SCHARS (p->name), (i > w_proc)))
 -      w_proc = i;
 -      if (!NILP (p->buffer))
 -      {
 -        if (NILP (XBUFFER (p->buffer)->name))
 -          {
 -            if (w_buffer < 8)
 -              w_buffer = 8;  /* (Killed) */
 -          }
 -        else if ((i = SCHARS (XBUFFER (p->buffer)->name), (i > w_buffer)))
 -          w_buffer = i;
 -      }
 -      if (STRINGP (p->tty_name)
 -        && (i = SCHARS (p->tty_name), (i > w_tty)))
 -      w_tty = i;
 -    }
 +Process output (both standard output and standard error streams) goes
 +at end of BUFFER, unless you specify an output stream or filter
 +function to handle the output.  BUFFER may also be nil, meaning that
 +this process is not associated with any buffer.
  
- PROGRAM is the program file name.  It is searched for in PATH.  If
- nil, just associate a pty with the buffer.  Remaining arguments are
- strings to give program as arguments.
 -  XSETFASTINT (i_status, w_proc + 1);
 -  XSETFASTINT (i_buffer, XFASTINT (i_status) + 9);
 -  if (w_tty)
 -    {
 -      XSETFASTINT (i_tty, XFASTINT (i_buffer) + w_buffer + 1);
 -      XSETFASTINT (i_command, XFASTINT (i_tty) + w_tty + 1);
 -    }
 -  else
 -    {
 -      i_tty = Qnil;
 -      XSETFASTINT (i_command, XFASTINT (i_buffer) + w_buffer + 1);
 -    }
++PROGRAM is the program file name.  It is searched for in `exec-path'
++(which see).  If nil, just associate a pty with the buffer.  Remaining
++arguments are strings to give program as arguments.
  
 -  XSETFASTINT (minspace, 1);
 +If you want to separate standard output from standard error, invoke
 +the command through a shell and redirect one of them using the shell
 +syntax.
  
 -  set_buffer_internal (XBUFFER (Vstandard_output));
 -  current_buffer->undo_list = Qt;
 +usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS)  */)
 +  (size_t nargs, register Lisp_Object *args)
 +{
 +  Lisp_Object buffer, name, program, proc, current_dir, tem;
 +  register unsigned char **new_argv;
 +  register size_t i;
 +  int count = SPECPDL_INDEX ();
  
 -  current_buffer->truncate_lines = Qt;
 +  buffer = args[1];
 +  if (!NILP (buffer))
 +    buffer = Fget_buffer_create (buffer);
  
 -  write_string ("Proc", -1);
 -  Findent_to (i_status, minspace); write_string ("Status", -1);
 -  Findent_to (i_buffer, minspace); write_string ("Buffer", -1);
 -  if (!NILP (i_tty))
 -    {
 -      Findent_to (i_tty, minspace); write_string ("Tty", -1);
 -    }
 -  Findent_to (i_command, minspace); write_string ("Command", -1);
 -  write_string ("\n", -1);
 +  /* Make sure that the child will be able to chdir to the current
 +     buffer's current directory, or its unhandled equivalent.  We
 +     can't just have the child check for an error when it does the
 +     chdir, since it's in a vfork.
  
 -  write_string ("----", -1);
 -  Findent_to (i_status, minspace); write_string ("------", -1);
 -  Findent_to (i_buffer, minspace); write_string ("------", -1);
 -  if (!NILP (i_tty))
 -    {
 -      Findent_to (i_tty, minspace); write_string ("---", -1);
 -    }
 -  Findent_to (i_command, minspace); write_string ("-------", -1);
 -  write_string ("\n", -1);
 +     We have to GCPRO around this because Fexpand_file_name and
 +     Funhandled_file_name_directory might call a file name handling
 +     function.  The argument list is protected by the caller, so all
 +     we really have to worry about is buffer.  */
 +  {
 +    struct gcpro gcpro1, gcpro2;
  
 -  for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
 -    {
 -      Lisp_Object symbol;
 -
 -      proc = Fcdr (XCAR (tail));
 -      p = XPROCESS (proc);
 -      if (NILP (p->type))
 -      continue;
 -      if (!NILP (query_only) && p->kill_without_query)
 -      continue;
 -
 -      Finsert (1, &p->name);
 -      Findent_to (i_status, minspace);
 -
 -      if (p->raw_status_new)
 -      update_status (p);
 -      symbol = p->status;
 -      if (CONSP (p->status))
 -      symbol = XCAR (p->status);
 -
 -      if (EQ (symbol, Qsignal))
 -      {
 -        Lisp_Object tem;
 -        tem = Fcar (Fcdr (p->status));
 -        Fprinc (symbol, Qnil);
 -      }
 -      else if (NETCONN1_P (p) || SERIALCONN1_P (p))
 -      {
 -        if (EQ (symbol, Qexit))
 -          write_string ("closed", -1);
 -        else if (EQ (p->command, Qt))
 -          write_string ("stopped", -1);
 -        else if (EQ (symbol, Qrun))
 -          write_string ("open", -1);
 -        else
 -          Fprinc (symbol, Qnil);
 -      }
 -      else if (SERIALCONN1_P (p))
 -      {
 -        write_string ("running", -1);
 -      }
 -      else
 -      Fprinc (symbol, Qnil);
 -
 -      if (EQ (symbol, Qexit))
 -      {
 -        Lisp_Object tem;
 -        tem = Fcar (Fcdr (p->status));
 -        if (XFASTINT (tem))
 -          {
 -            sprintf (tembuf, " %d", (int) XFASTINT (tem));
 -            write_string (tembuf, -1);
 -          }
 -      }
 -
 -      if (EQ (symbol, Qsignal) || EQ (symbol, Qexit) || EQ (symbol, Qclosed))
 -      exited++;
 -
 -      Findent_to (i_buffer, minspace);
 -      if (NILP (p->buffer))
 -      insert_string ("(none)");
 -      else if (NILP (XBUFFER (p->buffer)->name))
 -      insert_string ("(Killed)");
 -      else
 -      Finsert (1, &XBUFFER (p->buffer)->name);
 -
 -      if (!NILP (i_tty))
 -      {
 -        Findent_to (i_tty, minspace);
 -        if (STRINGP (p->tty_name))
 -          Finsert (1, &p->tty_name);
 -      }
 -
 -      Findent_to (i_command, minspace);
 -
 -      if (EQ (p->status, Qlisten))
 -      {
 -        Lisp_Object port = Fplist_get (p->childp, QCservice);
 -        if (INTEGERP (port))
 -          port = Fnumber_to_string (port);
 -        if (NILP (port))
 -          port = Fformat_network_address (Fplist_get (p->childp, QClocal), Qnil);
 -        sprintf (tembuf, "(network %s server on %s)\n",
 -                 (DATAGRAM_CHAN_P (p->infd) ? "datagram" : "stream"),
 -                 (STRINGP (port) ? (char *)SDATA (port) : "?"));
 -        insert_string (tembuf);
 -      }
 -      else if (NETCONN1_P (p))
 -      {
 -        /* For a local socket, there is no host name,
 -           so display service instead.  */
 -        Lisp_Object host = Fplist_get (p->childp, QChost);
 -        if (!STRINGP (host))
 -          {
 -            host = Fplist_get (p->childp, QCservice);
 -            if (INTEGERP (host))
 -              host = Fnumber_to_string (host);
 -          }
 -        if (NILP (host))
 -          host = Fformat_network_address (Fplist_get (p->childp, QCremote), Qnil);
 -        sprintf (tembuf, "(network %s connection to %s)\n",
 -                 (DATAGRAM_CHAN_P (p->infd) ? "datagram" : "stream"),
 -                 (STRINGP (host) ? (char *)SDATA (host) : "?"));
 -        insert_string (tembuf);
 -      }
 -      else if (SERIALCONN1_P (p))
 -      {
 -        Lisp_Object port = Fplist_get (p->childp, QCport);
 -        Lisp_Object speed = Fplist_get (p->childp, QCspeed);
 -        insert_string ("(serial port ");
 -        if (STRINGP (port))
 -          insert_string (SDATA (port));
 -        else
 -          insert_string ("?");
 -        if (INTEGERP (speed))
 -          {
 -            sprintf (tembuf, " at %ld b/s", (long) XINT (speed));
 -            insert_string (tembuf);
 -          }
 -        insert_string (")\n");
 -      }
 -      else
 -      {
 -        tem = p->command;
 -        while (1)
 -          {
 -            tem1 = Fcar (tem);
 -            if (NILP (tem1))
 -              break;
 -            Finsert (1, &tem1);
 -            tem = Fcdr (tem);
 -            if (NILP (tem))
 -              break;
 -            insert_string (" ");
 -          }
 -        insert_string ("\n");
 -       }
 -    }
 -  if (exited)
 -    {
 -      status_notify (NULL);
 -      redisplay_preserve_echo_area (13);
 -    }
 -  return Qnil;
 -}
 -
 -DEFUN ("list-processes", Flist_processes, Slist_processes, 0, 1, "P",
 -       doc: /* Display a list of all processes.
 -If optional argument QUERY-ONLY is non-nil, only processes with
 -the query-on-exit flag set will be listed.
 -Any process listed as exited or signaled is actually eliminated
 -after the listing is made.  */)
 -     (query_only)
 -     Lisp_Object query_only;
 -{
 -  internal_with_output_to_temp_buffer ("*Process List*",
 -                                     list_processes_1, query_only);
 -  return Qnil;
 -}
 -
 -DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0,
 -       doc: /* Return a list of all processes.  */)
 -     ()
 -{
 -  return Fmapcar (Qcdr, Vprocess_alist);
 -}
 -\f
 -/* Starting asynchronous inferior processes.  */
 -
 -static Lisp_Object start_process_unwind ();
 -
 -DEFUN ("start-process", Fstart_process, Sstart_process, 3, MANY, 0,
 -       doc: /* Start a program in a subprocess.  Return the process object for it.
 -NAME is name for process.  It is modified if necessary to make it unique.
 -BUFFER is the buffer (or buffer name) to associate with the process.
 -
 -Process output (both standard output and standard error streams) goes
 -at end of BUFFER, unless you specify an output stream or filter
 -function to handle the output.  BUFFER may also be nil, meaning that
 -this process is not associated with any buffer.
 -
 -PROGRAM is the program file name.  It is searched for in `exec-path'
 -(which see).  If nil, just associate a pty with the buffer.  Remaining
 -arguments are strings to give program as arguments.
 -
 -If you want to separate standard output from standard error, invoke
 -the command through a shell and redirect one of them using the shell
 -syntax.
 -
 -usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS)  */)
 -     (nargs, args)
 -     int nargs;
 -     register Lisp_Object *args;
 -{
 -  Lisp_Object buffer, name, program, proc, current_dir, tem;
 -  register unsigned char **new_argv;
 -  register int i;
 -  int count = SPECPDL_INDEX ();
 -
 -  buffer = args[1];
 -  if (!NILP (buffer))
 -    buffer = Fget_buffer_create (buffer);
 -
 -  /* Make sure that the child will be able to chdir to the current
 -     buffer's current directory, or its unhandled equivalent.  We
 -     can't just have the child check for an error when it does the
 -     chdir, since it's in a vfork.
 -
 -     We have to GCPRO around this because Fexpand_file_name and
 -     Funhandled_file_name_directory might call a file name handling
 -     function.  The argument list is protected by the caller, so all
 -     we really have to worry about is buffer.  */
 -  {
 -    struct gcpro gcpro1, gcpro2;
 -
 -    current_dir = current_buffer->directory;
 +    current_dir = BVAR (current_buffer, directory);
  
      GCPRO2 (buffer, current_dir);
  
      current_dir = expand_and_dir_to_file (current_dir, Qnil);
      if (NILP (Ffile_accessible_directory_p (current_dir)))
        report_file_error ("Setting current directory",
 -                       Fcons (current_buffer->directory, Qnil));
 +                       Fcons (BVAR (current_buffer, directory), Qnil));
  
      UNGCPRO;
    }
    XPROCESS (proc)->filter = Qnil;
    XPROCESS (proc)->command = Flist (nargs - 2, args + 2);
  
 +#ifdef HAVE_GNUTLS
 +  /* AKA GNUTLS_INITSTAGE(proc).  */
 +  XPROCESS (proc)->gnutls_initstage = GNUTLS_STAGE_EMPTY;
 +  XPROCESS (proc)->gnutls_cred_type = Qnil;
 +#endif
 +
  #ifdef ADAPTIVE_READ_BUFFERING
    XPROCESS (proc)->adaptive_read_buffering
      = (NILP (Vprocess_adaptive_read_buffering) ? 0
    }
  
  
 -  XPROCESS (proc)->decoding_buf = make_uninit_string (0);
 +  XPROCESS (proc)->decoding_buf = empty_unibyte_string;
    XPROCESS (proc)->decoding_carryover = 0;
 -  XPROCESS (proc)->encoding_buf = make_uninit_string (0);
 +  XPROCESS (proc)->encoding_buf = empty_unibyte_string;
  
    XPROCESS (proc)->inherit_coding_system_flag
      = !(NILP (buffer) || !inherit_process_coding_system);
        new_argv = (unsigned char **) alloca ((nargs - 1) * sizeof (char *));
        new_argv[nargs - 2] = 0;
  
 -      for (i = nargs - 3; i >= 0; i--)
 +      for (i = nargs - 2; i-- != 0; )
        {
          new_argv[i] = SDATA (XCAR (tem));
          tem = XCDR (tem);
     an error and the process wasn't started successfully, so we should
     remove it from the process list.  */
  static Lisp_Object
 -start_process_unwind (proc)
 -     Lisp_Object proc;
 +start_process_unwind (Lisp_Object proc)
  {
    if (!PROCESSP (proc))
      abort ();
  }
  
  static void
 -create_process_1 (timer)
 -     struct atimer *timer;
 +create_process_1 (struct atimer *timer)
  {
    /* Nothing to do.  */
  }
  
  
 -#if 0  /* This doesn't work; see the note before sigchld_handler.  */
 -#ifdef USG
 -#ifdef SIGCHLD
 -/* Mimic blocking of signals on system V, which doesn't really have it.  */
 -
 -/* Nonzero means we got a SIGCHLD when it was supposed to be blocked.  */
 -int sigchld_deferred;
 -
 -SIGTYPE
 -create_process_sigchld ()
 -{
 -  signal (SIGCHLD, create_process_sigchld);
 -
 -  sigchld_deferred = 1;
 -}
 -#endif
 -#endif
 -#endif
 -
  void
 -create_process (process, new_argv, current_dir)
 -     Lisp_Object process;
 -     char **new_argv;
 -     Lisp_Object current_dir;
 +create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir)
  {
    int inchannel, outchannel;
    pid_t pid;
  #if !defined (WINDOWSNT) && defined (FD_CLOEXEC)
    int wait_child_setup[2];
  #endif
 -#ifdef POSIX_SIGNALS
    sigset_t procmask;
    sigset_t blocked;
    struct sigaction sigint_action;
    struct sigaction sigquit_action;
 +  struct sigaction sigpipe_action;
  #ifdef AIX
    struct sigaction sighup_action;
  #endif
 -#else /* !POSIX_SIGNALS */
 -#if 0
 -#ifdef SIGCHLD
 -  SIGTYPE (*sigchld)();
 -#endif
 -#endif /* 0 */
 -#endif /* !POSIX_SIGNALS */
    /* Use volatile to protect variables from being clobbered by longjmp.  */
    volatile int forkin, forkout;
    volatile int pty_flag = 0;
      }
  #endif
  
 -#if 0
 -  /* Replaced by close_process_descs */
 -  set_exclusive_use (inchannel);
 -  set_exclusive_use (outchannel);
 -#endif
 -
  #ifdef O_NONBLOCK
    fcntl (inchannel, F_SETFL, O_NONBLOCK);
    fcntl (outchannel, F_SETFL, O_NONBLOCK);
  
    /* Delay interrupts until we have a chance to store
       the new fork's pid in its process structure */
 -#ifdef POSIX_SIGNALS
    sigemptyset (&blocked);
  #ifdef SIGCHLD
    sigaddset (&blocked, SIGCHLD);
       and record the current handlers so they can be restored later.  */
    sigaddset (&blocked, SIGINT );  sigaction (SIGINT , 0, &sigint_action );
    sigaddset (&blocked, SIGQUIT);  sigaction (SIGQUIT, 0, &sigquit_action);
 +  sigaddset (&blocked, SIGPIPE);  sigaction (SIGPIPE, 0, &sigpipe_action);
  #ifdef AIX
    sigaddset (&blocked, SIGHUP );  sigaction (SIGHUP , 0, &sighup_action );
  #endif
  #endif /* HAVE_WORKING_VFORK */
    sigprocmask (SIG_BLOCK, &blocked, &procmask);
 -#else /* !POSIX_SIGNALS */
 -#ifdef SIGCHLD
 -#if defined (BSD_SYSTEM) || defined (HPUX)
 -  sigsetmask (sigmask (SIGCHLD));
 -#else /* ordinary USG */
 -#if 0
 -  sigchld_deferred = 0;
 -  sigchld = signal (SIGCHLD, create_process_sigchld);
 -#endif
 -#endif /* ordinary USG */
 -#endif /* SIGCHLD */
 -#endif /* !POSIX_SIGNALS */
  
    FD_SET (inchannel, &input_wait_mask);
    FD_SET (inchannel, &non_keyboard_wait_mask);
      /* child_setup must clobber environ on systems with true vfork.
         Protect it from permanent change.  */
      char **save_environ = environ;
 -
 -    current_dir = ENCODE_FILE (current_dir);
 +    volatile Lisp_Object encoded_current_dir = ENCODE_FILE (current_dir);
  
  #ifndef WINDOWSNT
      pid = vfork ();
           process_set_signal to fail on SGI when using a pipe.  */
        setsid ();
        /* Make the pty's terminal the controlling terminal.  */
 -      if (pty_flag)
 +      if (pty_flag && xforkin >= 0)
          {
  #ifdef TIOCSCTTY
            /* We ignore the return value
        setpgrp ();
  #endif /* USG */
  #endif /* not HAVE_SETSID */
 -#if defined (HAVE_TERMIOS) && defined (LDISC1)
 +#if defined (LDISC1)
        if (pty_flag && xforkin >= 0)
          {
            struct termios t;
            /* I wonder: would just ioctl (0, TIOCNOTTY, 0) work here?
               I can't test it since I don't have 4.3.  */
            int j = emacs_open ("/dev/tty", O_RDWR, 0);
 -          ioctl (j, TIOCNOTTY, 0);
 -          emacs_close (j);
 +          if (j >= 0)
 +            {
 +              ioctl (j, TIOCNOTTY, 0);
 +              emacs_close (j);
 +            }
  #ifndef USG
            /* In order to get a controlling terminal on some versions
               of BSD, it is necessary to put the process in pgrp 0
  
        signal (SIGINT, SIG_DFL);
        signal (SIGQUIT, SIG_DFL);
 +      /* GConf causes us to ignore SIGPIPE, make sure it is restored
 +         in the child.  */
 +      signal (SIGPIPE, SIG_DFL);
  
        /* Stop blocking signals in the child.  */
 -#ifdef POSIX_SIGNALS
        sigprocmask (SIG_SETMASK, &procmask, 0);
 -#else /* !POSIX_SIGNALS */
 -#ifdef SIGCHLD
 -#if defined (BSD_SYSTEM) || defined (HPUX)
 -      sigsetmask (SIGEMPTYMASK);
 -#else /* ordinary USG */
 -#if 0
 -      signal (SIGCHLD, sigchld);
 -#endif
 -#endif /* ordinary USG */
 -#endif /* SIGCHLD */
 -#endif /* !POSIX_SIGNALS */
  
        if (pty_flag)
          child_setup_tty (xforkout);
  #ifdef WINDOWSNT
        pid = child_setup (xforkin, xforkout, xforkout,
 -                         new_argv, 1, current_dir);
 +                         new_argv, 1, encoded_current_dir);
  #else  /* not WINDOWSNT */
  #ifdef FD_CLOEXEC
        emacs_close (wait_child_setup[0]);
  #endif
        child_setup (xforkin, xforkout, xforkout,
 -                   new_argv, 1, current_dir);
 +                   new_argv, 1, encoded_current_dir);
  #endif /* not WINDOWSNT */
        }
      environ = save_environ;
  
    /* Restore the signal state whether vfork succeeded or not.
       (We will signal an error, below, if it failed.)  */
 -#ifdef POSIX_SIGNALS
  #ifdef HAVE_WORKING_VFORK
    /* Restore the parent's signal handlers.  */
    sigaction (SIGINT, &sigint_action, 0);
    sigaction (SIGQUIT, &sigquit_action, 0);
 +  sigaction (SIGPIPE, &sigpipe_action, 0);
  #ifdef AIX
    sigaction (SIGHUP, &sighup_action, 0);
  #endif
  #endif /* HAVE_WORKING_VFORK */
    /* Stop blocking signals in the parent.  */
    sigprocmask (SIG_SETMASK, &procmask, 0);
 -#else /* !POSIX_SIGNALS */
 -#ifdef SIGCHLD
 -#if defined (BSD_SYSTEM) || defined (HPUX)
 -  sigsetmask (SIGEMPTYMASK);
 -#else /* ordinary USG */
 -#if 0
 -  signal (SIGCHLD, sigchld);
 -  /* Now really handle any of these signals
 -     that came in during this function.  */
 -  if (sigchld_deferred)
 -    kill (getpid (), SIGCHLD);
 -#endif
 -#endif /* ordinary USG */
 -#endif /* SIGCHLD */
 -#endif /* !POSIX_SIGNALS */
  
    /* Now generate the error if vfork failed.  */
    if (pid < 0)
  }
  
  void
 -create_pty (process)
 -     Lisp_Object process;
 +create_pty (Lisp_Object process)
  {
    int inchannel, outchannel;
 -
 -  /* Use volatile to protect variables from being clobbered by longjmp.  */
 -  volatile int forkin, forkout;
 -  volatile int pty_flag = 0;
 +  int pty_flag = 0;
  
    inchannel = outchannel = -1;
  
  #ifdef O_NOCTTY
        /* Don't let this terminal become our controlling terminal
         (in case we don't have one).  */
 -      forkout = forkin = emacs_open (pty_name, O_RDWR | O_NOCTTY, 0);
 +      int forkout = emacs_open (pty_name, O_RDWR | O_NOCTTY, 0);
  #else
 -      forkout = forkin = emacs_open (pty_name, O_RDWR, 0);
 +      int forkout = emacs_open (pty_name, O_RDWR, 0);
  #endif
 -      if (forkin < 0)
 +      if (forkout < 0)
        report_file_error ("Opening pty", Qnil);
  #if defined (DONT_REOPEN_PTY)
        /* In the case that vfork is defined as fork, the parent process
         tty options setup.  So we setup tty before forking.  */
        child_setup_tty (forkout);
  #endif /* DONT_REOPEN_PTY */
 -#else
 -      forkin = forkout = -1;
  #endif /* not USG, or USG_SUBTTY_WORKS */
        pty_flag = 1;
      }
  }
  
  \f
 -#ifdef HAVE_SOCKETS
 -
  /* Convert an internal struct sockaddr to a lisp object (vector or string).
     The address family of sa is not included in the result.  */
  
  static Lisp_Object
 -conv_sockaddr_to_lisp (sa, len)
 -     struct sockaddr *sa;
 -     int len;
 +conv_sockaddr_to_lisp (struct sockaddr *sa, int len)
  {
    Lisp_Object address;
    int i;
    /* Workaround for a bug in getsockname on BSD: Names bound to
       sockets in the UNIX domain are inaccessible; getsockname returns
       a zero length name.  */
 -  if (len < OFFSETOF (struct sockaddr, sa_family) + sizeof (sa->sa_family))
 +  if (len < offsetof (struct sockaddr, sa_family) + sizeof (sa->sa_family))
      return empty_unibyte_string;
  
    switch (sa->sa_family)
        }
  #endif
      default:
 -      len -= OFFSETOF (struct sockaddr, sa_family) + sizeof (sa->sa_family);
 +      len -= offsetof (struct sockaddr, sa_family) + sizeof (sa->sa_family);
        address = Fcons (make_number (sa->sa_family),
                       Fmake_vector (make_number (len), Qnil));
        p = XVECTOR (XCDR (address));
  /* Get family and required size for sockaddr structure to hold ADDRESS.  */
  
  static int
 -get_lisp_to_sockaddr_size (address, familyp)
 -     Lisp_Object address;
 -     int *familyp;
 +get_lisp_to_sockaddr_size (Lisp_Object address, int *familyp)
  {
    register struct Lisp_Vector *p;
  
     we return after zeroing *SA.  */
  
  static void
 -conv_lisp_to_sockaddr (family, address, sa, len)
 -     int family;
 -     Lisp_Object address;
 -     struct sockaddr *sa;
 -     int len;
 +conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int len)
  {
    register struct Lisp_Vector *p;
    register unsigned char *cp = NULL;
    register int i;
  
 -  bzero (sa, len);
 +  memset (sa, 0, len);
  
    if (VECTORP (address))
      {
  DEFUN ("process-datagram-address", Fprocess_datagram_address, Sprocess_datagram_address,
         1, 1, 0,
         doc: /* Get the current datagram address associated with PROCESS.  */)
 -       (process)
 -       Lisp_Object process;
 +  (Lisp_Object process)
  {
    int channel;
  
@@@ -2187,7 -2608,8 +2187,7 @@@ DEFUN ("set-process-datagram-address", 
         2, 2, 0,
         doc: /* Set the datagram address for PROCESS to ADDRESS.
  Returns nil upon error setting address, ADDRESS otherwise.  */)
 -       (process, address)
 -       Lisp_Object process, address;
 +  (Lisp_Object process, Lisp_Object address)
  {
    int channel;
    int family, len;
  static const struct socket_options {
    /* The name of this option.  Should be lowercase version of option
       name without SO_ prefix. */
 -  char *name;
 +  const char *name;
    /* Option level SOL_... */
    int optlevel;
    /* Option number SO_... */
  */
  
  static int
 -set_socket_option (s, opt, val)
 -     int s;
 -     Lisp_Object opt, val;
 +set_socket_option (int s, Lisp_Object opt, Lisp_Object val)
  {
    char *name;
    const struct socket_options *sopt;
  
    CHECK_SYMBOL (opt);
  
 -  name = (char *) SDATA (SYMBOL_NAME (opt));
 +  name = SSDATA (SYMBOL_NAME (opt));
    for (sopt = socket_options; sopt->name; sopt++)
      if (strcmp (name, sopt->name) == 0)
        break;
        /* This is broken, at least in the Linux 2.4 kernel.
           To unbind, the arg must be a zero integer, not the empty string.
           This should work on all systems.   KFS. 2003-09-23.  */
 -      bzero (devname, sizeof devname);
 +      memset (devname, 0, sizeof devname);
        if (STRINGP (val))
          {
 -          char *arg = (char *) SDATA (val);
 +          char *arg = SSDATA (val);
            int len = min (strlen (arg), IFNAMSIZ);
 -          bcopy (arg, devname, len);
 +          memcpy (devname, arg, len);
          }
        else if (!NILP (val))
          error ("Bad option value for %s", name);
@@@ -2348,7 -2772,9 +2348,7 @@@ DEFUN ("set-network-process-option"
  See `make-network-process' for a list of options and values.
  If optional fourth arg NO-ERROR is non-nil, don't signal an error if
  OPTION is not a supported option, return nil instead; otherwise return t.  */)
 -     (process, option, value, no_error)
 -     Lisp_Object process, option, value;
 -     Lisp_Object no_error;
 +  (Lisp_Object process, Lisp_Object option, Lisp_Object value, Lisp_Object no_error)
  {
    int s;
    struct Lisp_Process *p;
  }
  
  \f
 -#ifdef HAVE_SERIAL
  DEFUN ("serial-process-configure",
         Fserial_process_configure,
         Sserial_process_configure,
@@@ -2434,7 -2861,9 +2434,7 @@@ Examples
  \(serial-process-configure :port "\\\\.\\COM13" :bytesize 7)
  
  usage: (serial-process-configure &rest ARGS)  */)
 -     (nargs, args)
 -     int nargs;
 -     Lisp_Object *args;
 +  (size_t nargs, Lisp_Object *args)
  {
    struct Lisp_Process *p;
    Lisp_Object contact = Qnil;
  }
  
  /* Used by make-serial-process to recover from errors.  */
 -Lisp_Object make_serial_process_unwind (Lisp_Object proc)
 +static Lisp_Object
 +make_serial_process_unwind (Lisp_Object proc)
  {
    if (!PROCESSP (proc))
      abort ();
@@@ -2552,7 -2980,9 +2552,7 @@@ Examples
  \(make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil)
  
  usage:  (make-serial-process &rest ARGS)  */)
 -     (nargs, args)
 -     int nargs;
 -     Lisp_Object *args;
 +  (size_t nargs, Lisp_Object *args)
  {
    int fd = -1;
    Lisp_Object proc, contact, port;
    record_unwind_protect (make_serial_process_unwind, proc);
    p = XPROCESS (proc);
  
 -  fd = serial_open ((char*) SDATA (port));
 +  fd = serial_open (SSDATA (port));
    p->infd = fd;
    p->outfd = fd;
    if (fd > max_process_desc)
      }
    else if (!NILP (Vcoding_system_for_read))
      val = Vcoding_system_for_read;
 -  else if ((!NILP (buffer) && NILP (XBUFFER (buffer)->enable_multibyte_characters))
 -         || (NILP (buffer) && NILP (buffer_defaults.enable_multibyte_characters)))
 +  else if ((!NILP (buffer) && NILP (BVAR (XBUFFER (buffer), enable_multibyte_characters)))
 +         || (NILP (buffer) && NILP (BVAR (&buffer_defaults, enable_multibyte_characters))))
      val = Qnil;
    p->decode_coding_system = val;
  
      }
    else if (!NILP (Vcoding_system_for_write))
      val = Vcoding_system_for_write;
 -  else if ((!NILP (buffer) && NILP (XBUFFER (buffer)->enable_multibyte_characters))
 -         || (NILP (buffer) && NILP (buffer_defaults.enable_multibyte_characters)))
 +  else if ((!NILP (buffer) && NILP (BVAR (XBUFFER (buffer), enable_multibyte_characters)))
 +         || (NILP (buffer) && NILP (BVAR (&buffer_defaults, enable_multibyte_characters))))
      val = Qnil;
    p->encode_coding_system = val;
  
    setup_process_coding_systems (proc);
 -  p->decoding_buf = make_uninit_string (0);
 +  p->decoding_buf = empty_unibyte_string;
    p->decoding_carryover = 0;
 -  p->encoding_buf = make_uninit_string (0);
 +  p->encoding_buf = empty_unibyte_string;
    p->inherit_coding_system_flag
      = !(!NILP (tem) || NILP (buffer) || !inherit_process_coding_system);
  
 -  Fserial_process_configure(nargs, args);
 +  Fserial_process_configure (nargs, args);
  
    specpdl_ptr = specpdl + specpdl_count;
  
    UNGCPRO;
    return proc;
  }
 -#endif /* HAVE_SERIAL  */
  
  /* Create a network stream/datagram client/server process.  Treated
     exactly like a normal process when reading and writing.  Primary
@@@ -2830,7 -3261,9 +2830,7 @@@ The original argument list, modified wi
  information, is available via the `process-contact' function.
  
  usage: (make-network-process &rest ARGS)  */)
 -     (nargs, args)
 -     int nargs;
 -     Lisp_Object *args;
 +  (size_t nargs, Lisp_Object *args)
  {
    Lisp_Object proc;
    Lisp_Object contact;
  #ifdef HAVE_GETADDRINFO
    struct addrinfo ai, *res, *lres;
    struct addrinfo hints;
 -  char *portstring, portbuf[128];
 +  const char *portstring;
 +  char portbuf[128];
  #else /* HAVE_GETADDRINFO */
    struct _emacs_addrinfo
    {
    /* :service SERVICE -- string, integer (port number), or t (random port).  */
    service = Fplist_get (contact, QCservice);
  
 +  /* :host HOST -- hostname, ip address, or 'local for localhost.  */
 +  host = Fplist_get (contact, QChost);
 +  if (!NILP (host))
 +    {
 +      if (EQ (host, Qlocal))
 +      /* Depending on setup, "localhost" may map to different IPv4 and/or
 +         IPv6 addresses, so it's better to be explicit.  (Bug#6781) */
 +      host = build_string ("127.0.0.1");
 +      CHECK_STRING (host);
 +    }
 +
  #ifdef HAVE_LOCAL_SOCKETS
    if (family == AF_LOCAL)
      {
 -      /* Host is not used.  */
 -      host = Qnil;
 +      if (!NILP (host))
 +      {
 +        message (":family local ignores the :host \"%s\" property",
 +                 SDATA (host));
 +        contact = Fplist_put (contact, QChost, Qnil);
 +        host = Qnil;
 +      }
        CHECK_STRING (service);
 -      bzero (&address_un, sizeof address_un);
 +      memset (&address_un, 0, sizeof address_un);
        address_un.sun_family = AF_LOCAL;
 -      strncpy (address_un.sun_path, SDATA (service), sizeof address_un.sun_path);
 +      strncpy (address_un.sun_path, SSDATA (service), sizeof address_un.sun_path);
        ai.ai_addr = (struct sockaddr *) &address_un;
        ai.ai_addrlen = sizeof address_un;
        goto open_socket;
      }
  #endif
  
 -  /* :host HOST -- hostname, ip address, or 'local for localhost.  */
 -  host = Fplist_get (contact, QChost);
 -  if (!NILP (host))
 -    {
 -      if (EQ (host, Qlocal))
 -      host = build_string ("localhost");
 -      CHECK_STRING (host);
 -    }
 -
    /* Slow down polling to every ten seconds.
       Some kernels have a bug which causes retrying connect to fail
       after a connect.  Polling can interfere with gethostbyname too.  */
        else
        {
          CHECK_STRING (service);
 -        portstring = SDATA (service);
 +        portstring = SSDATA (service);
        }
  
        immediate_quit = 1;
        res_init ();
  #endif
  
 -      ret = getaddrinfo (SDATA (host), portstring, &hints, &res);
 +      ret = getaddrinfo (SSDATA (host), portstring, &hints, &res);
        if (ret)
  #ifdef HAVE_GAI_STRERROR
 -      error ("%s/%s %s", SDATA (host), portstring, gai_strerror(ret));
 +      error ("%s/%s %s", SSDATA (host), portstring, gai_strerror (ret));
  #else
 -      error ("%s/%s getaddrinfo error %d", SDATA (host), portstring, ret);
 +      error ("%s/%s getaddrinfo error %d", SSDATA (host), portstring, ret);
  #endif
        immediate_quit = 0;
  
      {
        struct servent *svc_info;
        CHECK_STRING (service);
 -      svc_info = getservbyname (SDATA (service),
 +      svc_info = getservbyname (SSDATA (service),
                                (socktype == SOCK_DGRAM ? "udp" : "tcp"));
        if (svc_info == 0)
        error ("Unknown service: %s", SDATA (service));
        port = svc_info->s_port;
      }
  
 -  bzero (&address_in, sizeof address_in);
 +  memset (&address_in, 0, sizeof address_in);
    address_in.sin_family = family;
    address_in.sin_addr.s_addr = INADDR_ANY;
    address_in.sin_port = port;
  
        if (host_info_ptr)
        {
 -        bcopy (host_info_ptr->h_addr, (char *) &address_in.sin_addr,
 -               host_info_ptr->h_length);
 +        memcpy (&address_in.sin_addr, host_info_ptr->h_addr,
 +                host_info_ptr->h_length);
          family = host_info_ptr->h_addrtype;
          address_in.sin_family = family;
        }
        /* Attempt to interpret host as numeric inet address */
        {
          unsigned long numeric_addr;
 -        numeric_addr = inet_addr ((char *) SDATA (host));
 +        numeric_addr = inet_addr (SSDATA (host));
          if (numeric_addr == -1)
            error ("Unknown host \"%s\"", SDATA (host));
  
 -        bcopy ((char *)&numeric_addr, (char *) &address_in.sin_addr,
 -               sizeof (address_in.sin_addr));
 +        memcpy (&address_in.sin_addr, &numeric_addr,
 +                sizeof (address_in.sin_addr));
        }
  
      }
  
    for (lres = res; lres; lres = lres->ai_next)
      {
 -      int optn, optbits;
 +      size_t optn;
 +      int optbits;
  
 +#ifdef WINDOWSNT
      retry_connect:
 +#endif
  
        s = socket (lres->ai_family, lres->ai_socktype, lres->ai_protocol);
        if (s < 0)
          if (EQ (service, Qt))
            {
              struct sockaddr_in sa1;
 -            int len1 = sizeof (sa1);
 +            socklen_t len1 = sizeof (sa1);
              if (getsockname (s, (struct sockaddr *)&sa1, &len1) == 0)
                {
                  ((struct sockaddr_in *)(lres->ai_addr))->sin_port = sa1.sin_port;
          /* Unlike most other syscalls connect() cannot be called
             again.  (That would return EALREADY.)  The proper way to
             wait for completion is select(). */
 -        int sc, len;
 +        int sc;
 +        socklen_t len;
          SELECT_TYPE fdset;
        retry_select:
          FD_ZERO (&fdset);
          if (is_server)
            {
              Lisp_Object remote;
 -            bzero (datagram_address[s].sa, lres->ai_addrlen);
 +            memset (datagram_address[s].sa, 0, lres->ai_addrlen);
              if (remote = Fplist_get (contact, QCremote), !NILP (remote))
                {
                  int rfamily, rlen;
                }
            }
          else
 -          bcopy (lres->ai_addr, datagram_address[s].sa, lres->ai_addrlen);
 +          memcpy (datagram_address[s].sa, lres->ai_addr, lres->ai_addrlen);
        }
  #endif
        contact = Fplist_put (contact, QCaddress,
        if (!is_server)
        {
          struct sockaddr_in sa1;
 -        int len1 = sizeof (sa1);
 +        socklen_t len1 = sizeof (sa1);
          if (getsockname (s, (struct sockaddr *)&sa1, &len1) == 0)
            contact = Fplist_put (contact, QClocal,
 -                                conv_sockaddr_to_lisp (&sa1, len1));
 +                                conv_sockaddr_to_lisp ((struct sockaddr *)&sa1, len1));
        }
  #endif
      }
        if (!FD_ISSET (inch, &connect_wait_mask))
        {
          FD_SET (inch, &connect_wait_mask);
 +        FD_SET (inch, &write_mask);
          num_pending_connects++;
        }
      }
  
    {
      /* Setup coding systems for communicating with the network stream.  */
 -    struct gcpro gcpro1;
 +    struct gcpro inner_gcpro1;
      /* Qt denotes we have not yet called Ffind_operation_coding_system.  */
      Lisp_Object coding_systems = Qt;
 -    Lisp_Object args[5], val;
 +    Lisp_Object fargs[5], val;
  
      if (!NILP (tem))
        {
        }
      else if (!NILP (Vcoding_system_for_read))
        val = Vcoding_system_for_read;
 -    else if ((!NILP (buffer) && NILP (XBUFFER (buffer)->enable_multibyte_characters))
 -           || (NILP (buffer) && NILP (buffer_defaults.enable_multibyte_characters)))
 +    else if ((!NILP (buffer) && NILP (BVAR (XBUFFER (buffer), enable_multibyte_characters)))
 +           || (NILP (buffer) && NILP (BVAR (&buffer_defaults, enable_multibyte_characters))))
        /* We dare not decode end-of-line format by setting VAL to
         Qraw_text, because the existing Emacs Lisp libraries
         assume that they receive bare code including a sequene of
          coding_systems = Qnil;
        else
          {
 -          args[0] = Qopen_network_stream, args[1] = name,
 -            args[2] = buffer, args[3] = host, args[4] = service;
 -          GCPRO1 (proc);
 -          coding_systems = Ffind_operation_coding_system (5, args);
 -          UNGCPRO;
 +          fargs[0] = Qopen_network_stream, fargs[1] = name,
 +            fargs[2] = buffer, fargs[3] = host, fargs[4] = service;
 +          GCPRO1_VAR (proc, inner_gcpro);
 +          coding_systems = Ffind_operation_coding_system (5, fargs);
 +          UNGCPRO_VAR (inner_gcpro);
          }
        if (CONSP (coding_systems))
          val = XCAR (coding_systems);
        }
      else if (!NILP (Vcoding_system_for_write))
        val = Vcoding_system_for_write;
 -    else if (NILP (current_buffer->enable_multibyte_characters))
 +    else if (NILP (BVAR (current_buffer, enable_multibyte_characters)))
        val = Qnil;
      else
        {
              coding_systems = Qnil;
            else
              {
 -              args[0] = Qopen_network_stream, args[1] = name,
 -                args[2] = buffer, args[3] = host, args[4] = service;
 -              GCPRO1 (proc);
 -              coding_systems = Ffind_operation_coding_system (5, args);
 -              UNGCPRO;
 +              fargs[0] = Qopen_network_stream, fargs[1] = name,
 +                fargs[2] = buffer, fargs[3] = host, fargs[4] = service;
 +              GCPRO1_VAR (proc, inner_gcpro);
 +              coding_systems = Ffind_operation_coding_system (5, fargs);
 +              UNGCPRO_VAR (inner_gcpro);
              }
          }
        if (CONSP (coding_systems))
    }
    setup_process_coding_systems (proc);
  
 -  p->decoding_buf = make_uninit_string (0);
 +  p->decoding_buf = empty_unibyte_string;
    p->decoding_carryover = 0;
 -  p->encoding_buf = make_uninit_string (0);
 +  p->encoding_buf = empty_unibyte_string;
  
    p->inherit_coding_system_flag
      = !(!NILP (tem) || NILP (buffer) || !inherit_process_coding_system);
    UNGCPRO;
    return proc;
  }
 -#endif        /* HAVE_SOCKETS */
  
  \f
 -#if defined(HAVE_SOCKETS) && defined(HAVE_NET_IF_H) && defined(HAVE_SYS_IOCTL_H)
 +#if defined(HAVE_NET_IF_H)
  
  #ifdef SIOCGIFCONF
  DEFUN ("network-interface-list", Fnetwork_interface_list, Snetwork_interface_list, 0, 0, 0,
  Each element is a cons, the car of which is a string containing the
  interface name, and the cdr is the network address in internal
  format; see the description of ADDRESS in `make-network-process'.  */)
 -     ()
 +  (void)
  {
    struct ifconf ifconf;
    struct ifreq *ifreqs = NULL;
  
   again:
    ifaces += 25;
 -  buf_size = ifaces * sizeof(ifreqs[0]);
 +  buf_size = ifaces * sizeof (ifreqs[0]);
    ifreqs = (struct ifreq *)xrealloc(ifreqs, buf_size);
    if (!ifreqs)
      {
        char namebuf[sizeof (ifq->ifr_name) + 1];
        if (ifq->ifr_addr.sa_family != AF_INET)
        continue;
 -      bcopy (ifq->ifr_name, namebuf, sizeof (ifq->ifr_name));
 +      memcpy (namebuf, ifq->ifr_name, sizeof (ifq->ifr_name));
        namebuf[sizeof (ifq->ifr_name)] = 0;
        res = Fcons (Fcons (build_string (namebuf),
                          conv_sockaddr_to_lisp (&ifq->ifr_addr,
@@@ -3686,7 -4107,8 +3686,7 @@@ The return value is a list (ADDR BCAST 
  where ADDR is the layer 3 address, BCAST is the layer 3 broadcast address,
  NETMASK is the layer 3 network mask, HWADDR is the layer 2 addres, and
  FLAGS is the current flags of the interface.  */)
 -     (ifname)
 -     Lisp_Object ifname;
 +  (Lisp_Object ifname)
  {
    struct ifreq rq;
    Lisp_Object res = Qnil;
  
    CHECK_STRING (ifname);
  
 -  bzero (rq.ifr_name, sizeof rq.ifr_name);
 -  strncpy (rq.ifr_name, SDATA (ifname), sizeof (rq.ifr_name));
 +  memset (rq.ifr_name, 0, sizeof rq.ifr_name);
 +  strncpy (rq.ifr_name, SSDATA (ifname), sizeof (rq.ifr_name));
  
    s = socket (AF_INET, SOCK_STREAM, 0);
    if (s < 0)
        const struct ifflag_def *fp;
        int fnum;
  
 -      any++;
 +      any = 1;
        for (fp = ifflag_table; flags != 0 && fp->flag_sym; fp++)
        {
          if (flags & fp->flag_bit)
        register struct Lisp_Vector *p = XVECTOR (hwaddr);
        int n;
  
 -      any++;
 +      any = 1;
        for (n = 0; n < 6; n++)
        p->contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]);
        elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr);
  #if defined(SIOCGIFNETMASK) && (defined(HAVE_STRUCT_IFREQ_IFR_NETMASK) || defined(HAVE_STRUCT_IFREQ_IFR_ADDR))
    if (ioctl (s, SIOCGIFNETMASK, &rq) == 0)
      {
 -      any++;
 +      any = 1;
  #ifdef HAVE_STRUCT_IFREQ_IFR_NETMASK
        elt = conv_sockaddr_to_lisp (&rq.ifr_netmask, sizeof (rq.ifr_netmask));
  #else
  #if defined(SIOCGIFBRDADDR) && defined(HAVE_STRUCT_IFREQ_IFR_BROADADDR)
    if (ioctl (s, SIOCGIFBRDADDR, &rq) == 0)
      {
 -      any++;
 +      any = 1;
        elt = conv_sockaddr_to_lisp (&rq.ifr_broadaddr, sizeof (rq.ifr_broadaddr));
      }
  #endif
  #if defined(SIOCGIFADDR) && defined(HAVE_STRUCT_IFREQ_IFR_ADDR)
    if (ioctl (s, SIOCGIFADDR, &rq) == 0)
      {
 -      any++;
 +      any = 1;
        elt = conv_sockaddr_to_lisp (&rq.ifr_addr, sizeof (rq.ifr_addr));
      }
  #endif
    return any ? res : Qnil;
  }
  #endif
 -#endif        /* HAVE_SOCKETS */
 +#endif        /* defined(HAVE_NET_IF_H) */
  
  /* Turn off input and output for process PROC.  */
  
  void
 -deactivate_process (proc)
 -     Lisp_Object proc;
 +deactivate_process (Lisp_Object proc)
  {
    register int inchannel, outchannel;
    register struct Lisp_Process *p = XPROCESS (proc);
        if (FD_ISSET (inchannel, &connect_wait_mask))
        {
          FD_CLR (inchannel, &connect_wait_mask);
 +        FD_CLR (inchannel, &write_mask);
          if (--num_pending_connects < 0)
            abort ();
        }
      }
  }
  
 -/* Close all descriptors currently in use for communication
 -   with subprocess.  This is used in a newly-forked subprocess
 -   to get rid of irrelevant descriptors.  */
 -
 -void
 -close_process_descs ()
 -{
 -#ifndef WINDOWSNT
 -  int i;
 -  for (i = 0; i < MAXDESC; i++)
 -    {
 -      Lisp_Object process;
 -      process = chan_process[i];
 -      if (!NILP (process))
 -      {
 -        int in  = XPROCESS (process)->infd;
 -        int out = XPROCESS (process)->outfd;
 -        if (in >= 0)
 -          emacs_close (in);
 -        if (out >= 0 && in != out)
 -          emacs_close (out);
 -      }
 -    }
 -#endif
 -}
  \f
  DEFUN ("accept-process-output", Faccept_process_output, Saccept_process_output,
         0, 4, 0,
@@@ -3870,7 -4317,8 +3870,7 @@@ If optional fourth arg JUST-THIS-ONE i
  from PROCESS, suspending reading output from other processes.
  If JUST-THIS-ONE is an integer, don't run any timers either.
  Return non-nil if we received any output before the timeout expired.  */)
 -     (process, seconds, millisec, just_this_one)
 -     register Lisp_Object process, seconds, millisec, just_this_one;
 +  (register Lisp_Object process, Lisp_Object seconds, Lisp_Object millisec, Lisp_Object just_this_one)
  {
    int secs, usecs = 0;
  
  static int connect_counter = 0;
  
  static void
 -server_accept_connection (server, channel)
 -     Lisp_Object server;
 -     int channel;
 +server_accept_connection (Lisp_Object server, int channel)
  {
    Lisp_Object proc, caller, name, buffer;
    Lisp_Object contact, host, service;
      struct sockaddr_un un;
  #endif
    } saddr;
 -  int len = sizeof saddr;
 +  socklen_t len = sizeof saddr;
  
    s = accept (channel, &saddr.sa, &len);
  
        int i;
        args[0] = build_string ("%x:%x:%x:%x:%x:%x:%x:%x");
        for (i = 0; i < 8; i++)
 -        args[i+1] = make_number (ntohs(ip6[i]));
 +        args[i+1] = make_number (ntohs (ip6[i]));
        host = Fformat (9, args);
        service = make_number (ntohs (saddr.in.sin_port));
  
    p->encode_coding_system = ps->encode_coding_system;
    setup_process_coding_systems (proc);
  
 -  p->decoding_buf = make_uninit_string (0);
 +  p->decoding_buf = empty_unibyte_string;
    p->decoding_carryover = 0;
 -  p->encoding_buf = make_uninit_string (0);
 +  p->encoding_buf = empty_unibyte_string;
  
    p->inherit_coding_system_flag
      = (NILP (buffer) ? 0 : ps->inherit_coding_system_flag);
  static int waiting_for_user_input_p;
  
  static Lisp_Object
 -wait_reading_process_output_unwind (data)
 -     Lisp_Object data;
 +wait_reading_process_output_unwind (Lisp_Object data)
  {
    waiting_for_user_input_p = XINT (data);
    return Qnil;
  
  /* This is here so breakpoints can be put on it.  */
  static void
 -wait_reading_process_output_1 ()
 +wait_reading_process_output_1 (void)
  {
  }
  
  
  #ifndef select
  static INLINE int
 -select_wrapper (n, rfd, wfd, xfd, tmo)
 -  int n;
 -  SELECT_TYPE *rfd, *wfd, *xfd;
 -  EMACS_TIME *tmo;
 +select_wrapper (int n, fd_set *rfd, fd_set *wfd, fd_set *xfd, struct timeval *tmo)
  {
    return select (n, rfd, wfd, xfd, tmo);
  }
     Otherwise, return true if we received input from any process.  */
  
  int
 -wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
 -                           wait_for_cell, wait_proc, just_wait_proc)
 -     int time_limit, microsecs, read_kbd, do_display;
 -     Lisp_Object wait_for_cell;
 -     struct Lisp_Process *wait_proc;
 -     int just_wait_proc;
 +wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
 +                           int do_display,
 +                           Lisp_Object wait_for_cell,
 +                           struct Lisp_Process *wait_proc, int just_wait_proc)
  {
    register int channel, nfds;
    SELECT_TYPE Available;
 -#ifdef NON_BLOCKING_CONNECT
 -  SELECT_TYPE Connecting;
 -  int check_connect;
 -#endif
 +  SELECT_TYPE Writeok;
 +  int check_write;
    int check_delay, no_avail;
    int xerrno;
    Lisp_Object proc;
    int count = SPECPDL_INDEX ();
  
    FD_ZERO (&Available);
 -#ifdef NON_BLOCKING_CONNECT
 -  FD_ZERO (&Connecting);
 -#endif
 +  FD_ZERO (&Writeok);
 +
 +  if (time_limit == 0 && microsecs == 0 && wait_proc && !NILP (Vinhibit_quit)
 +      && !(CONSP (wait_proc->status) && EQ (XCAR (wait_proc->status), Qexit)))
 +    message ("Blocking call to accept-process-output with quit inhibited!!");
  
    /* If wait_proc is a process to watch, set wait_channel accordingly.  */
    if (wait_proc != NULL)
              struct buffer *old_buffer = current_buffer;
              Lisp_Object old_window = selected_window;
  
 -            timer_delay = timer_check (1);
 +            timer_delay = timer_check ();
  
              /* If a timer has run, this might have changed buffers
                 an alike.  Make read_key_sequence aware of that.  */
        if (update_tick != process_tick)
        {
          SELECT_TYPE Atemp;
 -#ifdef NON_BLOCKING_CONNECT
          SELECT_TYPE Ctemp;
 -#endif
  
            if (kbd_on_hold_p ())
              FD_ZERO (&Atemp);
            else
              Atemp = input_wait_mask;
 -
 -        IF_NON_BLOCKING_CONNECT (Ctemp = connect_wait_mask);
 +        Ctemp = write_mask;
  
          EMACS_SET_SECS_USECS (timeout, 0, 0);
 -        if ((select (max (max (max_process_desc, max_keyboard_desc),
 -                            max_gpm_desc) + 1,
 +        if ((select (max (max_process_desc, max_input_desc) + 1,
                       &Atemp,
  #ifdef NON_BLOCKING_CONNECT
                       (num_pending_connects > 0 ? &Ctemp : (SELECT_TYPE *)0),
            break;
          FD_SET (wait_proc->infd, &Available);
          check_delay = 0;
 -        IF_NON_BLOCKING_CONNECT (check_connect = 0);
 +          check_write = 0;
        }
        else if (!NILP (wait_for_cell))
        {
          Available = non_process_wait_mask;
          check_delay = 0;
 -        IF_NON_BLOCKING_CONNECT (check_connect = 0);
 +        check_write = 0;
        }
        else
        {
            Available = non_keyboard_wait_mask;
          else
            Available = input_wait_mask;
 -        IF_NON_BLOCKING_CONNECT (check_connect = (num_pending_connects > 0));
 +          Writeok = write_mask;
 +#ifdef SELECT_CANT_DO_WRITE_MASK
 +          check_write = 0;
 +#else
 +          check_write = 1;
 +#endif
          check_delay = wait_channel >= 0 ? 0 : process_output_delay_count;
        }
  
        }
        else
        {
 -#ifdef NON_BLOCKING_CONNECT
 -        if (check_connect)
 -          Connecting = connect_wait_mask;
 -#endif
  
  #ifdef ADAPTIVE_READ_BUFFERING
          /* Set the timeout for adaptive read buffering if any
  #else
          nfds = select
  #endif
 -                      (max (max (max_process_desc, max_keyboard_desc),
 -                            max_gpm_desc) + 1,
 -                       &Available,
 -#ifdef NON_BLOCKING_CONNECT
 -                       (check_connect ? &Connecting : (SELECT_TYPE *)0),
 -#else
 -                       (SELECT_TYPE *)0,
 -#endif
 -                       (SELECT_TYPE *)0, &timeout);
 +            (max (max_process_desc, max_input_desc) + 1,
 +             &Available,
 +             (check_write ? &Writeok : (SELECT_TYPE *)0),
 +             (SELECT_TYPE *)0, &timeout);
        }
  
        xerrno = errno;
        if (no_avail)
        {
          FD_ZERO (&Available);
 -        IF_NON_BLOCKING_CONNECT (check_connect = 0);
 +        check_write = 0;
        }
  
  #if 0 /* When polling is used, interrupt_input is 0,
        if (no_avail || nfds == 0)
        continue;
  
 -      /* Really FIRST_PROC_DESC should be 0 on Unix,
 -       but this is safer in the short run.  */
 +      for (channel = 0; channel <= max_input_desc; ++channel)
 +        {
 +          struct fd_callback_data *d = &fd_callback_info[channel];
 +          if (FD_ISSET (channel, &Available)
 +              && d->func != 0
 +              && (d->condition & FOR_READ) != 0)
 +            d->func (channel, d->data, 1);
 +          if (FD_ISSET (channel, &write_mask)
 +              && d->func != 0
 +              && (d->condition & FOR_WRITE) != 0)
 +            d->func (channel, d->data, 0);
 +          }
 +
        for (channel = 0; channel <= max_process_desc; channel++)
        {
          if (FD_ISSET (channel, &Available)
 -            && FD_ISSET (channel, &non_keyboard_wait_mask))
 +            && FD_ISSET (channel, &non_keyboard_wait_mask)
 +              && !FD_ISSET (channel, &non_process_wait_mask))
            {
              int nread;
  
                }
            }
  #ifdef NON_BLOCKING_CONNECT
 -        if (check_connect && FD_ISSET (channel, &Connecting)
 +        if (FD_ISSET (channel, &Writeok)
              && FD_ISSET (channel, &connect_wait_mask))
            {
              struct Lisp_Process *p;
  
              FD_CLR (channel, &connect_wait_mask);
 +              FD_CLR (channel, &write_mask);
              if (--num_pending_connects < 0)
                abort ();
  
              /* getsockopt(,,SO_ERROR,,) is said to hang on some systems.
                 So only use it on systems where it is known to work.  */
              {
 -              int xlen = sizeof(xerrno);
 -              if (getsockopt(channel, SOL_SOCKET, SO_ERROR, &xerrno, &xlen))
 +              socklen_t xlen = sizeof (xerrno);
 +              if (getsockopt (channel, SOL_SOCKET, SO_ERROR, &xerrno, &xlen))
                  xerrno = errno;
              }
  #else
              {
                struct sockaddr pname;
 -              int pnamelen = sizeof(pname);
 +              int pnamelen = sizeof (pname);
  
                /* If connection failed, getpeername will fail.  */
                xerrno = 0;
 -              if (getpeername(channel, &pname, &pnamelen) < 0)
 +              if (getpeername (channel, &pname, &pnamelen) < 0)
                  {
                    /* Obtain connect failure code through error slippage.  */
                    char dummy;
                    xerrno = errno;
 -                  if (errno == ENOTCONN && read(channel, &dummy, 1) < 0)
 +                  if (errno == ENOTCONN && read (channel, &dummy, 1) < 0)
                      xerrno = errno;
                  }
              }
  /* Given a list (FUNCTION ARGS...), apply FUNCTION to the ARGS.  */
  
  static Lisp_Object
 -read_process_output_call (fun_and_args)
 -     Lisp_Object fun_and_args;
 +read_process_output_call (Lisp_Object fun_and_args)
  {
    return apply1 (XCAR (fun_and_args), XCDR (fun_and_args));
  }
  
  static Lisp_Object
 -read_process_output_error_handler (error)
 -     Lisp_Object error;
 +read_process_output_error_handler (Lisp_Object error_val)
  {
 -  cmd_error_internal (error, "error in process filter: ");
 +  cmd_error_internal (error_val, "error in process filter: ");
    Vinhibit_quit = Qt;
    update_echo_area ();
    Fsleep_for (make_number (2), Qnil);
     for decoding.  */
  
  static int
 -read_process_output (proc, channel)
 -     Lisp_Object proc;
 -     register int channel;
 +read_process_output (Lisp_Object proc, register int channel)
  {
    register int nbytes;
    char *chars;
    register Lisp_Object outstream;
    register struct Lisp_Process *p = XPROCESS (proc);
 -  register int opoint;
 +  register EMACS_INT opoint;
    struct coding_system *coding = proc_decode_coding_system[channel];
    int carryover = p->decoding_carryover;
    int readmax = 4096;
 +  int count = SPECPDL_INDEX ();
 +  Lisp_Object odeactivate;
  
    chars = (char *) alloca (carryover + readmax);
    if (carryover)
      /* See the comment above.  */
 -    bcopy (SDATA (p->decoding_buf), chars, carryover);
 +    memcpy (chars, SDATA (p->decoding_buf), carryover);
  
  #ifdef DATAGRAM_SOCKETS
    /* We have a working select, so proc_buffered_char is always -1.  */
    if (DATAGRAM_CHAN_P (channel))
      {
 -      int len = datagram_address[channel].len;
 +      socklen_t len = datagram_address[channel].len;
        nbytes = recvfrom (channel, chars + carryover, readmax,
                         0, datagram_address[channel].sa, &len);
      }
    else
  #endif
 -  if (proc_buffered_char[channel] < 0)
      {
 -      nbytes = emacs_read (channel, chars + carryover, readmax);
 +      int buffered = 0 <= proc_buffered_char[channel];
 +      if (buffered)
 +      {
 +        chars[carryover] = proc_buffered_char[channel];
 +        proc_buffered_char[channel] = -1;
 +      }
 +#ifdef HAVE_GNUTLS
 +      if (XPROCESS (proc)->gnutls_p)
 +      nbytes = emacs_gnutls_read (channel, XPROCESS (proc),
 +                                  chars + carryover + buffered,
 +                                  readmax - buffered);
 +      else
 +#endif
 +      nbytes = emacs_read (channel, chars + carryover + buffered,
 +                           readmax - buffered);
  #ifdef ADAPTIVE_READ_BUFFERING
        if (nbytes > 0 && p->adaptive_read_buffering)
        {
                  delay += READ_OUTPUT_DELAY_INCREMENT * 2;
                }
            }
 -        else if (delay > 0 && (nbytes == readmax))
 +        else if (delay > 0 && nbytes == readmax - buffered)
            {
              delay -= READ_OUTPUT_DELAY_INCREMENT;
              if (delay == 0)
            }
        }
  #endif
 -    }
 -  else
 -    {
 -      chars[carryover] = proc_buffered_char[channel];
 -      proc_buffered_char[channel] = -1;
 -      nbytes = emacs_read (channel, chars + carryover + 1,  readmax - 1);
 -      if (nbytes < 0)
 -      nbytes = 1;
 -      else
 -      nbytes = nbytes + 1;
 +      nbytes += buffered;
 +      nbytes += buffered && nbytes <= 0;
      }
  
    p->decoding_carryover = 0;
    /* Now set NBYTES how many bytes we must decode.  */
    nbytes += carryover;
  
 +  odeactivate = Vdeactivate_mark;
 +  /* There's no good reason to let process filters change the current
 +     buffer, and many callers of accept-process-output, sit-for, and
 +     friends don't expect current-buffer to be changed from under them.  */
 +  record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ());
 +
    /* Read and dispose of the process output.  */
    outstream = p->filter;
    if (!NILP (outstream))
      {
 -      /* We inhibit quit here instead of just catching it so that
 -       hitting ^G when a filter happens to be running won't screw
 -       it up.  */
 -      int count = SPECPDL_INDEX ();
 -      Lisp_Object odeactivate;
 -      Lisp_Object obuffer, okeymap;
        Lisp_Object text;
        int outer_running_asynch_code = running_asynch_code;
        int waiting = waiting_for_user_input_p;
  
        /* No need to gcpro these, because all we do with them later
         is test them for EQness, and none of them should be a string.  */
 -      odeactivate = Vdeactivate_mark;
 +#if 0
 +      Lisp_Object obuffer, okeymap;
        XSETBUFFER (obuffer, current_buffer);
 -      okeymap = current_buffer->keymap;
 +      okeymap = BVAR (current_buffer, keymap);
 +#endif
  
 +      /* We inhibit quit here instead of just catching it so that
 +       hitting ^G when a filter happens to be running won't screw
 +       it up.  */
        specbind (Qinhibit_quit, Qt);
        specbind (Qlast_nonmenu_event, Qt);
  
         save the match data in a special nonrecursive fashion.  */
        running_asynch_code = 1;
  
 -      decode_coding_c_string (coding, chars, nbytes, Qt);
 +      decode_coding_c_string (coding, (unsigned char *) chars, nbytes, Qt);
        text = coding->dst_object;
        Vlast_coding_system_used = CODING_ID_NAME (coding->id);
        /* A new coding system might be found.  */
        {
          if (SCHARS (p->decoding_buf) < coding->carryover_bytes)
            p->decoding_buf = make_uninit_string (coding->carryover_bytes);
 -        bcopy (coding->carryover, SDATA (p->decoding_buf),
 -               coding->carryover_bytes);
 +        memcpy (SDATA (p->decoding_buf), coding->carryover,
 +                coding->carryover_bytes);
          p->decoding_carryover = coding->carryover_bytes;
        }
        if (SBYTES (text) > 0)
        restore_search_regs ();
        running_asynch_code = outer_running_asynch_code;
  
 -      /* Handling the process output should not deactivate the mark.  */
 -      Vdeactivate_mark = odeactivate;
 -
        /* Restore waiting_for_user_input_p as it was
         when we were called, in case the filter clobbered it.  */
        waiting_for_user_input_p = waiting;
           cause trouble (for example it would make sit_for return).  */
        if (waiting_for_user_input_p == -1)
          record_asynch_buffer_change ();
 -
 -      unbind_to (count, Qnil);
 -      return nbytes;
      }
  
    /* If no filter, write into buffer if it isn't dead.  */
 -  if (!NILP (p->buffer) && !NILP (XBUFFER (p->buffer)->name))
 +  else if (!NILP (p->buffer) && !NILP (BVAR (XBUFFER (p->buffer), name)))
      {
        Lisp_Object old_read_only;
 -      int old_begv, old_zv;
 -      int old_begv_byte, old_zv_byte;
 -      Lisp_Object odeactivate;
 -      int before, before_byte;
 -      int opoint_byte;
 +      EMACS_INT old_begv, old_zv;
 +      EMACS_INT old_begv_byte, old_zv_byte;
 +      EMACS_INT before, before_byte;
 +      EMACS_INT opoint_byte;
        Lisp_Object text;
        struct buffer *b;
 -      int count = SPECPDL_INDEX ();
 -
 -      odeactivate = Vdeactivate_mark;
  
 -      record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
        Fset_buffer (p->buffer);
        opoint = PT;
        opoint_byte = PT_BYTE;
 -      old_read_only = current_buffer->read_only;
 +      old_read_only = BVAR (current_buffer, read_only);
        old_begv = BEGV;
        old_zv = ZV;
        old_begv_byte = BEGV_BYTE;
        old_zv_byte = ZV_BYTE;
  
 -      current_buffer->read_only = Qnil;
 +      BVAR (current_buffer, read_only) = Qnil;
  
        /* Insert new output into buffer
         at the current end-of-output marker,
        if (! (BEGV <= PT && PT <= ZV))
        Fwiden ();
  
 -      decode_coding_c_string (coding, chars, nbytes, Qt);
 +      decode_coding_c_string (coding, (unsigned char *) chars, nbytes, Qt);
        text = coding->dst_object;
        Vlast_coding_system_used = CODING_ID_NAME (coding->id);
        /* A new coding system might be found.  See the comment in the
        {
          if (SCHARS (p->decoding_buf) < coding->carryover_bytes)
            p->decoding_buf = make_uninit_string (coding->carryover_bytes);
 -        bcopy (coding->carryover, SDATA (p->decoding_buf),
 -               coding->carryover_bytes);
 +        memcpy (SDATA (p->decoding_buf), coding->carryover,
 +                coding->carryover_bytes);
          p->decoding_carryover = coding->carryover_bytes;
        }
        /* Adjust the multibyteness of TEXT to that of the buffer.  */
 -      if (NILP (current_buffer->enable_multibyte_characters)
 +      if (NILP (BVAR (current_buffer, enable_multibyte_characters))
          != ! STRING_MULTIBYTE (text))
        text = (STRING_MULTIBYTE (text)
                ? Fstring_as_unibyte (text)
        if (old_begv != BEGV || old_zv != ZV)
        Fnarrow_to_region (make_number (old_begv), make_number (old_zv));
  
 -      /* Handling the process output should not deactivate the mark.  */
 -      Vdeactivate_mark = odeactivate;
  
 -      current_buffer->read_only = old_read_only;
 +      BVAR (current_buffer, read_only) = old_read_only;
        SET_PT_BOTH (opoint, opoint_byte);
 -      unbind_to (count, Qnil);
      }
 +  /* Handling the process output should not deactivate the mark.  */
 +  Vdeactivate_mark = odeactivate;
 +
 +  unbind_to (count, Qnil);
    return nbytes;
  }
 -
 -DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
 -       0, 0, 0,
 -       doc: /* Returns non-nil if Emacs is waiting for input from the user.
 -This is intended for use by asynchronous process output filters and sentinels.  */)
 -     ()
 -{
 -  return (waiting_for_user_input_p ? Qt : Qnil);
 -}
 -\f
 -/* Sending data to subprocess */
 +\f
 +/* Sending data to subprocess */
  
  jmp_buf send_process_frame;
  Lisp_Object process_sent_to;
  
 -SIGTYPE
 -send_process_trap ()
 +static void
 +send_process_trap (int ignore)
  {
    SIGNAL_THREAD_CHECK (SIGPIPE);
    sigunblock (sigmask (SIGPIPE));
     This function can evaluate Lisp code and can garbage collect.  */
  
  static void
 -send_process (proc, buf, len, object)
 -     volatile Lisp_Object proc;
 -     unsigned char *volatile buf;
 -     volatile int len;
 -     volatile Lisp_Object object;
 +send_process (volatile Lisp_Object proc, const char *volatile buf,
 +            volatile EMACS_INT len, volatile Lisp_Object object)
  {
    /* Use volatile to protect variables from being clobbered by longjmp.  */
    struct Lisp_Process *p = XPROCESS (proc);
 -  int rv;
 +  EMACS_INT rv;
    struct coding_system *coding;
    struct gcpro gcpro1;
 -  SIGTYPE (*volatile old_sigpipe) ();
 +  void (*volatile old_sigpipe) (int);
  
    GCPRO1 (object);
  
  
    if ((STRINGP (object) && STRING_MULTIBYTE (object))
        || (BUFFERP (object)
 -        && !NILP (XBUFFER (object)->enable_multibyte_characters))
 +        && !NILP (BVAR (XBUFFER (object), enable_multibyte_characters)))
        || EQ (object, Qt))
      {
        p->encode_coding_system
        coding->dst_object = Qt;
        if (BUFFERP (object))
        {
 -        int from_byte, from, to;
 -        int save_pt, save_pt_byte;
 +        EMACS_INT from_byte, from, to;
 +        EMACS_INT save_pt, save_pt_byte;
          struct buffer *cur = current_buffer;
  
          set_buffer_internal (XBUFFER (object));
          save_pt = PT, save_pt_byte = PT_BYTE;
  
 -        from_byte = PTR_BYTE_POS (buf);
 +        from_byte = PTR_BYTE_POS ((unsigned char *) buf);
          from = BYTE_TO_CHAR (from_byte);
          to = BYTE_TO_CHAR (from_byte + len);
          TEMP_SET_PT_BOTH (from, from_byte);
  
        len = coding->produced;
        object = coding->dst_object;
 -      buf = SDATA (object);
 +      buf = SSDATA (object);
      }
  
    if (pty_max_bytes == 0)
        process_sent_to = proc;
        while (len > 0)
        {
 -        int this = len;
 -
 -        /* Decide how much data we can send in one batch.
 -           Long lines need to be split into multiple batches.  */
 -        if (p->pty_flag)
 -          {
 -            /* Starting this at zero is always correct when not the first
 -               iteration because the previous iteration ended by sending C-d.
 -               It may not be correct for the first iteration
 -               if a partial line was sent in a separate send_process call.
 -               If that proves worth handling, we need to save linepos
 -               in the process object.  */
 -            int linepos = 0;
 -            unsigned char *ptr = (unsigned char *) buf;
 -            unsigned char *end = (unsigned char *) buf + len;
 -
 -            /* Scan through this text for a line that is too long.  */
 -            while (ptr != end && linepos < pty_max_bytes)
 -              {
 -                if (*ptr == '\n')
 -                  linepos = 0;
 -                else
 -                  linepos++;
 -                ptr++;
 -              }
 -            /* If we found one, break the line there
 -               and put in a C-d to force the buffer through.  */
 -            this = ptr - buf;
 -          }
 +        EMACS_INT this = len;
  
          /* Send this batch, using one or more write calls.  */
          while (this > 0)
            {
              int outfd = p->outfd;
 -            old_sigpipe = (SIGTYPE (*) ()) signal (SIGPIPE, send_process_trap);
 +            old_sigpipe = (void (*) (int)) signal (SIGPIPE, send_process_trap);
  #ifdef DATAGRAM_SOCKETS
              if (DATAGRAM_CHAN_P (outfd))
                {
 -                rv = sendto (outfd, (char *) buf, this,
 +                rv = sendto (outfd, buf, this,
                               0, datagram_address[outfd].sa,
                               datagram_address[outfd].len);
                  if (rv < 0 && errno == EMSGSIZE)
              else
  #endif
                {
 -                rv = emacs_write (outfd, (char *) buf, this);
 +#ifdef HAVE_GNUTLS
 +                if (XPROCESS (proc)->gnutls_p)
 +                  rv = emacs_gnutls_write (outfd,
 +                                           XPROCESS (proc),
 +                                           buf, this);
 +                else
 +#endif
 +                  rv = emacs_write (outfd, buf, this);
  #ifdef ADAPTIVE_READ_BUFFERING
                  if (p->read_output_delay > 0
                      && p->adaptive_read_buffering == 1)
                      /* Running filters might relocate buffers or strings.
                         Arrange to relocate BUF.  */
                      if (BUFFERP (object))
 -                      offset = BUF_PTR_BYTE_POS (XBUFFER (object), buf);
 +                      offset = BUF_PTR_BYTE_POS (XBUFFER (object),
 +                                                 (unsigned char *) buf);
                      else if (STRINGP (object))
 -                      offset = buf - SDATA (object);
 +                      offset = buf - SSDATA (object);
  
  #ifdef EMACS_HAS_USECS
                      wait_reading_process_output (0, 20000, 0, 0, Qnil, NULL, 0);
  #endif
  
                      if (BUFFERP (object))
 -                      buf = BUF_BYTE_ADDRESS (XBUFFER (object), offset);
 +                      buf = (char *) BUF_BYTE_ADDRESS (XBUFFER (object),
 +                                                       offset);
                      else if (STRINGP (object))
 -                      buf = offset + SDATA (object);
 +                      buf = offset + SSDATA (object);
  
                      rv = 0;
                    }
              len -= rv;
              this -= rv;
            }
 -
 -        /* If we sent just part of the string, put in an EOF (C-d)
 -           to force it through, before we send the rest.  */
 -        if (len > 0)
 -          Fprocess_send_eof (proc);
        }
      }
    else
@@@ -5502,10 -5991,11 +5502,10 @@@ Called from program, takes three argume
  If the region is more than 500 characters long,
  it is sent in several bunches.  This may happen even for shorter regions.
  Output from processes can arrive in between bunches.  */)
 -     (process, start, end)
 -     Lisp_Object process, start, end;
 +  (Lisp_Object process, Lisp_Object start, Lisp_Object end)
  {
    Lisp_Object proc;
 -  int start1, end1;
 +  EMACS_INT start1, end1;
  
    proc = get_process (process);
    validate_region (&start, &end);
  
    start1 = CHAR_TO_BYTE (XINT (start));
    end1 = CHAR_TO_BYTE (XINT (end));
 -  send_process (proc, BYTE_POS_ADDR (start1), end1 - start1,
 +  send_process (proc, (char *) BYTE_POS_ADDR (start1), end1 - start1,
                Fcurrent_buffer ());
  
    return Qnil;
@@@ -5529,12 -6019,13 +5529,12 @@@ nil, indicating the current buffer's pr
  If STRING is more than 500 characters long,
  it is sent in several bunches.  This may happen even for shorter strings.
  Output from processes can arrive in between bunches.  */)
 -     (process, string)
 -     Lisp_Object process, string;
 +  (Lisp_Object process, Lisp_Object string)
  {
    Lisp_Object proc;
    CHECK_STRING (string);
    proc = get_process (process);
 -  send_process (proc, SDATA (string),
 +  send_process (proc, SSDATA (string),
                SBYTES (string), string);
    return Qnil;
  }
  /* Return the foreground process group for the tty/pty that
     the process P uses.  */
  static int
 -emacs_get_tty_pgrp (p)
 -     struct Lisp_Process *p;
 +emacs_get_tty_pgrp (struct Lisp_Process *p)
  {
    int gid = -1;
  
        int fd;
        /* Some OS:es (Solaris 8/9) does not allow TIOCGPGRP from the
         master side.  Try the slave side.  */
 -      fd = emacs_open (SDATA (p->tty_name), O_RDONLY, 0);
 +      fd = emacs_open (SSDATA (p->tty_name), O_RDONLY, 0);
  
        if (fd != -1)
        {
@@@ -5570,7 -6062,8 +5570,7 @@@ DEFUN ("process-running-child-p", Fproc
         doc: /* Return t if PROCESS has given the terminal to a child.
  If the operating system does not make it possible to find out,
  return t unconditionally.  */)
 -     (process)
 -     Lisp_Object process;
 +  (Lisp_Object process)
  {
    /* Initialize in case ioctl doesn't exist or gives an error,
       in a way that will cause returning t.  */
     their uid, for which killpg would return an EPERM error.  */
  
  static void
 -process_send_signal (process, signo, current_group, nomsg)
 -     Lisp_Object process;
 -     int signo;
 -     Lisp_Object current_group;
 -     int nomsg;
 +process_send_signal (Lisp_Object process, int signo, Lisp_Object current_group,
 +                   int nomsg)
  {
    Lisp_Object proc;
    register struct Lisp_Process *p;
        /* If possible, send signals to the entire pgrp
         by sending an input character to it.  */
  
 -      /* TERMIOS is the latest and bestest, and seems most likely to
 -       work.  If the system has it, use it.  */
 -#ifdef HAVE_TERMIOS
        struct termios t;
        cc_t *sig_char = NULL;
  
  
        if (sig_char && *sig_char != CDISABLE)
        {
 -        send_process (proc, sig_char, 1, Qnil);
 +        send_process (proc, (char *) sig_char, 1, Qnil);
          return;
        }
        /* If we can't send the signal with a character,
         fall through and send it another way.  */
 -#else /* ! HAVE_TERMIOS */
 -
 -      /* On Berkeley descendants, the following IOCTL's retrieve the
 -       current control characters.  */
 -#if defined (TIOCGLTC) && defined (TIOCGETC)
 -
 -      struct tchars c;
 -      struct ltchars lc;
 -
 -      switch (signo)
 -      {
 -      case SIGINT:
 -        ioctl (p->infd, TIOCGETC, &c);
 -        send_process (proc, &c.t_intrc, 1, Qnil);
 -        return;
 -      case SIGQUIT:
 -        ioctl (p->infd, TIOCGETC, &c);
 -        send_process (proc, &c.t_quitc, 1, Qnil);
 -        return;
 -#ifdef SIGTSTP
 -      case SIGTSTP:
 -        ioctl (p->infd, TIOCGLTC, &lc);
 -        send_process (proc, &lc.t_suspc, 1, Qnil);
 -        return;
 -#endif /* ! defined (SIGTSTP) */
 -      }
 -
 -#else /* ! defined (TIOCGLTC) && defined (TIOCGETC) */
 -
 -      /* On SYSV descendants, the TCGETA ioctl retrieves the current control
 -       characters.  */
 -#ifdef TCGETA
 -      struct termio t;
 -      switch (signo)
 -      {
 -      case SIGINT:
 -        ioctl (p->infd, TCGETA, &t);
 -        send_process (proc, &t.c_cc[VINTR], 1, Qnil);
 -        return;
 -      case SIGQUIT:
 -        ioctl (p->infd, TCGETA, &t);
 -        send_process (proc, &t.c_cc[VQUIT], 1, Qnil);
 -        return;
 -#ifdef SIGTSTP
 -      case SIGTSTP:
 -        ioctl (p->infd, TCGETA, &t);
 -        send_process (proc, &t.c_cc[VSWTCH], 1, Qnil);
 -        return;
 -#endif /* ! defined (SIGTSTP) */
 -      }
 -#else /* ! defined (TCGETA) */
 -      Your configuration files are messed up.
 -      /* If your system configuration files define SIGNALS_VIA_CHARACTERS,
 -       you'd better be using one of the alternatives above!  */
 -#endif /* ! defined (TCGETA) */
 -#endif /* ! defined (TIOCGLTC) && defined (TIOCGETC) */
 -      /* In this case, the code above should alway return.  */
 -      abort ();
 -#endif /* ! defined HAVE_TERMIOS */
  
        /* The code above may fall through if it can't
         handle the signal.  */
@@@ -5769,7 -6327,8 +5769,7 @@@ rather than the shell
  
  If CURRENT-GROUP is `lambda', and if the shell owns the terminal,
  don't send the signal.  */)
 -     (process, current_group)
 -     Lisp_Object process, current_group;
 +  (Lisp_Object process, Lisp_Object current_group)
  {
    process_send_signal (process, SIGINT, current_group, 0);
    return process;
  DEFUN ("kill-process", Fkill_process, Skill_process, 0, 2, 0,
         doc: /* Kill process PROCESS.  May be process or name of one.
  See function `interrupt-process' for more details on usage.  */)
 -     (process, current_group)
 -     Lisp_Object process, current_group;
 +  (Lisp_Object process, Lisp_Object current_group)
  {
    process_send_signal (process, SIGKILL, current_group, 0);
    return process;
  DEFUN ("quit-process", Fquit_process, Squit_process, 0, 2, 0,
         doc: /* Send QUIT signal to process PROCESS.  May be process or name of one.
  See function `interrupt-process' for more details on usage.  */)
 -     (process, current_group)
 -     Lisp_Object process, current_group;
 +  (Lisp_Object process, Lisp_Object current_group)
  {
    process_send_signal (process, SIGQUIT, current_group, 0);
    return process;
@@@ -5798,8 -6359,10 +5798,8 @@@ DEFUN ("stop-process", Fstop_process, S
  See function `interrupt-process' for more details on usage.
  If PROCESS is a network or serial process, inhibit handling of incoming
  traffic.  */)
 -     (process, current_group)
 -     Lisp_Object process, current_group;
 +  (Lisp_Object process, Lisp_Object current_group)
  {
 -#ifdef HAVE_SOCKETS
    if (PROCESSP (process) && (NETCONN_P (process) || SERIALCONN_P (process)))
      {
        struct Lisp_Process *p;
        p->command = Qt;
        return process;
      }
 -#endif
  #ifndef SIGTSTP
    error ("No SIGTSTP support");
  #else
@@@ -5827,8 -6391,10 +5827,8 @@@ DEFUN ("continue-process", Fcontinue_pr
  See function `interrupt-process' for more details on usage.
  If PROCESS is a network or serial process, resume handling of incoming
  traffic.  */)
 -     (process, current_group)
 -     Lisp_Object process, current_group;
 +  (Lisp_Object process, Lisp_Object current_group)
  {
 -#ifdef HAVE_SOCKETS
    if (PROCESSP (process) && (NETCONN_P (process) || SERIALCONN_P (process)))
      {
        struct Lisp_Process *p;
  #ifdef WINDOWSNT
          if (fd_info[ p->infd ].flags & FILE_SERIAL)
            PurgeComm (fd_info[ p->infd ].hnd, PURGE_RXABORT | PURGE_RXCLEAR);
 -#endif
 -#ifdef HAVE_TERMIOS
 +#else /* not WINDOWSNT */
          tcflush (p->infd, TCIFLUSH);
 -#endif
 +#endif /* not WINDOWSNT */
        }
        p->command = Qnil;
        return process;
      }
 -#endif
  #ifdef SIGCONT
      process_send_signal (process, SIGCONT, current_group, 0);
  #else
@@@ -5865,7 -6433,8 +5865,7 @@@ PROCESS may also be a number specifyin
  process to signal; in this case, the process need not be a child of
  this Emacs.
  SIGCODE may be an integer, or a symbol whose name is a signal name.  */)
 -     (process, sigcode)
 -     Lisp_Object process, sigcode;
 +  (Lisp_Object process, Lisp_Object sigcode)
  {
    pid_t pid;
  
      ;
    else
      {
 -      unsigned char *name;
 +      char *name;
  
        CHECK_SYMBOL (sigcode);
 -      name = SDATA (SYMBOL_NAME (sigcode));
 +      name = SSDATA (SYMBOL_NAME (sigcode));
  
 -      if (!strncmp(name, "SIG", 3) || !strncmp(name, "sig", 3))
 +      if (!strncmp (name, "SIG", 3) || !strncmp (name, "sig", 3))
        name += 3;
  
        if (0)
@@@ -6032,7 -6601,8 +6032,7 @@@ through a pipe (as opposed to a pty), t
  text to PROCESS after you call this function.
  If PROCESS is a serial process, wait until all output written to the
  process has been transmitted to the serial port.  */)
 -     (process)
 -     Lisp_Object process;
 +  (Lisp_Object process)
  {
    Lisp_Object proc;
    struct coding_system *coding;
      send_process (proc, "\004", 1, Qnil);
    else if (EQ (XPROCESS (proc)->type, Qserial))
      {
 -#ifdef HAVE_TERMIOS
 +#ifndef WINDOWSNT
        if (tcdrain (XPROCESS (proc)->outfd) != 0)
        error ("tcdrain() failed: %s", emacs_strerror (errno));
 -#endif
 +#endif /* not WINDOWSNT */
        /* Do nothing on Windows because writes are blocking.  */
      }
    else
        if (!proc_encode_coding_system[new_outfd])
        proc_encode_coding_system[new_outfd]
          = (struct coding_system *) xmalloc (sizeof (struct coding_system));
 -      bcopy (proc_encode_coding_system[old_outfd],
 -           proc_encode_coding_system[new_outfd],
 -           sizeof (struct coding_system));
 -      bzero (proc_encode_coding_system[old_outfd],
 -           sizeof (struct coding_system));
 +      memcpy (proc_encode_coding_system[new_outfd],
 +            proc_encode_coding_system[old_outfd],
 +            sizeof (struct coding_system));
 +      memset (proc_encode_coding_system[old_outfd], 0,
 +            sizeof (struct coding_system));
  
        XPROCESS (proc)->outfd = new_outfd;
      }
    return process;
  }
 -
 -/* Kill all processes associated with `buffer'.
 -   If `buffer' is nil, kill all processes  */
 -
 -void
 -kill_buffer_processes (buffer)
 -     Lisp_Object buffer;
 -{
 -  Lisp_Object tail, proc;
 -
 -  for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
 -    {
 -      proc = XCDR (XCAR (tail));
 -      if (PROCESSP (proc)
 -        && (NILP (buffer) || EQ (XPROCESS (proc)->buffer, buffer)))
 -      {
 -        if (NETCONN_P (proc) || SERIALCONN_P (proc))
 -          Fdelete_process (proc);
 -        else if (XPROCESS (proc)->infd >= 0)
 -          process_send_signal (proc, SIGHUP, Qnil, 1);
 -      }
 -    }
 -}
  \f
  /* On receipt of a signal that a child status has changed, loop asking
     about children with changed statuses until the system says there
     indirectly; if it does, that is a bug  */
  
  #ifdef SIGCHLD
 -SIGTYPE
 -sigchld_handler (signo)
 -     int signo;
 +static void
 +sigchld_handler (int signo)
  {
    int old_errno = errno;
    Lisp_Object proc;
 -  register struct Lisp_Process *p;
 -  extern EMACS_TIME *input_available_clear_time;
 +  struct Lisp_Process *p;
  
    SIGNAL_THREAD_CHECK (signo);
  
          /* PID == 0 means no processes found, PID == -1 means a real
             failure.  We have done all our job, so return.  */
  
 -        /* USG systems forget handlers when they are used;
 -           must reestablish each time */
 -#if defined (USG) && !defined (POSIX_SIGNALS)
 -        signal (signo, sigchld_handler);   /* WARNING - must come after wait3() */
 -#endif
          errno = old_errno;
          return;
        }
  #if (defined WINDOWSNT \
       || (defined USG && !defined GNU_LINUX \
         && !(defined HPUX && defined WNOHANG)))
 -#if defined (USG) && ! defined (POSIX_SIGNALS)
 -      signal (signo, sigchld_handler);
 -#endif
        errno = old_errno;
        return;
  #endif /* USG, but not HPUX with WNOHANG */
  \f
  
  static Lisp_Object
 -exec_sentinel_unwind (data)
 -     Lisp_Object data;
 +exec_sentinel_unwind (Lisp_Object data)
  {
    XPROCESS (XCAR (data))->sentinel = XCDR (data);
    return Qnil;
  }
  
  static Lisp_Object
 -exec_sentinel_error_handler (error)
 -     Lisp_Object error;
 +exec_sentinel_error_handler (Lisp_Object error_val)
  {
 -  cmd_error_internal (error, "error in process sentinel: ");
 +  cmd_error_internal (error_val, "error in process sentinel: ");
    Vinhibit_quit = Qt;
    update_echo_area ();
    Fsleep_for (make_number (2), Qnil);
  }
  
  static void
 -exec_sentinel (proc, reason)
 -     Lisp_Object proc, reason;
 +exec_sentinel (Lisp_Object proc, Lisp_Object reason)
  {
 -  Lisp_Object sentinel, obuffer, odeactivate, okeymap;
 +  Lisp_Object sentinel, odeactivate;
    register struct Lisp_Process *p = XPROCESS (proc);
    int count = SPECPDL_INDEX ();
    int outer_running_asynch_code = running_asynch_code;
    /* No need to gcpro these, because all we do with them later
       is test them for EQness, and none of them should be a string.  */
    odeactivate = Vdeactivate_mark;
 +#if 0
 +  Lisp_Object obuffer, okeymap;
    XSETBUFFER (obuffer, current_buffer);
 -  okeymap = current_buffer->keymap;
 +  okeymap = BVAR (current_buffer, keymap);
 +#endif
 +
 +  /* There's no good reason to let sentinels change the current
 +     buffer, and many callers of accept-process-output, sit-for, and
 +     friends don't expect current-buffer to be changed from under them.  */
 +  record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ());
  
    sentinel = p->sentinel;
    if (NILP (sentinel))
     but can be done at other times.  */
  
  static void
 -status_notify (deleting_process)
 -     struct Lisp_Process *deleting_process;
 +status_notify (struct Lisp_Process *deleting_process)
  {
    register Lisp_Object proc, buffer;
    Lisp_Object tail, msg;
             when a process becomes runnable.  */
          else if (!EQ (symbol, Qrun) && !NILP (buffer))
            {
 -            Lisp_Object ro, tem;
 +            Lisp_Object tem;
              struct buffer *old = current_buffer;
 -            int opoint, opoint_byte;
 -            int before, before_byte;
 -
 -            ro = XBUFFER (buffer)->read_only;
 +            EMACS_INT opoint, opoint_byte;
 +            EMACS_INT before, before_byte;
  
              /* Avoid error if buffer is deleted
                 (probably that's why the process is dead, too) */
 -            if (NILP (XBUFFER (buffer)->name))
 +            if (NILP (BVAR (XBUFFER (buffer), name)))
                continue;
              Fset_buffer (buffer);
  
              before = PT;
              before_byte = PT_BYTE;
  
 -            tem = current_buffer->read_only;
 -            current_buffer->read_only = Qnil;
 +            tem = BVAR (current_buffer, read_only);
 +            BVAR (current_buffer, read_only) = Qnil;
              insert_string ("\nProcess ");
              Finsert (1, &p->name);
              insert_string (" ");
              Finsert (1, &msg);
 -            current_buffer->read_only = tem;
 +            BVAR (current_buffer, read_only) = tem;
              set_marker_both (p->mark, p->buffer, PT, PT_BYTE);
  
              if (opoint >= before)
@@@ -6501,7 -7102,8 +6501,7 @@@ DEFUN ("set-process-coding-system", Fse
         doc: /* Set coding systems of PROCESS to DECODING and ENCODING.
  DECODING will be used to decode subprocess output and ENCODING to
  encode subprocess input.  */)
 -     (process, decoding, encoding)
 -     register Lisp_Object process, decoding, encoding;
 +  (register Lisp_Object process, Lisp_Object decoding, Lisp_Object encoding)
  {
    register struct Lisp_Process *p;
  
  DEFUN ("process-coding-system",
         Fprocess_coding_system, Sprocess_coding_system, 1, 1, 0,
         doc: /* Return a cons of coding systems for decoding and encoding of PROCESS.  */)
 -     (process)
 -     register Lisp_Object process;
 +  (register Lisp_Object process)
  {
    CHECK_PROCESS (process);
    return Fcons (XPROCESS (process)->decode_coding_system,
@@@ -6538,7 -7141,8 +6538,7 @@@ If FLAG is non-nil, the filter is give
  If FLAG is nil, the filter is given unibyte strings.  In this case,
  all character code conversion except for end-of-line conversion is
  suppressed.  */)
 -     (process, flag)
 -     Lisp_Object process, flag;
 +  (Lisp_Object process, Lisp_Object flag)
  {
    register struct Lisp_Process *p;
  
  DEFUN ("process-filter-multibyte-p", Fprocess_filter_multibyte_p,
         Sprocess_filter_multibyte_p, 1, 1, 0,
         doc: /* Return t if a multibyte string is given to PROCESS's filter.*/)
 -     (process)
 -     Lisp_Object process;
 +  (Lisp_Object process)
  {
    register struct Lisp_Process *p;
    struct coding_system *coding;
  
  
  \f
 -/* Add DESC to the set of keyboard input descriptors.  */
 -
 -void
 -add_keyboard_wait_descriptor (desc)
 -     int desc;
 -{
 -  FD_SET (desc, &input_wait_mask);
 -  FD_SET (desc, &non_process_wait_mask);
 -  if (desc > max_keyboard_desc)
 -    max_keyboard_desc = desc;
 -}
 -
 -static int add_gpm_wait_descriptor_called_flag;
 -
 -void
 -add_gpm_wait_descriptor (desc)
 -     int desc;
 -{
 -  if (! add_gpm_wait_descriptor_called_flag)
 -    FD_CLR (0, &input_wait_mask);
 -  add_gpm_wait_descriptor_called_flag = 1;
 -  FD_SET (desc, &input_wait_mask);
 -  FD_SET (desc, &gpm_wait_mask);
 -  if (desc > max_gpm_desc)
 -    max_gpm_desc = desc;
 -}
 -
 -/* From now on, do not expect DESC to give keyboard input.  */
  
  void
 -delete_keyboard_wait_descriptor (desc)
 -     int desc;
 +add_gpm_wait_descriptor (int desc)
  {
 -  int fd;
 -  int lim = max_keyboard_desc;
 -
 -  FD_CLR (desc, &input_wait_mask);
 -  FD_CLR (desc, &non_process_wait_mask);
 -
 -  if (desc == max_keyboard_desc)
 -    for (fd = 0; fd < lim; fd++)
 -      if (FD_ISSET (fd, &input_wait_mask)
 -        && !FD_ISSET (fd, &non_keyboard_wait_mask)
 -        && !FD_ISSET (fd, &gpm_wait_mask))
 -      max_keyboard_desc = fd;
 +  add_keyboard_wait_descriptor (desc);
  }
  
  void
 -delete_gpm_wait_descriptor (desc)
 -     int desc;
 +delete_gpm_wait_descriptor (int desc)
  {
 -  int fd;
 -  int lim = max_gpm_desc;
 -
 -  FD_CLR (desc, &input_wait_mask);
 -  FD_CLR (desc, &non_process_wait_mask);
 -
 -  if (desc == max_gpm_desc)
 -    for (fd = 0; fd < lim; fd++)
 -      if (FD_ISSET (fd, &input_wait_mask)
 -        && !FD_ISSET (fd, &non_keyboard_wait_mask)
 -        && !FD_ISSET (fd, &non_process_wait_mask))
 -      max_gpm_desc = fd;
 +  delete_keyboard_wait_descriptor (desc);
  }
  
  /* Return nonzero if *MASK has a bit set
     that corresponds to one of the keyboard input descriptors.  */
  
  static int
 -keyboard_bit_set (mask)
 -     SELECT_TYPE *mask;
 +keyboard_bit_set (fd_set *mask)
  {
    int fd;
  
 -  for (fd = 0; fd <= max_keyboard_desc; fd++)
 +  for (fd = 0; fd <= max_input_desc; fd++)
      if (FD_ISSET (fd, mask) && FD_ISSET (fd, &input_wait_mask)
        && !FD_ISSET (fd, &non_keyboard_wait_mask))
        return 1;
    return 0;
  }
  
 -/* Stop reading input from keyboard sources.  */
 -
 -void
 -hold_keyboard_input (void)
 -{
 -  kbd_is_on_hold = 1;
 -}
 +#else  /* not subprocesses */
  
 -/* Resume reading input from keyboard sources.  */
 +/* Defined on msdos.c.  */
 +extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *,
 +                     EMACS_TIME *);
  
 -void
 -unhold_keyboard_input (void)
 -{
 -  kbd_is_on_hold = 0;
 -}
 +/* Implementation of wait_reading_process_output, assuming that there
 +   are no subprocesses.  Used only by the MS-DOS build.
  
 -/* Return non-zero if keyboard input is on hold, zero otherwise.  */
 +   Wait for timeout to elapse and/or keyboard input to be available.
  
 -int
 -kbd_on_hold_p (void)
 -{
 -  return kbd_is_on_hold;
 -}
 +   time_limit is:
 +     timeout in seconds, or
 +     zero for no limit, or
 +     -1 means gobble data immediately available but don't wait for any.
  
 -\f
 -/* Enumeration of and access to system processes a-la ps(1).  */
 +   read_kbd is a Lisp_Object:
 +     0 to ignore keyboard input, or
 +     1 to return when input is available, or
 +     -1 means caller will actually read the input, so don't throw to
 +       the quit handler.
  
 -DEFUN ("list-system-processes", Flist_system_processes, Slist_system_processes,
 -       0, 0, 0,
 -       doc: /* Return a list of numerical process IDs of all running processes.
 -If this functionality is unsupported, return nil.
 +   see full version for other parameters. We know that wait_proc will
 +     always be NULL, since `subprocesses' isn't defined.
  
 -See `process-attributes' for getting attributes of a process given its ID.  */)
 -    ()
 -{
 -  return list_system_processes ();
 -}
 +   do_display != 0 means redisplay should be done to show subprocess
 +   output that arrives.
  
 -DEFUN ("process-attributes", Fprocess_attributes,
 -       Sprocess_attributes, 1, 1, 0,
 -       doc: /* Return attributes of the process given by its PID, a number.
 +   Return true if we received input from any process.  */
  
 -Value is an alist where each element is a cons cell of the form
 +int
 +wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
 +                           int do_display,
 +                           Lisp_Object wait_for_cell,
 +                           struct Lisp_Process *wait_proc, int just_wait_proc)
 +{
 +  register int nfds;
 +  EMACS_TIME end_time, timeout;
 +  SELECT_TYPE waitchannels;
 +  int xerrno;
  
 -    \(KEY . VALUE)
 +  /* What does time_limit really mean?  */
 +  if (time_limit || microsecs)
 +    {
 +      EMACS_GET_TIME (end_time);
 +      EMACS_SET_SECS_USECS (timeout, time_limit, microsecs);
 +      EMACS_ADD_TIME (end_time, end_time, timeout);
 +    }
  
 -If this functionality is unsupported, the value is nil.
 +  /* Turn off periodic alarms (in case they are in use)
 +     and then turn off any other atimers,
 +     because the select emulator uses alarms.  */
 +  stop_polling ();
 +  turn_on_atimers (0);
  
 -See `list-system-processes' for getting a list of all process IDs.
 +  while (1)
 +    {
 +      int timeout_reduced_for_timers = 0;
  
 -The KEYs of the attributes that this function may return are listed
 -below, together with the type of the associated VALUE (in parentheses).
 -Not all platforms support all of these attributes; unsupported
 -attributes will not appear in the returned alist.
 -Unless explicitly indicated otherwise, numbers can have either
 -integer or floating point values.
 +      /* If calling from keyboard input, do not quit
 +       since we want to return C-g as an input character.
 +       Otherwise, do pending quit if requested.  */
 +      if (read_kbd >= 0)
 +      QUIT;
  
 - euid    -- Effective user User ID of the process (number)
 - user    -- User name corresponding to euid (string)
 - egid    -- Effective user Group ID of the process (number)
 - group   -- Group name corresponding to egid (string)
 - comm    -- Command name (executable name only) (string)
 - state   -- Process state code, such as "S", "R", or "T" (string)
 - ppid    -- Parent process ID (number)
 - pgrp    -- Process group ID (number)
 - sess    -- Session ID, i.e. process ID of session leader (number)
 - ttname  -- Controlling tty name (string)
 - tpgid   -- ID of foreground process group on the process's tty (number)
 - minflt  -- number of minor page faults (number)
 - majflt  -- number of major page faults (number)
 - cminflt -- cumulative number of minor page faults (number)
 - cmajflt -- cumulative number of major page faults (number)
 - utime   -- user time used by the process, in the (HIGH LOW USEC) format
 - stime   -- system time used by the process, in the (HIGH LOW USEC) format
 - time    -- sum of utime and stime, in the (HIGH LOW USEC) format
 - cutime  -- user time used by the process and its children, (HIGH LOW USEC)
 - cstime  -- system time used by the process and its children, (HIGH LOW USEC)
 - ctime   -- sum of cutime and cstime, in the (HIGH LOW USEC) format
 - pri     -- priority of the process (number)
 - nice    -- nice value of the process (number)
 - thcount -- process thread count (number)
 - start   -- time the process started, in the (HIGH LOW USEC) format
 - vsize   -- virtual memory size of the process in KB's (number)
 - rss     -- resident set size of the process in KB's (number)
 - etime   -- elapsed time the process is running, in (HIGH LOW USEC) format
 - pcpu    -- percents of CPU time used by the process (floating-point number)
 - pmem    -- percents of total physical memory used by process's resident set
 -              (floating-point number)
 - args    -- command line which invoked the process (string).  */)
 -    (pid)
 +      /* Exit now if the cell we're waiting for became non-nil.  */
 +      if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell)))
 +      break;
  
 -    Lisp_Object pid;
 -{
 -  return system_process_attributes (pid);
 -}
 -\f
 -void
 -init_process ()
 -{
 -  register int i;
 +      /* Compute time from now till when time limit is up */
 +      /* Exit if already run out */
 +      if (time_limit == -1)
 +      {
 +        /* -1 specified for timeout means
 +           gobble output available now
 +           but don't wait at all. */
  
 -  inhibit_sentinels = 0;
 -  kbd_is_on_hold = 0;
 +        EMACS_SET_SECS_USECS (timeout, 0, 0);
 +      }
 +      else if (time_limit || microsecs)
 +      {
 +        EMACS_GET_TIME (timeout);
 +        EMACS_SUB_TIME (timeout, end_time, timeout);
 +        if (EMACS_TIME_NEG_P (timeout))
 +          break;
 +      }
 +      else
 +      {
 +        EMACS_SET_SECS_USECS (timeout, 100000, 0);
 +      }
  
 -#ifdef SIGCHLD
 -#ifndef CANNOT_DUMP
 -  if (! noninteractive || initialized)
 -#endif
 -    signal (SIGCHLD, sigchld_handler);
 -#endif
 -
 -  FD_ZERO (&input_wait_mask);
 -  FD_ZERO (&non_keyboard_wait_mask);
 -  FD_ZERO (&non_process_wait_mask);
 -  max_process_desc = 0;
 -
 -#ifdef NON_BLOCKING_CONNECT
 -  FD_ZERO (&connect_wait_mask);
 -  num_pending_connects = 0;
 -#endif
 -
 -#ifdef ADAPTIVE_READ_BUFFERING
 -  process_output_delay_count = 0;
 -  process_output_skip = 0;
 -#endif
 -
 -  /* Don't do this, it caused infinite select loops.  The display
 -     method should call add_keyboard_wait_descriptor on stdin if it
 -     needs that.  */
 -#if 0
 -  FD_SET (0, &input_wait_mask);
 -#endif
 -
 -  Vprocess_alist = Qnil;
 -#ifdef SIGCHLD
 -  deleted_pid_list = Qnil;
 -#endif
 -  for (i = 0; i < MAXDESC; i++)
 -    {
 -      chan_process[i] = Qnil;
 -      proc_buffered_char[i] = -1;
 -    }
 -  bzero (proc_decode_coding_system, sizeof proc_decode_coding_system);
 -  bzero (proc_encode_coding_system, sizeof proc_encode_coding_system);
 -#ifdef DATAGRAM_SOCKETS
 -  bzero (datagram_address, sizeof datagram_address);
 -#endif
 -
 -#ifdef HAVE_SOCKETS
 - {
 -   Lisp_Object subfeatures = Qnil;
 -   const struct socket_options *sopt;
 -
 -#define ADD_SUBFEATURE(key, val) \
 -  subfeatures = pure_cons (pure_cons (key, pure_cons (val, Qnil)), subfeatures)
 -
 -#ifdef NON_BLOCKING_CONNECT
 -   ADD_SUBFEATURE (QCnowait, Qt);
 -#endif
 -#ifdef DATAGRAM_SOCKETS
 -   ADD_SUBFEATURE (QCtype, Qdatagram);
 -#endif
 -#ifdef HAVE_SEQPACKET
 -   ADD_SUBFEATURE (QCtype, Qseqpacket);
 -#endif
 -#ifdef HAVE_LOCAL_SOCKETS
 -   ADD_SUBFEATURE (QCfamily, Qlocal);
 -#endif
 -   ADD_SUBFEATURE (QCfamily, Qipv4);
 -#ifdef AF_INET6
 -   ADD_SUBFEATURE (QCfamily, Qipv6);
 -#endif
 -#ifdef HAVE_GETSOCKNAME
 -   ADD_SUBFEATURE (QCservice, Qt);
 -#endif
 -#if defined(O_NONBLOCK) || defined(O_NDELAY)
 -   ADD_SUBFEATURE (QCserver, Qt);
 -#endif
 -
 -   for (sopt = socket_options; sopt->name; sopt++)
 -     subfeatures = pure_cons (intern_c_string (sopt->name), subfeatures);
 -
 -   Fprovide (intern_c_string ("make-network-process"), subfeatures);
 - }
 -#endif /* HAVE_SOCKETS */
 -
 -#if defined (DARWIN_OS)
 -  /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive
 -     processes.  As such, we only change the default value.  */
 - if (initialized)
 -  {
 -    char *release = get_operating_system_release();
 -    if (!release || !release[0] || (release[0] < MIN_PTY_KERNEL_VERSION
 -                                  && release[1] == '.')) {
 -      Vprocess_connection_type = Qnil;
 -    }
 -  }
 -#endif
 -}
 +      /* If our caller will not immediately handle keyboard events,
 +       run timer events directly.
 +       (Callers that will immediately read keyboard events
 +       call timer_delay on their own.)  */
 +      if (NILP (wait_for_cell))
 +      {
 +        EMACS_TIME timer_delay;
  
 -void
 -syms_of_process ()
 -{
 -  Qprocessp = intern_c_string ("processp");
 -  staticpro (&Qprocessp);
 -  Qrun = intern_c_string ("run");
 -  staticpro (&Qrun);
 -  Qstop = intern_c_string ("stop");
 -  staticpro (&Qstop);
 -  Qsignal = intern_c_string ("signal");
 -  staticpro (&Qsignal);
 +        do
 +          {
 +            int old_timers_run = timers_run;
 +            timer_delay = timer_check ();
 +            if (timers_run != old_timers_run && do_display)
 +              /* We must retry, since a timer may have requeued itself
 +                 and that could alter the time delay.  */
 +              redisplay_preserve_echo_area (14);
 +            else
 +              break;
 +          }
 +        while (!detect_input_pending ());
  
 -  /* Qexit is already staticpro'd by syms_of_eval; don't staticpro it
 -     here again.
 +        /* If there is unread keyboard input, also return.  */
 +        if (read_kbd != 0
 +            && requeued_events_pending_p ())
 +          break;
  
 -     Qexit = intern_c_string ("exit");
 -     staticpro (&Qexit); */
 +        if (! EMACS_TIME_NEG_P (timer_delay) && time_limit != -1)
 +          {
 +            EMACS_TIME difference;
 +            EMACS_SUB_TIME (difference, timer_delay, timeout);
 +            if (EMACS_TIME_NEG_P (difference))
 +              {
 +                timeout = timer_delay;
 +                timeout_reduced_for_timers = 1;
 +              }
 +          }
 +      }
  
 -  Qopen = intern_c_string ("open");
 -  staticpro (&Qopen);
 -  Qclosed = intern_c_string ("closed");
 -  staticpro (&Qclosed);
 -  Qconnect = intern_c_string ("connect");
 -  staticpro (&Qconnect);
 -  Qfailed = intern_c_string ("failed");
 -  staticpro (&Qfailed);
 -  Qlisten = intern_c_string ("listen");
 -  staticpro (&Qlisten);
 -  Qlocal = intern_c_string ("local");
 -  staticpro (&Qlocal);
 -  Qipv4 = intern_c_string ("ipv4");
 -  staticpro (&Qipv4);
 -#ifdef AF_INET6
 -  Qipv6 = intern_c_string ("ipv6");
 -  staticpro (&Qipv6);
 -#endif
 -  Qdatagram = intern_c_string ("datagram");
 -  staticpro (&Qdatagram);
 -  Qseqpacket = intern_c_string ("seqpacket");
 -  staticpro (&Qseqpacket);
 +      /* Cause C-g and alarm signals to take immediate action,
 +       and cause input available signals to zero out timeout.  */
 +      if (read_kbd < 0)
 +      set_waiting_for_input (&timeout);
  
 -  QCport = intern_c_string (":port");
 -  staticpro (&QCport);
 -  QCspeed = intern_c_string (":speed");
 -  staticpro (&QCspeed);
 -  QCprocess = intern_c_string (":process");
 -  staticpro (&QCprocess);
 +      /* Wait till there is something to do.  */
  
 -  QCbytesize = intern_c_string (":bytesize");
 -  staticpro (&QCbytesize);
 -  QCstopbits = intern_c_string (":stopbits");
 -  staticpro (&QCstopbits);
 -  QCparity = intern_c_string (":parity");
 -  staticpro (&QCparity);
 -  Qodd = intern_c_string ("odd");
 -  staticpro (&Qodd);
 -  Qeven = intern_c_string ("even");
 -  staticpro (&Qeven);
 -  QCflowcontrol = intern_c_string (":flowcontrol");
 -  staticpro (&QCflowcontrol);
 -  Qhw = intern_c_string ("hw");
 -  staticpro (&Qhw);
 -  Qsw = intern_c_string ("sw");
 -  staticpro (&Qsw);
 -  QCsummary = intern_c_string (":summary");
 -  staticpro (&QCsummary);
 +      if (! read_kbd && NILP (wait_for_cell))
 +      FD_ZERO (&waitchannels);
 +      else
 +      FD_SET (0, &waitchannels);
  
 -  Qreal = intern_c_string ("real");
 -  staticpro (&Qreal);
 -  Qnetwork = intern_c_string ("network");
 -  staticpro (&Qnetwork);
 -  Qserial = intern_c_string ("serial");
 -  staticpro (&Qserial);
 +      /* If a frame has been newly mapped and needs updating,
 +       reprocess its display stuff.  */
 +      if (frame_garbaged && do_display)
 +      {
 +        clear_waiting_for_input ();
 +        redisplay_preserve_echo_area (15);
 +        if (read_kbd < 0)
 +          set_waiting_for_input (&timeout);
 +      }
  
 -  QCname = intern_c_string (":name");
 -  staticpro (&QCname);
 -  QCbuffer = intern_c_string (":buffer");
 -  staticpro (&QCbuffer);
 -  QChost = intern_c_string (":host");
 -  staticpro (&QChost);
 -  QCservice = intern_c_string (":service");
 -  staticpro (&QCservice);
 -  QCtype = intern_c_string (":type");
 -  staticpro (&QCtype);
 -  QClocal = intern_c_string (":local");
 -  staticpro (&QClocal);
 -  QCremote = intern_c_string (":remote");
 -  staticpro (&QCremote);
 -  QCcoding = intern_c_string (":coding");
 -  staticpro (&QCcoding);
 -  QCserver = intern_c_string (":server");
 -  staticpro (&QCserver);
 -  QCnowait = intern_c_string (":nowait");
 -  staticpro (&QCnowait);
 -  QCsentinel = intern_c_string (":sentinel");
 -  staticpro (&QCsentinel);
 -  QClog = intern_c_string (":log");
 -  staticpro (&QClog);
 -  QCnoquery = intern_c_string (":noquery");
 -  staticpro (&QCnoquery);
 -  QCstop = intern_c_string (":stop");
 -  staticpro (&QCstop);
 -  QCoptions = intern_c_string (":options");
 -  staticpro (&QCoptions);
 -  QCplist = intern_c_string (":plist");
 -  staticpro (&QCplist);
 +      if (read_kbd && detect_input_pending ())
 +      {
 +        nfds = 0;
 +        FD_ZERO (&waitchannels);
 +      }
 +      else
 +      nfds = select (1, &waitchannels, (SELECT_TYPE *)0, (SELECT_TYPE *)0,
 +                     &timeout);
  
 -  Qlast_nonmenu_event = intern_c_string ("last-nonmenu-event");
 -  staticpro (&Qlast_nonmenu_event);
 +      xerrno = errno;
  
 -  staticpro (&Vprocess_alist);
 -#ifdef SIGCHLD
 -  staticpro (&deleted_pid_list);
 -#endif
 +      /* Make C-g and alarm signals set flags again */
 +      clear_waiting_for_input ();
  
 -  Qeuid = intern_c_string ("euid");
 -  staticpro (&Qeuid);
 -  Qegid = intern_c_string ("egid");
 -  staticpro (&Qegid);
 -  Quser = intern_c_string ("user");
 -  staticpro (&Quser);
 -  Qgroup = intern_c_string ("group");
 -  staticpro (&Qgroup);
 -  Qcomm = intern_c_string ("comm");
 -  staticpro (&Qcomm);
 -  Qstate = intern_c_string ("state");
 -  staticpro (&Qstate);
 -  Qppid = intern_c_string ("ppid");
 -  staticpro (&Qppid);
 -  Qpgrp = intern_c_string ("pgrp");
 -  staticpro (&Qpgrp);
 -  Qsess = intern_c_string ("sess");
 -  staticpro (&Qsess);
 -  Qttname = intern_c_string ("ttname");
 -  staticpro (&Qttname);
 -  Qtpgid = intern_c_string ("tpgid");
 -  staticpro (&Qtpgid);
 -  Qminflt = intern_c_string ("minflt");
 -  staticpro (&Qminflt);
 -  Qmajflt = intern_c_string ("majflt");
 -  staticpro (&Qmajflt);
 -  Qcminflt = intern_c_string ("cminflt");
 -  staticpro (&Qcminflt);
 -  Qcmajflt = intern_c_string ("cmajflt");
 -  staticpro (&Qcmajflt);
 -  Qutime = intern_c_string ("utime");
 -  staticpro (&Qutime);
 -  Qstime = intern_c_string ("stime");
 -  staticpro (&Qstime);
 -  Qtime = intern_c_string ("time");
 -  staticpro (&Qtime);
 -  Qcutime = intern_c_string ("cutime");
 -  staticpro (&Qcutime);
 -  Qcstime = intern_c_string ("cstime");
 -  staticpro (&Qcstime);
 -  Qctime = intern_c_string ("ctime");
 -  staticpro (&Qctime);
 -  Qpri = intern_c_string ("pri");
 -  staticpro (&Qpri);
 -  Qnice = intern_c_string ("nice");
 -  staticpro (&Qnice);
 -  Qthcount = intern_c_string ("thcount");
 -  staticpro (&Qthcount);
 -  Qstart = intern_c_string ("start");
 -  staticpro (&Qstart);
 -  Qvsize = intern_c_string ("vsize");
 -  staticpro (&Qvsize);
 -  Qrss = intern_c_string ("rss");
 -  staticpro (&Qrss);
 -  Qetime = intern_c_string ("etime");
 -  staticpro (&Qetime);
 -  Qpcpu = intern_c_string ("pcpu");
 -  staticpro (&Qpcpu);
 -  Qpmem = intern_c_string ("pmem");
 -  staticpro (&Qpmem);
 -  Qargs = intern_c_string ("args");
 -  staticpro (&Qargs);
 +      /*  If we woke up due to SIGWINCH, actually change size now.  */
 +      do_pending_window_change (0);
  
 -  DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes,
 -             doc: /* *Non-nil means delete processes immediately when they exit.
 -A value of nil means don't delete them until `list-processes' is run.  */);
 +      if (time_limit && nfds == 0 && ! timeout_reduced_for_timers)
 +      /* We waited the full specified time, so return now.  */
 +      break;
  
 -  delete_exited_processes = 1;
 +      if (nfds == -1)
 +      {
 +        /* If the system call was interrupted, then go around the
 +           loop again.  */
 +        if (xerrno == EINTR)
 +          FD_ZERO (&waitchannels);
 +        else
 +          error ("select error: %s", emacs_strerror (xerrno));
 +      }
  
 -  DEFVAR_LISP ("process-connection-type", &Vprocess_connection_type,
 -             doc: /* Control type of device used to communicate with subprocesses.
 -Values are nil to use a pipe, or t or `pty' to use a pty.
 -The value has no effect if the system has no ptys or if all ptys are busy:
 -then a pipe is used in any case.
 -The value takes effect when `start-process' is called.  */);
 -  Vprocess_connection_type = Qt;
 +      /* Check for keyboard input */
  
 -#ifdef ADAPTIVE_READ_BUFFERING
 -  DEFVAR_LISP ("process-adaptive-read-buffering", &Vprocess_adaptive_read_buffering,
 -             doc: /* If non-nil, improve receive buffering by delaying after short reads.
 -On some systems, when Emacs reads the output from a subprocess, the output data
 -is read in very small blocks, potentially resulting in very poor performance.
 -This behavior can be remedied to some extent by setting this variable to a
 -non-nil value, as it will automatically delay reading from such processes, to
 -allow them to produce more output before Emacs tries to read it.
 -If the value is t, the delay is reset after each write to the process; any other
 -non-nil value means that the delay is not reset on write.
 -The variable takes effect when `start-process' is called.  */);
 -  Vprocess_adaptive_read_buffering = Qt;
 -#endif
 +      if (read_kbd
 +        && detect_input_pending_run_timers (do_display))
 +      {
 +        swallow_events (do_display);
 +        if (detect_input_pending_run_timers (do_display))
 +          break;
 +      }
  
 -  defsubr (&Sprocessp);
 -  defsubr (&Sget_process);
 -  defsubr (&Sget_buffer_process);
 -  defsubr (&Sdelete_process);
 -  defsubr (&Sprocess_status);
 -  defsubr (&Sprocess_exit_status);
 -  defsubr (&Sprocess_id);
 -  defsubr (&Sprocess_name);
 -  defsubr (&Sprocess_tty_name);
 -  defsubr (&Sprocess_command);
 -  defsubr (&Sset_process_buffer);
 -  defsubr (&Sprocess_buffer);
 -  defsubr (&Sprocess_mark);
 -  defsubr (&Sset_process_filter);
 -  defsubr (&Sprocess_filter);
 -  defsubr (&Sset_process_sentinel);
 -  defsubr (&Sprocess_sentinel);
 -  defsubr (&Sset_process_window_size);
 -  defsubr (&Sset_process_inherit_coding_system_flag);
 -  defsubr (&Sprocess_inherit_coding_system_flag);
 -  defsubr (&Sset_process_query_on_exit_flag);
 -  defsubr (&Sprocess_query_on_exit_flag);
 -  defsubr (&Sprocess_contact);
 -  defsubr (&Sprocess_plist);
 -  defsubr (&Sset_process_plist);
 -  defsubr (&Slist_processes);
 -  defsubr (&Sprocess_list);
 -  defsubr (&Sstart_process);
 -#ifdef HAVE_SERIAL
 -  defsubr (&Sserial_process_configure);
 -  defsubr (&Smake_serial_process);
 -#endif /* HAVE_SERIAL  */
 -#ifdef HAVE_SOCKETS
 -  defsubr (&Sset_network_process_option);
 -  defsubr (&Smake_network_process);
 -  defsubr (&Sformat_network_address);
 -#endif /* HAVE_SOCKETS */
 -#if defined(HAVE_SOCKETS) && defined(HAVE_NET_IF_H) && defined(HAVE_SYS_IOCTL_H)
 -#ifdef SIOCGIFCONF
 -  defsubr (&Snetwork_interface_list);
 -#endif
 -#if defined(SIOCGIFADDR) || defined(SIOCGIFHWADDR) || defined(SIOCGIFFLAGS)
 -  defsubr (&Snetwork_interface_info);
 -#endif
 -#endif /* HAVE_SOCKETS ... */
 -#ifdef DATAGRAM_SOCKETS
 -  defsubr (&Sprocess_datagram_address);
 -  defsubr (&Sset_process_datagram_address);
 -#endif
 -  defsubr (&Saccept_process_output);
 -  defsubr (&Sprocess_send_region);
 -  defsubr (&Sprocess_send_string);
 -  defsubr (&Sinterrupt_process);
 -  defsubr (&Skill_process);
 -  defsubr (&Squit_process);
 -  defsubr (&Sstop_process);
 -  defsubr (&Scontinue_process);
 -  defsubr (&Sprocess_running_child_p);
 -  defsubr (&Sprocess_send_eof);
 -  defsubr (&Ssignal_process);
 -  defsubr (&Swaiting_for_user_input_p);
 -  defsubr (&Sprocess_type);
 -  defsubr (&Sset_process_coding_system);
 -  defsubr (&Sprocess_coding_system);
 -  defsubr (&Sset_process_filter_multibyte);
 -  defsubr (&Sprocess_filter_multibyte_p);
 -  defsubr (&Slist_system_processes);
 -  defsubr (&Sprocess_attributes);
 +      /* If there is unread keyboard input, also return.  */
 +      if (read_kbd
 +        && requeued_events_pending_p ())
 +      break;
 +
 +      /* If wait_for_cell. check for keyboard input
 +       but don't run any timers.
 +       ??? (It seems wrong to me to check for keyboard
 +       input at all when wait_for_cell, but the code
 +       has been this way since July 1994.
 +       Try changing this after version 19.31.)  */
 +      if (! NILP (wait_for_cell)
 +        && detect_input_pending ())
 +      {
 +        swallow_events (do_display);
 +        if (detect_input_pending ())
 +          break;
 +      }
 +
 +      /* Exit now if the cell we're waiting for became non-nil.  */
 +      if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell)))
 +      break;
 +    }
 +
 +  start_polling ();
 +
 +  return 0;
  }
  
 -\f
 -#else /* not subprocesses */
 +#endif        /* not subprocesses */
  
 -#include <sys/types.h>
 -#include <errno.h>
 -#include <sys/stat.h>
 -#include <stdlib.h>
 -#include <fcntl.h>
 -#include <setjmp.h>
 -#ifdef HAVE_UNISTD_H
 -#include <unistd.h>
 -#endif
 +/* The following functions are needed even if async subprocesses are
 +   not supported.  Some of them are no-op stubs in that case.  */
  
 -#include "lisp.h"
 -#include "systime.h"
 -#include "character.h"
 -#include "coding.h"
 -#include "termopts.h"
 -#include "sysselect.h"
 +/* Add DESC to the set of keyboard input descriptors.  */
  
 -extern int frame_garbaged;
 +void
 +add_keyboard_wait_descriptor (int desc)
 +{
 +#ifdef subprocesses /* actually means "not MSDOS" */
 +  FD_SET (desc, &input_wait_mask);
 +  FD_SET (desc, &non_process_wait_mask);
 +  if (desc > max_input_desc)
 +    max_input_desc = desc;
 +#endif
 +}
  
 -extern EMACS_TIME timer_check ();
 -extern int timers_run;
 +/* From now on, do not expect DESC to give keyboard input.  */
  
 -Lisp_Object QCtype, QCname;
 +void
 +delete_keyboard_wait_descriptor (int desc)
 +{
 +#ifdef subprocesses
 +  int fd;
 +  int lim = max_input_desc;
  
 -Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid;
 -Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime;
 -Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
 -Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime;
 +  FD_CLR (desc, &input_wait_mask);
 +  FD_CLR (desc, &non_process_wait_mask);
  
 -/* As described above, except assuming that there are no subprocesses:
 +  if (desc == max_input_desc)
 +    for (fd = 0; fd < lim; fd++)
 +      if (FD_ISSET (fd, &input_wait_mask) || FD_ISSET (fd, &write_mask))
 +        max_input_desc = fd;
 +#endif
 +}
  
 -   Wait for timeout to elapse and/or keyboard input to be available.
 +/* Setup coding systems of PROCESS.  */
  
 -   time_limit is:
 -     timeout in seconds, or
 -     zero for no limit, or
 -     -1 means gobble data immediately available but don't wait for any.
 +void
 +setup_process_coding_systems (Lisp_Object process)
 +{
 +#ifdef subprocesses
 +  struct Lisp_Process *p = XPROCESS (process);
 +  int inch = p->infd;
 +  int outch = p->outfd;
 +  Lisp_Object coding_system;
  
 -   read_kbd is a Lisp_Object:
 -     0 to ignore keyboard input, or
 -     1 to return when input is available, or
 -     -1 means caller will actually read the input, so don't throw to
 -       the quit handler.
 +  if (inch < 0 || outch < 0)
 +    return;
  
 -   see full version for other parameters. We know that wait_proc will
 -     always be NULL, since `subprocesses' isn't defined.
 +  if (!proc_decode_coding_system[inch])
 +    proc_decode_coding_system[inch]
 +      = (struct coding_system *) xmalloc (sizeof (struct coding_system));
 +  coding_system = p->decode_coding_system;
 +  if (! NILP (p->filter))
 +    ;
 +  else if (BUFFERP (p->buffer))
 +    {
 +      if (NILP (BVAR (XBUFFER (p->buffer), enable_multibyte_characters)))
 +      coding_system = raw_text_coding_system (coding_system);
 +    }
 +  setup_coding_system (coding_system, proc_decode_coding_system[inch]);
  
 -   do_display != 0 means redisplay should be done to show subprocess
 -   output that arrives.
 +  if (!proc_encode_coding_system[outch])
 +    proc_encode_coding_system[outch]
 +      = (struct coding_system *) xmalloc (sizeof (struct coding_system));
 +  setup_coding_system (p->encode_coding_system,
 +                     proc_encode_coding_system[outch]);
 +#endif
 +}
  
 -   Return true if we received input from any process.  */
 +/* Close all descriptors currently in use for communication
 +   with subprocess.  This is used in a newly-forked subprocess
 +   to get rid of irrelevant descriptors.  */
  
 -int
 -wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
 -                           wait_for_cell, wait_proc, just_wait_proc)
 -     int time_limit, microsecs, read_kbd, do_display;
 -     Lisp_Object wait_for_cell;
 -     struct Lisp_Process *wait_proc;
 -     int just_wait_proc;
 +void
 +close_process_descs (void)
  {
 -  register int nfds;
 -  EMACS_TIME end_time, timeout;
 -  SELECT_TYPE waitchannels;
 -  int xerrno;
 -
 -  /* What does time_limit really mean?  */
 -  if (time_limit || microsecs)
 +#ifndef DOS_NT
 +  int i;
 +  for (i = 0; i < MAXDESC; i++)
      {
 -      EMACS_GET_TIME (end_time);
 -      EMACS_SET_SECS_USECS (timeout, time_limit, microsecs);
 -      EMACS_ADD_TIME (end_time, end_time, timeout);
 +      Lisp_Object process;
 +      process = chan_process[i];
 +      if (!NILP (process))
 +      {
 +        int in  = XPROCESS (process)->infd;
 +        int out = XPROCESS (process)->outfd;
 +        if (in >= 0)
 +          emacs_close (in);
 +        if (out >= 0 && in != out)
 +          emacs_close (out);
 +      }
      }
 +#endif
 +}
  
 -  /* Turn off periodic alarms (in case they are in use)
 -     and then turn off any other atimers,
 -     because the select emulator uses alarms.  */
 -  stop_polling ();
 -  turn_on_atimers (0);
 +DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
 +       doc: /* Return the (or a) process associated with BUFFER.
 +BUFFER may be a buffer or the name of one.  */)
 +  (register Lisp_Object buffer)
 +{
 +#ifdef subprocesses
 +  register Lisp_Object buf, tail, proc;
  
 -  while (1)
 +  if (NILP (buffer)) return Qnil;
 +  buf = Fget_buffer (buffer);
 +  if (NILP (buf)) return Qnil;
 +
 +  for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
      {
 -      int timeout_reduced_for_timers = 0;
 +      proc = Fcdr (XCAR (tail));
 +      if (PROCESSP (proc) && EQ (XPROCESS (proc)->buffer, buf))
 +      return proc;
 +    }
 +#endif        /* subprocesses */
 +  return Qnil;
 +}
  
 -      /* If calling from keyboard input, do not quit
 -       since we want to return C-g as an input character.
 -       Otherwise, do pending quit if requested.  */
 -      if (read_kbd >= 0)
 -      QUIT;
 +DEFUN ("process-inherit-coding-system-flag",
 +       Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag,
 +       1, 1, 0,
 +       doc: /* Return the value of inherit-coding-system flag for PROCESS.
 +If this flag is t, `buffer-file-coding-system' of the buffer
 +associated with PROCESS will inherit the coding system used to decode
 +the process output.  */)
 +  (register Lisp_Object process)
 +{
 +#ifdef subprocesses
 +  CHECK_PROCESS (process);
 +  return XPROCESS (process)->inherit_coding_system_flag ? Qt : Qnil;
 +#else
 +  /* Ignore the argument and return the value of
 +     inherit-process-coding-system.  */
 +  return inherit_process_coding_system ? Qt : Qnil;
 +#endif
 +}
  
 -      /* Exit now if the cell we're waiting for became non-nil.  */
 -      if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell)))
 -      break;
 +/* Kill all processes associated with `buffer'.
 +   If `buffer' is nil, kill all processes  */
  
 -      /* Compute time from now till when time limit is up */
 -      /* Exit if already run out */
 -      if (time_limit == -1)
 -      {
 -        /* -1 specified for timeout means
 -           gobble output available now
 -           but don't wait at all. */
 +void
 +kill_buffer_processes (Lisp_Object buffer)
 +{
 +#ifdef subprocesses
 +  Lisp_Object tail, proc;
  
 -        EMACS_SET_SECS_USECS (timeout, 0, 0);
 -      }
 -      else if (time_limit || microsecs)
 -      {
 -        EMACS_GET_TIME (timeout);
 -        EMACS_SUB_TIME (timeout, end_time, timeout);
 -        if (EMACS_TIME_NEG_P (timeout))
 -          break;
 -      }
 -      else
 +  for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail))
 +    {
 +      proc = XCDR (XCAR (tail));
 +      if (PROCESSP (proc)
 +        && (NILP (buffer) || EQ (XPROCESS (proc)->buffer, buffer)))
        {
 -        EMACS_SET_SECS_USECS (timeout, 100000, 0);
 +        if (NETCONN_P (proc) || SERIALCONN_P (proc))
 +          Fdelete_process (proc);
 +        else if (XPROCESS (proc)->infd >= 0)
 +          process_send_signal (proc, SIGHUP, Qnil, 1);
        }
 +    }
 +#else  /* subprocesses */
 +  /* Since we have no subprocesses, this does nothing.  */
 +#endif /* subprocesses */
 +}
  
 -      /* If our caller will not immediately handle keyboard events,
 -       run timer events directly.
 -       (Callers that will immediately read keyboard events
 -       call timer_delay on their own.)  */
 -      if (NILP (wait_for_cell))
 -      {
 -        EMACS_TIME timer_delay;
 +DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
 +       0, 0, 0,
 +       doc: /* Returns non-nil if Emacs is waiting for input from the user.
 +This is intended for use by asynchronous process output filters and sentinels.  */)
 +  (void)
 +{
 +#ifdef subprocesses
 +  return (waiting_for_user_input_p ? Qt : Qnil);
 +#else
 +  return Qnil;
 +#endif
 +}
 +
 +/* Stop reading input from keyboard sources.  */
 +
 +void
 +hold_keyboard_input (void)
 +{
 +  kbd_is_on_hold = 1;
 +}
 +
 +/* Resume reading input from keyboard sources.  */
 +
 +void
 +unhold_keyboard_input (void)
 +{
 +  kbd_is_on_hold = 0;
 +}
 +
 +/* Return non-zero if keyboard input is on hold, zero otherwise.  */
 +
 +int
 +kbd_on_hold_p (void)
 +{
 +  return kbd_is_on_hold;
 +}
  
 -        do
 -          {
 -            int old_timers_run = timers_run;
 -            timer_delay = timer_check (1);
 -            if (timers_run != old_timers_run && do_display)
 -              /* We must retry, since a timer may have requeued itself
 -                 and that could alter the time delay.  */
 -              redisplay_preserve_echo_area (14);
 -            else
 -              break;
 -          }
 -        while (!detect_input_pending ());
 +\f
 +/* Enumeration of and access to system processes a-la ps(1).  */
  
 -        /* If there is unread keyboard input, also return.  */
 -        if (read_kbd != 0
 -            && requeued_events_pending_p ())
 -          break;
 +DEFUN ("list-system-processes", Flist_system_processes, Slist_system_processes,
 +       0, 0, 0,
 +       doc: /* Return a list of numerical process IDs of all running processes.
 +If this functionality is unsupported, return nil.
  
 -        if (! EMACS_TIME_NEG_P (timer_delay) && time_limit != -1)
 -          {
 -            EMACS_TIME difference;
 -            EMACS_SUB_TIME (difference, timer_delay, timeout);
 -            if (EMACS_TIME_NEG_P (difference))
 -              {
 -                timeout = timer_delay;
 -                timeout_reduced_for_timers = 1;
 -              }
 -          }
 -      }
 +See `process-attributes' for getting attributes of a process given its ID.  */)
 +  (void)
 +{
 +  return list_system_processes ();
 +}
  
 -      /* Cause C-g and alarm signals to take immediate action,
 -       and cause input available signals to zero out timeout.  */
 -      if (read_kbd < 0)
 -      set_waiting_for_input (&timeout);
 +DEFUN ("process-attributes", Fprocess_attributes,
 +       Sprocess_attributes, 1, 1, 0,
 +       doc: /* Return attributes of the process given by its PID, a number.
  
 -      /* Wait till there is something to do.  */
 +Value is an alist where each element is a cons cell of the form
  
 -      if (! read_kbd && NILP (wait_for_cell))
 -      FD_ZERO (&waitchannels);
 -      else
 -      FD_SET (0, &waitchannels);
 +    \(KEY . VALUE)
  
 -      /* If a frame has been newly mapped and needs updating,
 -       reprocess its display stuff.  */
 -      if (frame_garbaged && do_display)
 -      {
 -        clear_waiting_for_input ();
 -        redisplay_preserve_echo_area (15);
 -        if (read_kbd < 0)
 -          set_waiting_for_input (&timeout);
 -      }
 +If this functionality is unsupported, the value is nil.
  
 -      if (read_kbd && detect_input_pending ())
 -      {
 -        nfds = 0;
 -        FD_ZERO (&waitchannels);
 -      }
 -      else
 -      nfds = select (1, &waitchannels, (SELECT_TYPE *)0, (SELECT_TYPE *)0,
 -                     &timeout);
 +See `list-system-processes' for getting a list of all process IDs.
  
 -      xerrno = errno;
 +The KEYs of the attributes that this function may return are listed
 +below, together with the type of the associated VALUE (in parentheses).
 +Not all platforms support all of these attributes; unsupported
 +attributes will not appear in the returned alist.
 +Unless explicitly indicated otherwise, numbers can have either
 +integer or floating point values.
  
 -      /* Make C-g and alarm signals set flags again */
 -      clear_waiting_for_input ();
 + euid    -- Effective user User ID of the process (number)
 + user    -- User name corresponding to euid (string)
 + egid    -- Effective user Group ID of the process (number)
 + group   -- Group name corresponding to egid (string)
 + comm    -- Command name (executable name only) (string)
 + state   -- Process state code, such as "S", "R", or "T" (string)
 + ppid    -- Parent process ID (number)
 + pgrp    -- Process group ID (number)
 + sess    -- Session ID, i.e. process ID of session leader (number)
 + ttname  -- Controlling tty name (string)
 + tpgid   -- ID of foreground process group on the process's tty (number)
 + minflt  -- number of minor page faults (number)
 + majflt  -- number of major page faults (number)
 + cminflt -- cumulative number of minor page faults (number)
 + cmajflt -- cumulative number of major page faults (number)
 + utime   -- user time used by the process, in the (HIGH LOW USEC) format
 + stime   -- system time used by the process, in the (HIGH LOW USEC) format
 + time    -- sum of utime and stime, in the (HIGH LOW USEC) format
 + cutime  -- user time used by the process and its children, (HIGH LOW USEC)
 + cstime  -- system time used by the process and its children, (HIGH LOW USEC)
 + ctime   -- sum of cutime and cstime, in the (HIGH LOW USEC) format
 + pri     -- priority of the process (number)
 + nice    -- nice value of the process (number)
 + thcount -- process thread count (number)
 + start   -- time the process started, in the (HIGH LOW USEC) format
 + vsize   -- virtual memory size of the process in KB's (number)
 + rss     -- resident set size of the process in KB's (number)
 + etime   -- elapsed time the process is running, in (HIGH LOW USEC) format
 + pcpu    -- percents of CPU time used by the process (floating-point number)
 + pmem    -- percents of total physical memory used by process's resident set
 +              (floating-point number)
 + args    -- command line which invoked the process (string).  */)
 +  ( Lisp_Object pid)
 +{
 +  return system_process_attributes (pid);
 +}
  
 -      /*  If we woke up due to SIGWINCH, actually change size now.  */
 -      do_pending_window_change (0);
 +\f
 +void
 +init_process (void)
 +{
 +#ifdef subprocesses
 +  register int i;
  
 -      if (time_limit && nfds == 0 && ! timeout_reduced_for_timers)
 -      /* We waited the full specified time, so return now.  */
 -      break;
 +  inhibit_sentinels = 0;
  
 -      if (nfds == -1)
 -      {
 -        /* If the system call was interrupted, then go around the
 -           loop again.  */
 -        if (xerrno == EINTR)
 -          FD_ZERO (&waitchannels);
 -        else
 -          error ("select error: %s", emacs_strerror (xerrno));
 -      }
 -#ifdef SOLARIS2
 -      else if (nfds > 0 && (waitchannels & 1)  && interrupt_input)
 -      /* System sometimes fails to deliver SIGIO.  */
 -      kill (getpid (), SIGIO);
 +#ifdef SIGCHLD
 +#ifndef CANNOT_DUMP
 +  if (! noninteractive || initialized)
  #endif
 -#ifdef SIGIO
 -      if (read_kbd && interrupt_input && (waitchannels & 1))
 -      kill (getpid (), SIGIO);
 +    signal (SIGCHLD, sigchld_handler);
  #endif
  
 -      /* Check for keyboard input */
 +  FD_ZERO (&input_wait_mask);
 +  FD_ZERO (&non_keyboard_wait_mask);
 +  FD_ZERO (&non_process_wait_mask);
 +  FD_ZERO (&write_mask);
 +  max_process_desc = 0;
 +  memset (fd_callback_info, 0, sizeof (fd_callback_info));
  
 -      if (read_kbd
 -        && detect_input_pending_run_timers (do_display))
 -      {
 -        swallow_events (do_display);
 -        if (detect_input_pending_run_timers (do_display))
 -          break;
 -      }
 +#ifdef NON_BLOCKING_CONNECT
 +  FD_ZERO (&connect_wait_mask);
 +  num_pending_connects = 0;
 +#endif
  
 -      /* If there is unread keyboard input, also return.  */
 -      if (read_kbd
 -        && requeued_events_pending_p ())
 -      break;
 +#ifdef ADAPTIVE_READ_BUFFERING
 +  process_output_delay_count = 0;
 +  process_output_skip = 0;
 +#endif
  
 -      /* If wait_for_cell. check for keyboard input
 -       but don't run any timers.
 -       ??? (It seems wrong to me to check for keyboard
 -       input at all when wait_for_cell, but the code
 -       has been this way since July 1994.
 -       Try changing this after version 19.31.)  */
 -      if (! NILP (wait_for_cell)
 -        && detect_input_pending ())
 -      {
 -        swallow_events (do_display);
 -        if (detect_input_pending ())
 -          break;
 -      }
 +  /* Don't do this, it caused infinite select loops.  The display
 +     method should call add_keyboard_wait_descriptor on stdin if it
 +     needs that.  */
 +#if 0
 +  FD_SET (0, &input_wait_mask);
 +#endif
  
 -      /* Exit now if the cell we're waiting for became non-nil.  */
 -      if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell)))
 -      break;
 +  Vprocess_alist = Qnil;
 +#ifdef SIGCHLD
 +  deleted_pid_list = Qnil;
 +#endif
 +  for (i = 0; i < MAXDESC; i++)
 +    {
 +      chan_process[i] = Qnil;
 +      proc_buffered_char[i] = -1;
      }
 +  memset (proc_decode_coding_system, 0, sizeof proc_decode_coding_system);
 +  memset (proc_encode_coding_system, 0, sizeof proc_encode_coding_system);
 +#ifdef DATAGRAM_SOCKETS
 +  memset (datagram_address, 0, sizeof datagram_address);
 +#endif
  
 -  start_polling ();
 + {
 +   Lisp_Object subfeatures = Qnil;
 +   const struct socket_options *sopt;
  
 -  return 0;
 -}
 +#define ADD_SUBFEATURE(key, val) \
 +  subfeatures = pure_cons (pure_cons (key, pure_cons (val, Qnil)), subfeatures)
 +
 +#ifdef NON_BLOCKING_CONNECT
 +   ADD_SUBFEATURE (QCnowait, Qt);
 +#endif
 +#ifdef DATAGRAM_SOCKETS
 +   ADD_SUBFEATURE (QCtype, Qdatagram);
 +#endif
 +#ifdef HAVE_SEQPACKET
 +   ADD_SUBFEATURE (QCtype, Qseqpacket);
 +#endif
 +#ifdef HAVE_LOCAL_SOCKETS
 +   ADD_SUBFEATURE (QCfamily, Qlocal);
 +#endif
 +   ADD_SUBFEATURE (QCfamily, Qipv4);
 +#ifdef AF_INET6
 +   ADD_SUBFEATURE (QCfamily, Qipv6);
 +#endif
 +#ifdef HAVE_GETSOCKNAME
 +   ADD_SUBFEATURE (QCservice, Qt);
 +#endif
 +#if defined(O_NONBLOCK) || defined(O_NDELAY)
 +   ADD_SUBFEATURE (QCserver, Qt);
 +#endif
  
 +   for (sopt = socket_options; sopt->name; sopt++)
 +     subfeatures = pure_cons (intern_c_string (sopt->name), subfeatures);
  
 -/* Don't confuse make-docfile by having two doc strings for this function.
 -   make-docfile does not pay attention to #if, for good reason!  */
 -DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
 -       0)
 -     (name)
 -     register Lisp_Object name;
 -{
 -  return Qnil;
 -}
 +   Fprovide (intern_c_string ("make-network-process"), subfeatures);
 + }
  
 -  /* Don't confuse make-docfile by having two doc strings for this function.
 -     make-docfile does not pay attention to #if, for good reason!  */
 -DEFUN ("process-inherit-coding-system-flag",
 -       Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag,
 -       1, 1, 0,
 -       0)
 -     (process)
 -     register Lisp_Object process;
 -{
 -  /* Ignore the argument and return the value of
 -     inherit-process-coding-system.  */
 -  return inherit_process_coding_system ? Qt : Qnil;
 +#if defined (DARWIN_OS)
 +  /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive
 +     processes.  As such, we only change the default value.  */
 + if (initialized)
 +  {
 +    const char *release = get_operating_system_release ();
 +    if (!release || !release[0] || (release[0] < MIN_PTY_KERNEL_VERSION
 +                                  && release[1] == '.')) {
 +      Vprocess_connection_type = Qnil;
 +    }
 +  }
 +#endif
 +#endif        /* subprocesses */
 +  kbd_is_on_hold = 0;
  }
  
 -/* Kill all processes associated with `buffer'.
 -   If `buffer' is nil, kill all processes.
 -   Since we have no subprocesses, this does nothing.  */
 -
  void
 -kill_buffer_processes (buffer)
 -     Lisp_Object buffer;
 +syms_of_process (void)
  {
 -}
 -
 -DEFUN ("list-system-processes", Flist_system_processes, Slist_system_processes,
 -       0, 0, 0,
 -       doc: /* Return a list of numerical process IDs of all running processes.
 -If this functionality is unsupported, return nil.
 +#ifdef subprocesses
  
 -See `process-attributes' for getting attributes of a process given its ID.  */)
 -    ()
 -{
 -  return list_system_processes ();
 -}
 +  Qprocessp = intern_c_string ("processp");
 +  staticpro (&Qprocessp);
 +  Qrun = intern_c_string ("run");
 +  staticpro (&Qrun);
 +  Qstop = intern_c_string ("stop");
 +  staticpro (&Qstop);
 +  Qsignal = intern_c_string ("signal");
 +  staticpro (&Qsignal);
  
 -DEFUN ("process-attributes", Fprocess_attributes,
 -       Sprocess_attributes, 1, 1, 0,
 -       doc: /* Return attributes of the process given by its PID, a number.
 +  /* Qexit is already staticpro'd by syms_of_eval; don't staticpro it
 +     here again.
  
 -Value is an alist where each element is a cons cell of the form
 +     Qexit = intern_c_string ("exit");
 +     staticpro (&Qexit); */
  
 -    \(KEY . VALUE)
 +  Qopen = intern_c_string ("open");
 +  staticpro (&Qopen);
 +  Qclosed = intern_c_string ("closed");
 +  staticpro (&Qclosed);
 +  Qconnect = intern_c_string ("connect");
 +  staticpro (&Qconnect);
 +  Qfailed = intern_c_string ("failed");
 +  staticpro (&Qfailed);
 +  Qlisten = intern_c_string ("listen");
 +  staticpro (&Qlisten);
 +  Qlocal = intern_c_string ("local");
 +  staticpro (&Qlocal);
 +  Qipv4 = intern_c_string ("ipv4");
 +  staticpro (&Qipv4);
 +#ifdef AF_INET6
 +  Qipv6 = intern_c_string ("ipv6");
 +  staticpro (&Qipv6);
 +#endif
 +  Qdatagram = intern_c_string ("datagram");
 +  staticpro (&Qdatagram);
 +  Qseqpacket = intern_c_string ("seqpacket");
 +  staticpro (&Qseqpacket);
  
 -If this functionality is unsupported, the value is nil.
 +  QCport = intern_c_string (":port");
 +  staticpro (&QCport);
 +  QCspeed = intern_c_string (":speed");
 +  staticpro (&QCspeed);
 +  QCprocess = intern_c_string (":process");
 +  staticpro (&QCprocess);
  
 -See `list-system-processes' for getting a list of all process IDs.
 +  QCbytesize = intern_c_string (":bytesize");
 +  staticpro (&QCbytesize);
 +  QCstopbits = intern_c_string (":stopbits");
 +  staticpro (&QCstopbits);
 +  QCparity = intern_c_string (":parity");
 +  staticpro (&QCparity);
 +  Qodd = intern_c_string ("odd");
 +  staticpro (&Qodd);
 +  Qeven = intern_c_string ("even");
 +  staticpro (&Qeven);
 +  QCflowcontrol = intern_c_string (":flowcontrol");
 +  staticpro (&QCflowcontrol);
 +  Qhw = intern_c_string ("hw");
 +  staticpro (&Qhw);
 +  Qsw = intern_c_string ("sw");
 +  staticpro (&Qsw);
 +  QCsummary = intern_c_string (":summary");
 +  staticpro (&QCsummary);
  
 -The KEYs of the attributes that this function may return are listed
 -below, together with the type of the associated VALUE (in parentheses).
 -Not all platforms support all of these attributes; unsupported
 -attributes will not appear in the returned alist.
 -Unless explicitly indicated otherwise, numbers can have either
 -integer or floating point values.
 +  Qreal = intern_c_string ("real");
 +  staticpro (&Qreal);
 +  Qnetwork = intern_c_string ("network");
 +  staticpro (&Qnetwork);
 +  Qserial = intern_c_string ("serial");
 +  staticpro (&Qserial);
 +  QCbuffer = intern_c_string (":buffer");
 +  staticpro (&QCbuffer);
 +  QChost = intern_c_string (":host");
 +  staticpro (&QChost);
 +  QCservice = intern_c_string (":service");
 +  staticpro (&QCservice);
 +  QClocal = intern_c_string (":local");
 +  staticpro (&QClocal);
 +  QCremote = intern_c_string (":remote");
 +  staticpro (&QCremote);
 +  QCcoding = intern_c_string (":coding");
 +  staticpro (&QCcoding);
 +  QCserver = intern_c_string (":server");
 +  staticpro (&QCserver);
 +  QCnowait = intern_c_string (":nowait");
 +  staticpro (&QCnowait);
 +  QCsentinel = intern_c_string (":sentinel");
 +  staticpro (&QCsentinel);
 +  QClog = intern_c_string (":log");
 +  staticpro (&QClog);
 +  QCnoquery = intern_c_string (":noquery");
 +  staticpro (&QCnoquery);
 +  QCstop = intern_c_string (":stop");
 +  staticpro (&QCstop);
 +  QCoptions = intern_c_string (":options");
 +  staticpro (&QCoptions);
 +  QCplist = intern_c_string (":plist");
 +  staticpro (&QCplist);
  
 - euid    -- Effective user User ID of the process (number)
 - user    -- User name corresponding to euid (string)
 - egid    -- Effective user Group ID of the process (number)
 - group   -- Group name corresponding to egid (string)
 - comm    -- Command name (executable name only) (string)
 - state   -- Process state code, such as "S", "R", or "T" (string)
 - ppid    -- Parent process ID (number)
 - pgrp    -- Process group ID (number)
 - sess    -- Session ID, i.e. process ID of session leader (number)
 - ttname  -- Controlling tty name (string)
 - tpgid   -- ID of foreground process group on the process's tty (number)
 - minflt  -- number of minor page faults (number)
 - majflt  -- number of major page faults (number)
 - cminflt -- cumulative number of minor page faults (number)
 - cmajflt -- cumulative number of major page faults (number)
 - utime   -- user time used by the process, in the (HIGH LOW USEC) format
 - stime   -- system time used by the process, in the (HIGH LOW USEC) format
 - time    -- sum of utime and stime, in the (HIGH LOW USEC) format
 - cutime  -- user time used by the process and its children, (HIGH LOW USEC)
 - cstime  -- system time used by the process and its children, (HIGH LOW USEC)
 - ctime   -- sum of cutime and cstime, in the (HIGH LOW USEC) format
 - pri     -- priority of the process (number)
 - nice    -- nice value of the process (number)
 - thcount -- process thread count (number)
 - start   -- time the process started, in the (HIGH LOW USEC) format
 - vsize   -- virtual memory size of the process in KB's (number)
 - rss     -- resident set size of the process in KB's (number)
 - etime   -- elapsed time the process is running, in (HIGH LOW USEC) format
 - pcpu    -- percents of CPU time used by the process (floating-point number)
 - pmem    -- percents of total physical memory used by process's resident set
 -              (floating-point number)
 - args    -- command line which invoked the process (string).   */)
 -    (pid)
 +  Qlast_nonmenu_event = intern_c_string ("last-nonmenu-event");
 +  staticpro (&Qlast_nonmenu_event);
  
 -    Lisp_Object pid;
 -{
 -  return system_process_attributes (pid);
 -}
 +  staticpro (&Vprocess_alist);
 +#ifdef SIGCHLD
 +  staticpro (&deleted_pid_list);
 +#endif
  
 -void
 -init_process ()
 -{
 -}
 +#endif        /* subprocesses */
  
 -void
 -syms_of_process ()
 -{
 -  QCtype = intern_c_string (":type");
 -  staticpro (&QCtype);
    QCname = intern_c_string (":name");
    staticpro (&QCname);
    QCtype = intern_c_string (":type");
    staticpro (&QCtype);
 -  QCname = intern_c_string (":name");
 -  staticpro (&QCname);
 +
    Qeuid = intern_c_string ("euid");
    staticpro (&Qeuid);
    Qegid = intern_c_string ("egid");
    Qargs = intern_c_string ("args");
    staticpro (&Qargs);
  
 +  DEFVAR_BOOL ("delete-exited-processes", delete_exited_processes,
 +             doc: /* *Non-nil means delete processes immediately when they exit.
 +A value of nil means don't delete them until `list-processes' is run.  */);
 +
 +  delete_exited_processes = 1;
 +
 +#ifdef subprocesses
 +  DEFVAR_LISP ("process-connection-type", Vprocess_connection_type,
 +             doc: /* Control type of device used to communicate with subprocesses.
 +Values are nil to use a pipe, or t or `pty' to use a pty.
 +The value has no effect if the system has no ptys or if all ptys are busy:
 +then a pipe is used in any case.
 +The value takes effect when `start-process' is called.  */);
 +  Vprocess_connection_type = Qt;
 +
 +#ifdef ADAPTIVE_READ_BUFFERING
 +  DEFVAR_LISP ("process-adaptive-read-buffering", Vprocess_adaptive_read_buffering,
 +             doc: /* If non-nil, improve receive buffering by delaying after short reads.
 +On some systems, when Emacs reads the output from a subprocess, the output data
 +is read in very small blocks, potentially resulting in very poor performance.
 +This behavior can be remedied to some extent by setting this variable to a
 +non-nil value, as it will automatically delay reading from such processes, to
 +allow them to produce more output before Emacs tries to read it.
 +If the value is t, the delay is reset after each write to the process; any other
 +non-nil value means that the delay is not reset on write.
 +The variable takes effect when `start-process' is called.  */);
 +  Vprocess_adaptive_read_buffering = Qt;
 +#endif
 +
 +  defsubr (&Sprocessp);
 +  defsubr (&Sget_process);
 +  defsubr (&Sdelete_process);
 +  defsubr (&Sprocess_status);
 +  defsubr (&Sprocess_exit_status);
 +  defsubr (&Sprocess_id);
 +  defsubr (&Sprocess_name);
 +  defsubr (&Sprocess_tty_name);
 +  defsubr (&Sprocess_command);
 +  defsubr (&Sset_process_buffer);
 +  defsubr (&Sprocess_buffer);
 +  defsubr (&Sprocess_mark);
 +  defsubr (&Sset_process_filter);
 +  defsubr (&Sprocess_filter);
 +  defsubr (&Sset_process_sentinel);
 +  defsubr (&Sprocess_sentinel);
 +  defsubr (&Sset_process_window_size);
 +  defsubr (&Sset_process_inherit_coding_system_flag);
 +  defsubr (&Sset_process_query_on_exit_flag);
 +  defsubr (&Sprocess_query_on_exit_flag);
 +  defsubr (&Sprocess_contact);
 +  defsubr (&Sprocess_plist);
 +  defsubr (&Sset_process_plist);
 +  defsubr (&Sprocess_list);
 +  defsubr (&Sstart_process);
 +  defsubr (&Sserial_process_configure);
 +  defsubr (&Smake_serial_process);
 +  defsubr (&Sset_network_process_option);
 +  defsubr (&Smake_network_process);
 +  defsubr (&Sformat_network_address);
 +#if defined(HAVE_NET_IF_H)
 +#ifdef SIOCGIFCONF
 +  defsubr (&Snetwork_interface_list);
 +#endif
 +#if defined(SIOCGIFADDR) || defined(SIOCGIFHWADDR) || defined(SIOCGIFFLAGS)
 +  defsubr (&Snetwork_interface_info);
 +#endif
 +#endif /* defined(HAVE_NET_IF_H) */
 +#ifdef DATAGRAM_SOCKETS
 +  defsubr (&Sprocess_datagram_address);
 +  defsubr (&Sset_process_datagram_address);
 +#endif
 +  defsubr (&Saccept_process_output);
 +  defsubr (&Sprocess_send_region);
 +  defsubr (&Sprocess_send_string);
 +  defsubr (&Sinterrupt_process);
 +  defsubr (&Skill_process);
 +  defsubr (&Squit_process);
 +  defsubr (&Sstop_process);
 +  defsubr (&Scontinue_process);
 +  defsubr (&Sprocess_running_child_p);
 +  defsubr (&Sprocess_send_eof);
 +  defsubr (&Ssignal_process);
 +  defsubr (&Swaiting_for_user_input_p);
 +  defsubr (&Sprocess_type);
 +  defsubr (&Sset_process_coding_system);
 +  defsubr (&Sprocess_coding_system);
 +  defsubr (&Sset_process_filter_multibyte);
 +  defsubr (&Sprocess_filter_multibyte_p);
 +
 +#endif        /* subprocesses */
 +
    defsubr (&Sget_buffer_process);
    defsubr (&Sprocess_inherit_coding_system_flag);
    defsubr (&Slist_system_processes);
    defsubr (&Sprocess_attributes);
  }
 -
 -\f
 -#endif /* not subprocesses */
 -
 -/* arch-tag: 3706c011-7b9a-4117-bd4f-59e7f701a4c4
 -   (do not change this comment) */
diff --combined src/term.c
index 39c9592e28f0a0ae42639a6e946207c0802f5da0,44e127e7154d21d4085826e19d347e583ac2a0b5..9be9950d5eb0668ec5b4bbea70998bd58ea5e321
@@@ -1,5 -1,6 +1,5 @@@
  /* Terminal control module for terminals described by TERMCAP
 -   Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1998, 2000, 2001,
 -                 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 +   Copyright (C) 1985-1987, 1993-1995, 1998, 2000-2011
                   Free Software Foundation, Inc.
  
  This file is part of GNU Emacs.
@@@ -22,9 -23,18 +22,9 @@@ along with GNU Emacs.  If not, see <htt
  #include <config.h>
  #include <stdio.h>
  #include <ctype.h>
 -#include <string.h>
  #include <errno.h>
  #include <sys/file.h>
 -
 -#ifdef HAVE_UNISTD_H
  #include <unistd.h>
 -#endif
 -
 -#if HAVE_TERMIOS_H
 -#include <termios.h>          /* For TIOCNOTTY. */
 -#endif
 -
  #include <signal.h>
  #include <stdarg.h>
  #include <setjmp.h>
@@@ -32,7 -42,6 +32,7 @@@
  #include "lisp.h"
  #include "termchar.h"
  #include "termopts.h"
 +#include "tparam.h"
  #include "buffer.h"
  #include "character.h"
  #include "charset.h"
  static int been_here = -1;
  #endif
  
 -/* For now, don't try to include termcap.h.  On some systems,
 -   configure finds a non-standard termcap.h that the main build
 -   won't find.  */
 -
 -#if defined HAVE_TERMCAP_H && 0
 -#include <termcap.h>
 -#else
 -extern void tputs P_ ((const char *, int, int (*)(int)));
 -extern int tgetent P_ ((char *, const char *));
 -extern int tgetflag P_ ((char *id));
 -extern int tgetnum P_ ((char *id));
 -#endif
 -
  #include "cm.h"
  #ifdef HAVE_X_WINDOWS
  #include "xterm.h"
  #define DEV_TTY  "/dev/tty"
  #endif
  
 -static void tty_set_scroll_region P_ ((struct frame *f, int start, int stop));
 -static void turn_on_face P_ ((struct frame *, int face_id));
 -static void turn_off_face P_ ((struct frame *, int face_id));
 -static void tty_show_cursor P_ ((struct tty_display_info *));
 -static void tty_hide_cursor P_ ((struct tty_display_info *));
 -static void tty_background_highlight P_ ((struct tty_display_info *tty));
 -static void clear_tty_hooks P_ ((struct terminal *terminal));
 -static void set_tty_hooks P_ ((struct terminal *terminal));
 -static void dissociate_if_controlling_tty P_ ((int fd));
 -static void delete_tty P_ ((struct terminal *));
 +static void tty_set_scroll_region (struct frame *f, int start, int stop);
 +static void turn_on_face (struct frame *, int face_id);
 +static void turn_off_face (struct frame *, int face_id);
 +static void tty_show_cursor (struct tty_display_info *);
 +static void tty_hide_cursor (struct tty_display_info *);
 +static void tty_background_highlight (struct tty_display_info *tty);
 +static void clear_tty_hooks (struct terminal *terminal);
 +static void set_tty_hooks (struct terminal *terminal);
 +static void dissociate_if_controlling_tty (int fd);
 +static void delete_tty (struct terminal *);
 +static void maybe_fatal (int must_succeed, struct terminal *terminal,
 +                       const char *str1, const char *str2, ...)
 +  NO_RETURN ATTRIBUTE_FORMAT_PRINTF (4, 5);
 +static void vfatal (const char *str, va_list ap)
 +  NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 0);
 +
  
  #define OUTPUT(tty, a)                                          \
    emacs_tputs ((tty), a,                                        \
  #define OUTPUT_IF(tty, a)                                               \
    do {                                                                  \
      if (a)                                                              \
 -      emacs_tputs ((tty), a,                                            \
 -                   (int) (FRAME_LINES (XFRAME (selected_frame))         \
 -                          - curY (tty) ),                               \
 -                   cmputc);                                             \
 +      OUTPUT (tty, a);                                                        \
    } while (0)
  
  #define OUTPUT1_IF(tty, a) do { if (a) emacs_tputs ((tty), a, 1, cmputc); } while (0)
  
 -/* If true, use "vs", otherwise use "ve" to make the cursor visible.  */
 -
 -static int visible_cursor;
 -
  /* Display space properties */
  
 -extern Lisp_Object Qspace, QCalign_to, QCwidth;
 -
 -/* Functions to call after suspending a tty. */
 -Lisp_Object Vsuspend_tty_functions;
 -
 -/* Functions to call after resuming a tty. */
 -Lisp_Object Vresume_tty_functions;
 -
  /* Chain of all tty device parameters. */
  struct tty_display_info *tty_list;
  
 -/* Nonzero means no need to redraw the entire frame on resuming a
 -   suspended Emacs.  This is useful on terminals with multiple
 -   pages, where one page is used for Emacs and another for all
 -   else. */
 -int no_redraw_on_reenter;
 -
  /* Meaning of bits in no_color_video.  Each bit set means that the
     corresponding attribute cannot be combined with colors.  */
  
@@@ -143,15 -180,36 +143,15 @@@ int max_frame_lines
     should not open a frame on stdout. */
  static int no_controlling_tty;
  
 -/* Provided for lisp packages.  */
 -
 -static int system_uses_terminfo;
 -
 -char *tparam ();
 -
 -extern char *tgetstr ();
  \f
  
  #ifdef HAVE_GPM
  #include <sys/fcntl.h>
  
 -static void term_clear_mouse_face ();
 -static void term_mouse_highlight (struct frame *f, int x, int y);
 -
  /* The device for which we have enabled gpm support (or NULL).  */
  struct tty_display_info *gpm_tty = NULL;
  
 -/* These variables describe the range of text currently shown in its
 -   mouse-face, together with the window they apply to.  As long as
 -   the mouse stays within this range, we need not redraw anything on
 -   its account.  Rows and columns are glyph matrix positions in
 -   MOUSE_FACE_WINDOW.  */
 -static int mouse_face_beg_row, mouse_face_beg_col;
 -static int mouse_face_end_row, mouse_face_end_col;
 -static int mouse_face_past_end;
 -static Lisp_Object mouse_face_window;
 -static int mouse_face_face_id;
 -
 -static int pos_x, pos_y;
 +/* Last recorded mouse coordinates.  */
  static int last_mouse_x, last_mouse_y;
  #endif /* HAVE_GPM */
  
@@@ -253,7 -311,7 +253,7 @@@ tty_set_scroll_region (struct frame *f
    struct tty_display_info *tty = FRAME_TTY (f);
  
    if (tty->TS_set_scroll_region)
 -    buf = tparam (tty->TS_set_scroll_region, 0, 0, start, stop - 1);
 +    buf = tparam (tty->TS_set_scroll_region, 0, 0, start, stop - 1, 0, 0);
    else if (tty->TS_set_scroll_region_1)
      buf = tparam (tty->TS_set_scroll_region_1, 0, 0,
                  FRAME_LINES (f), start,
@@@ -504,7 -562,10 +504,7 @@@ static int encode_terminal_dst_size
     sequence, and return a pointer to that byte sequence.  */
  
  unsigned char *
 -encode_terminal_code (src, src_len, coding)
 -     struct glyph *src;
 -     int src_len;
 -     struct coding_system *coding;
 +encode_terminal_code (struct glyph *src, int src_len, struct coding_system *coding)
  {
    struct glyph *src_end = src + src_len;
    unsigned char *buf;
      {
        if (src->type == COMPOSITE_GLYPH)
        {
 -        struct composition *cmp;
 -        Lisp_Object gstring;
 +        struct composition *cmp IF_LINT (= NULL);
 +        Lisp_Object gstring IF_LINT (= Qnil);
          int i;
  
          nbytes = buf - encode_terminal_src;
          if (src->u.cmp.automatic)
            {
              gstring = composition_gstring_from_id (src->u.cmp.id);
 -            required = src->u.cmp.to + 1 - src->u.cmp.from;
 +            required = src->slice.cmp.to + 1 - src->slice.cmp.from;
            }
          else
            {
            }
  
          if (src->u.cmp.automatic)
 -          for (i = src->u.cmp.from; i <= src->u.cmp.to; i++)
 +          for (i = src->slice.cmp.from; i <= src->slice.cmp.to; i++)
              {
                Lisp_Object g = LGSTRING_GLYPH (gstring, i);
                int c = LGLYPH_CHAR (g);
        else if (! CHAR_GLYPH_PADDING_P (*src))
        {
          GLYPH g;
 -        int c;
 +        int c IF_LINT (= 0);
          Lisp_Object string;
  
          string = Qnil;
            }
          else
            {
 -            unsigned char *p = SDATA (string), *pend = p + SBYTES (string);
 -
              if (! STRING_MULTIBYTE (string))
                string = string_to_multibyte (string);
              nbytes = buf - encode_terminal_src;
                                                  encode_terminal_src_size);
                  buf = encode_terminal_src + nbytes;
                }
 -            bcopy (SDATA (string), buf, SBYTES (string));
 +            memcpy (buf, SDATA (string), SBYTES (string));
              buf += SBYTES (string);
              nchars += SCHARS (string);
            }
@@@ -709,7 -772,6 +709,7 @@@ tty_write_glyphs (struct frame *f, stru
  {
    unsigned char *conversion_buffer;
    struct coding_system *coding;
 +  size_t n, stringlen;
  
    struct tty_display_info *tty = FRAME_TTY (f);
  
       the tail.  */
    coding->mode &= ~CODING_MODE_LAST_BLOCK;
  
 -  while (len > 0)
 +  for (stringlen = len; stringlen != 0; stringlen -= n)
      {
        /* Identify a run of glyphs with the same face.  */
        int face_id = string->face_id;
 -      int n;
  
 -      for (n = 1; n < len; ++n)
 +      for (n = 1; n < stringlen; ++n)
        if (string[n].face_id != face_id)
          break;
  
        tty_highlight_if_desired (tty);
        turn_on_face (f, face_id);
  
 -      if (n == len)
 +      if (n == stringlen)
        /* This is the last run.  */
        coding->mode |= CODING_MODE_LAST_BLOCK;
        conversion_buffer = encode_terminal_code (string, n, coding);
            fwrite (conversion_buffer, 1, coding->produced, tty->termscript);
          UNBLOCK_INPUT;
        }
 -      len -= n;
        string += n;
  
        /* Turn appearance modes off.  */
  #ifdef HAVE_GPM                       /* Only used by GPM code.  */
  
  static void
 -tty_write_glyphs_with_face (f, string, len, face_id)
 -     register struct frame *f;
 -     register struct glyph *string;
 -     register int len, face_id;
 +tty_write_glyphs_with_face (register struct frame *f, register struct glyph *string,
 +                          register int len, register int face_id)
  {
    unsigned char *conversion_buffer;
    struct coding_system *coding;
@@@ -849,7 -915,7 +849,7 @@@ tty_insert_glyphs (struct frame *f, str
  
    if (tty->TS_ins_multi_chars)
      {
 -      buf = tparam (tty->TS_ins_multi_chars, 0, 0, len);
 +      buf = tparam (tty->TS_ins_multi_chars, 0, 0, len, 0, 0, 0);
        OUTPUT1 (tty, buf);
        xfree (buf);
        if (start)
@@@ -945,7 -1011,7 +945,7 @@@ tty_delete_glyphs (struct frame *f, in
  
    if (tty->TS_del_multi_chars)
      {
 -      buf = tparam (tty->TS_del_multi_chars, 0, 0, n);
 +      buf = tparam (tty->TS_del_multi_chars, 0, 0, n, 0, 0, 0);
        OUTPUT1 (tty, buf);
        xfree (buf);
      }
@@@ -962,10 -1028,9 +962,10 @@@ static voi
  tty_ins_del_lines (struct frame *f, int vpos, int n)
  {
    struct tty_display_info *tty = FRAME_TTY (f);
 -  char *multi = n > 0 ? tty->TS_ins_multi_lines : tty->TS_del_multi_lines;
 -  char *single = n > 0 ? tty->TS_ins_line : tty->TS_del_line;
 -  char *scroll = n > 0 ? tty->TS_rev_scroll : tty->TS_fwd_scroll;
 +  const char *multi =
 +    n > 0 ? tty->TS_ins_multi_lines : tty->TS_del_multi_lines;
 +  const char *single = n > 0 ? tty->TS_ins_line : tty->TS_del_line;
 +  const char *scroll = n > 0 ? tty->TS_rev_scroll : tty->TS_fwd_scroll;
  
    register int i = n > 0 ? n : -n;
    register char *buf;
      {
        raw_cursor_to (f, vpos, 0);
        tty_background_highlight (tty);
 -      buf = tparam (multi, 0, 0, i);
 +      buf = tparam (multi, 0, 0, i, 0, 0, 0);
        OUTPUT (tty, buf);
        xfree (buf);
      }
     not counting any line-dependent padding.  */
  
  int
 -string_cost (char *str)
 +string_cost (const char *str)
  {
    cost = 0;
    if (str)
     counting any line-dependent padding at one line.  */
  
  static int
 -string_cost_one_line (char *str)
 +string_cost_one_line (const char *str)
  {
    cost = 0;
    if (str)
     in tenths of characters.  */
  
  int
 -per_line_cost (char *str)
 +per_line_cost (const char *str)
  {
    cost = 0;
    if (str)
    return cost;
  }
  
 -#ifndef old
  /* char_ins_del_cost[n] is cost of inserting N characters.
     char_ins_del_cost[-n] is cost of deleting N characters.
     The length of this vector is based on max_frame_cols.  */
  int *char_ins_del_vector;
  
  #define char_ins_del_cost(f) (&char_ins_del_vector[FRAME_COLS ((f))])
 -#endif
  
  /* ARGSUSED */
  static void
@@@ -1140,9 -1207,9 +1140,9 @@@ calculate_costs (struct frame *frame
    if (FRAME_TERMCAP_P (frame))
      {
        struct tty_display_info *tty = FRAME_TTY (frame);
 -      register char *f = (tty->TS_set_scroll_region
 -                          ? tty->TS_set_scroll_region
 -                          : tty->TS_set_scroll_region_1);
 +      register const char *f = (tty->TS_set_scroll_region
 +                              ? tty->TS_set_scroll_region
 +                              : tty->TS_set_scroll_region_1);
  
        FRAME_SCROLL_REGION_COST (frame) = string_cost (f);
  
            = (int *) xmalloc (sizeof (int)
                               + 2 * max_frame_cols * sizeof (int));
  
 -      bzero (char_ins_del_vector, (sizeof (int)
 -                                   + 2 * max_frame_cols * sizeof (int)));
 +      memset (char_ins_del_vector, 0,
 +            (sizeof (int) + 2 * max_frame_cols * sizeof (int)));
  
  
        if (f && (!tty->TS_ins_line && !tty->TS_del_line))
  }
  \f
  struct fkey_table {
 -  char *cap, *name;
 +  const char *cap, *name;
  };
  
    /* Termcap capability names that correspond directly to X keysyms.
       other keys (as on the IBM PC keyboard) they get overridden.
    */
  
 -static struct fkey_table keys[] =
 +static const struct fkey_table keys[] =
  {
    {"kh", "home"},     /* termcap */
    {"kl", "left"},     /* termcap */
    {"!3", "S-undo"}       /*shifted undo key*/
    };
  
 +#ifndef DOS_NT
  static char **term_get_fkeys_address;
  static KBOARD *term_get_fkeys_kboard;
 -static Lisp_Object term_get_fkeys_1 ();
 +static Lisp_Object term_get_fkeys_1 (void);
  
  /* Find the escape codes sent by the function keys for Vinput_decode_map.
     This function scans the termcap function key sequence entries, and
     adds entries to Vinput_decode_map for each function key it finds.  */
  
  static void
 -term_get_fkeys (address, kboard)
 -     char **address;
 -     KBOARD *kboard;
 +term_get_fkeys (char **address, KBOARD *kboard)
  {
    /* We run the body of the function (term_get_fkeys_1) and ignore all Lisp
       errors during the call.  The only errors should be from Fdefine_key
       function key specification, rather than giving the user an error and
       refusing to run at all on such a terminal.  */
  
 -  extern Lisp_Object Fidentity ();
    term_get_fkeys_address = address;
    term_get_fkeys_kboard = kboard;
    internal_condition_case (term_get_fkeys_1, Qerror, Fidentity);
  }
  
  static Lisp_Object
 -term_get_fkeys_1 ()
 +term_get_fkeys_1 (void)
  {
    int i;
  
    KBOARD *kboard = term_get_fkeys_kboard;
  
    /* This can happen if CANNOT_DUMP or with strange options.  */
 -  if (!KEYMAPP (kboard->Vinput_decode_map))
 -    kboard->Vinput_decode_map = Fmake_sparse_keymap (Qnil);
 +  if (!KEYMAPP (KVAR (kboard, Vinput_decode_map)))
 +    KVAR (kboard, Vinput_decode_map) = Fmake_sparse_keymap (Qnil);
  
    for (i = 0; i < (sizeof (keys)/sizeof (keys[0])); i++)
      {
        char *sequence = tgetstr (keys[i].cap, address);
        if (sequence)
 -      Fdefine_key (kboard->Vinput_decode_map, build_string (sequence),
 +      Fdefine_key (KVAR (kboard, Vinput_decode_map), build_string (sequence),
                     Fmake_vector (make_number (1),
                                   intern (keys[i].name)));
      }
       "k;", and if it is present, assuming that "k0" denotes F0, otherwise F10.
       */
    {
 -    char *k_semi  = tgetstr ("k;", address);
 -    char *k0      = tgetstr ("k0", address);
 -    char *k0_name = "f10";
 +    const char *k_semi  = tgetstr ("k;", address);
 +    const char *k0      = tgetstr ("k0", address);
 +    const char *k0_name = "f10";
  
      if (k_semi)
        {
        if (k0)
          /* Define f0 first, so that f10 takes precedence in case the
             key sequences happens to be the same.  */
 -        Fdefine_key (kboard->Vinput_decode_map, build_string (k0),
 +        Fdefine_key (KVAR (kboard, Vinput_decode_map), build_string (k0),
                       Fmake_vector (make_number (1), intern ("f0")));
 -      Fdefine_key (kboard->Vinput_decode_map, build_string (k_semi),
 +      Fdefine_key (KVAR (kboard, Vinput_decode_map), build_string (k_semi),
                     Fmake_vector (make_number (1), intern ("f10")));
        }
      else if (k0)
 -      Fdefine_key (kboard->Vinput_decode_map, build_string (k0),
 +      Fdefine_key (KVAR (kboard, Vinput_decode_map), build_string (k0),
                   Fmake_vector (make_number (1), intern (k0_name)));
    }
  
          if (sequence)
            {
              sprintf (fkey, "f%d", i);
 -            Fdefine_key (kboard->Vinput_decode_map, build_string (sequence),
 +            Fdefine_key (KVAR (kboard, Vinput_decode_map), build_string (sequence),
                           Fmake_vector (make_number (1),
                                         intern (fkey)));
            }
        {                                                               \
          char *sequence = tgetstr (cap2, address);                     \
          if (sequence)                                                 \
 -          Fdefine_key (kboard->Vinput_decode_map, build_string (sequence), \
 +          Fdefine_key (KVAR (kboard, Vinput_decode_map), build_string (sequence), \
                         Fmake_vector (make_number (1),                 \
                                       intern (sym)));                  \
        }
  
    return Qnil;
  }
 +#endif /* not DOS_NT */
  
  \f
  /***********************************************************************
                       Character Display Information
   ***********************************************************************/
 -
 -/* Avoid name clash with functions defined in xterm.c */
 -#ifdef static
 -#define append_glyph append_glyph_term
 -#define produce_stretch_glyph produce_stretch_glyph_term
 -#define append_composite_glyph append_composite_glyph_term
 -#define produce_composite_glyph produce_composite_glyph_term
 -#endif
 -
 -static void append_glyph P_ ((struct it *));
 -static void produce_stretch_glyph P_ ((struct it *));
 -static void append_composite_glyph P_ ((struct it *));
 -static void produce_composite_glyph P_ ((struct it *));
 +static void append_glyph (struct it *);
 +static void produce_stretch_glyph (struct it *);
 +static void append_composite_glyph (struct it *);
 +static void produce_composite_glyph (struct it *);
 +static void append_glyphless_glyph (struct it *, int, const char *);
 +static void produce_glyphless_glyph (struct it *, int, Lisp_Object);
  
  /* Append glyphs to IT's glyph_row.  Called from produce_glyphs for
     terminal frames if IT->glyph_row != NULL.  IT->char_to_display is
     IT->pixel_width > 1.  */
  
  static void
 -append_glyph (it)
 -     struct it *it;
 +append_glyph (struct it *it)
  {
    struct glyph *glyph, *end;
    int i;
           + it->glyph_row->used[it->area]);
    end = it->glyph_row->glyphs[1 + it->area];
  
 +  /* If the glyph row is reversed, we need to prepend the glyph rather
 +     than append it.  */
 +  if (it->glyph_row->reversed_p && it->area == TEXT_AREA)
 +    {
 +      struct glyph *g;
 +      int move_by = it->pixel_width;
 +
 +      /* Make room for the new glyphs.  */
 +      if (move_by > end - glyph) /* don't overstep end of this area */
 +      move_by = end - glyph;
 +      for (g = glyph - 1; g >= it->glyph_row->glyphs[it->area]; g--)
 +      g[move_by] = *g;
 +      glyph = it->glyph_row->glyphs[it->area];
 +      end = glyph + move_by;
 +    }
 +
 +  /* BIDI Note: we put the glyphs of a "multi-pixel" character left to
 +     right, even in the REVERSED_P case, since (a) all of its u.ch are
 +     identical, and (b) the PADDING_P flag needs to be set for the
 +     leftmost one, because we write to the terminal left-to-right.  */
    for (i = 0;
         i < it->pixel_width && glyph < end;
         ++i)
        glyph->padding_p = i > 0;
        glyph->charpos = CHARPOS (it->position);
        glyph->object = it->object;
 +      if (it->bidi_p)
 +      {
 +        glyph->resolved_level = it->bidi_it.resolved_level;
 +        if ((it->bidi_it.type & 7) != it->bidi_it.type)
 +          abort ();
 +        glyph->bidi_type = it->bidi_it.type;
 +      }
 +      else
 +      {
 +        glyph->resolved_level = 0;
 +        glyph->bidi_type = UNKNOWN_BT;
 +      }
  
        ++it->glyph_row->used[it->area];
        ++glyph;
      }
  }
  
 -
  /* Produce glyphs for the display element described by IT.  *IT
     specifies what we want to produce a glyph for (character, image, ...),
     and where in the glyph matrix we currently are (glyph row and hpos).
     instead they use the macro PRODUCE_GLYPHS.  */
  
  void
 -produce_glyphs (it)
 -     struct it *it;
 +produce_glyphs (struct it *it)
  {
    /* If a hook is installed, let it do the work.  */
  
        goto done;
      }
  
 +  if (it->what == IT_GLYPHLESS)
 +    {
 +      produce_glyphless_glyph (it, 0, Qnil);
 +      goto done;
 +    }
 +
    if (it->char_to_display >= 040 && it->char_to_display < 0177)
      {
        it->pixel_width = it->nglyphs = 1;
      }
    else
      {
 -      it->pixel_width = CHAR_WIDTH (it->char_to_display);
 -      it->nglyphs = it->pixel_width;
 +      Lisp_Object charset_list = FRAME_TERMINAL (it->f)->charset_list;
  
 -      if (it->glyph_row)
 -      append_glyph (it);
 +      if (char_charset (it->char_to_display, charset_list, NULL))
 +      {
 +        it->pixel_width = CHAR_WIDTH (it->char_to_display);
 +        it->nglyphs = it->pixel_width;
 +        if (it->glyph_row)
 +          append_glyph (it);
 +      }
 +      else
 +      {
 +        Lisp_Object acronym = lookup_glyphless_char_display (-1, it);
 +
 +        xassert (it->what == IT_GLYPHLESS);
 +        produce_glyphless_glyph (it, 1, acronym);
 +      }
      }
  
   done:
     to reach HPOS, a value in canonical character units.  */
  
  static void
 -produce_stretch_glyph (it)
 -     struct it *it;
 +produce_stretch_glyph (struct it *it)
  {
    /* (space :width WIDTH ...)  */
    Lisp_Object prop, plist;
     face.  */
  
  static void
 -append_composite_glyph (it)
 -     struct it *it;
 +append_composite_glyph (struct it *it)
  {
    struct glyph *glyph;
  
    glyph = it->glyph_row->glyphs[it->area] + it->glyph_row->used[it->area];
    if (glyph < it->glyph_row->glyphs[1 + it->area])
      {
 +      /* If the glyph row is reversed, we need to prepend the glyph
 +       rather than append it.  */
 +      if (it->glyph_row->reversed_p && it->area == TEXT_AREA)
 +      {
 +        struct glyph *g;
 +
 +        /* Make room for the new glyph.  */
 +        for (g = glyph - 1; g >= it->glyph_row->glyphs[it->area]; g--)
 +          g[1] = *g;
 +        glyph = it->glyph_row->glyphs[it->area];
 +      }
        glyph->type = COMPOSITE_GLYPH;
        glyph->pixel_width = it->pixel_width;
        glyph->u.cmp.id = it->cmp_it.id;
        {
          glyph->u.cmp.automatic = 1;
          glyph->u.cmp.id = it->cmp_it.id;
 -        glyph->u.cmp.from = it->cmp_it.from;
 -        glyph->u.cmp.to = it->cmp_it.to - 1;
 +        glyph->slice.cmp.from = it->cmp_it.from;
 +        glyph->slice.cmp.to = it->cmp_it.to - 1;
        }
  
        glyph->face_id = it->face_id;
        glyph->padding_p = 0;
        glyph->charpos = CHARPOS (it->position);
        glyph->object = it->object;
 +      if (it->bidi_p)
 +      {
 +        glyph->resolved_level = it->bidi_it.resolved_level;
 +        if ((it->bidi_it.type & 7) != it->bidi_it.type)
 +          abort ();
 +        glyph->bidi_type = it->bidi_it.type;
 +      }
 +      else
 +      {
 +        glyph->resolved_level = 0;
 +        glyph->bidi_type = UNKNOWN_BT;
 +      }
  
        ++it->glyph_row->used[it->area];
        ++glyph;
     correctly.  */
  
  static void
 -produce_composite_glyph (it)
 -     struct it *it;
 +produce_composite_glyph (struct it *it)
  {
 -  int c;
 -
    if (it->cmp_it.ch < 0)
      {
        struct composition *cmp = composition_table[it->cmp_it.id];
  }
  
  
 +/* Append a glyph for a glyphless character to IT->glyph_row.  FACE_ID
 +   is a face ID to be used for the glyph.  What is actually appended
 +   are glyphs of type CHAR_GLYPH whose characters are in STR (which
 +   comes from it->nglyphs bytes).  */
 +
 +static void
 +append_glyphless_glyph (struct it *it, int face_id, const char *str)
 +{
 +  struct glyph *glyph, *end;
 +  int i;
 +
 +  xassert (it->glyph_row);
 +  glyph = it->glyph_row->glyphs[it->area] + it->glyph_row->used[it->area];
 +  end = it->glyph_row->glyphs[1 + it->area];
 +
 +  /* If the glyph row is reversed, we need to prepend the glyph rather
 +     than append it.  */
 +  if (it->glyph_row->reversed_p && it->area == TEXT_AREA)
 +    {
 +      struct glyph *g;
 +      int move_by = it->pixel_width;
 +
 +      /* Make room for the new glyphs.  */
 +      if (move_by > end - glyph) /* don't overstep end of this area */
 +      move_by = end - glyph;
 +      for (g = glyph - 1; g >= it->glyph_row->glyphs[it->area]; g--)
 +      g[move_by] = *g;
 +      glyph = it->glyph_row->glyphs[it->area];
 +      end = glyph + move_by;
 +    }
 +
 +  if (glyph >= end)
 +    return;
 +  glyph->type = CHAR_GLYPH;
 +  glyph->pixel_width = 1;
 +  glyph->face_id = face_id;
 +  glyph->padding_p = 0;
 +  glyph->charpos = CHARPOS (it->position);
 +  glyph->object = it->object;
 +  if (it->bidi_p)
 +    {
 +      glyph->resolved_level = it->bidi_it.resolved_level;
 +      if ((it->bidi_it.type & 7) != it->bidi_it.type)
 +      abort ();
 +      glyph->bidi_type = it->bidi_it.type;
 +    }
 +  else
 +    {
 +      glyph->resolved_level = 0;
 +      glyph->bidi_type = UNKNOWN_BT;
 +    }
 +
 +  /* BIDI Note: we put the glyphs of characters left to right, even in
 +     the REVERSED_P case because we write to the terminal
 +     left-to-right.  */
 +  for (i = 0; i < it->nglyphs && glyph < end; ++i)
 +    {
 +      if (i > 0)
 +      glyph[0] = glyph[-1];
 +      glyph->u.ch = str[i];
 +      ++it->glyph_row->used[it->area];
 +      ++glyph;
 +    }
 +}
 +
 +/* Produce glyphs for a glyphless character for iterator IT.
 +   IT->glyphless_method specifies which method to use for displaying
 +   the character.  See the description of enum
 +   glyphless_display_method in dispextern.h for the details.
 +
 +   FOR_NO_FONT is nonzero if and only if this is for a character that
 +   is not supproted by the coding system of the terminal.  ACRONYM, if
 +   non-nil, is an acronym string for the character.
 +
 +   The glyphs actually produced are of type CHAR_GLYPH.  */
 +
 +static void
 +produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
 +{
 +  int face_id;
 +  int len;
 +  char buf[9];
 +  char const *str = "    ";
 +
 +  /* Get a face ID for the glyph by utilizing a cache (the same way as
 +     done for `escape-glyph' in get_next_display_element).  */
 +  if (it->f == last_glyphless_glyph_frame
 +      && it->face_id == last_glyphless_glyph_face_id)
 +    {
 +      face_id = last_glyphless_glyph_merged_face_id;
 +    }
 +  else
 +    {
 +      /* Merge the `glyphless-char' face into the current face.  */
 +      face_id = merge_faces (it->f, Qglyphless_char, 0, it->face_id);
 +      last_glyphless_glyph_frame = it->f;
 +      last_glyphless_glyph_face_id = it->face_id;
 +      last_glyphless_glyph_merged_face_id = face_id;
 +    }
 +
 +  if (it->glyphless_method == GLYPHLESS_DISPLAY_THIN_SPACE)
 +    {
 +      /* As there's no way to produce a thin space, we produce a space
 +       of canonical width.  */
 +      len = 1;
 +    }
 +  else if (it->glyphless_method == GLYPHLESS_DISPLAY_EMPTY_BOX)
 +    {
 +      len = CHAR_WIDTH (it->c);
 +      if (len == 0)
 +      len = 1;
 +      else if (len > 4)
 +      len = 4;
 +      sprintf (buf, "[%.*s]", len, str);
 +      len += 2;
 +      str = buf;
 +    }
 +  else
 +    {
 +      if (it->glyphless_method == GLYPHLESS_DISPLAY_ACRONYM)
 +      {
 +        if (! STRINGP (acronym) && CHAR_TABLE_P (Vglyphless_char_display))
 +          acronym = CHAR_TABLE_REF (Vglyphless_char_display, it->c);
 +        buf[0] = '[';
 +        str = STRINGP (acronym) ? SSDATA (acronym) : "";
 +        for (len = 0; len < 6 && str[len] && ASCII_BYTE_P (str[len]); len++)
 +          buf[1 + len] = str[len];
 +        buf[1 + len] = ']';
 +        len += 2;
 +      }
 +      else
 +      {
 +        xassert (it->glyphless_method == GLYPHLESS_DISPLAY_HEX_CODE);
 +        len = (it->c < 0x10000 ? sprintf (buf, "\\u%04X", it->c)
 +               : it->c <= MAX_UNICODE_CHAR ? sprintf (buf, "\\U%06X", it->c)
 +               : sprintf (buf, "\\x%06X", it->c));
 +      }
 +      str = buf;
 +    }
 +
 +  it->pixel_width = len;
 +  it->nglyphs = len;
 +  if (it->glyph_row)
 +    append_glyphless_glyph (it, face_id, str);
 +}
 +
 +
  /* Get information about special display element WHAT in an
     environment described by IT.  WHAT is one of IT_TRUNCATION or
     IT_CONTINUATION.  Maybe produce glyphs for WHAT if IT has a
     face_id, c, len of IT are left untouched.  */
  
  void
 -produce_special_glyphs (it, what)
 -     struct it *it;
 -     enum display_element_type what;
 +produce_special_glyphs (struct it *it, enum display_element_type what)
  {
    struct it temp_it;
    Lisp_Object gc;
    temp_it.what = IT_CHARACTER;
    temp_it.len = 1;
    temp_it.object = make_number (0);
 -  bzero (&temp_it.current, sizeof temp_it.current);
 +  memset (&temp_it.current, 0, sizeof temp_it.current);
  
    if (what == IT_CONTINUATION)
      {
 -      /* Continuation glyph.  */
 -      SET_GLYPH_FROM_CHAR (glyph, '\\');
 +      /* Continuation glyph.  For R2L lines, we mirror it by hand.  */
 +      if (it->bidi_it.paragraph_dir == R2L)
 +      SET_GLYPH_FROM_CHAR (glyph, '/');
 +      else
 +      SET_GLYPH_FROM_CHAR (glyph, '\\');
        if (it->dp
          && (gc = DISP_CONTINUE_GLYPH (it->dp), GLYPH_CODE_P (gc))
          && GLYPH_CODE_CHAR_VALID_P (gc))
        {
 +        /* FIXME: Should we mirror GC for R2L lines?  */
          SET_GLYPH_FROM_GLYPH_CODE (glyph, gc);
          spec_glyph_lookup_face (XWINDOW (it->window), &glyph);
        }
          && (gc = DISP_TRUNC_GLYPH (it->dp), GLYPH_CODE_P (gc))
          && GLYPH_CODE_CHAR_VALID_P (gc))
        {
 +        /* FIXME: Should we mirror GC for R2L lines?  */
          SET_GLYPH_FROM_GLYPH_CODE (glyph, gc);
          spec_glyph_lookup_face (XWINDOW (it->window), &glyph);
        }
     FACE_ID is a realized face ID number, in the face cache.  */
  
  static void
 -turn_on_face (f, face_id)
 -     struct frame *f;
 -     int face_id;
 +turn_on_face (struct frame *f, int face_id)
  {
    struct face *face = FACE_FROM_ID (f, face_id);
    long fg = face->foreground;
  
    if (tty->TN_max_colors > 0)
      {
 -      char *ts, *p;
 +      const char *ts;
 +      char *p;
  
        ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground;
        if (fg >= 0 && ts)
        {
 -          p = tparam (ts, NULL, 0, (int) fg);
 +          p = tparam (ts, NULL, 0, (int) fg, 0, 0, 0);
          OUTPUT (tty, p);
          xfree (p);
        }
        ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background;
        if (bg >= 0 && ts)
        {
 -          p = tparam (ts, NULL, 0, (int) bg);
 +          p = tparam (ts, NULL, 0, (int) bg, 0, 0, 0);
          OUTPUT (tty, p);
          xfree (p);
        }
  /* Turn off appearances of face FACE_ID on tty frame F.  */
  
  static void
 -turn_off_face (f, face_id)
 -     struct frame *f;
 -     int face_id;
 +turn_off_face (struct frame *f, int face_id)
  {
    struct face *face = FACE_FROM_ID (f, face_id);
    struct tty_display_info *tty = FRAME_TTY (f);
     colors FG and BG.  */
  
  int
 -tty_capable_p (tty, caps, fg, bg)
 -     struct tty_display_info *tty;
 -     unsigned caps;
 -     unsigned long fg, bg;
 +tty_capable_p (struct tty_display_info *tty, unsigned int caps,
 +             unsigned long fg, unsigned long bg)
  {
  #define TTY_CAPABLE_P_TRY(tty, cap, TS, NC_bit)                               \
    if ((caps & (cap)) && (!(TS) || !MAY_USE_WITH_COLORS_P(tty, NC_bit)))       \
@@@ -2217,7 -2083,8 +2217,7 @@@ DEFUN ("tty-display-color-p", Ftty_disp
  TERMINAL can be a terminal object, a frame, or nil (meaning the
  selected frame's terminal).  This function always returns nil if
  TERMINAL does not refer to a text-only terminal.  */)
 -     (terminal)
 -     Lisp_Object terminal;
 +  (Lisp_Object terminal)
  {
    struct terminal *t = get_tty_terminal (terminal, 0);
    if (!t)
@@@ -2234,7 -2101,8 +2234,7 @@@ DEFUN ("tty-display-color-cells", Ftty_
  TERMINAL can be a terminal object, a frame, or nil (meaning the
  selected frame's terminal).  This function always returns 0 if
  TERMINAL does not refer to a text-only terminal.  */)
 -     (terminal)
 -     Lisp_Object terminal;
 +  (Lisp_Object terminal)
  {
    struct terminal *t = get_tty_terminal (terminal, 0);
    if (!t)
@@@ -2329,11 -2197,14 +2329,11 @@@ tty_setup_colors (struct tty_display_in
  }
  
  void
 -set_tty_color_mode (tty, f)
 -     struct tty_display_info *tty;
 -     struct frame *f;
 +set_tty_color_mode (struct tty_display_info *tty, struct frame *f)
  {
 -  Lisp_Object tem, val, color_mode_spec;
 +  Lisp_Object tem, val;
    Lisp_Object color_mode;
    int mode;
 -  extern Lisp_Object Qtty_color_mode;
    Lisp_Object tty_color_mode_alist
      = Fintern_soft (build_string ("tty-color-mode-alist"), Qnil);
  
  
    if (INTEGERP (val))
      color_mode = val;
 -  else
 +  else if (SYMBOLP (tty_color_mode_alist))
      {
 -      tem = (NILP (tty_color_mode_alist) ? Qnil
 -           : Fassq (val, XSYMBOL (tty_color_mode_alist)->value));
 +      tem = Fassq (val, Fsymbol_value (tty_color_mode_alist));
        color_mode = CONSP (tem) ? XCDR (tem) : Qnil;
      }
 +  else
 +    color_mode = Qnil;
  
    mode = INTEGERP (color_mode) ? XINT (color_mode) : 0;
  
@@@ -2392,7 -2262,8 +2392,7 @@@ get_tty_terminal (Lisp_Object terminal
     Returns NULL if the named terminal device is not opened.  */
  
  struct terminal *
 -get_named_tty (name)
 -     char *name;
 +get_named_tty (const char *name)
  {
    struct terminal *t;
  
@@@ -2417,7 -2288,8 +2417,7 @@@ Returns nil if TERMINAL is not on a tt
  
  TERMINAL can be a terminal object, a frame, or nil (meaning the
  selected frame's terminal).  */)
 -     (terminal)
 -     Lisp_Object terminal;
 +  (Lisp_Object terminal)
  {
    struct terminal *t = get_terminal (terminal, 1);
  
@@@ -2436,7 -2308,8 +2436,7 @@@ DEFUN ("controlling-tty-p", Fcontrollin
  TERMINAL can be a terminal object, a frame, or nil (meaning the
  selected frame's terminal).  This function always returns nil if
  TERMINAL is not on a tty device.  */)
 -     (terminal)
 -     Lisp_Object terminal;
 +  (Lisp_Object terminal)
  {
    struct terminal *t = get_terminal (terminal, 1);
  
@@@ -2456,7 -2329,8 +2456,7 @@@ no effect if used on a non-tty terminal
  TERMINAL can be a terminal object, a frame or nil (meaning the
  selected frame's terminal).  This function always returns nil if
  TERMINAL does not refer to a text-only terminal.  */)
 -  (terminal)
 -     Lisp_Object terminal;
 +  (Lisp_Object terminal)
  {
    struct terminal *t = get_terminal (terminal, 1);
  
@@@ -2486,7 -2360,8 +2486,7 @@@ terminal device
  suspended.
  
  A suspended tty may be resumed by calling `resume-tty' on it.  */)
 -     (tty)
 -     Lisp_Object tty;
 +  (Lisp_Object tty)
  {
    struct terminal *t = get_tty_terminal (tty, 1);
    FILE *f;
        /* First run `suspend-tty-functions' and then clean up the tty
         state because `suspend-tty-functions' might need to change
         the tty state.  */
 -      if (!NILP (Vrun_hooks))
 -        {
 -          Lisp_Object args[2];
 -          args[0] = intern ("suspend-tty-functions");
 -          XSETTERMINAL (args[1], t);
 -          Frun_hook_with_args (2, args);
 -        }
 +      Lisp_Object args[2];
 +      args[0] = intern ("suspend-tty-functions");
 +      XSETTERMINAL (args[1], t);
 +      Frun_hook_with_args (2, args);
  
        reset_sys_modes (t->display_info.tty);
 -
 -#ifdef subprocesses
        delete_keyboard_wait_descriptor (fileno (f));
 -#endif
  
  #ifndef MSDOS
        fclose (f);
@@@ -2546,7 -2427,8 +2546,7 @@@ suspended
  
  TTY may be a terminal object, a frame, or nil (meaning the selected
  frame's terminal). */)
 -     (tty)
 -     Lisp_Object tty;
 +  (Lisp_Object tty)
  {
    struct terminal *t = get_tty_terminal (tty, 1);
    int fd;
        t->display_info.tty->input = t->display_info.tty->output;
  #endif
  
 -#ifdef subprocesses
        add_keyboard_wait_descriptor (fd);
 -#endif
  
        if (FRAMEP (t->display_info.tty->top_frame))
        {
  
        init_sys_modes (t->display_info.tty);
  
 -      /* Run `resume-tty-functions'.  */
 -      if (!NILP (Vrun_hooks))
 -        {
 -          Lisp_Object args[2];
 -          args[0] = intern ("resume-tty-functions");
 -          XSETTERMINAL (args[1], t);
 -          Frun_hook_with_args (2, args);
 -        }
 +      {
 +        /* Run `resume-tty-functions'.  */
 +        Lisp_Object args[2];
 +        args[0] = intern ("resume-tty-functions");
 +        XSETTERMINAL (args[1], t);
 +        Frun_hook_with_args (2, args);
 +      }
      }
  
    set_tty_hooks (t);
@@@ -2628,36 -2513,415 +2628,36 @@@ term_mouse_moveto (int x, int y
    last_mouse_y = y;  */
  }
  
 -static void
 -term_show_mouse_face (enum draw_glyphs_face draw)
 +/* Implementation of draw_row_with_mouse_face for TTY/GPM.  */
 +void
 +tty_draw_row_with_mouse_face (struct window *w, struct glyph_row *row,
 +                            int start_hpos, int end_hpos,
 +                            enum draw_glyphs_face draw)
  {
 -  struct window *w = XWINDOW (mouse_face_window);
 -  int save_x, save_y;
 -  int i;
 -
 -  struct frame *f = XFRAME (w->frame);
 +  int nglyphs = end_hpos - start_hpos;
 +  struct frame *f = XFRAME (WINDOW_FRAME (w));
    struct tty_display_info *tty = FRAME_TTY (f);
 +  int face_id = tty->mouse_highlight.mouse_face_face_id;
 +  int save_x, save_y, pos_x, pos_y;
  
 -  if (/* If window is in the process of being destroyed, don't bother
 -       to do anything.  */
 -      w->current_matrix != NULL
 -      /* Recognize when we are called to operate on rows that don't exist
 -       anymore.  This can happen when a window is split.  */
 -      && mouse_face_end_row < w->current_matrix->nrows)
 -    {
 -      /* write_glyphs writes at cursor position, so we need to
 -       temporarily move cursor coordinates to the beginning of
 -       the highlight region.  */
 -
 -      /* Save current cursor co-ordinates */
 -      save_y = curY (tty);
 -      save_x = curX (tty);
 +  if (end_hpos >= row->used[TEXT_AREA])
 +    nglyphs = row->used[TEXT_AREA] - start_hpos;
  
 -      /* Note that mouse_face_beg_row etc. are window relative.  */
 -      for (i = mouse_face_beg_row; i <= mouse_face_end_row; i++)
 -      {
 -        int start_hpos, end_hpos, nglyphs;
 -        struct glyph_row *row = MATRIX_ROW (w->current_matrix, i);
 +  pos_y = row->y + WINDOW_TOP_EDGE_Y (w);
 +  pos_x = row->used[LEFT_MARGIN_AREA] + start_hpos + WINDOW_LEFT_EDGE_X (w);
  
 -        /* Don't do anything if row doesn't have valid contents.  */
 -        if (!row->enabled_p)
 -          continue;
 +  /* Save current cursor co-ordinates.  */
 +  save_y = curY (tty);
 +  save_x = curX (tty);
 +  cursor_to (f, pos_y, pos_x);
  
 -        /* For all but the first row, the highlight starts at column 0.  */
 -        if (i == mouse_face_beg_row)
 -          start_hpos = mouse_face_beg_col;
 -        else
 -          start_hpos = 0;
 +  if (draw == DRAW_MOUSE_FACE)
 +    tty_write_glyphs_with_face (f, row->glyphs[TEXT_AREA] + start_hpos,
 +                              nglyphs, face_id);
 +  else if (draw == DRAW_NORMAL_TEXT)
 +    write_glyphs (f, row->glyphs[TEXT_AREA] + start_hpos, nglyphs);
  
 -        if (i == mouse_face_end_row)
 -          end_hpos = mouse_face_end_col;
 -        else
 -          {
 -            end_hpos = row->used[TEXT_AREA];
 -            if (draw == DRAW_NORMAL_TEXT)
 -              row->fill_line_p = 1; /* Clear to end of line */
 -          }
 -
 -        if (end_hpos <= start_hpos)
 -          continue;
 -        /* Record that some glyphs of this row are displayed in
 -           mouse-face.  */
 -        row->mouse_face_p = draw > 0;
 -
 -        nglyphs = end_hpos - start_hpos;
 -
 -        if (end_hpos >= row->used[TEXT_AREA])
 -          nglyphs = row->used[TEXT_AREA] - start_hpos;
 -
 -        pos_y = row->y + WINDOW_TOP_EDGE_Y (w);
 -        pos_x = row->used[LEFT_MARGIN_AREA] + start_hpos
 -          + WINDOW_LEFT_EDGE_X (w);
 -
 -        cursor_to (f, pos_y, pos_x);
 -
 -        if (draw == DRAW_MOUSE_FACE)
 -          {
 -            tty_write_glyphs_with_face (f, row->glyphs[TEXT_AREA] + start_hpos,
 -                                    nglyphs, mouse_face_face_id);
 -          }
 -        else /* draw == DRAW_NORMAL_TEXT */
 -          write_glyphs (f, row->glyphs[TEXT_AREA] + start_hpos, nglyphs);
 -      }
 -      cursor_to (f, save_y, save_x);
 -    }
 -}
 -
 -static void
 -term_clear_mouse_face ()
 -{
 -  if (!NILP (mouse_face_window))
 -    term_show_mouse_face (DRAW_NORMAL_TEXT);
 -
 -  mouse_face_beg_row = mouse_face_beg_col = -1;
 -  mouse_face_end_row = mouse_face_end_col = -1;
 -  mouse_face_window = Qnil;
 -}
 -
 -/* Find the glyph matrix position of buffer position POS in window W.
 -   *HPOS and *VPOS are set to the positions found.  W's current glyphs
 -   must be up to date.  If POS is above window start return (0, 0).
 -   If POS is after end of W, return end of last line in W.
 -   - taken from msdos.c */
 -static int
 -fast_find_position (struct window *w, int pos, int *hpos, int *vpos)
 -{
 -  int i, lastcol, line_start_position, maybe_next_line_p = 0;
 -  int yb = window_text_bottom_y (w);
 -  struct glyph_row *row = MATRIX_ROW (w->current_matrix, 0), *best_row = row;
 -
 -  while (row->y < yb)
 -    {
 -      if (row->used[TEXT_AREA])
 -      line_start_position = row->glyphs[TEXT_AREA]->charpos;
 -      else
 -      line_start_position = 0;
 -
 -      if (line_start_position > pos)
 -      break;
 -      /* If the position sought is the end of the buffer,
 -       don't include the blank lines at the bottom of the window.  */
 -      else if (line_start_position == pos
 -             && pos == BUF_ZV (XBUFFER (w->buffer)))
 -      {
 -        maybe_next_line_p = 1;
 -        break;
 -      }
 -      else if (line_start_position > 0)
 -      best_row = row;
 -
 -      /* Don't overstep the last matrix row, lest we get into the
 -       never-never land... */
 -      if (row->y + 1 >= yb)
 -      break;
 -
 -      ++row;
 -    }
 -
 -  /* Find the right column within BEST_ROW.  */
 -  lastcol = 0;
 -  row = best_row;
 -  for (i = 0; i < row->used[TEXT_AREA]; i++)
 -    {
 -      struct glyph *glyph = row->glyphs[TEXT_AREA] + i;
 -      int charpos;
 -
 -      charpos = glyph->charpos;
 -      if (charpos == pos)
 -      {
 -        *hpos = i;
 -        *vpos = row->y;
 -        return 1;
 -      }
 -      else if (charpos > pos)
 -      break;
 -      else if (charpos > 0)
 -      lastcol = i;
 -    }
 -
 -  /* If we're looking for the end of the buffer,
 -     and we didn't find it in the line we scanned,
 -     use the start of the following line.  */
 -  if (maybe_next_line_p)
 -    {
 -      ++row;
 -      lastcol = 0;
 -    }
 -
 -  *vpos = row->y;
 -  *hpos = lastcol + 1;
 -  return 0;
 -}
 -
 -static void
 -term_mouse_highlight (struct frame *f, int x, int y)
 -{
 -  enum window_part part;
 -  Lisp_Object window;
 -  struct window *w;
 -  struct buffer *b;
 -
 -  if (NILP (Vmouse_highlight)
 -      || !f->glyphs_initialized_p)
 -    return;
 -
 -  /* Which window is that in?  */
 -  window = window_from_coordinates (f, x, y, &part, &x, &y, 0);
 -
 -  /* Not on a window -> return.  */
 -  if (!WINDOWP (window))
 -    return;
 -
 -  if (!EQ (window, mouse_face_window))
 -    term_clear_mouse_face ();
 -
 -  w = XWINDOW (window);
 -
 -  /* Are we in a window whose display is up to date?
 -     And verify the buffer's text has not changed.  */
 -  b = XBUFFER (w->buffer);
 -  if (part == ON_TEXT
 -      && EQ (w->window_end_valid, w->buffer)
 -      && XFASTINT (w->last_modified) == BUF_MODIFF (b)
 -      && XFASTINT (w->last_overlay_modified) == BUF_OVERLAY_MODIFF (b))
 -    {
 -      int pos, i, nrows = w->current_matrix->nrows;
 -      struct glyph_row *row;
 -      struct glyph *glyph;
 -
 -      /* Find the glyph under X/Y.  */
 -      glyph = NULL;
 -      if (y >= 0 && y < nrows)
 -      {
 -        row = MATRIX_ROW (w->current_matrix, y);
 -        /* Give up if some row before the one we are looking for is
 -           not enabled.  */
 -        for (i = 0; i <= y; i++)
 -          if (!MATRIX_ROW (w->current_matrix, i)->enabled_p)
 -            break;
 -        if (i > y  /* all rows upto and including the one at Y are enabled */
 -            && row->displays_text_p
 -            && x <  window_box_width (w, TEXT_AREA))
 -          {
 -            glyph = row->glyphs[TEXT_AREA];
 -            if (x >= row->used[TEXT_AREA])
 -              glyph = NULL;
 -            else
 -              {
 -                glyph += x;
 -                if (!BUFFERP (glyph->object))
 -                  glyph = NULL;
 -              }
 -          }
 -      }
 -
 -      /* Clear mouse face if X/Y not over text.  */
 -      if (glyph == NULL)
 -      {
 -        term_clear_mouse_face ();
 -        return;
 -      }
 -
 -      if (!BUFFERP (glyph->object))
 -      abort ();
 -      pos = glyph->charpos;
 -
 -      /* Check for mouse-face.  */
 -      {
 -      extern Lisp_Object Qmouse_face;
 -      Lisp_Object mouse_face, overlay, position, *overlay_vec;
 -      int noverlays, obegv, ozv;
 -      struct buffer *obuf;
 -
 -      /* If we get an out-of-range value, return now; avoid an error.  */
 -      if (pos > BUF_Z (b))
 -        return;
 -
 -      /* Make the window's buffer temporarily current for
 -         overlays_at and compute_char_face.  */
 -      obuf = current_buffer;
 -      current_buffer = b;
 -      obegv = BEGV;
 -      ozv = ZV;
 -      BEGV = BEG;
 -      ZV = Z;
 -
 -      /* Is this char mouse-active?  */
 -      XSETINT (position, pos);
 -
 -      /* Put all the overlays we want in a vector in overlay_vec.  */
 -      GET_OVERLAYS_AT (pos, overlay_vec, noverlays, NULL, 0);
 -      /* Sort overlays into increasing priority order.  */
 -      noverlays = sort_overlays (overlay_vec, noverlays, w);
 -
 -      /* Check mouse-face highlighting.  */
 -      if (!(EQ (window, mouse_face_window)
 -            && y >= mouse_face_beg_row
 -            && y <= mouse_face_end_row
 -            && (y > mouse_face_beg_row
 -                || x >= mouse_face_beg_col)
 -            && (y < mouse_face_end_row
 -                || x < mouse_face_end_col
 -                || mouse_face_past_end)))
 -        {
 -          /* Clear the display of the old active region, if any.  */
 -          term_clear_mouse_face ();
 -
 -          /* Find the highest priority overlay that has a mouse-face
 -             property.  */
 -          overlay = Qnil;
 -          for (i = noverlays - 1; i >= 0; --i)
 -            {
 -              mouse_face = Foverlay_get (overlay_vec[i], Qmouse_face);
 -              if (!NILP (mouse_face))
 -                {
 -                  overlay = overlay_vec[i];
 -                  break;
 -                }
 -            }
 -
 -          /* If no overlay applies, get a text property.  */
 -          if (NILP (overlay))
 -            mouse_face = Fget_text_property (position, Qmouse_face,
 -                                             w->buffer);
 -
 -          /* Handle the overlay case.  */
 -          if (!NILP (overlay))
 -            {
 -              /* Find the range of text around this char that
 -                 should be active.  */
 -              Lisp_Object before, after;
 -              EMACS_INT ignore;
 -
 -
 -              before = Foverlay_start (overlay);
 -              after = Foverlay_end (overlay);
 -              /* Record this as the current active region.  */
 -              fast_find_position (w, XFASTINT (before),
 -                                  &mouse_face_beg_col,
 -                                  &mouse_face_beg_row);
 -
 -              mouse_face_past_end
 -                = !fast_find_position (w, XFASTINT (after),
 -                                       &mouse_face_end_col,
 -                                       &mouse_face_end_row);
 -              mouse_face_window = window;
 -
 -              mouse_face_face_id
 -                = face_at_buffer_position (w, pos, 0, 0,
 -                                           &ignore, pos + 1, 1, -1);
 -
 -              /* Display it as active.  */
 -              term_show_mouse_face (DRAW_MOUSE_FACE);
 -            }
 -          /* Handle the text property case.  */
 -          else if (!NILP (mouse_face))
 -            {
 -              /* Find the range of text around this char that
 -                 should be active.  */
 -              Lisp_Object before, after, beginning, end;
 -              EMACS_INT ignore;
 -
 -              beginning = Fmarker_position (w->start);
 -              XSETINT (end, (BUF_Z (b) - XFASTINT (w->window_end_pos)));
 -              before
 -                = Fprevious_single_property_change (make_number (pos + 1),
 -                                                    Qmouse_face,
 -                                                    w->buffer, beginning);
 -              after
 -                = Fnext_single_property_change (position, Qmouse_face,
 -                                                w->buffer, end);
 -
 -              /* Record this as the current active region.  */
 -              fast_find_position (w, XFASTINT (before),
 -                                  &mouse_face_beg_col,
 -                                  &mouse_face_beg_row);
 -              mouse_face_past_end
 -                = !fast_find_position (w, XFASTINT (after),
 -                                       &mouse_face_end_col,
 -                                       &mouse_face_end_row);
 -              mouse_face_window = window;
 -
 -              mouse_face_face_id
 -                = face_at_buffer_position (w, pos, 0, 0,
 -                                           &ignore, pos + 1, 1, -1);
 -
 -              /* Display it as active.  */
 -              term_show_mouse_face (DRAW_MOUSE_FACE);
 -            }
 -        }
 -
 -      /* Look for a `help-echo' property.  */
 -      {
 -        Lisp_Object help;
 -        extern Lisp_Object Qhelp_echo;
 -
 -        /* Check overlays first.  */
 -        help = Qnil;
 -        for (i = noverlays - 1; i >= 0 && NILP (help); --i)
 -          {
 -            overlay = overlay_vec[i];
 -            help = Foverlay_get (overlay, Qhelp_echo);
 -          }
 -
 -        if (!NILP (help))
 -          {
 -            help_echo_string = help;
 -            help_echo_window = window;
 -            help_echo_object = overlay;
 -            help_echo_pos = pos;
 -          }
 -        /* Try text properties.  */
 -        else if (NILP (help)
 -                 && ((STRINGP (glyph->object)
 -                      && glyph->charpos >= 0
 -                      && glyph->charpos < SCHARS (glyph->object))
 -                     || (BUFFERP (glyph->object)
 -                         && glyph->charpos >= BEGV
 -                         && glyph->charpos < ZV)))
 -          {
 -            help = Fget_text_property (make_number (glyph->charpos),
 -                                       Qhelp_echo, glyph->object);
 -            if (!NILP (help))
 -              {
 -                help_echo_string = help;
 -                help_echo_window = window;
 -                help_echo_object = glyph->object;
 -                help_echo_pos = glyph->charpos;
 -              }
 -          }
 -      }
 -
 -      BEGV = obegv;
 -      ZV = ozv;
 -      current_buffer = obuf;
 -      }
 -    }
 +  cursor_to (f, save_y, save_x);
  }
  
  static int
@@@ -2667,7 -2931,7 +2667,7 @@@ term_mouse_movement (FRAME_PTR frame, G
    if (event->x != last_mouse_x || event->y != last_mouse_y)
      {
        frame->mouse_moved = 1;
 -      term_mouse_highlight (frame, event->x, event->y);
 +      note_mouse_highlight (frame, event->x, event->y);
        /* Remember which glyph we're now on.  */
        last_mouse_x = event->x;
        last_mouse_y = event->y;
     Set *bar_window to Qnil, and *x and *y to the column and
     row of the character cell the mouse is over.
  
 -   Set *time to the time the mouse was at the returned position.
 +   Set *timeptr to the time the mouse was at the returned position.
  
     This clears mouse_moved until the next motion
     event arrives.  */
  static void
  term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window,
                     enum scroll_bar_part *part, Lisp_Object *x,
 -                   Lisp_Object *y, unsigned long *time)
 +                   Lisp_Object *y, unsigned long *timeptr)
  {
    struct timeval now;
  
    XSETINT (*x, last_mouse_x);
    XSETINT (*y, last_mouse_y);
    gettimeofday(&now, 0);
 -  *time = (now.tv_sec * 1000) + (now.tv_usec / 1000);
 +  *timeptr = (now.tv_sec * 1000) + (now.tv_usec / 1000);
  }
  
  /* Prepare a mouse-event in *RESULT for placement in the input queue.
@@@ -2836,7 -3100,7 +2836,7 @@@ DEFUN ("gpm-mouse-start", Fgpm_mouse_st
         0, 0, 0,
         doc: /* Open a connection to Gpm.
  Gpm-mouse can only be activated for one tty at a time.  */)
 -     ()
 +  (void)
  {
    struct frame *f = SELECTED_FRAME ();
    struct tty_display_info *tty
@@@ -2884,7 -3148,7 +2884,7 @@@ close_gpm (int fd
  DEFUN ("gpm-mouse-stop", Fgpm_mouse_stop, Sgpm_mouse_stop,
         0, 0, 0,
         doc: /* Close a connection to Gpm.  */)
 -     ()
 +  (void)
  {
    struct frame *f = SELECTED_FRAME ();
    struct tty_display_info *tty
@@@ -2917,7 -3181,7 +2917,7 @@@ create_tty_output (struct frame *f
      abort ();
  
    t = xmalloc (sizeof (struct tty_output));
 -  bzero (t, sizeof (struct tty_output));
 +  memset (t, 0, sizeof (struct tty_output));
  
    t->display_info = FRAME_TERMINAL (f)->display_info.tty;
  
@@@ -3040,10 -3304,11 +3040,10 @@@ static voi
  dissociate_if_controlling_tty (int fd)
  {
  #ifndef DOS_NT
 -  int pgid;
 -  EMACS_GET_TTY_PGRP (fd, &pgid); /* If tcgetpgrp succeeds, fd is the ctty. */
 +  int pgid = tcgetpgrp (fd); /* If tcgetpgrp succeeds, fd is the ctty. */
    if (pgid != -1)
      {
 -#if defined (USG) && !defined (BSD_PGRPS)
 +#if defined (USG5)
        setpgrp ();
        no_controlling_tty = 1;
  #elif defined (CYGWIN)
  #endif        /* !DOS_NT */
  }
  
 -static void maybe_fatal();
 -
  /* Create a termcap display on the tty device with the given name and
     type.
  
     If MUST_SUCCEED is true, then all errors are fatal. */
  
  struct terminal *
 -init_tty (char *name, char *terminal_type, int must_succeed)
 +init_tty (const char *name, const char *terminal_type, int must_succeed)
  {
    char *area = NULL;
    char **address = &area;
  #else
    tty = (struct tty_display_info *) xmalloc (sizeof (struct tty_display_info));
  #endif
 -  bzero (tty, sizeof (struct tty_display_info));
 +  memset (tty, 0, sizeof (struct tty_display_info));
    tty->next = tty_list;
    tty_list = tty;
  
    tty->Wcm = (struct cm *) xmalloc (sizeof (struct cm));
    Wcm_clear (tty);
  
 +  encode_terminal_src_size = 0;
 +  encode_terminal_dst_size = 0;
 +
 +#ifdef HAVE_GPM
 +  terminal->mouse_position_hook = term_mouse_position;
 +  tty->mouse_highlight.mouse_face_window = Qnil;
 +#endif
 +
 +
  #ifndef DOS_NT
    set_tty_hooks (terminal);
  
           if we don't have one at the moment.  */
        fd = emacs_open (name, O_RDWR | O_IGNORE_CTTY | O_NOCTTY, 0);
      else
- #else
+ #endif /* O_IGNORE_CTTY */
        /* Alas, O_IGNORE_CTTY is a GNU extension that seems to be only
           defined on Hurd.  On other systems, we need to explicitly
           dissociate ourselves from the controlling tty when we want to
           open a frame on the same terminal.  */
        fd = emacs_open (name, O_RDWR | O_NOCTTY, 0);
- #endif /* O_IGNORE_CTTY */
  
      tty->name = xstrdup (name);
      terminal->name = xstrdup (name);
  
    add_keyboard_wait_descriptor (fileno (tty->input));
  
 -#endif        /* !DOS_NT */
 -
 -  encode_terminal_src_size = 0;
 -  encode_terminal_dst_size = 0;
 -
 -#ifdef HAVE_GPM
 -  terminal->mouse_position_hook = term_mouse_position;
 -  mouse_face_window = Qnil;
 -#endif
 -
 -#ifdef DOS_NT
 -#ifdef WINDOWSNT
 -  initialize_w32_display (terminal);
 -#else  /* MSDOS */
 -  if (strcmp (terminal_type, "internal") == 0)
 -    terminal->type = output_msdos_raw;
 -  initialize_msdos_display (terminal);
 -#endif        /* MSDOS */
 -  tty->output = stdout;
 -  tty->input = stdin;
 -  /* The following two are inaccessible from w32console.c.  */
 -  terminal->delete_frame_hook = &tty_free_frame_resources;
 -  terminal->delete_terminal_hook = &delete_tty;
 -
 -  tty->name = xstrdup (name);
 -  terminal->name = xstrdup (name);
 -  tty->type = xstrdup (terminal_type);
 -
 -#ifdef subprocesses
 -  add_keyboard_wait_descriptor (0);
 -#endif
 -
 -  Wcm_clear (tty);
 -
 -#ifdef WINDOWSNT
 -  {
 -    struct frame *f = XFRAME (selected_frame);
 -
 -    FrameRows (tty) = FRAME_LINES (f);
 -    FrameCols (tty) = FRAME_COLS (f);
 -    tty->specified_window = FRAME_LINES (f);
 -
 -    FRAME_CAN_HAVE_SCROLL_BARS (f) = 0;
 -    FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none;
 -  }
 -#else  /* MSDOS */
 -  {
 -    int height, width;
 -    get_tty_size (fileno (tty->input), &width, &height);
 -    FrameCols (tty) = width;
 -    FrameRows (tty) = height;
 -  }
 -#endif        /* MSDOS */
 -  tty->delete_in_insert_mode = 1;
 -
 -  UseTabs (tty) = 0;
 -  terminal->scroll_region_ok = 0;
 -
 -  /* Seems to insert lines when it's not supposed to, messing up the
 -     display.  In doing a trace, it didn't seem to be called much, so I
 -     don't think we're losing anything by turning it off.  */
 -  terminal->line_ins_del_ok = 0;
 -#ifdef WINDOWSNT
 -  terminal->char_ins_del_ok = 1;
 -  baud_rate = 19200;
 -#else  /* MSDOS */
 -  terminal->char_ins_del_ok = 0;
 -  init_baud_rate (fileno (tty->input));
 -#endif        /* MSDOS */
 -
 -  tty->TN_max_colors = 16;  /* Required to be non-zero for tty-display-color-p */
 -
 -#else  /* not DOS_NT */
 -
    Wcm_clear (tty);
  
    tty->termcap_term_buffer = (char *) xmalloc (buffer_size);
      }
    if (status == 0)
      {
 -#ifdef TERMINFO
        maybe_fatal (must_succeed, terminal,
                     "Terminal type %s is not defined",
                     "Terminal type %s is not defined.\n\
  If that is not the actual type of terminal you have,\n\
  use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
 -`setenv TERM ...') to specify the correct type.  It may be necessary\n\
 -to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.",
 -                   terminal_type);
 +`setenv TERM ...') to specify the correct type.  It may be necessary\n"
 +#ifdef TERMINFO
 +"to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.",
  #else
 -      maybe_fatal (must_succeed, terminal,
 -                   "Terminal type %s is not defined",
 -                   "Terminal type %s is not defined.\n\
 -If that is not the actual type of terminal you have,\n\
 -use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
 -`setenv TERM ...') to specify the correct type.  It may be necessary\n\
 -to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
 -                   terminal_type);
 +"to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
  #endif
 +                   terminal_type);
      }
  
  #ifndef TERMINFO
    tty->TF_underscore = tgetflag ("ul");
    tty->TF_teleray = tgetflag ("xt");
  
 -#endif /* !DOS_NT  */
 +#else /* DOS_NT */
 +#ifdef WINDOWSNT
 +  {
 +    struct frame *f = XFRAME (selected_frame);
 +
 +    initialize_w32_display (terminal);
 +
 +    FrameRows (tty) = FRAME_LINES (f);
 +    FrameCols (tty) = FRAME_COLS (f);
 +    tty->specified_window = FRAME_LINES (f);
 +
 +    FRAME_CAN_HAVE_SCROLL_BARS (f) = 0;
 +    FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none;
 +    terminal->char_ins_del_ok = 1;
 +    baud_rate = 19200;
 +  }
 +#else  /* MSDOS */
 +  {
 +    int height, width;
 +    if (strcmp (terminal_type, "internal") == 0)
 +      terminal->type = output_msdos_raw;
 +    initialize_msdos_display (terminal);
 +
 +    get_tty_size (fileno (tty->input), &width, &height);
 +    FrameCols (tty) = width;
 +    FrameRows (tty) = height;
 +    terminal->char_ins_del_ok = 0;
 +    init_baud_rate (fileno (tty->input));
 +  }
 +#endif        /* MSDOS */
 +  tty->output = stdout;
 +  tty->input = stdin;
 +  /* The following two are inaccessible from w32console.c.  */
 +  terminal->delete_frame_hook = &tty_free_frame_resources;
 +  terminal->delete_terminal_hook = &delete_tty;
 +
 +  tty->name = xstrdup (name);
 +  terminal->name = xstrdup (name);
 +  tty->type = xstrdup (terminal_type);
 +
 +  add_keyboard_wait_descriptor (0);
 +
 +  tty->delete_in_insert_mode = 1;
 +
 +  UseTabs (tty) = 0;
 +  terminal->scroll_region_ok = 0;
 +
 +  /* Seems to insert lines when it's not supposed to, messing up the
 +     display.  In doing a trace, it didn't seem to be called much, so I
 +     don't think we're losing anything by turning it off.  */
 +  terminal->line_ins_del_ok = 0;
 +
 +  tty->TN_max_colors = 16;  /* Required to be non-zero for tty-display-color-p */
 +#endif        /* DOS_NT */
 +
    terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD));
    init_kboard (terminal->kboard);
 -  terminal->kboard->Vwindow_system = Qnil;
 +  KVAR (terminal->kboard, Vwindow_system) = Qnil;
    terminal->kboard->next_kboard = all_kboards;
    all_kboards = terminal->kboard;
    terminal->kboard->reference_count++;
  
    if (FrameRows (tty) < 3 || FrameCols (tty) < 3)
      maybe_fatal (must_succeed, terminal,
 -                 "Screen size %dx%d is too small"
 +                 "Screen size %dx%d is too small",
                   "Screen size %dx%d is too small",
                   FrameCols (tty), FrameRows (tty));
  
         If it were in the termcap entry, it would confuse other programs.  */
        if (!tty->TS_set_window)
        {
 -        p = tty->TS_termcap_modes;
 -        while (*p && strcmp (p, "\033v  "))
 -          p++;
 -        if (*p)
 +        const char *m = tty->TS_termcap_modes;
 +        while (*m && strcmp (m, "\033v  "))
 +          m++;
 +        if (*m)
            tty->TS_set_window = "\033v%C %C %C %C ";
        }
        /* Termcap entry often fails to have :in: flag */
      {
        maybe_fatal (must_succeed, terminal,
                     "Terminal type \"%s\" is not powerful enough to run Emacs",
 -# ifdef TERMINFO
                     "Terminal type \"%s\" is not powerful enough to run Emacs.\n\
  It lacks the ability to position the cursor.\n\
  If that is not the actual type of terminal you have,\n\
  use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
 -`setenv TERM ...') to specify the correct type.  It may be necessary\n\
 -to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.",
 +`setenv TERM ...') to specify the correct type.  It may be necessary\n"
 +# ifdef TERMINFO
 +"to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.",
  # else /* TERMCAP */
 -                   "Terminal type \"%s\" is not powerful enough to run Emacs.\n\
 -It lacks the ability to position the cursor.\n\
 -If that is not the actual type of terminal you have,\n\
 -use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
 -`setenv TERM ...') to specify the correct type.  It may be necessary\n\
 -to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
 +"to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
  # endif /* TERMINFO */
                     terminal_type);
      }
    return terminal;
  }
  
 +
 +static void
 +vfatal (const char *str, va_list ap)
 +{
 +  fprintf (stderr, "emacs: ");
 +  vfprintf (stderr, str, ap);
 +  if (!(strlen (str) > 0 && str[strlen (str) - 1] == '\n'))
 +    fprintf (stderr, "\n");
 +  va_end (ap);
 +  fflush (stderr);
 +  exit (1);
 +}
 +
 +
  /* Auxiliary error-handling function for init_tty.
     Delete TERMINAL, then call error or fatal with str1 or str2,
     respectively, according to MUST_SUCCEED.  */
  
  static void
 -maybe_fatal (must_succeed, terminal, str1, str2, arg1, arg2)
 -     int must_succeed;
 -     struct terminal *terminal;
 -     char *str1, *str2, *arg1, *arg2;
 +maybe_fatal (int must_succeed, struct terminal *terminal,
 +           const char *str1, const char *str2, ...)
  {
 +  va_list ap;
 +  va_start (ap, str2);
    if (terminal)
      delete_tty (terminal);
  
    if (must_succeed)
 -    fatal (str2, arg1, arg2);
 +    vfatal (str2, ap);
    else
 -    error (str1, arg1, arg2);
 +    verror (str1, ap);
  
 +  va_end (ap);
    abort ();
  }
  
@@@ -3646,8 -3920,13 +3645,8 @@@ fatal (const char *str, ...
  {
    va_list ap;
    va_start (ap, str);
 -  fprintf (stderr, "emacs: ");
 -  vfprintf (stderr, str, ap);
 -  if (!(strlen (str) > 0 && str[strlen (str) - 1] == '\n'))
 -    fprintf (stderr, "\n");
 +  vfatal (str, ap);
    va_end (ap);
 -  fflush (stderr);
 -  exit (1);
  }
  
  \f
@@@ -3696,7 -3975,9 +3695,7 @@@ delete_tty (struct terminal *terminal
  
    if (tty->input)
      {
 -#ifdef subprocesses
        delete_keyboard_wait_descriptor (fileno (tty->input));
 -#endif
        if (tty->input != stdin)
          fclose (tty->input);
      }
    xfree (tty->termcap_strings_buffer);
    xfree (tty->termcap_term_buffer);
  
 -  bzero (tty, sizeof (struct tty_display_info));
 +  memset (tty, 0, sizeof (struct tty_display_info));
    xfree (tty);
  }
  
@@@ -3731,9 -4012,9 +3730,9 @@@ mark_ttys (void
  \f
  
  void
 -syms_of_term ()
 +syms_of_term (void)
  {
 -  DEFVAR_BOOL ("system-uses-terminfo", &system_uses_terminfo,
 +  DEFVAR_BOOL ("system-uses-terminfo", system_uses_terminfo,
      doc: /* Non-nil means the system uses terminfo rather than termcap.
  This variable can be used by terminal emulator packages.  */);
  #ifdef TERMINFO
    system_uses_terminfo = 0;
  #endif
  
 -  DEFVAR_LISP ("suspend-tty-functions", &Vsuspend_tty_functions,
 +  DEFVAR_LISP ("suspend-tty-functions", Vsuspend_tty_functions,
      doc: /* Functions to be run after suspending a tty.
  The functions are run with one argument, the terminal object to be suspended.
  See `suspend-tty'.  */);
    Vsuspend_tty_functions = Qnil;
  
  
 -  DEFVAR_LISP ("resume-tty-functions", &Vresume_tty_functions,
 +  DEFVAR_LISP ("resume-tty-functions", Vresume_tty_functions,
      doc: /* Functions to be run after resuming a tty.
  The functions are run with one argument, the terminal object that was revived.
  See `resume-tty'.  */);
    Vresume_tty_functions = Qnil;
  
 -  DEFVAR_BOOL ("visible-cursor", &visible_cursor,
 +  DEFVAR_BOOL ("visible-cursor", visible_cursor,
               doc: /* Non-nil means to make the cursor very visible.
  This only has an effect when running in a text terminal.
  What means \"very visible\" is up to your terminal.  It may make the cursor
@@@ -3772,6 -4053,8 +3771,6 @@@ bigger, or it may make it blink, or it 
  #ifdef HAVE_GPM
    defsubr (&Sgpm_mouse_start);
    defsubr (&Sgpm_mouse_stop);
 -
 -  staticpro (&mouse_face_window);
  #endif /* HAVE_GPM */
  
  #ifndef DOS_NT
    encode_terminal_src = NULL;
    encode_terminal_dst = NULL;
  }
 -
 -
 -
 -/* arch-tag: 498e7449-6f2e-45e2-91dd-b7d4ca488193
 -   (do not change this comment) */