]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs--rel--22
authorMiles Bader <miles@gnu.org>
Sat, 1 Mar 2008 01:28:31 +0000 (01:28 +0000)
committerMiles Bader <miles@gnu.org>
Sat, 1 Mar 2008 01:28:31 +0000 (01:28 +0000)
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1090

15 files changed:
1  2 
etc/ChangeLog
etc/DEBUG
etc/NEWS.22
lib-src/ChangeLog
lib-src/etags.c
lisp/ChangeLog
lisp/diff-mode.el
lisp/files.el
lisp/international/utf-7.el
lisp/net/net-utils.el
lisp/progmodes/cc-mode.el
lisp/progmodes/gdb-ui.el
lisp/textmodes/fill.el
src/ChangeLog
src/m/intel386.h

diff --cc etc/ChangeLog
index d1353392779dac150e3023d3202b182cf869eef8,556bf3dc25f2d99729e04a21d91ecd86d7f4c03a..b4ff0a3d199999df2aa0bd7e5064f65681381274
@@@ -1,40 -1,6 +1,44 @@@
 -      * NEWS: Mention stock icons for Gtk+.
 +2008-02-26  Reiner Steib  <Reiner.Steib@gmx.de>
 +
 +      * NEWS (Gnus): Mention problem with coding system `utf-8-emacs'
 +      when using different Emacs versions.
 +
+ 2008-02-25  Jan Dj\e$(Q)Z\e(Brv  <jan.h.d@swipnet.se>
++      * NEWS.22: Mention stock icons for Gtk+.
++
 +2008-02-22  Kenichi Handa  <handa@ni.aist.go.jp>
 +
 +      * NEWS: Mention the new language environments Bengali, Punjabi,
 +      Gujarati, Oriya, Telugu, Sinhala.  Mention the removal of features
 +      devanagari, devan-util, kannada, knd-util, malayalam, mlm-util,
 +      tamil, and tml-util.
 +
 +2008-02-22  Michael Olson  <mwolson@gnu.org>
 +
 +      * NEWS: Describe nXML mode and json.el.
 +
 +2008-02-21  Kenichi Handa  <handa@ni.aist.go.jp>
 +
 +      * NEWS: Improve the description about the removal of cp-...-codepage
 +      functions.  Describe the removal of the feature `devan-util'.
 +
 +2008-02-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * NEWS.unicode: Merge into NEWS and remove file.
 +
 +2008-02-20  Kenichi Handa  <handa@ni.aist.go.jp>
 +
 +      * NEWS.unicode: Mention the removal of codepage related functions.
 +
 +2008-02-16  Glenn Morris  <rgm@gnu.org>
 +
 +      * nxml/test-invalid.xml, nxml/test-valid.xml: Move here from lisp/nxml.
 +      Rename from "test." to "test-" for doschk.
 +
 +2008-02-10  Daiki Ueno  <ueno@unixuser.org>
 +
 +      * NEWS: Clarify EasyPG functionalities.
  
  2008-02-09  Eli Zaretskii  <eliz@gnu.org>
  
diff --cc etc/DEBUG
Simple merge
diff --cc etc/NEWS.22
index d8600a6b0baebb7733690479a04b4cae9dce4080,0000000000000000000000000000000000000000..c97ec91fb516283fd7985ef6ab9c712bb2dd0ce6
mode 100644,000000..100644
--- /dev/null
@@@ -1,5526 -1,0 +1,5542 @@@
 +GNU Emacs NEWS -- history of user-visible changes.
 +
 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 +          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 22.
 +
 +See files 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
 +* About external Lisp packages
 +
 +When you upgrade to Emacs 22 from a previous version, some older
 +versions of external Lisp packages are known to behave badly.
 +So in general, it is recommended that you upgrade to the latest
 +versions of any external Lisp packages that you are using.
 +
 +You should also be aware that many Lisp packages have been included
 +with Emacs 22 (see the extensive list below), and you should remove
 +any older versions of these packages to ensure that the Emacs 22
 +version is used.  You can use M-x list-load-path-shadows to find such
 +older packages.
 +
 +Some specific packages that are known to cause problems are given
 +below.  Emacs tries to warn you about these through `bad-packages-alist'.
 +
 +** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version.
 +
 +** cua.el, cua-mode.el: remove old versions.
 +
 +\f
 +* Installation Changes in Emacs 22.2
 +
 +** Emacs is now licensed under the GNU GPL version 3 (or later).
 +
 +** Support for GNU/kFreeBSD (GNU userland and FreeBSD kernel) was added.
 +
 +* Changes in Emacs 22.2
 +
 +** `find-name-dired' now uses -iname rather than -name
 +for case-insensitive filesystems.  The default behavior is determined
 +by the value of `read-file-name-completion-ignore-case'; if you don't
 +like that, customize the value of the new option `find-name-arg'.
 +
 +** In Image mode, whenever the displayed image is wider and/or higher
 +than the window, the usual keys for moving the cursor cause the image
 +to be scrolled horizontally or vertically instead.
 +
++** Emacs can use stock icons in the tool bar when compiled with Gtk+.
++However, this feature is disabled by default.  To enable it, put
++
++  (setq icon-map-list '(x-gtk-stock-map))
++
++in your .emacs or some other startup file.  For more information, see
++the documentation for the two variables icon-map-list and x-gtk-stock-map.
++
 +** Scrollbars follow the system theme on Windows XP and later.
 +Windows XP introduced themed scrollbars, but applications have to take
 +special steps to use them. Emacs now has the appropriate resources linked
 +in to make it use the scrollbars from the system theme.
 +
 +** focus-follows-mouse defaults to nil on MS Windows.
 +Previously this variable was incorrectly documented as having no effect
 +on MS Windows, and the default was inappropriate for the majority of
 +Windows installations. Users of software which modifies the behaviour of
 +Windows to cause focus to follow the mouse will now need to explicitly set
 +this variable.
 +
 +** `bad-packages-alist' will warn about external packages that are known
 +to cause problems in this version of Emacs.
 +
 +** The values of `dired-recursive-deletes' and `dired-recursive-copies'
 +have been changed to `top'.  This means that the user is asked once,
 +before deleting/copying the indicated directory recursively.
 +
 +** `browse-url-emacs' loads a URL into an Emacs buffer.  Handy for *.el URLs.
 +
 +** The command gdba has been removed as gdb works now for those cases where it
 +was needed.  In text command mode, if you have problems before execution has
 +started, use M-x gud-gdb.
 +
 +** desktop.el now detects conflicting uses of the desktop file.
 +When loading the desktop, desktop.el can now detect that the file is already
 +in use.  The default behavior is to ask the user what to do, but you can
 +customize it with the new option `desktop-load-locked-desktop'.  When saving,
 +desktop.el warns about attempts to overwrite a desktop file if it determines
 +that the desktop being saved is not an update of the one on disk.
 +
 +** Compilation mode now correctly respects the value of
 +`compilation-scroll-output' between invocations.  Previously, output
 +was mistakenly scrolled on compiles after the first.  Customize
 +`compilation-scroll-output' if you want to retain the scrolling.
 +
 +* New Modes and Packages in Emacs 22.2
 +
 +** bibtex-style-mode helps you write BibTeX's *.bst files.
 +
 +** The new package css-mode.el provides a major mode for editing CSS files.
 +
 +** The new package vera-mode.el provides a major mode for editing Vera files.
 +
 +** The new package verilog-mode.el provides a major mode for editing Verilog files.
 +
 +** The new package socks.el implements the SOCKS v5 protocol.
 +
 +** VC
 +
 +*** VC backends can provide completion of revision names.
 +
 +*** VC backends can provide extra menu entries to be added to the "Version Control" menu.
 +This can be used to add menu entries for backend specific functions.
 +
 +*** VC has some support for Mercurial (Hg).
 +
 +*** VC has some support for Monotone (Mtn).
 +
 +*** VC has some support for Bazaar (Bzr).
 +
 +*** VC has some support for Git.
 +
 +* Incompatible Lisp Changes in Emacs 22.2
 +
 +** shell.el no longer defines the aliases `dirtrack-toggle' and
 +`dirtrack-mode' for `shell-dirtrack-mode'.  These names were removed
 +because they clash with commands provided by dirtrack.el.  Use
 +`shell-dirtrack-mode' instead.
 +
 +* Lisp Changes in Emacs 22.2.
 +
 +** Frame-local variables are deprecated and are slated for removal.
 +Use frame parameters instead.
 +
 +** The function invisible-p returns non-nil if the character
 +after a specified position is invisible.
 +
 ++++
 +** inhibit-modification-hooks is bound to t while running modification hooks.
 +As a happy consequence, after-change-functions and before-change-functions
 +are not bound to nil any more while running an (after|before)-change-function.
 +
 +** New function `window-full-width-p' returns t if a window is as wide
 +as its frame.
 +
 +** The new function `image-refresh' refreshes all images associated
 +with a given image specification.
 +
 +** The new function `combine-and-quote-strings' concatenates a list of strings
 +using a specified separator.  If a string contains double quotes, they
 +are escaped in the output.
 +
 +** The new function `split-string-and-unquote' performs the inverse operation to
 +`combine-and-quote-strings', i.e. splits a single string into a list
 +of strings, undoing any quoting added by `combine-and-quote-strings'.
 +(For some separator/string combinations, the original strings cannot
 +be recovered.)
 +
++* Systems that will not be supported in the future
++configure will print a warning and exit for a set of systems that are
++believed to not be in use anymore.  The support has not been removed
++yet, but configure will need to be edited in order to allow
++compilation to proceed on such a system.  If you are using such a
++system, please send a message to emacs-devel@gnu.org in order to take
++off the list of systems.
++
 +\f
 +* Installation Changes in Emacs 22.1
 +
 +** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk'
 +when you run configure.  This requires Gtk+ 2.4 or newer.  This port
 +provides a way to display multilingual text in menus (with some caveats).
 +
 +** The Emacs Lisp Reference Manual is now part of the distribution.
 +
 +The Emacs Lisp Reference Manual in Info format is built as part of the
 +Emacs build procedure and installed together with the Emacs User
 +Manual.  A menu item was added to the menu bar to make it easily
 +accessible (Help->More Manuals->Emacs Lisp Reference).
 +
 +** The Introduction to Programming in Emacs Lisp manual is now part of
 +the distribution.
 +
 +This manual is now part of the standard distribution and is installed,
 +together with the Emacs User Manual, into the Info directory.  A menu
 +item was added to the menu bar to make it easily accessible
 +(Help->More Manuals->Introduction to Emacs Lisp).
 +
 +** Leim is now part of the Emacs distribution.
 +You no longer need to download a separate tarball in order to build
 +Emacs with Leim.
 +
 +** Support for MacOS X was added.
 +See the files mac/README and mac/INSTALL for build instructions.
 +
 +** Mac OS 9 port now uses the Carbon API by default.  You can also
 +create a non-Carbon build by specifying `NonCarbon' as a target.  See
 +the files mac/README and mac/INSTALL for build instructions.
 +
 +** Support for a Cygwin build of Emacs was added.
 +
 +** Support for GNU/Linux systems on X86-64 machines was added.
 +
 +** Support for GNU/Linux systems on S390 machines was added.
 +
 +** Support for GNU/Linux systems on Tensilica Xtensa machines was added.
 +
 +** Support for FreeBSD/Alpha has been added.
 +
 +** New translations of the Emacs Tutorial are available in the
 +following languages: Brasilian Portuguese, Bulgarian, Chinese (both
 +with simplified and traditional characters), French, Russian, and
 +Italian.  Type `C-u C-h t' to choose one of them in case your language
 +setup doesn't automatically select the right one.
 +
 +** New translations of the Emacs reference card are available in the
 +Brasilian Portuguese and Russian.  The corresponding PostScript files
 +are also included.
 +
 +** A French translation of the `Emacs Survival Guide' is available.
 +
 +** Emacs now supports new configure options `--program-prefix',
 +`--program-suffix' and `--program-transform-name' that affect the names of
 +installed programs.
 +
 +** By default, Emacs now uses a setgid helper program to update game
 +scores.  The directory ${localstatedir}/games/emacs is the normal
 +place for game scores to be stored.  You can control this with the
 +configure option `--with-game-dir'.  The specific user that Emacs uses
 +to own the game scores is controlled by `--with-game-user'.  If access
 +to a game user is not available, then scores will be stored separately
 +in each user's home directory.
 +
 +** Emacs now includes support for loading image libraries on demand.
 +(Currently this feature is only used on MS Windows.)  You can configure
 +the supported image types and their associated dynamic libraries by
 +setting the variable `image-library-alist'.
 +
 +** Emacs can now be built without sound support.
 +
 +** Emacs Lisp source files are compressed by default if `gzip' is available.
 +
 +** All images used in Emacs have been consolidated in etc/images and subdirs.
 +See also the changes to `find-image', documented below.
 +
 +** Emacs comes with a new set of icons.
 +These icons are displayed on the taskbar and/or titlebar when Emacs
 +runs in a graphical environment.  Source files for these icons can be
 +found in etc/images/icons.  (You can't change the icons displayed by
 +Emacs by changing these files directly.  On X, the icon is compiled
 +into the Emacs executable; see gnu.h in the source tree.  On MS
 +Windows, see nt/icons/emacs.ico.)
 +
 +** The `emacsserver' program has been removed, replaced with Lisp code.
 +
 +** The `yow' program has been removed.
 +Use the corresponding Emacs feature instead.
 +
 +** The Emacs terminal emulation in term.el uses a different terminfo name.
 +The Emacs terminal emulation in term.el now uses "eterm-color" as its
 +terminfo name, since term.el now supports color.
 +
 +** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the
 +contents of buffers from a core dump and save them to files easily, should
 +Emacs crash.
 +
 +** Building with -DENABLE_CHECKING does not automatically build with union
 +types any more.  Add -DUSE_LISP_UNION_TYPE if you want union types.
 +
 +** When pure storage overflows while dumping, Emacs now prints how
 +much pure storage it will approximately need.
 +
 +\f
 +* Startup Changes in Emacs 22.1
 +
 +** Init file changes
 +If the init file ~/.emacs does not exist, Emacs will try
 +~/.emacs.d/init.el or ~/.emacs.d/init.elc.  Likewise, if the shell init file
 +~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh.
 +
 +** Emacs can now be invoked in full-screen mode on a windowed display.
 +When Emacs is invoked on a window system, the new command-line options
 +`--fullwidth', `--fullheight', and `--fullscreen' produce a frame
 +whose width, height, or both width and height take up the entire
 +screen size.  (For now, this does not work with some window managers.)
 +
 +** Emacs now displays a splash screen by default even if command-line
 +arguments were given.  The new command-line option --no-splash
 +disables the splash screen; see also the variable
 +`inhibit-splash-screen' (which is also aliased as
 +`inhibit-startup-message').
 +
 +** New user option `inhibit-startup-buffer-menu'.
 +When loading many files, for instance with `emacs *', Emacs normally
 +displays a buffer menu.  This option turns the buffer menu off.
 +
 +** New command line option -nbc or --no-blinking-cursor disables
 +the blinking cursor on graphical terminals.
 +
 +** The option --script FILE runs Emacs in batch mode and loads FILE.
 +It is useful for writing Emacs Lisp shell script files, because they
 +can start with this line:
 +
 +   #!/usr/bin/emacs --script
 +
 +** The -f option, used from the command line to call a function,
 +now reads arguments for the function interactively if it is
 +an interactively callable function.
 +
 +** The option --directory DIR now modifies `load-path' immediately.
 +Directories are added to the front of `load-path' in the order they
 +appear on the command line.  For example, with this command line:
 +
 +  emacs -batch -L .. -L /tmp --eval "(require 'foo)"
 +
 +Emacs looks for library `foo' in the parent directory, then in /tmp, then
 +in the other directories in `load-path'.  (-L is short for --directory.)
 +
 +** When you specify a frame size with --geometry, the size applies to
 +all frames you create.  A position specified with --geometry only
 +affects the initial frame.
 +
 +** Emacs built for MS-Windows now behaves like Emacs on X does,
 +with respect to its frame position: if you don't specify a position
 +(in your .emacs init file, in the Registry, or with the --geometry
 +command-line option), Emacs leaves the frame position to the Windows'
 +window manager.
 +
 +** The command line option --no-windows has been changed to
 +--no-window-system.  The old one still works, but is deprecated.
 +
 +** If the environment variable DISPLAY specifies an unreachable X display,
 +Emacs will now startup as if invoked with the --no-window-system option.
 +
 +** Emacs now reads the standard abbrevs file ~/.abbrev_defs
 +automatically at startup, if it exists.  When Emacs offers to save
 +modified buffers, it saves the abbrevs too if they have changed.  It
 +can do this either silently or asking for confirmation first,
 +according to the value of `save-abbrevs'.
 +
 +** New command line option -Q or --quick.
 +This is like using -q --no-site-file, but in addition it also disables
 +the fancy startup screen.
 +
 +** New command line option -D or --basic-display.
 +Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and
 +the blinking cursor.
 +
 +** The default is now to use a bitmap as the icon.
 +The command-line options --icon-type, -i have been replaced with
 +options --no-bitmap-icon, -nbi to turn the bitmap icon off.
 +
 +** If the environment variable EMAIL is defined, Emacs now uses its value
 +to compute the default value of `user-mail-address', in preference to
 +concatenation of `user-login-name' with the name of your host machine.
 +
 +\f
 +* Incompatible Editing Changes in Emacs 22.1
 +
 +** You can now follow links by clicking Mouse-1 on the link.
 +
 +See below for more details.
 +
 +** When the undo information of the current command gets really large
 +(beyond the value of `undo-outer-limit'), Emacs discards it and warns
 +you about it.
 +
 +** When Emacs prompts for file names, SPC no longer completes the file name.
 +This is so filenames with embedded spaces could be input without the
 +need to quote the space with a C-q.  The underlying changes in the
 +keymaps that are active in the minibuffer are described below under
 +"New keymaps for typing file names".
 +
 +If you want the old behavior back, add these two key bindings to your
 +~/.emacs init file:
 +
 +  (define-key minibuffer-local-filename-completion-map
 +            " " 'minibuffer-complete-word)
 +  (define-key minibuffer-local-must-match-filename-map
 +            " " 'minibuffer-complete-word)
 +
 +** The completion commands TAB, SPC and ? in the minibuffer apply only
 +to the text before point.  If there is text in the buffer after point,
 +it remains unchanged.
 +
 +** In incremental search, C-w is changed.  M-%, C-M-w and C-M-y are special.
 +
 +See below under "incremental search changes".
 +
 +** M-g is now a prefix key.
 +M-g g and M-g M-g run goto-line.
 +M-g n and M-g M-n run next-error (like C-x `).
 +M-g p and M-g M-p run previous-error.
 +
 +** C-u M-g M-g switches to the most recent previous buffer,
 +and goes to the specified line in that buffer.
 +
 +When goto-line starts to execute, if there's a number in the buffer at
 +point then it acts as the default argument for the minibuffer.
 +
 +** M-o now is the prefix key for setting text properties;
 +M-o M-o requests refontification.
 +
 +** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer
 +a special case.
 +
 +Since the default input is the current directory, this has the effect
 +of specifying the current directory.  Normally that means to visit the
 +directory with Dired.
 +
 +You can get the old behavior by typing C-x C-f M-n RET, which fetches
 +the actual file name into the minibuffer.
 +
 +** In Dired's ! command (dired-do-shell-command), `*' and `?' now
 +control substitution of the file names only when they are surrounded
 +by whitespace.  This means you can now use them as shell wildcards
 +too.  If you want to use just plain `*' as a wildcard, type `*""'; the
 +doublequotes make no difference in the shell, but they prevent
 +special treatment in `dired-do-shell-command'.
 +
 +** The info-search bindings on C-h C-f, C-h C-k and C-h C-i
 +have been moved to C-h F, C-h K and C-h S.
 +
 +** `apply-macro-to-region-lines' now operates on all lines that begin
 +in the region, rather than on all complete lines in the region.
 +
 +** line-move-ignore-invisible now defaults to t.
 +
 +** Adaptive filling misfeature removed.
 +It no longer treats `NNN.' or `(NNN)' as a prefix.
 +
 +** The old bindings C-M-delete and C-M-backspace have been deleted,
 +since there are situations where one or the other will shut down
 +the operating system or your X server.
 +
 +** The register compatibility key bindings (deprecated since Emacs 19)
 +have been removed:
 +  C-x /   point-to-register (Use: C-x r SPC)
 +  C-x j   jump-to-register  (Use: C-x r j)
 +  C-x x   copy-to-register  (Use: C-x r s)
 +  C-x g   insert-register   (Use: C-x r i)
 +
 +\f
 +* Editing Changes in Emacs 22.1
 +
 +** The max size of buffers and integers has been doubled.
 +On 32bit machines, it is now 256M (i.e. 268435455).
 +
 +** !MEM FULL! at the start of the mode line indicates that Emacs
 +cannot get any more memory for Lisp data.  This often means it could
 +crash soon if you do things that use more memory.  On most systems,
 +killing buffers will get out of this state.  If killing buffers does
 +not make !MEM FULL! disappear, you should save your work and start
 +a new Emacs.
 +
 +** `undo-only' does an undo which does not redo any previous undo.
 +
 +** Yanking text now discards certain text properties that can
 +be inconvenient when you did not expect them.  The variable
 +`yank-excluded-properties' specifies which ones.  Insertion
 +of register contents and rectangles also discards these properties.
 +
 +** New command `kill-whole-line' kills an entire line at once.
 +By default, it is bound to C-S-<backspace>.
 +
 +** M-SPC (just-one-space) when given a numeric argument N
 +converts whitespace around point to N spaces.
 +
 +** You can now switch buffers in a cyclic order with C-x C-left
 +(previous-buffer) and C-x C-right (next-buffer).  C-x left and
 +C-x right can be used as well.  The functions keep a different buffer
 +cycle for each frame, using the frame-local buffer list.
 +
 +** C-x 5 C-o displays a specified buffer in another frame
 +but does not switch to that frame.  It's the multi-frame
 +analogue of C-x 4 C-o.
 +
 +** `special-display-buffer-names' and `special-display-regexps' now
 +understand two new boolean pseudo-frame-parameters `same-frame' and
 +`same-window'.
 +
 +** New commands to operate on pairs of open and close characters:
 +`insert-pair', `delete-pair', `raise-sexp'.
 +
 +** M-x setenv now expands environment variable references.
 +
 +Substrings of the form `$foo' and `${foo}' in the specified new value
 +now refer to the value of environment variable foo.  To include a `$'
 +in the value, use `$$'.
 +
 +** The default values of paragraph-start and indent-line-function have
 +been changed to reflect those used in Text mode rather than those used
 +in Paragraph-Indent Text mode.
 +
 +** The default for the paper size (variable ps-paper-type) is taken
 +from the locale.
 +
 +** Help command changes:
 +
 +*** Changes in C-h bindings:
 +
 +C-h e displays the *Messages* buffer.
 +
 +C-h d runs apropos-documentation.
 +
 +C-h r visits the Emacs Manual in Info.
 +
 +C-h followed by a control character is used for displaying files
 +    that do not change:
 +
 +C-h C-f displays the FAQ.
 +C-h C-e displays the PROBLEMS file.
 +
 +The info-search bindings on C-h C-f, C-h C-k and C-h C-i
 +have been moved to C-h F, C-h K and C-h S.
 +
 +C-h c, C-h k, C-h w, and C-h f now handle remapped interactive commands.
 +- C-h c and C-h k report the actual command (after possible remapping)
 +  run by the key sequence.
 +- C-h w and C-h f on a command which has been remapped now report the
 +  command it is remapped to, and the keys which can be used to run
 +  that command.
 +
 +For example, if C-k is bound to kill-line, and kill-line is remapped
 +to new-kill-line, these commands now report:
 +- C-h c and C-h k C-k reports:
 +  C-k runs the command new-kill-line
 +- C-h w and C-h f kill-line reports:
 +  kill-line is remapped to new-kill-line which is on C-k, <deleteline>
 +- C-h w and C-h f new-kill-line reports:
 +  new-kill-line is on C-k
 +
 +*** The apropos commands now accept a list of words to match.
 +When more than one word is specified, at least two of those words must
 +be present for an item to match.  Regular expression matching is still
 +available.
 +
 +*** The new option `apropos-sort-by-scores' causes the matching items
 +to be sorted according to their score.  The score for an item is a
 +number calculated to indicate how well the item matches the words or
 +regular expression that you entered to the apropos command.  The best
 +match is listed first, and the calculated score is shown for each
 +matching item.
 +
 +*** Help commands `describe-function' and `describe-key' now show function
 +arguments in lowercase italics on displays that support it.  To change the
 +default, customize face `help-argument-name' or redefine the function
 +`help-default-arg-highlight'.
 +
 +*** C-h v and C-h f commands now include a hyperlink to the C source for
 +variables and functions defined in C (if the C source is available).
 +
 +*** Help mode now only makes hyperlinks for faces when the face name is
 +preceded or followed by the word `face'.  It no longer makes
 +hyperlinks for variables without variable documentation, unless
 +preceded by one of the words `variable' or `option'.  It now makes
 +hyperlinks to Info anchors (or nodes) if the anchor (or node) name is
 +enclosed in single quotes and preceded by `info anchor' or `Info
 +anchor' (in addition to earlier `info node' and `Info node').  In
 +addition, it now makes hyperlinks to URLs as well if the URL is
 +enclosed in single quotes and preceded by `URL'.
 +
 +*** The new command `describe-char' (C-u C-x =) pops up a buffer with
 +description various information about a character, including its
 +encodings and syntax, its text properties, how to input, overlays, and
 +widgets at point.  You can get more information about some of them, by
 +clicking on mouse-sensitive areas or moving there and pressing RET.
 +
 +*** The command `list-text-properties-at' has been deleted because
 +C-u C-x = gives the same information and more.
 +
 +*** New command `display-local-help' displays any local help at point
 +in the echo area.  It is bound to `C-h .'.  It normally displays the
 +same string that would be displayed on mouse-over using the
 +`help-echo' property, but, in certain cases, it can display a more
 +keyboard oriented alternative.
 +
 +*** New user option `help-at-pt-display-when-idle' allows you to
 +automatically show the help provided by `display-local-help' on
 +point-over, after suitable idle time.  The amount of idle time is
 +determined by the user option `help-at-pt-timer-delay' and defaults
 +to one second.  This feature is turned off by default.
 +
 +** Mark command changes:
 +
 +*** A prefix argument is no longer required to repeat a jump to a
 +previous mark if you set `set-mark-command-repeat-pop' to t.  I.e. C-u
 +C-SPC C-SPC C-SPC ... cycles through the mark ring.  Use C-u C-u C-SPC
 +to set the mark immediately after a jump.
 +
 +*** Marking commands extend the region when invoked multiple times.
 +
 +If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h
 +(mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region
 +extends each time, so you can mark the next two sexps with M-C-SPC
 +M-C-SPC, for example.  This feature also works for
 +mark-end-of-sentence, if you bind that to a key.  It also extends the
 +region when the mark is active in Transient Mark mode, regardless of
 +the last command.  To start a new region with one of marking commands
 +in Transient Mark mode, you can deactivate the active region with C-g,
 +or set the new mark with C-SPC.
 +
 +*** Some commands do something special in Transient Mark mode when the
 +mark is active--for instance, they limit their operation to the
 +region.  Even if you don't normally use Transient Mark mode, you might
 +want to get this behavior from a particular command.  There are two
 +ways you can enable Transient Mark mode and activate the mark, for one
 +command only.
 +
 +One method is to type C-SPC C-SPC; this enables Transient Mark mode
 +and sets the mark at point.  The other method is to type C-u C-x C-x.
 +This enables Transient Mark mode temporarily but does not alter the
 +mark or the region.
 +
 +After these commands, Transient Mark mode remains enabled until you
 +deactivate the mark.  That typically happens when you type a command
 +that alters the buffer, but you can also deactivate the mark by typing
 +C-g.
 +
 +*** Movement commands `beginning-of-buffer', `end-of-buffer',
 +`beginning-of-defun', `end-of-defun' do not set the mark if the mark
 +is already active in Transient Mark mode.
 +
 +*** M-h (mark-paragraph) now accepts a prefix arg.
 +
 +With positive arg, M-h marks the current and the following paragraphs;
 +if the arg is negative, it marks the current and the preceding
 +paragraphs.
 +
 +** Incremental Search changes:
 +
 +*** M-% typed in isearch mode invokes `query-replace' or
 +`query-replace-regexp' (depending on search mode) with the current
 +search string used as the string to replace.
 +
 +*** C-w in incremental search now grabs either a character or a word,
 +making the decision in a heuristic way.  This new job is done by the
 +command `isearch-yank-word-or-char'.  To restore the old behavior,
 +bind C-w to `isearch-yank-word' in `isearch-mode-map'.
 +
 +*** C-y in incremental search now grabs the next line if point is already
 +at the end of a line.
 +
 +*** C-M-w deletes and C-M-y grabs a character in isearch mode.
 +Another method to grab a character is to enter the minibuffer by `M-e'
 +and to type `C-f' at the end of the search string in the minibuffer.
 +
 +*** Vertical scrolling is now possible within incremental search.
 +To enable this feature, customize the new user option
 +`isearch-allow-scroll'.  User written commands which satisfy stringent
 +constraints can be marked as "scrolling commands".  See the Emacs manual
 +for details.
 +
 +*** Isearch no longer adds `isearch-resume' commands to the command
 +history by default.  To enable this feature, customize the new
 +user option `isearch-resume-in-command-history'.
 +
 +** Replace command changes:
 +
 +*** When used interactively, the commands `query-replace-regexp' and
 +`replace-regexp' allow \,expr to be used in a replacement string,
 +where expr is an arbitrary Lisp expression evaluated at replacement
 +time.  `\#' in a replacement string now refers to the count of
 +replacements already made by the replacement command.  All regular
 +expression replacement commands now allow `\?' in the replacement
 +string to specify a position where the replacement string can be
 +edited for each replacement.  `query-replace-regexp-eval' is now
 +deprecated since it offers no additional functionality.
 +
 +*** query-replace uses isearch lazy highlighting when the new user option
 +`query-replace-lazy-highlight' is non-nil.
 +
 +*** The current match in query-replace is highlighted in new face
 +`query-replace' which by default inherits from isearch face.
 +
 +*** New user option `query-replace-skip-read-only': when non-nil,
 +`query-replace' and related functions simply ignore
 +a match if part of it has a read-only property.
 +
 +** Local variables lists:
 +
 +*** If the local variables list contains any variable-value pairs that
 +are not known to be safe, Emacs shows a prompt asking whether to apply
 +the local variables list as a whole.  In earlier versions, a prompt
 +was only issued for variables explicitly marked as risky (for the
 +definition of risky variables, see `risky-local-variable-p').
 +
 +At the prompt, you can choose to save the contents of this local
 +variables list to `safe-local-variable-values'.  This new customizable
 +option is a list of variable-value pairs that are known to be safe.
 +Variables can also be marked as safe with the existing
 +`safe-local-variable' property (see `safe-local-variable-p').
 +However, risky variables will not be added to
 +`safe-local-variable-values' in this way.
 +
 +*** The variable `enable-local-variables' controls how local variable
 +lists are handled.  t, the default, specifies the standard querying
 +behavior.  :safe means use only safe values, and ignore the rest.
 +:all means set all variables, whether or not they are safe.
 +nil means ignore them all.  Anything else means always query.
 +
 +*** The variable `safe-local-eval-forms' specifies a list of forms that
 +are ok to evaluate when they appear in an `eval' local variables
 +specification.  Normally Emacs asks for confirmation before evaluating
 +such a form, but if the form appears in this list, no confirmation is
 +needed.
 +
 +*** If a function has a non-nil `safe-local-eval-function' property,
 +that means it is ok to evaluate some calls to that function when it
 +appears in an `eval' local variables specification.  If the property
 +is t, then any form calling that function with constant arguments is
 +ok.  If the property is a function or list of functions, they are called
 +with the form as argument, and if any returns t, the form is ok to call.
 +
 +If the form is not "ok to call", that means Emacs asks for
 +confirmation as before.
 +
 +*** In processing a local variables list, Emacs strips the prefix and
 +suffix from every line before processing all the lines.
 +
 +*** Text properties in local variables.
 +
 +A file local variables list cannot specify a string with text
 +properties--any specified text properties are discarded.
 +
 +** File operation changes:
 +
 +*** Unquoted `$' in file names do not signal an error any more when
 +the corresponding environment variable does not exist.
 +Instead, the `$ENVVAR' text is left as is, so that `$$' quoting
 +is only rarely needed.
 +
 +*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case.
 +
 +Since the default input is the current directory, this has the effect
 +of specifying the current directory.  Normally that means to visit the
 +directory with Dired.
 +
 +*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer
 +against its file, so you can see what changes you would be saving.
 +
 +*** Auto Compression mode is now enabled by default.
 +
 +*** If the user visits a file larger than `large-file-warning-threshold',
 +Emacs asks for confirmation.
 +
 +*** The commands copy-file, rename-file, make-symbolic-link and
 +add-name-to-file, when given a directory as the "new name" argument,
 +convert it to a file name by merging in the within-directory part of
 +the existing file's name.  (This is the same convention that shell
 +commands cp, mv, and ln follow.)  Thus, M-x copy-file RET ~/foo RET
 +/tmp RET copies ~/foo to /tmp/foo.
 +
 +*** require-final-newline now has two new possible values:
 +
 +`visit' means add a newline (as an undoable change) if it's needed
 +when visiting the file.
 +
 +`visit-save' means add a newline (as an undoable change) if it's
 +needed when visiting the file, and also add a newline if it's needed
 +when saving the file.
 +
 +*** The new option mode-require-final-newline controls how certain
 +major modes enable require-final-newline.  Any major mode that's
 +designed for a kind of file that should normally end in a newline
 +sets require-final-newline based on mode-require-final-newline.
 +So you can customize mode-require-final-newline to control what these
 +modes do.
 +
 +*** When you are root, and you visit a file whose modes specify
 +read-only, the Emacs buffer is now read-only too.  Type C-x C-q if you
 +want to make the buffer writable.  (As root, you can in fact alter the
 +file.)
 +
 +*** find-file-read-only visits multiple files in read-only mode,
 +when the file name contains wildcard characters.
 +
 +*** find-alternate-file replaces the current file with multiple files,
 +when the file name contains wildcard characters.  It now asks if you
 +wish save your changes and not just offer to kill the buffer.
 +
 +*** When used interactively, `format-write-file' now asks for confirmation
 +before overwriting an existing file, unless a prefix argument is
 +supplied.  This behavior is analogous to `write-file'.
 +
 +*** The variable `auto-save-file-name-transforms' now has a third element that
 +controls whether or not the function `make-auto-save-file-name' will
 +attempt to construct a unique auto-save name (e.g. for remote files).
 +
 +*** The new option `write-region-inhibit-fsync' disables calls to fsync
 +in `write-region'.  This can be useful on laptops to avoid spinning up
 +the hard drive upon each file save.  Enabling this variable may result
 +in data loss, use with care.
 +
 +** Minibuffer changes:
 +
 +*** The completion commands TAB, SPC and ? in the minibuffer apply only
 +to the text before point.  If there is text in the buffer after point,
 +it remains unchanged.
 +
 +*** The new file-name-shadow-mode is turned ON by default, so that when
 +entering a file name, any prefix which Emacs will ignore is dimmed.
 +
 +*** There's a new face `minibuffer-prompt'.
 +Emacs adds this face to the list of text properties stored in the
 +variable `minibuffer-prompt-properties', which is used to display the
 +prompt string.
 +
 +*** Enhanced visual feedback in `*Completions*' buffer.
 +
 +Completions lists use faces to highlight what all completions
 +have in common and where they begin to differ.
 +
 +The common prefix shared by all possible completions uses the face
 +`completions-common-part', while the first character that isn't the
 +same uses the face `completions-first-difference'.  By default,
 +`completions-common-part' inherits from `default', and
 +`completions-first-difference' inherits from `bold'.  The idea of
 +`completions-common-part' is that you can use it to make the common
 +parts less visible than normal, so that the rest of the differing
 +parts is, by contrast, slightly highlighted.
 +
 +Above fontification is always done when listing completions is
 +triggered at minibuffer.  If you want to fontify completions whose
 +listing is triggered at the other normal buffer, you have to pass
 +the common prefix of completions to `display-completion-list' as
 +its second argument.
 +
 +*** File-name completion can now ignore specified directories.
 +If an element of the list in `completion-ignored-extensions' ends in a
 +slash `/', it indicates a subdirectory that should be ignored when
 +completing file names.  Elements of `completion-ignored-extensions'
 +which do not end in a slash are never considered when a completion
 +candidate is a directory.
 +
 +*** New user option `history-delete-duplicates'.
 +If set to t when adding a new history element, all previous identical
 +elements are deleted from the history list.
 +
 +** Redisplay changes:
 +
 +*** The new face `mode-line-inactive' is used to display the mode line
 +of non-selected windows.  The `mode-line' face is now used to display
 +the mode line of the currently selected window.
 +
 +The new variable `mode-line-in-non-selected-windows' controls whether
 +the `mode-line-inactive' face is used.
 +
 +*** The mode line position information now comes before the major mode.
 +When the file is maintained under version control, that information
 +appears between the position information and the major mode.
 +
 +*** You can now customize the use of window fringes.  To control this
 +for all frames, use M-x fringe-mode or the Show/Hide submenu of the
 +top-level Options menu, or customize the `fringe-mode' variable.  To
 +control this for a specific frame, use the command M-x
 +set-fringe-style.
 +
 +*** Angle icons in the fringes can indicate the buffer boundaries.  In
 +addition, up and down arrow bitmaps in the fringe indicate which ways
 +the window can be scrolled.
 +
 +This behavior is activated by setting the buffer-local variable
 +`indicate-buffer-boundaries' to a non-nil value.  The default value of
 +this variable is found in `default-indicate-buffer-boundaries'.
 +
 +If value is `left' or `right', both angle and arrow bitmaps are
 +displayed in the left or right fringe, resp.
 +
 +The value can also be an alist which specifies the presence and
 +position of each bitmap individually.
 +
 +For example, ((top . left) (t .  right)) places the top angle bitmap
 +in left fringe, the bottom angle bitmap in right fringe, and both
 +arrow bitmaps in right fringe.  To show just the angle bitmaps in the
 +left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)).
 +
 +*** On window systems, lines which are exactly as wide as the window
 +(not counting the final newline character) are no longer broken into
 +two lines on the display (with just the newline on the second line).
 +Instead, the newline now "overflows" into the right fringe, and the
 +cursor will be displayed in the fringe when positioned on that newline.
 +
 +The new user option 'overflow-newline-into-fringe' can be set to nil to
 +revert to the old behavior of continuing such lines.
 +
 +*** A window can now have individual fringe and scroll-bar settings,
 +in addition to the individual display margin settings.
 +
 +Such individual settings are now preserved when windows are split
 +horizontally or vertically, a saved window configuration is restored,
 +or when the frame is resized.
 +
 +*** When a window has display margin areas, the fringes are now
 +displayed between the margins and the buffer's text area, rather than
 +outside those margins.
 +
 +*** New face `escape-glyph' highlights control characters and escape glyphs.
 +
 +*** Non-breaking space and hyphens are now displayed with a special
 +face, either nobreak-space or escape-glyph.  You can turn this off or
 +specify a different mode by setting the variable `nobreak-char-display'.
 +
 +*** The parameters of automatic hscrolling can now be customized.
 +The variable `hscroll-margin' determines how many columns away from
 +the window edge point is allowed to get before automatic hscrolling
 +will horizontally scroll the window.  The default value is 5.
 +
 +The variable `hscroll-step' determines how many columns automatic
 +hscrolling scrolls the window when point gets too close to the
 +window edge.  If its value is zero, the default, Emacs scrolls the
 +window so as to center point.  If its value is an integer, it says how
 +many columns to scroll.  If the value is a floating-point number, it
 +gives the fraction of the window's width to scroll the window.
 +
 +The variable `automatic-hscrolling' was renamed to
 +`auto-hscroll-mode'.  The old name is still available as an alias.
 +
 +*** Moving or scrolling through images (and other lines) taller than
 +the window now works sensibly, by automatically adjusting the window's
 +vscroll property.
 +
 +*** Preemptive redisplay now adapts to current load and bandwidth.
 +
 +To avoid preempting redisplay on fast computers, networks, and displays,
 +the arrival of new input is now performed at regular intervals during
 +redisplay.  The new variable `redisplay-preemption-period' specifies
 +the period; the default is to check for input every 0.1 seconds.
 +
 +*** The %c and %l constructs are now ignored in frame-title-format.
 +Due to technical limitations in how Emacs interacts with windowing
 +systems, these constructs often failed to render properly, and could
 +even cause Emacs to crash.
 +
 +*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar
 +will expand as needed, but not contract automatically.  To contract
 +the tool bar, you must type C-l.
 +
 +*** New customize option `overline-margin' controls the space between
 +overline and text.
 +
 +*** New variable `x-underline-at-descent-line' controls the relative
 +position of the underline.  When set, it overrides the
 +`x-use-underline-position-properties' variables.
 +
 +** New faces:
 +
 +*** `mode-line-highlight' is the standard face indicating mouse sensitive
 +elements on mode-line (and header-line) like `highlight' face on text
 +areas.
 +
 +*** `mode-line-buffer-id' is the standard face for buffer identification
 +parts of the mode line.
 +
 +*** `shadow' face defines the appearance of the "shadowed" text, i.e.
 +the text which should be less noticeable than the surrounding text.
 +This can be achieved by using shades of grey in contrast with either
 +black or white default foreground color.  This generic shadow face
 +allows customization of the appearance of shadowed text in one place,
 +so package-specific faces can inherit from it.
 +
 +*** `vertical-border' face is used for the vertical divider between windows.
 +
 +** Font-Lock (syntax highlighting) changes:
 +
 +*** All modes now support using M-x font-lock-mode to toggle
 +fontification, even those such as Occur, Info, and comint-derived
 +modes that do their own fontification in a special way.
 +
 +The variable `Info-fontify' is no longer applicable; to disable
 +fontification in Info, remove `turn-on-font-lock' from
 +`Info-mode-hook'.
 +
 +*** New standard font-lock face `font-lock-comment-delimiter-face'.
 +
 +*** New standard font-lock face `font-lock-preprocessor-face'.
 +
 +*** Easy to overlook single character negation can now be font-locked.
 +You can use the new variable `font-lock-negation-char-face' and the face of
 +the same name to customize this.  Currently the cc-modes, sh-script-mode,
 +cperl-mode and make-mode support this.
 +
 +*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs
 +features assume that an open-paren in column 0 is always outside of
 +any string or comment, Font-Lock now highlights any such open-paren in
 +bold-red if it is inside a string or a comment, to indicate that it
 +can cause trouble.  You should rewrite the string or comment so that
 +the open-paren is not in column 0.
 +
 +*** M-o now is the prefix key for setting text properties;
 +M-o M-o requests refontification.
 +
 +*** The default settings for JIT stealth lock parameters are changed.
 +The default value for the user option jit-lock-stealth-time is now nil
 +instead of 3.  This setting of jit-lock-stealth-time disables stealth
 +fontification: on today's machines, it may be a bug in font lock
 +patterns if fontification otherwise noticeably degrades interactivity.
 +If you find movement in infrequently visited buffers sluggish (and the
 +major mode maintainer has no better idea), customizing
 +jit-lock-stealth-time to a non-nil value will let Emacs fontify
 +buffers in the background when it considers the system to be idle.
 +jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to
 +cause less load than the old defaults.
 +
 +*** jit-lock can now be delayed with `jit-lock-defer-time'.
 +
 +If this variable is non-nil, its value should be the amount of Emacs
 +idle time in seconds to wait before starting fontification.  For
 +example, if you set `jit-lock-defer-time' to 0.25, fontification will
 +only happen after 0.25s of idle time.
 +
 +*** contextual refontification is now separate from stealth fontification.
 +
 +jit-lock-defer-contextually is renamed jit-lock-contextually and
 +jit-lock-context-time determines the delay after which contextual
 +refontification takes place.
 +
 +*** lazy-lock is considered obsolete.
 +
 +The `lazy-lock' package is superseded by `jit-lock' and is considered
 +obsolete.  `jit-lock' is activated by default; if you wish to continue
 +using `lazy-lock', activate it in your ~/.emacs like this:
 +  (setq font-lock-support-mode 'lazy-lock-mode)
 +
 +If you invoke `lazy-lock-mode' directly rather than through
 +`font-lock-support-mode', it now issues a warning:
 +  "Use font-lock-support-mode rather than calling lazy-lock-mode"
 +
 +** Menu support:
 +
 +*** A menu item "Show/Hide" was added to the top-level menu "Options".
 +This menu allows you to turn various display features on and off (such
 +as the fringes, the tool bar, the speedbar, and the menu bar itself).
 +You can also move the vertical scroll bar to either side here or turn
 +it off completely.  There is also a menu-item to toggle displaying of
 +current date and time, current line and column number in the mode-line.
 +
 +*** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
 +
 +*** The menu item "Open File..." has been split into two items, "New File..."
 +and "Open File...".  "Open File..." now opens only existing files.  This is
 +to support existing GUI file selection dialogs better.
 +
 +*** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be
 +disabled by customizing the variable `use-file-dialog'.
 +
 +*** The pop up menus for Lucid now stay up if you do a fast click and can
 +be navigated with the arrow keys (like Gtk+, Mac and W32).
 +
 +*** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys.
 +Pressing F10 shows the first menu in the menu bar.  Navigation is done with
 +the arrow keys, select with the return key and cancel with the escape keys.
 +
 +*** The Lucid menus can display multilingual text in your locale.  You have
 +to explicitly specify a fontSet resource for this to work, for example
 +`-xrm "Emacs*fontSet:  -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'.
 +
 +*** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing
 +ESC, like they do for Gtk+, Mac and W32.
 +
 +*** For the Gtk+ version, you can make Emacs use the old file dialog
 +by setting the variable `x-gtk-use-old-file-dialog' to t.  Default is to use
 +the new dialog.
 +
 +*** You can exit dialog windows and menus by typing C-g.
 +
 +** Buffer Menu changes:
 +
 +*** The new options `buffers-menu-show-directories' and
 +`buffers-menu-show-status' let you control how buffers are displayed
 +in the menu dropped down when you click "Buffers" from the menu bar.
 +
 +`buffers-menu-show-directories' controls whether the menu displays
 +leading directories as part of the file name visited by the buffer.
 +If its value is `unless-uniquify', the default, directories are
 +shown unless uniquify-buffer-name-style' is non-nil.  The value of nil
 +and t turn the display of directories off and on, respectively.
 +
 +`buffers-menu-show-status' controls whether the Buffers menu includes
 +the modified and read-only status of the buffers.  By default it is
 +t, and the status is shown.
 +
 +Setting these variables directly does not take effect until next time
 +the Buffers menu is regenerated.
 +
 +*** New command `Buffer-menu-toggle-files-only' toggles display of file
 +buffers only in the Buffer Menu.  It is bound to T in Buffer Menu
 +mode.
 +
 +*** `buffer-menu' and `list-buffers' now list buffers whose names begin
 +with a space, when those buffers are visiting files.  Normally buffers
 +whose names begin with space are omitted.
 +
 +** Mouse changes:
 +
 +*** You can now follow links by clicking Mouse-1 on the link.
 +
 +Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
 +click to follow a link, whereas most other applications use a Mouse-1
 +click for both purposes, depending on whether you click outside or
 +inside a link.  Now the behavior of a Mouse-1 click has been changed
 +to match this context-sensitive dual behavior.  (If you prefer the old
 +behavior, set the user option `mouse-1-click-follows-link' to nil.)
 +
 +Depending on the current mode, a Mouse-2 click in Emacs can do much
 +more than just follow a link, so the new Mouse-1 behavior is only
 +activated for modes which explicitly mark a clickable text as a "link"
 +(see the new function `mouse-on-link-p' for details).  The Lisp
 +packages that are included in release 22.1 have been adapted to do
 +this, but external packages may not yet support this.  However, there
 +is no risk in using such packages, as the worst thing that could
 +happen is that you get the original Mouse-1 behavior when you click
 +on a link, which typically means that you set point where you click.
 +
 +If you want to get the original Mouse-1 action also inside a link, you
 +just need to press the Mouse-1 button a little longer than a normal
 +click (i.e. press and hold the Mouse-1 button for half a second before
 +you release it).
 +
 +Dragging the Mouse-1 inside a link still performs the original
 +drag-mouse-1 action, typically copy the text.
 +
 +You can customize the new Mouse-1 behavior via the new user options
 +`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'.
 +
 +*** If you set the new variable `mouse-autoselect-window' to a non-nil
 +value, windows are automatically selected as you move the mouse from
 +one Emacs window to another, even within a frame.  A minibuffer window
 +can be selected only when it is active.
 +
 +*** On X, when the window manager requires that you click on a frame to
 +select it (give it focus), the selected window and cursor position
 +normally changes according to the mouse click position.  If you set
 +the variable x-mouse-click-focus-ignore-position to t, the selected
 +window and cursor position do not change when you click on a frame
 +to give it focus.
 +
 +*** Emacs normally highlights mouse sensitive text whenever the mouse
 +is over the text.  By setting the new variable `mouse-highlight', you
 +can optionally enable mouse highlighting only after you move the
 +mouse, so that highlighting disappears when you press a key.  You can
 +also disable mouse highlighting.
 +
 +*** You can now customize if selecting a region by dragging the mouse
 +shall not copy the selected text to the kill-ring by setting the new
 +variable mouse-drag-copy-region to nil.
 +
 +*** Under X, mouse-wheel-mode is turned on by default.
 +
 +*** Emacs ignores mouse-2 clicks while the mouse wheel is being moved.
 +
 +People tend to push the mouse wheel (which counts as a mouse-2 click)
 +unintentionally while turning the wheel, so these clicks are now
 +ignored.  You can customize this with the mouse-wheel-click-event and
 +mouse-wheel-inhibit-click-time variables.
 +
 +*** mouse-wheels can now scroll a specific fraction of the window
 +(rather than a fixed number of lines) and the scrolling is `progressive'.
 +
 +** Multilingual Environment (Mule) changes:
 +
 +*** You can disable character translation for a file using the -*-
 +construct.  Include `enable-character-translation: nil' inside the
 +-*-...-*- to disable any character translation that may happen by
 +various global and per-coding-system translation tables.  You can also
 +specify it in a local variable list at the end of the file.  For
 +shortcut, instead of using this long variable name, you can append the
 +character "!" at the end of coding-system name specified in -*-
 +construct or in a local variable list.  For example, if a file has the
 +following header, it is decoded by the coding system `iso-latin-1'
 +without any character translation:
 +;; -*- coding: iso-latin-1!; -*-
 +
 +*** Language environment and various default coding systems are setup
 +more correctly according to the current locale name.  If the locale
 +name doesn't specify a charset, the default is what glibc defines.
 +This change can result in using the different coding systems as
 +default in some locale (e.g. vi_VN).
 +
 +*** The keyboard-coding-system is now automatically set based on your
 +current locale settings if you are not using a window system.  This
 +can mean that the META key doesn't work but generates non-ASCII
 +characters instead, depending on how the terminal (or terminal
 +emulator) works.  Use `set-keyboard-coding-system' (or customize
 +keyboard-coding-system) if you prefer META to work (the old default)
 +or if the locale doesn't describe the character set actually generated
 +by the keyboard.  See Info node `Unibyte Mode'.
 +
 +*** The new command `set-file-name-coding-system' (C-x RET F) sets
 +coding system for encoding and decoding file names.  A new menu item
 +(Options->Mule->Set Coding Systems->For File Name) invokes this
 +command.
 +
 +*** The new command `revert-buffer-with-coding-system' (C-x RET r)
 +revisits the current file using a coding system that you specify.
 +
 +*** New command `recode-region' decodes the region again by a specified
 +coding system.
 +
 +*** The new command `recode-file-name' changes the encoding of the name
 +of a file.
 +
 +*** New command `ucs-insert' inserts a character specified by its
 +unicode.
 +
 +*** New command quail-show-key shows what key (or key sequence) to type
 +in the current input method to input a character at point.
 +
 +*** Limited support for character `unification' has been added.
 +Emacs now knows how to translate between different representations of
 +the same characters in various Emacs charsets according to standard
 +Unicode mappings.  This applies mainly to characters in the ISO 8859
 +sets plus some other 8-bit sets, but can be extended.  For instance,
 +translation works amongst the Emacs ...-iso8859-... charsets and the
 +mule-unicode-... ones.
 +
 +By default this translation happens automatically on encoding.
 +Self-inserting characters are translated to make the input conformant
 +with the encoding of the buffer in which it's being used, where
 +possible.
 +
 +You can force a more complete unification with the user option
 +unify-8859-on-decoding-mode.  That maps all the Latin-N character sets
 +into Unicode characters (from the latin-iso8859-1 and
 +mule-unicode-0100-24ff charsets) on decoding.  Note that this mode
 +will often effectively clobber data with an iso-2022 encoding.
 +
 +*** New language environments (set up automatically according to the
 +locale): Belarusian, Bulgarian, Chinese-EUC-TW, Croatian, Esperanto,
 +French, Georgian, Italian, Latin-7, Latvian, Lithuanian, Malayalam,
 +Russian, Russian, Slovenian, Swedish, Tajik, Tamil, UTF-8,Ukrainian,
 +Welsh,Latin-6, Windows-1255.
 +
 +*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix,
 +belarusian, bulgarian-bds, bulgarian-phonetic, chinese-sisheng (for
 +Chinese Pinyin characters), croatian, dutch, georgian, latvian-keyboard,
 +lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345,
 +russian-computer, sgml, slovenian, tamil-inscript, ukrainian-computer,
 +ucs, vietnamese-telex, welsh.
 +
 +*** There is support for decoding Greek and Cyrillic characters into
 +either Unicode (the mule-unicode charsets) or the iso-8859 charsets,
 +when possible.  The latter are more space-efficient.
 +  This is controlled by user option utf-fragment-on-decoding.
 +
 +*** Improved Thai support.  A new minor mode `thai-word-mode' (which is
 +automatically activated if you select Thai as a language
 +environment) changes key bindings of most word-oriented commands to
 +versions which recognize Thai words.  Affected commands are
 +    M-f     (forward-word)
 +    M-b     (backward-word)
 +    M-d     (kill-word)
 +    M-DEL   (backward-kill-word)
 +    M-t     (transpose-words)
 +    M-q     (fill-paragraph)
 +
 +*** Indian support has been updated.
 +The in-is13194 coding system is now Unicode-based.  CDAC fonts are
 +assumed.  There is a framework for supporting various Indian scripts,
 +but currently only Devanagari, Malayalam and Tamil are supported.
 +
 +*** The utf-8/16 coding systems have been enhanced.
 +By default, untranslatable utf-8 sequences are simply composed into
 +single quasi-characters.  User option `utf-translate-cjk-mode' (it is
 +turned on by default) arranges to translate many utf-8 CJK character
 +sequences into real Emacs characters in a similar way to the Mule-UCS
 +system.  As this loads a fairly big data on demand, people who are not
 +interested in CJK characters may want to customize it to nil.
 +You can augment/amend the CJK translation via hash tables
 +`ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'.  The utf-8
 +coding system now also encodes characters from most of Emacs's
 +one-dimensional internal charsets, specifically the ISO-8859 ones.
 +The utf-16 coding system is affected similarly.
 +
 +*** A UTF-7 coding system is available in the library `utf-7'.
 +
 +*** A new coding system `euc-tw' has been added for traditional Chinese
 +in CNS encoding; it accepts both Big 5 and CNS as input; on saving,
 +Big 5 is then converted to CNS.
 +
 +*** Many new coding systems are available in the `code-pages' library.
 +These include complete versions of most of those in codepage.el, based
 +on Unicode mappings.  `codepage-setup' is now obsolete and is used
 +only in the MS-DOS port of Emacs.  All coding systems defined in
 +`code-pages' are auto-loaded.
 +
 +*** New variable `utf-translate-cjk-unicode-range' controls which
 +Unicode characters to translate in `utf-translate-cjk-mode'.
 +
 +*** iso-10646-1 (`Unicode') fonts can be used to display any range of
 +characters encodable by the utf-8 coding system.  Just specify the
 +fontset appropriately.
 +
 +** Customize changes:
 +
 +*** Custom themes are collections of customize options.  Create a
 +custom theme with M-x customize-create-theme.  Use M-x load-theme to
 +load and enable a theme, and M-x disable-theme to disable it.  Use M-x
 +enable-theme to enable a disabled theme.
 +
 +*** The commands M-x customize-face and M-x customize-face-other-window
 +now look at the character after point.  If a face or faces are
 +specified for that character, the commands by default customize those
 +faces.
 +
 +*** The face-customization widget has been reworked to be less confusing.
 +In particular, when you enable a face attribute using the corresponding
 +check-box, there's no longer a redundant `*' option in value selection
 +for that attribute; the values you can choose are only those which make
 +sense for the attribute.  When an attribute is de-selected by unchecking
 +its check-box, then the (now ignored, but still present temporarily in
 +case you re-select the attribute) value is hidden.
 +
 +*** When you set or reset a variable's value in a Customize buffer,
 +the previous value becomes the "backup value" of the variable.
 +You can go back to that backup value by selecting "Use Backup Value"
 +under the "[State]" button.
 +
 +** Dired mode:
 +
 +*** In Dired's ! command (dired-do-shell-command), `*' and `?' now
 +control substitution of the file names only when they are surrounded
 +by whitespace.  This means you can now use them as shell wildcards
 +too.  If you want to use just plain `*' as a wildcard, type `*""'; the
 +double quotes make no difference in the shell, but they prevent
 +special treatment in `dired-do-shell-command'.
 +
 +*** The Dired command `dired-goto-file' is now bound to j, not M-g.
 +This is to avoid hiding the global key binding of M-g.
 +
 +*** New faces dired-header, dired-mark, dired-marked, dired-flagged,
 +dired-ignored, dired-directory, dired-symlink, dired-warning
 +introduced for Dired mode instead of font-lock faces.
 +
 +*** New Dired command `dired-compare-directories' marks files
 +with different file attributes in two dired buffers.
 +
 +*** New Dired command `dired-do-touch' (bound to T) changes timestamps
 +of marked files with the value entered in the minibuffer.
 +
 +*** In Dired, the w command now stores the current line's file name
 +into the kill ring.  With a zero prefix arg, it stores the absolute file name.
 +
 +*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode.
 +
 +The mode toggling command is bound to M-o.  A new command
 +dired-mark-omitted, bound to * O, marks omitted files.  The variable
 +dired-omit-files-p is obsoleted, use the mode toggling function
 +instead.
 +
 +*** The variables dired-free-space-program and dired-free-space-args
 +have been renamed to directory-free-space-program and
 +directory-free-space-args, and they now apply whenever Emacs puts a
 +directory listing into a buffer.
 +
 +** Comint changes:
 +
 +*** The new INSIDE_EMACS environment variable is set to "t" in subshells
 +running inside Emacs.  This supersedes the EMACS environment variable,
 +which will be removed in a future Emacs release.  Programs that need
 +to know whether they are started inside Emacs should check INSIDE_EMACS
 +instead of EMACS.
 +
 +*** The comint prompt can now be made read-only, using the new user
 +option `comint-prompt-read-only'.  This is not enabled by default,
 +except in IELM buffers.  The read-only status of IELM prompts can be
 +controlled with the new user option `ielm-prompt-read-only', which
 +overrides `comint-prompt-read-only'.
 +
 +The new commands `comint-kill-whole-line' and `comint-kill-region'
 +support editing comint buffers with read-only prompts.
 +
 +`comint-kill-whole-line' is like `kill-whole-line', but ignores both
 +read-only and field properties.  Hence, it always kill entire
 +lines, including any prompts.
 +
 +`comint-kill-region' is like `kill-region', except that it ignores
 +read-only properties, if it is safe to do so.  This means that if any
 +part of a prompt is deleted, then the entire prompt must be deleted
 +and that all prompts must stay at the beginning of a line.  If this is
 +not the case, then `comint-kill-region' behaves just like
 +`kill-region' if read-only properties are involved: it copies the text
 +to the kill-ring, but does not delete it.
 +
 +*** The new command `comint-insert-previous-argument' in comint-derived
 +modes (shell-mode, etc.) inserts arguments from previous command lines,
 +like bash's `ESC .' binding.  It is bound by default to `C-c .', but
 +otherwise behaves quite similarly to the bash version.
 +
 +*** `comint-use-prompt-regexp-instead-of-fields' has been renamed
 +`comint-use-prompt-regexp'.  The old name has been kept as an alias,
 +but declared obsolete.
 +
 +** M-x Compile changes:
 +
 +*** M-x compile has become more robust and reliable
 +
 +Quite a few more kinds of messages are recognized.  Messages that are
 +recognized as warnings or informational come in orange or green, instead of
 +red.  Informational messages are by default skipped with `next-error'
 +(controlled by `compilation-skip-threshold').
 +
 +Location data is collected on the fly as the *compilation* buffer changes.
 +This means you could modify messages to make them point to different files.
 +This also means you can not go to locations of messages you may have deleted.
 +
 +The variable `compilation-error-regexp-alist' has now become customizable.  If
 +you had added your own regexps to this, you'll probably need to include a
 +leading `^', otherwise they'll match anywhere on a line.  There is now also a
 +`compilation-mode-font-lock-keywords' and it nicely handles all the checks
 +that configure outputs and -o options so you see at a glance where you are.
 +
 +The new file etc/compilation.txt gives examples of each type of message.
 +
 +*** New user option `compilation-environment'.
 +This option allows you to specify environment variables for inferior
 +compilation processes without affecting the environment that all
 +subprocesses inherit.
 +
 +*** New user option `compilation-disable-input'.
 +If this is non-nil, send end-of-file as compilation process input.
 +
 +*** New options `next-error-highlight' and `next-error-highlight-no-select'
 +specify the method of highlighting of the corresponding source line
 +in new face `next-error'.
 +
 +*** A new minor mode `next-error-follow-minor-mode' can be used in
 +compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the
 +modes that can use `next-error').  In this mode, cursor motion in the
 +buffer causes automatic display in another window of the corresponding
 +matches, compilation errors, etc.  This minor mode can be toggled with
 +C-c C-f.
 +
 +*** When the left fringe is displayed, an arrow points to current message in
 +the compilation buffer.
 +
 +*** The new variable `compilation-context-lines' controls lines of leading
 +context before the current message.  If nil and the left fringe is displayed,
 +it doesn't scroll the compilation output window.  If there is no left fringe,
 +no arrow is displayed and a value of nil means display the message at the top
 +of the window.
 +
 +** Occur mode changes:
 +
 +*** The new command `multi-occur' is just like `occur', except it can
 +search multiple buffers.  There is also a new command
 +`multi-occur-in-matching-buffers' which allows you to specify the
 +buffers to search by their filenames or buffer names.  Internally,
 +Occur mode has been rewritten, and now uses font-lock, among other
 +changes.
 +
 +*** You can now use next-error (C-x `) and previous-error to advance to
 +the next/previous matching line found by M-x occur.
 +
 +*** In the *Occur* buffer, `o' switches to it in another window, and
 +C-o displays the current line's occurrence in another window without
 +switching to it.
 +
 +** Grep changes:
 +
 +*** Grep has been decoupled from compilation mode setup.
 +
 +There's a new separate package grep.el, with its own submenu and
 +customization group.
 +
 +*** `grep-find' is now also available under the name `find-grep' where
 +people knowing `find-grep-dired' would probably expect it.
 +
 +*** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are
 +more user-friendly versions of `grep' and `grep-find', which prompt
 +separately for the regular expression to match, the files to search,
 +and the base directory for the search.  Case sensitivity of the
 +search is controlled by the current value of `case-fold-search'.
 +
 +These commands build the shell commands based on the new variables
 +`grep-template' (lgrep) and `grep-find-template' (rgrep).
 +
 +The files to search can use aliases defined in `grep-files-aliases'.
 +
 +Subdirectories listed in `grep-find-ignored-directories' such as those
 +typically used by various version control systems, like CVS and arch,
 +are automatically skipped by `rgrep'.
 +
 +*** The grep commands provide highlighting support.
 +
 +Hits are fontified in green, and hits in binary files in orange.  Grep buffers
 +can be saved and automatically revisited.
 +
 +*** New option `grep-highlight-matches' highlights matches in *grep*
 +buffer.  It uses a special feature of some grep programs which accept
 +--color option to output markers around matches.  When going to the next
 +match with `next-error' the exact match is highlighted in the source
 +buffer.  Otherwise, if `grep-highlight-matches' is nil, the whole
 +source line is highlighted.
 +
 +*** New key bindings in grep output window:
 +SPC and DEL scrolls window up and down.  C-n and C-p moves to next and
 +previous match in the grep window.  RET jumps to the source line of
 +the current match.  `n' and `p' shows next and previous match in
 +other window, but does not switch buffer.  `{' and `}' jumps to the
 +previous or next file in the grep output.  TAB also jumps to the next
 +file.
 +
 +*** M-x grep now tries to avoid appending `/dev/null' to the command line
 +by using GNU grep `-H' option instead.  M-x grep automatically
 +detects whether this is possible or not the first time it is invoked.
 +When `-H' is used, the grep command line supplied by the user is passed
 +unchanged to the system to execute, which allows more complicated
 +command lines to be used than was possible before.
 +
 +*** The new variables `grep-window-height' and `grep-scroll-output' override
 +the corresponding compilation mode settings, for grep commands only.
 +
 +** Cursor display changes:
 +
 +*** Emacs can produce an underscore-like (horizontal bar) cursor.
 +The underscore cursor is set by putting `(cursor-type . hbar)' in
 +default-frame-alist.  It supports variable heights, like the `bar'
 +cursor does.
 +
 +*** The variable `cursor-in-non-selected-windows' can now be set to any
 +of the recognized cursor types.
 +
 +*** Display of hollow cursors now obeys the buffer-local value (if any)
 +of `cursor-in-non-selected-windows' in the buffer that the cursor
 +appears in.
 +
 +*** On text terminals, the variable `visible-cursor' controls whether Emacs
 +uses the "very visible" cursor (the default) or the normal cursor.
 +
 +*** The X resource cursorBlink can be used to turn off cursor blinking.
 +
 +*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is
 +now controlled by the variable `blink-cursor-alist'.
 +
 +** X Windows Support:
 +
 +*** Emacs now supports drag and drop for X.  Dropping a file on a window
 +opens it, dropping text inserts the text.  Dropping a file on a dired
 +buffer copies or moves the file to that directory.
 +
 +*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
 +The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
 +and `x-super-keysym' can be used to choose which keysyms Emacs should
 +use for the modifiers.  For example, the following two lines swap
 +Meta and Alt:
 +    (setq x-alt-keysym 'meta)
 +    (setq x-meta-keysym 'alt)
 +
 +*** The X resource useXIM can be used to turn off use of XIM, which can
 +speed up Emacs with slow networking to the X server.
 +
 +If the configure option `--without-xim' was used to turn off use of
 +XIM by default, the X resource useXIM can be used to turn it on.
 +
 +*** The new variable `x-select-request-type' controls how Emacs
 +requests X selection.  The default value is nil, which means that
 +Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING,
 +and use the more appropriately result.
 +
 +*** The scrollbar under LessTif or Motif has a smoother drag-scrolling.
 +On the other hand, the size of the thumb does not represent the actual
 +amount of text shown any more (only a crude approximation of it).
 +
 +** Xterm support:
 +
 +*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks
 +on the mode line, header line and display margin, when run in an xterm.
 +
 +*** Improved key bindings support when running in an xterm.
 +When Emacs is running in an xterm more key bindings are available.
 +The following should work:
 +{C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}.
 +These key bindings work on xterm from X.org 6.8 (and later versions),
 +they might not work on some older versions of xterm, or on some
 +proprietary versions.
 +The various keys generated by xterm when the "modifyOtherKeys"
 +resource is set are also supported.
 +
 +** Character terminal color support changes:
 +
 +*** The new command-line option --color=MODE lets you specify a standard
 +mode for a tty color support.  It is meant to be used on character
 +terminals whose capabilities are not set correctly in the terminal
 +database, or with terminal emulators which support colors, but don't
 +set the TERM environment variable to a name of a color-capable
 +terminal.  "emacs --color" uses the same color commands as GNU `ls'
 +when invoked with "ls --color", so if your terminal can support colors
 +in "ls --color", it will support "emacs --color" as well.  See the
 +user manual for the possible values of the MODE parameter.
 +
 +*** Emacs now supports several character terminals which provide more
 +than 8 colors.  For example, for `xterm', 16-color, 88-color, and
 +256-color modes are supported.  Emacs automatically notes at startup
 +the extended number of colors, and defines the appropriate entries for
 +all of these colors.
 +
 +*** Emacs now uses the full range of available colors for the default
 +faces when running on a color terminal, including 16-, 88-, and
 +256-color xterms.  This means that when you run "emacs -nw" on an
 +88-color or 256-color xterm, you will see essentially the same face
 +colors as on X.
 +
 +*** There's a new support for colors on `rxvt' terminal emulator.
 +
 +** ebnf2ps changes:
 +
 +*** New option `ebnf-arrow-extra-width' which specify extra width for arrow
 +shape drawing.
 +The extra width is used to avoid that the arrowhead and the terminal border
 +overlap.  It depends on `ebnf-arrow-shape' and `ebnf-line-width'.
 +
 +*** New option `ebnf-arrow-scale' which specify the arrow scale.
 +Values lower than 1.0, shrink the arrow.
 +Values greater than 1.0, expand the arrow.
 +\f
 +* New Modes and Packages in Emacs 22.1
 +
 +** CUA mode is now part of the Emacs distribution.
 +
 +The new cua package provides CUA-like keybindings using C-x for
 +cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo.
 +With cua, the region can be set and extended using shifted movement
 +keys (like pc-selection-mode) and typed text replaces the active
 +region (like delete-selection-mode).  Do not enable these modes with
 +cua-mode.  Customize the variable `cua-mode' to enable cua.
 +
 +The cua-selection-mode enables the CUA keybindings for the region but
 +does not change the bindings for C-z/C-x/C-c/C-v. It can be used as a
 +replacement for pc-selection-mode.
 +
 +In addition, cua provides unified rectangle support with visible
 +rectangle highlighting: Use C-return to start a rectangle, extend it
 +using the movement commands (or mouse-3), and cut or copy it using C-x
 +or C-c (using C-w and M-w also works).
 +
 +Use M-o and M-c to `open' or `close' the rectangle, use M-b or M-f, to
 +fill it with blanks or another character, use M-u or M-l to upcase or
 +downcase the rectangle, use M-i to increment the numbers in the
 +rectangle, use M-n to fill the rectangle with a numeric sequence (such
 +as 10 20 30...), use M-r to replace a regexp in the rectangle, and use
 +M-' or M-/ to restrict command on the rectangle to a subset of the
 +rows.  See the commentary in cua-base.el for more rectangle commands.
 +
 +Cua also provides unified support for registers:  Use a numeric
 +prefix argument between 0 and 9, i.e. M-0 .. M-9, for C-x, C-c, and
 +C-v to cut or copy into register 0-9, or paste from register 0-9.
 +
 +The last text deleted (not killed) is automatically stored in
 +register 0.  This includes text deleted by typing text.
 +
 +Finally, cua provides a global mark which is set using S-C-space.
 +When the global mark is active, any text which is cut or copied is
 +automatically inserted at the global mark position.  See the
 +commentary in cua-base.el for more global mark related commands.
 +
 +The features of cua also works with the standard Emacs bindings for
 +kill, copy, yank, and undo.  If you want to use cua mode, but don't
 +want the C-x, C-c, C-v, and C-z bindings, you can customize the
 +`cua-enable-cua-keys' variable.
 +
 +Note: This version of cua mode is not backwards compatible with older
 +versions of cua.el and cua-mode.el.  To ensure proper operation, you
 +must remove older versions of cua.el or cua-mode.el as well as the
 +loading and customization of those packages from the .emacs file.
 +
 +** Tramp is now part of the distribution.
 +
 +This package is similar to Ange-FTP: it allows you to edit remote
 +files.  But whereas Ange-FTP uses FTP to access the remote host,
 +Tramp uses a shell connection.  The shell connection is always used
 +for filename completion and directory listings and suchlike, but for
 +the actual file transfer, you can choose between the so-called
 +`inline' methods (which transfer the files through the shell
 +connection using base64 or uu encoding) and the `out-of-band' methods
 +(which invoke an external copying program such as `rcp' or `scp' or
 +`rsync' to do the copying).
 +
 +Shell connections can be acquired via `rsh', `ssh', `telnet' and also
 +`su' and `sudo'.  Ange-FTP is still supported via the `ftp' method.
 +
 +If you want to disable Tramp you should set
 +
 +  (setq tramp-default-method "ftp")
 +
 +Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x
 +tramp-unload-tramp.
 +
 +** The image-dired.el package allows you to easily view, tag and in
 +other ways manipulate image files and their thumbnails, using dired as
 +the main interface.  Image-Dired provides functionality to generate
 +simple image galleries.
 +
 +** Image files are normally visited in Image mode, which lets you toggle
 +between viewing the image and viewing the text using C-c C-c.
 +
 +** The new python.el package is used to edit Python and Jython programs.
 +
 +** The URL package (which had been part of W3) is now part of Emacs.
 +
 +** Calc is now part of the Emacs distribution.
 +
 +Calc is an advanced desk calculator and mathematical tool written in
 +Emacs Lisp.  The prefix for Calc has been changed to `C-x *' and Calc
 +can be started with `C-x * *'.  The Calc manual is separate from the
 +Emacs manual; within Emacs, type "C-h i m calc RET" to read the
 +manual.  A reference card is available in `etc/calccard.tex' and
 +`etc/calccard.ps'.
 +
 +** Org mode is now part of the Emacs distribution
 +
 +Org mode is a mode for keeping notes, maintaining ToDo lists, and
 +doing project planning with a fast and effective plain-text system.
 +It also contains a plain-text table editor with spreadsheet-like
 +capabilities.
 +
 +The Org mode table editor can be integrated into any major mode by
 +activating the minor mode, Orgtbl mode.
 +
 +The documentation for org-mode is in a separate manual; within Emacs,
 +type "C-h i m org RET" to read that manual.  A reference card is
 +available in `etc/orgcard.tex' and `etc/orgcard.ps'.
 +
 +** ERC is now part of the Emacs distribution.
 +
 +ERC is a powerful, modular, and extensible IRC client for Emacs.
 +
 +To see what modules are available, type
 +M-x customize-option erc-modules RET.
 +
 +To start an IRC session with ERC, type M-x erc, and follow the prompts
 +for server, port, and nick.
 +
 +** Rcirc is now part of the Emacs distribution.
 +
 +Rcirc is an Internet relay chat (IRC) client.  It supports
 +simultaneous connections to multiple IRC servers.  Each discussion
 +takes place in its own buffer.  For each connection you can join
 +several channels (many-to-many) and participate in private
 +(one-to-one) chats.  Both channel and private chats are contained in
 +separate buffers.
 +
 +To start an IRC session using the default parameters, type M-x irc.
 +If you type C-u M-x irc, it prompts you for the server, nick, port and
 +startup channel parameters before connecting.
 +
 +** The new package ibuffer provides a powerful, completely
 +customizable replacement for buff-menu.el.
 +
 +** Newsticker is now part of the Emacs distribution.
 +
 +Newsticker asynchronously retrieves headlines (RSS) from a list of news
 +sites, prepares these headlines for reading, and allows for loading the
 +corresponding articles in a web browser.  Its documentation is in a
 +separate manual.
 +
 +** The wdired.el package allows you to use normal editing commands on Dired
 +buffers to change filenames, permissions, etc...
 +
 +** Ido mode is now part of the Emacs distribution.
 +
 +The ido (interactively do) package is an extension of the iswitchb
 +package to do interactive opening of files and directories in addition
 +to interactive buffer switching.  Ido is a superset of iswitchb (with
 +a few exceptions), so don't enable both packages.
 +
 +** The new global minor mode `file-name-shadow-mode' modifies the way
 +filenames being entered by the user in the minibuffer are displayed, so
 +that it's clear when part of the entered filename will be ignored due to
 +Emacs' filename parsing rules.  The ignored portion can be made dim,
 +invisible, or otherwise less visually noticeable.  The display method can
 +be displayed by customizing the variable `file-name-shadow-properties'.
 +
 +** Emacs' keyboard macro facilities have been enhanced by the new
 +kmacro package.
 +
 +Keyboard macros are now defined and executed via the F3 and F4 keys:
 +F3 starts a macro, F4 ends the macro, and pressing F4 again executes
 +the last macro.  While defining the macro, F3 inserts a counter value
 +which automatically increments every time the macro is executed.
 +
 +There is now a keyboard macro ring which stores the most recently
 +defined macros.
 +
 +The C-x C-k sequence is now a prefix for the kmacro keymap which
 +defines bindings for moving through the keyboard macro ring,
 +C-x C-k C-p and C-x C-k C-n, editing the last macro C-x C-k C-e,
 +manipulating the macro counter and format via C-x C-k C-c,
 +C-x C-k C-a, and C-x C-k C-f.  See the commentary in kmacro.el
 +for more commands.
 +
 +The original macro bindings C-x (, C-x ), and C-x e are still
 +available, but they now interface to the keyboard macro ring too.
 +
 +The C-x e command now automatically terminates the current macro
 +before calling it, if used while defining a macro.
 +
 +In addition, when ending or calling a macro with C-x e, the macro can
 +be repeated immediately by typing just the `e'.  You can customize
 +this behavior via the variables kmacro-call-repeat-key and
 +kmacro-call-repeat-with-arg.
 +
 +Keyboard macros can now be debugged and edited interactively.
 +C-x C-k SPC steps through the last keyboard macro one key sequence
 +at a time, prompting for the actions to take.
 +
 +** The new keypad setup package provides several common bindings for
 +the numeric keypad which is available on most keyboards.  The numeric
 +keypad typically has the digits 0 to 9, a decimal point, keys marked
 ++, -, /, and *, an Enter key, and a NumLock toggle key.  The keypad
 +package only controls the use of the digit and decimal keys.
 +
 +By customizing the variables `keypad-setup', `keypad-shifted-setup',
 +`keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by
 +using the function `keypad-setup', you can rebind all digit keys and
 +the decimal key of the keypad in one step for each of the four
 +possible combinations of the Shift key state (not pressed/pressed) and
 +the NumLock toggle state (off/on).
 +
 +The choices for the keypad keys in each of the above states are:
 +`Plain numeric keypad' where the keys generates plain digits,
 +`Numeric keypad with decimal key' where the character produced by the
 +decimal key can be customized individually (for internationalization),
 +`Numeric Prefix Arg' where the keypad keys produce numeric prefix args
 +for Emacs editing commands, `Cursor keys' and `Shifted Cursor keys'
 +where the keys work like (shifted) arrow keys, home/end, etc., and
 +`Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.)
 +are left unspecified and can be bound individually through the global
 +or local keymaps.
 +
 +** The printing package is now part of the Emacs distribution.
 +
 +If you enable the printing package by including (require 'printing) in
 +the .emacs file, the normal Print item on the File menu is replaced
 +with a Print sub-menu which allows you to preview output through
 +ghostview, use ghostscript to print (if you don't have a PostScript
 +printer) or send directly to printer a PostScript code generated by
 +`ps-print' package.  Use M-x pr-help for more information.
 +
 +** The new package longlines.el provides a minor mode for editing text
 +files composed of long lines, based on the `use-hard-newlines'
 +mechanism.  The long lines are broken up by inserting soft newlines,
 +which are automatically removed when saving the file to disk or
 +copying into the kill ring, clipboard, etc.  By default, Longlines
 +mode inserts soft newlines automatically during editing, a behavior
 +referred to as "soft word wrap" in other text editors.  This is
 +similar to Refill mode, but more reliable.  To turn the word wrap
 +feature off, set `longlines-auto-wrap' to nil.
 +
 +** SES mode (ses-mode) is a new major mode for creating and editing
 +spreadsheet files.  Besides the usual Emacs features (intuitive command
 +letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers
 +viral immunity and import/export of tab-separated values.
 +
 +** The new package table.el implements editable, WYSIWYG, embedded
 +`text tables' in Emacs buffers.  It simulates the effect of putting
 +these tables in a special major mode.  The package emulates WYSIWYG
 +table editing available in modern word processors.  The package also
 +can generate a table source in typesetting and markup languages such
 +as latex and html from the visually laid out text table.
 +
 +** Filesets are collections of files.  You can define a fileset in
 +various ways, such as based on a directory tree or based on
 +program files that include other program files.
 +
 +Once you have defined a fileset, you can perform various operations on
 +all the files in it, such as visiting them or searching and replacing
 +in them.
 +
 +** The minor mode Reveal mode makes text visible on the fly as you
 +move your cursor into hidden regions of the buffer.
 +It should work with any package that uses overlays to hide parts
 +of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
 +
 +There is also Global Reveal mode which affects all buffers.
 +
 +** New minor mode, Visible mode, toggles invisibility in the current buffer.
 +When enabled, it makes all invisible text visible.  When disabled, it
 +restores the previous value of `buffer-invisibility-spec'.
 +
 +** The new package flymake.el does on-the-fly syntax checking of program
 +source files.  See the Flymake's Info manual for more details.
 +
 +** savehist saves minibuffer histories between sessions.
 +To use this feature, turn on savehist-mode in your `.emacs' file.
 +
 +** The ruler-mode.el library provides a minor mode for displaying an
 +"active" ruler in the header line.  You can use the mouse to visually
 +change the `fill-column', `window-margins' and `tab-stop-list'
 +settings.
 +
 +** The file t-mouse.el is now part of Emacs and provides access to mouse
 +events from the console.  It still requires gpm to work but has been updated
 +for Emacs 22.  In particular, the mode-line is now position sensitive.
 +
 +** The new package scroll-lock.el provides the Scroll Lock minor mode
 +for pager-like scrolling.  Keys which normally move point by line or
 +paragraph will scroll the buffer by the respective amount of lines
 +instead and point will be kept vertically fixed relative to window
 +boundaries during scrolling.
 +
 +** The new global minor mode `size-indication-mode' (off by default)
 +shows the size of accessible part of the buffer on the mode line.
 +
 +** The new package conf-mode.el handles thousands of configuration files, with
 +varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
 +var : value, var value or keyword var value) and sections ([section] or
 +section { }).  Many files under /etc/, or with suffixes like .cf through
 +.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are
 +recognized.
 +
 +** GDB-Script-mode is used for files like .gdbinit.
 +
 +** The new package dns-mode.el adds syntax highlighting of DNS master files.
 +It is a modern replacement for zone-mode.el, which is now obsolete.
 +
 +** `cfengine-mode' is a major mode for editing GNU Cfengine
 +configuration files.
 +
 +** The TCL package tcl-mode.el was replaced by tcl.el.
 +This was actually done in Emacs-21.1, and was not documented.
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 22.1:
 +
 +** Changes in Dired
 +
 +*** Bindings for Image-Dired added.
 +Several new keybindings, all starting with the C-t prefix, have been
 +added to Dired.  They are all bound to commands in Image-Dired.  As a
 +starting point, mark some image files in a dired buffer and do C-t d
 +to display thumbnails of them in a separate buffer.
 +
 +** Info mode changes
 +
 +*** Images in Info pages are supported.
 +
 +Info pages show embedded images, in Emacs frames with image support.
 +Info documentation that includes images, processed with makeinfo
 +version 4.7 or newer, compiles to Info pages with embedded images.
 +
 +*** `Info-index' offers completion.
 +
 +*** http and ftp links in Info are now operational: they look like cross
 +references and following them calls `browse-url'.
 +
 +*** isearch in Info uses Info-search and searches through multiple nodes.
 +
 +Before leaving the initial Info node isearch fails once with the error
 +message [initial node], and with subsequent C-s/C-r continues through
 +other nodes.  When isearch fails for the rest of the manual, it wraps
 +around the whole manual to the top/final node.  The user option
 +`Info-isearch-search' controls whether to use Info-search for isearch,
 +or the default isearch search function that wraps around the current
 +Info node.
 +
 +*** New search commands: `Info-search-case-sensitively' (bound to S),
 +`Info-search-backward', and `Info-search-next' which repeats the last
 +search without prompting for a new search string.
 +
 +*** New command `info-apropos' searches the indices of the known
 +Info files on your system for a string, and builds a menu of the
 +possible matches.
 +
 +*** New command `Info-history-forward' (bound to r and new toolbar icon)
 +moves forward in history to the node you returned from after using
 +`Info-history-back' (renamed from `Info-last').
 +
 +*** New command `Info-history' (bound to L) displays a menu of visited nodes.
 +
 +*** New command `Info-toc' (bound to T) creates a node with table of contents
 +from the tree structure of menus of the current Info file.
 +
 +*** New command `Info-copy-current-node-name' (bound to w) copies
 +the current Info node name into the kill ring.  With a zero prefix
 +arg, puts the node name inside the `info' function call.
 +
 +*** New face `info-xref-visited' distinguishes visited nodes from unvisited
 +and a new option `Info-fontify-visited-nodes' to control this.
 +
 +*** A numeric prefix argument of `info' selects an Info buffer
 +with the number appended to the `*info*' buffer name (e.g. "*info*<2>").
 +
 +*** Info now hides node names in menus and cross references by default.
 +
 +If you prefer the old behavior, you can set the new user option
 +`Info-hide-note-references' to nil.
 +
 +*** The default value for `Info-scroll-prefer-subnodes' is now nil.
 +
 +** Emacs server changes
 +
 +*** You can have several Emacs servers on the same machine.
 +
 +      % emacs --eval '(setq server-name "foo")' -f server-start &
 +      % emacs --eval '(setq server-name "bar")' -f server-start &
 +      % emacsclient -s foo file1
 +      % emacsclient -s bar file2
 +
 +*** The `emacsclient' command understands the options `--eval' and
 +`--display' which tell Emacs respectively to evaluate the given Lisp
 +expression and to use the given display when visiting files.
 +
 +*** User option `server-mode' can be used to start a server process.
 +
 +** Locate changes
 +
 +*** By default, reverting the *Locate* buffer now just runs the last
 +`locate' command back over again without offering to update the locate
 +database (which normally only works if you have root privileges).  If
 +you prefer the old behavior, set the new customizable option
 +`locate-update-when-revert' to t.
 +
 +** Desktop package
 +
 +*** Desktop saving is now a minor mode, `desktop-save-mode'.
 +
 +*** The variable `desktop-enable' is obsolete.
 +
 +Customize `desktop-save-mode' to enable desktop saving.
 +
 +*** Buffers are saved in the desktop file in the same order as that in the
 +buffer list.
 +
 +*** The desktop package can be customized to restore only some buffers
 +immediately, remaining buffers are restored lazily (when Emacs is
 +idle).
 +
 +*** New command line option --no-desktop
 +
 +*** New commands:
 +  - desktop-revert reverts to the last loaded desktop.
 +  - desktop-change-dir kills current desktop and loads a new.
 +  - desktop-save-in-desktop-dir saves desktop in the directory from which
 +    it was loaded.
 +  - desktop-lazy-complete runs the desktop load to completion.
 +  - desktop-lazy-abort aborts lazy loading of the desktop.
 +
 +*** New customizable variables:
 +  - desktop-save. Determines whether the desktop should be saved when it is
 +    killed.
 +  - desktop-file-name-format. Format in which desktop file names should be saved.
 +  - desktop-path. List of directories in which to lookup the desktop file.
 +  - desktop-locals-to-save. List of local variables to save.
 +  - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear.
 +  - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear'
 +    should not delete.
 +  - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are
 +    restored lazily (when Emacs is idle).
 +  - desktop-lazy-verbose. Verbose reporting of lazily created buffers.
 +  - desktop-lazy-idle-delay. Idle delay before starting to create buffers.
 +
 +*** New hooks:
 +  - desktop-after-read-hook run after a desktop is loaded.
 +  - desktop-no-desktop-file-hook run when no desktop file is found.
 +
 +** Recentf changes
 +
 +The recent file list is now automatically cleaned up when recentf mode is
 +enabled.  The new option `recentf-auto-cleanup' controls when to do
 +automatic cleanup.
 +
 +The ten most recent files can be quickly opened by using the shortcut
 +keys 1 to 9, and 0, when the recent list is displayed in a buffer via
 +the `recentf-open-files', or `recentf-open-more-files' commands.
 +
 +The `recentf-keep' option replaces `recentf-keep-non-readable-files-p'
 +and provides a more general mechanism to customize which file names to
 +keep in the recent list.
 +
 +With the more advanced option `recentf-filename-handlers', you can
 +specify functions that successively transform recent file names.  For
 +example, if set to `file-truename' plus `abbreviate-file-name', the
 +same file will not be in the recent list with different symbolic
 +links, and the file name will be abbreviated.
 +
 +To follow naming convention, `recentf-menu-append-commands-flag'
 +replaces the misnamed option `recentf-menu-append-commands-p'.  The
 +old name remains available as alias, but has been marked obsolete.
 +
 +** Auto-Revert changes
 +
 +*** You can now use Auto Revert mode to `tail' a file.
 +
 +If point is at the end of a file buffer before reverting, Auto Revert
 +mode keeps it at the end after reverting.  Similarly if point is
 +displayed at the end of a file buffer in any window, it stays at the end
 +of the buffer in that window.  This allows you to "tail" a file: just
 +put point at the end of the buffer and it stays there.  This rule
 +applies to file buffers.  For non-file buffers, the behavior can be mode
 +dependent.
 +
 +If you are sure that the file will only change by growing at the end,
 +then you can tail the file more efficiently by using the new minor
 +mode Auto Revert Tail mode.  The function `auto-revert-tail-mode'
 +toggles this mode.
 +
 +*** Auto Revert mode is now more careful to avoid excessive reverts and
 +other potential problems when deciding which non-file buffers to
 +revert.  This matters especially if Global Auto Revert mode is enabled
 +and `global-auto-revert-non-file-buffers' is non-nil.  Auto Revert
 +mode only reverts a non-file buffer if the buffer has a non-nil
 +`revert-buffer-function' and a non-nil `buffer-stale-function', which
 +decides whether the buffer should be reverted.  Currently, this means
 +that auto reverting works for Dired buffers (although this may not
 +work properly on all operating systems) and for the Buffer Menu.
 +
 +*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto
 +Revert mode reliably updates version control info (such as the version
 +control number in the mode line), in all version controlled buffers in
 +which it is active.  If the option is nil, the default, then this info
 +only gets updated whenever the buffer gets reverted.
 +
 +** Changes in Shell Mode
 +
 +*** Shell output normally scrolls so that the input line is at the
 +bottom of the window -- thus showing the maximum possible text.  (This
 +is similar to the way sequential output to a terminal works.)
 +
 +** Changes in Hi Lock
 +
 +*** hi-lock-mode now only affects a single buffer, and a new function
 +`global-hi-lock-mode' enables Hi Lock in all buffers.  By default, if
 +hi-lock-mode is used in what appears to be the initialization file, a
 +warning message suggests to use global-hi-lock-mode instead.  However,
 +if the new variable `hi-lock-archaic-interface-deduce' is non-nil,
 +using hi-lock-mode in an initialization file will turn on Hi Lock in all
 +buffers and no warning will be issued (for compatibility with the
 +behavior in older versions of Emacs).
 +
 +** Changes in Allout
 +
 +*** Topic cryptography added, enabling easy gpg topic encryption and
 +decryption.  Per-topic basis enables interspersing encrypted-text and
 +clear-text within a single file to your heart's content, using symmetric
 +and/or public key modes.  Time-limited key caching, user-provided
 +symmetric key hinting and consistency verification, auto-encryption of
 +pending topics on save, and more, make it easy to use encryption in
 +powerful ways.  Encryption behavior customization is collected in the
 +allout-encryption customization group.
 +
 +*** Default command prefix was changed to "\C-c " (control-c space), to
 +avoid intruding on user's keybinding space.  Customize the
 +`allout-command-prefix' variable to your preference.
 +
 +*** Some previously rough topic-header format edge cases are reconciled.
 +Level 1 topics use the mode's comment format, and lines starting with the
 +asterisk - for instance, the comment close of some languages (eg, c's "*/"
 +or mathematica's "*)") - at the beginning of line are no longer are
 +interpreted as level 1 topics in those modes.
 +
 +*** Many or most commonly occurring "accidental" topics are disqualified.
 +Text in item bodies that looks like a low-depth topic is no longer mistaken
 +for one unless its first offspring (or that of its next sibling with
 +offspring) is only one level deeper.
 +
 +For example, pasting some text with a bunch of leading asterisks into a
 +topic that's followed by a level 3 or deeper topic will not cause the
 +pasted text to be mistaken for outline structure.
 +
 +The same constraint is applied to any level 2 or 3 topics.
 +
 +This settles an old issue where typed or pasted text needed to be carefully
 +reviewed, and sometimes doctored, to avoid accidentally disrupting the
 +outline structure.  Now that should be generally unnecessary, as the most
 +prone-to-occur accidents are disqualified.
 +
 +*** Allout now refuses to create "containment discontinuities", where a
 +topic is shifted deeper than the offspring-depth of its container.  On the
 +other hand, allout now operates gracefully with existing containment
 +discontinuities, revealing excessively contained topics rather than either
 +leaving them hidden or raising an error.
 +
 +*** Navigation within an item is easier.  Repeated beginning-of-line and
 +end-of-line key commands (usually, ^A and ^E) cycle through the
 +beginning/end-of-line and then beginning/end of topic, etc.  See new
 +customization vars `allout-beginning-of-line-cycles' and
 +`allout-end-of-line-cycles'.
 +
 +*** New or revised allout-mode activity hooks enable creation of
 +cooperative enhancements to allout mode without changes to the mode,
 +itself.
 +
 +See `allout-exposure-change-hook', `allout-structure-added-hook',
 +`allout-structure-deleted-hook', and `allout-structure-shifted-hook'.
 +
 +`allout-exposure-change-hook' replaces the existing
 +`allout-view-change-hook', which is being deprecated.  Both are still
 +invoked, but `allout-view-change-hook' will eventually be ignored.
 +`allout-exposure-change-hook' is called with explicit arguments detailing
 +the specifics of each change (as are the other new hooks), making it easier
 +to use than the old version.
 +
 +There is a new mode deactivation hook, `allout-mode-deactivate-hook', for
 +coordinating with deactivation of allout-mode.  Both that and the mode
 +activation hook, `allout-mode-hook' are now run after the `allout-mode'
 +variable is changed, rather than before.
 +
 +*** Allout now uses text overlay's `invisible' property for concealed text,
 +instead of selective-display.  This simplifies the code, in particular
 +avoiding the need for kludges for isearch dynamic-display, discretionary
 +handling of edits of concealed text, undo concerns, etc.
 +
 +*** There are many other fixes and refinements, including:
 +
 +   - repaired inhibition of inadvertent edits to concealed text, without
 +     inhibiting undo; we now reveal undo changes within concealed text.
 +   - auto-fill-mode is now left inactive when allout-mode starts, if it
 +     already was inactive.  also, `allout-inhibit-auto-fill' custom
 +     configuration variable makes it easy to disable auto fill in allout
 +     outlines in general or on a per-buffer basis.
 +   - allout now tolerates fielded text in outlines without disruption.
 +   - hot-spot navigation now is modularized with a new function,
 +     `allout-hotspot-key-handler', enabling easier use and enhancement of
 +     the functionality in allout addons.
 +   - repaired retention of topic body hanging indent upon topic depth shifts
 +   - bulleting variation is simpler and more accommodating, both in the
 +     default behavior and in ability to vary when creating new topics
 +   - mode deactivation now does cleans up effectively, more properly
 +     restoring affected variables and hooks to former state, removing
 +     overlays, etc.  see `allout-add-resumptions' and
 +     `allout-do-resumptions', which replace the old `allout-resumptions'.
 +   - included a few unit-tests for interior functionality.  developers can
 +     have them automatically run at the end of module load by customizing
 +     the option `allout-run-unit-tests-on-load'.
 +   - many, many other, more minor tweaks, fixes, and refinements.
 +   - version number incremented to 2.2
 +
 +** Hideshow mode changes
 +
 +*** New variable `hs-set-up-overlay' allows customization of the overlay
 +used to effect hiding for hideshow minor mode.  Integration with isearch
 +handles the overlay property `display' specially, preserving it during
 +temporary overlay showing in the course of an isearch operation.
 +
 +*** New variable `hs-allow-nesting' non-nil means that hiding a block does
 +not discard the hidden state of any "internal" blocks; when the parent
 +block is later shown, the internal blocks remain hidden.  Default is nil.
 +
 +** FFAP changes
 +
 +*** New ffap commands and keybindings:
 +
 +C-x C-r (`ffap-read-only'),
 +C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'),
 +C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'),
 +C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame').
 +
 +*** FFAP accepts wildcards in a file name by default.
 +
 +C-x C-f passes the file name to `find-file' with non-nil WILDCARDS
 +argument, which visits multiple files, and C-x d passes it to `dired'.
 +
 +** Changes in Skeleton
 +
 +*** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction.
 +
 +`@' has reverted to only setting `skeleton-positions' and no longer
 +sets `skeleton-point'.  Skeletons which used @ to mark
 +`skeleton-point' independent of `_' should now use `-' instead.  The
 +updated `skeleton-insert' docstring explains these new features along
 +with other details of skeleton construction.
 +
 +*** The variables `skeleton-transformation', `skeleton-filter', and
 +`skeleton-pair-filter' have been renamed to
 +`skeleton-transformation-function', `skeleton-filter-function', and
 +`skeleton-pair-filter-function'.  The old names are still available
 +as aliases.
 +
 +** HTML/SGML changes
 +
 +*** Emacs now tries to set up buffer coding systems for HTML/XML files
 +automatically.
 +
 +*** SGML mode has indentation and supports XML syntax.
 +The new variable `sgml-xml-mode' tells SGML mode to use XML syntax.
 +When this option is enabled, SGML tags are inserted in XML style,
 +i.e., there is always a closing tag.
 +By default, its setting is inferred on a buffer-by-buffer basis
 +from the file name or buffer contents.
 +
 +*** The variable `sgml-transformation' has been renamed to
 +`sgml-transformation-function'.  The old name is still available as
 +alias.
 +
 +*** `xml-mode' is now an alias for `sgml-mode', which has XML support.
 +
 +** TeX modes
 +
 +*** New major mode Doctex mode, for *.dtx files.
 +
 +*** C-c C-c prompts for a command to run, and tries to offer a good default.
 +
 +*** The user option `tex-start-options-string' has been replaced
 +by two new user options: `tex-start-options', which should hold
 +command-line options to feed to TeX, and `tex-start-commands' which should hold
 +TeX commands to use at startup.
 +
 +*** verbatim environments are now highlighted in courier by font-lock
 +and super/sub-scripts are made into super/sub-scripts.
 +
 +** RefTeX mode changes
 +
 +*** Changes to RefTeX's table of contents
 +
 +The new command keys "<" and ">" in the TOC buffer promote/demote the
 +section at point or all sections in the current region, with full
 +support for multifile documents.
 +
 +The new command `reftex-toc-recenter' (`C-c -') shows the current
 +section in the TOC buffer without selecting the TOC window.
 +Recentering can happen automatically in idle time when the option
 +`reftex-auto-recenter-toc' is turned on.  The highlight in the TOC
 +buffer stays when the focus moves to a different window.  A dedicated
 +frame can show the TOC with the current section always automatically
 +highlighted.  The frame is created and deleted from the toc buffer
 +with the `d' key.
 +
 +The toc window can be split off horizontally instead of vertically.
 +See new option `reftex-toc-split-windows-horizontally'.
 +
 +Labels can be renamed globally from the table of contents using the
 +key `M-%'.
 +
 +The new command `reftex-goto-label' jumps directly to a label
 +location.
 +
 +*** Changes related to citations and BibTeX database files
 +
 +Commands that insert a citation now prompt for optional arguments when
 +called with a prefix argument.  Related new options are
 +`reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'.
 +
 +The new command `reftex-create-bibtex-file' creates a BibTeX database
 +with all entries referenced in the current document.  The keys "e" and
 +"E" allow to produce a BibTeX database file from entries marked in a
 +citation selection buffer.
 +
 +The command `reftex-citation' uses the word in the buffer before the
 +cursor as a default search string.
 +
 +The support for chapterbib has been improved.  Different chapters can
 +now use BibTeX or an explicit `thebibliography' environment.
 +
 +The macros which specify the bibliography file (like \bibliography)
 +can be configured with the new option `reftex-bibliography-commands'.
 +
 +Support for jurabib has been added.
 +
 +*** Global index matched may be verified with a user function.
 +
 +During global indexing, a user function can verify an index match.
 +See new option `reftex-index-verify-function'.
 +
 +*** Parsing documents with many labels can be sped up.
 +
 +Operating in a document with thousands of labels can be sped up
 +considerably by allowing RefTeX to derive the type of a label directly
 +from the label prefix like `eq:' or `fig:'.  The option
 +`reftex-trust-label-prefix' needs to be configured in order to enable
 +this feature.  While the speed-up is significant, this may reduce the
 +quality of the context offered by RefTeX to describe a label.
 +
 +*** Miscellaneous changes
 +
 +The macros which input a file in LaTeX (like \input, \include) can be
 +configured in the new option `reftex-include-file-commands'.
 +
 +RefTeX supports global incremental search.
 +
 +** BibTeX mode
 +
 +*** The new command `bibtex-url' browses a URL for the BibTeX entry at
 +point (bound to C-c C-l and mouse-2, RET on clickable fields).
 +
 +*** The new command `bibtex-entry-update' (bound to C-c C-u) updates
 +an existing BibTeX entry by inserting fields that may occur but are not
 +present.
 +
 +*** New `bibtex-entry-format' option `required-fields', enabled by default.
 +
 +*** `bibtex-maintain-sorted-entries' can take values `plain',
 +`crossref', and `entry-class' which control the sorting scheme used
 +for BibTeX entries.  `bibtex-sort-entry-class' controls the sorting
 +scheme `entry-class'.  TAB completion for reference keys and
 +automatic detection of duplicates does not require anymore that
 +`bibtex-maintain-sorted-entries' is non-nil.
 +
 +*** The new command `bibtex-complete' completes word fragment before
 +point according to context (bound to M-tab).
 +
 +*** In BibTeX mode the command `fill-paragraph' (M-q) fills
 +individual fields of a BibTeX entry.
 +
 +*** The new variable `bibtex-autofill-types' contains a list of entry
 +types for which fields are filled automatically (if possible).
 +
 +*** The new commands `bibtex-find-entry' and `bibtex-find-crossref'
 +locate entries and crossref'd entries (bound to C-c C-s and C-c C-x).
 +Crossref fields are clickable (bound to mouse-2, RET).
 +
 +*** The new variables `bibtex-files' and `bibtex-file-path' define a set
 +of BibTeX files that are searched for entry keys.
 +
 +*** The new command `bibtex-validate-globally' checks for duplicate keys
 +in multiple BibTeX files.
 +
 +*** If the new variable `bibtex-autoadd-commas' is non-nil,
 +automatically add missing commas at end of BibTeX fields.
 +
 +*** The new command `bibtex-copy-summary-as-kill' pushes summary
 +of BibTeX entry to kill ring (bound to C-c C-t).
 +
 +*** If the new variable `bibtex-parse-keys-fast' is non-nil,
 +use fast but simplified algorithm for parsing BibTeX keys.
 +
 +*** The new variables bibtex-expand-strings and
 +bibtex-autokey-expand-strings control the expansion of strings when
 +extracting the content of a BibTeX field.
 +
 +*** The variables `bibtex-autokey-name-case-convert' and
 +`bibtex-autokey-titleword-case-convert' have been renamed to
 +`bibtex-autokey-name-case-convert-function' and
 +`bibtex-autokey-titleword-case-convert-function'.  The old names are
 +still available as aliases.
 +
 +** GUD changes
 +
 +*** The new package gdb-ui.el provides an enhanced graphical interface to
 +GDB.  You can interact with GDB through the GUD buffer in the usual way, but
 +there are also further buffers which control the execution and describe the
 +state of your program.  It can separate the input/output of your program from
 +that of GDB and watches expressions in the speedbar.  It also uses features of
 +Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate
 +breakpoints.
 +
 +To use this package just type M-x gdb.  See the Emacs manual if you want the
 +old behaviour.
 +
 +*** GUD mode has its own tool bar for controlling execution of the inferior
 +and other common debugger commands.
 +
 +*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program
 +counter to the specified source line (the one where point is).
 +
 +*** The variable tooltip-gud-tips-p has been removed.  GUD tooltips can now be
 +toggled independently of normal tooltips with the minor mode
 +`gud-tooltip-mode'.
 +
 +*** In graphical mode, with a C program, GUD Tooltips have been extended to
 +display the #define directive associated with an identifier when program is
 +not executing.
 +
 +*** GUD mode improvements for jdb:
 +
 +**** Search for source files using jdb classpath and class information.
 +Fast startup since there is no need to scan all source files up front.
 +There is also no need to create and maintain lists of source
 +directories to scan.  Look at `gud-jdb-use-classpath' and
 +`gud-jdb-classpath' customization variables documentation.
 +
 +**** The previous method of searching for source files has been
 +preserved in case someone still wants/needs to use it.
 +Set `gud-jdb-use-classpath' to nil.
 +
 +**** Supports the standard breakpoint (gud-break, gud-clear)
 +set/clear operations from Java source files under the classpath, stack
 +traversal (gud-up, gud-down), and run until current stack finish
 +(gud-finish).
 +
 +**** Supports new jdb (Java 1.2 and later) in addition to oldjdb
 +(Java 1.1 jdb).
 +
 +*** Added jdb Customization Variables
 +
 +**** `gud-jdb-command-name'.  What command line to use to invoke jdb.
 +
 +**** `gud-jdb-use-classpath'.  Allows selection of java source file searching
 +method: set to t for new method, nil to scan `gud-jdb-directories' for
 +java sources (previous method).
 +
 +**** `gud-jdb-directories'.  List of directories to scan and search for Java
 +classes using the original gud-jdb method (if `gud-jdb-use-classpath'
 +is nil).
 +
 +*** Minor Improvements
 +
 +**** The STARTTLS wrapper (starttls.el) can now use GNUTLS
 +instead of the OpenSSL based `starttls' tool.  For backwards
 +compatibility, it prefers `starttls', but you can toggle
 +`starttls-use-gnutls' to switch to GNUTLS (or simply remove the
 +`starttls' tool).
 +
 +**** Do not allow debugger output history variable to grow without bounds.
 +
 +** Lisp mode changes
 +
 +*** Lisp mode now uses `font-lock-doc-face' for doc strings.
 +
 +*** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point.
 +
 +*** New features in evaluation commands
 +
 +**** The function `eval-defun' (C-M-x) called on defface reinitializes
 +the face to the value specified in the defface expression.
 +
 +**** Typing C-x C-e twice prints the value of the integer result
 +in additional formats (octal, hexadecimal, character) specified
 +by the new function `eval-expression-print-format'.  The same
 +function also defines the result format for `eval-expression' (M-:),
 +`eval-print-last-sexp' (C-j) and some edebug evaluation functions.
 +
 +** Changes to cmuscheme
 +
 +*** Emacs now offers to start Scheme if the user tries to
 +evaluate a Scheme expression but no Scheme subprocess is running.
 +
 +*** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME
 +is the name of the Scheme interpreter) exists, its contents are sent
 +to the Scheme subprocess upon startup.
 +
 +*** There are new commands to instruct the Scheme interpreter to trace
 +procedure calls (`scheme-trace-procedure') and to expand syntactic forms
 +(`scheme-expand-current-form').  The commands actually sent to the Scheme
 +subprocess are controlled by the user options `scheme-trace-command',
 +`scheme-untrace-command' and `scheme-expand-current-form'.
 +
 +** Ewoc changes
 +
 +*** The new function `ewoc-delete' deletes specified nodes.
 +
 +*** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of
 +a newline after each pretty-printed entry and after the header and footer.
 +This allows you to create multiple-entry ewocs on a single line and to
 +effect "invisible" nodes by arranging for the pretty-printer to not print
 +anything for those nodes.
 +
 +For example, these two sequences of expressions behave identically:
 +
 +;; NOSEP nil
 +(defun PP (data) (insert (format "%S" data)))
 +(ewoc-create 'PP "start\n")
 +
 +;; NOSEP t
 +(defun PP (data) (insert (format "%S\n" data)))
 +(ewoc-create 'PP "start\n\n" "\n" t)
 +
 +** CC mode changes
 +
 +*** The CC Mode manual has been extensively revised.
 +The information about using CC Mode has been separated from the larger
 +and more difficult chapters about configuration.
 +
 +*** New Minor Modes
 +**** Electric Minor Mode toggles the electric action of non-alphabetic keys.
 +The new command c-toggle-electric-mode is bound to C-c C-l.  Turning the
 +mode off can be helpful for editing chaotically indented code and for
 +users new to CC Mode, who sometimes find electric indentation
 +disconcerting.  Its current state is displayed in the mode line with an
 +'l', e.g. "C/al".
 +
 +**** Subword Minor Mode makes Emacs recognize word boundaries at upper case
 +letters in StudlyCapsIdentifiers.  You enable this feature by C-c C-w.  It can
 +also be used in non-CC Mode buffers.  :-) Contributed by Masatake YAMATO.
 +
 +*** Support for the AWK language.
 +Support for the AWK language has been introduced.  The implementation is
 +based around GNU AWK version 3.1, but it should work pretty well with
 +any AWK.  As yet, not all features of CC Mode have been adapted for AWK.
 +Here is a summary:
 +
 +**** Indentation Engine
 +The CC Mode indentation engine fully supports AWK mode.
 +
 +AWK mode handles code formatted in the conventional AWK fashion: `{'s
 +which start actions, user-defined functions, or compound statements are
 +placed on the same line as the associated construct; the matching `}'s
 +are normally placed under the start of the respective pattern, function
 +definition, or structured statement.
 +
 +The predefined line-up functions haven't yet been adapted for AWK
 +mode, though some of them may work serendipitously.  There shouldn't
 +be any problems writing custom indentation functions for AWK mode.
 +
 +**** Font Locking
 +There is a single level of font locking in AWK mode, rather than the
 +three distinct levels the other modes have.  There are several
 +idiosyncrasies in AWK mode's font-locking due to the peculiarities of
 +the AWK language itself.
 +
 +**** Comment and Movement Commands
 +These commands all work for AWK buffers.  The notion of "defun" has
 +been augmented to include AWK pattern-action pairs - the standard
 +"defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this
 +extended definition.
 +
 +**** "awk" style, Auto-newline Insertion and Clean-ups
 +A new style, "awk" has been introduced, and this is now the default
 +style for AWK code.  With auto-newline enabled, the clean-up
 +c-one-liner-defun (see above) is useful.
 +
 +*** Font lock support.
 +CC Mode now provides font lock support for all its languages.  This
 +supersedes the font lock patterns that have been in the core font lock
 +package for C, C++, Java and Objective-C.  Like indentation, font
 +locking is done in a uniform way across all languages (except the new
 +AWK mode - see below).  That means that the new font locking will be
 +different from the old patterns in various details for most languages.
 +
 +The main goal of the font locking in CC Mode is accuracy, to provide a
 +dependable aid in recognizing the various constructs.  Some, like
 +strings and comments, are easy to recognize while others like
 +declarations and types can be very tricky.  CC Mode can go to great
 +lengths to recognize declarations and casts correctly, especially when
 +the types aren't recognized by standard patterns.  This is a fairly
 +demanding analysis which can be slow on older hardware, and it can
 +therefore be disabled by choosing a lower decoration level with the
 +variable font-lock-maximum-decoration.
 +
 +Note that the most demanding font lock level has been tuned with lazy
 +fontification in mind; Just-In-Time-Lock mode should be enabled for
 +the highest font lock level (by default, it is).  Fontifying a file
 +with several thousand lines in one go can take the better part of a
 +minute.
 +
 +**** The (c|c++|objc|java|idl|pike)-font-lock-extra-types variables
 +are now used by CC Mode to recognize identifiers that are certain to
 +be types.  (They are also used in cases that aren't related to font
 +locking.)  At the maximum decoration level, types are often recognized
 +properly anyway, so these variables should be fairly restrictive and
 +not contain patterns for uncertain types.
 +
 +**** Support for documentation comments.
 +There is a "plugin" system to fontify documentation comments like
 +Javadoc and the markup within them.  It's independent of the host
 +language, so it's possible to e.g. turn on Javadoc font locking in C
 +buffers.  See the variable c-doc-comment-style for details.
 +
 +Currently three kinds of doc comment styles are recognized: Sun's
 +Javadoc, Autodoc (which is used in Pike) and GtkDoc (used in C).  (The
 +last was contributed by Masatake YAMATO).  This is by no means a
 +complete list of the most common tools; if your doc comment extractor
 +of choice is missing then please drop a note to bug-cc-mode@gnu.org.
 +
 +**** Better handling of C++ templates.
 +As a side effect of the more accurate font locking, C++ templates are
 +now handled much better.  The angle brackets that delimit them are
 +given parenthesis syntax so that they can be navigated like other
 +parens.
 +
 +This also improves indentation of templates, although there still is
 +work to be done in that area.  E.g. it's required that multiline
 +template clauses are written in full and then refontified to be
 +recognized, and the indentation of nested templates is a bit odd and
 +not as configurable as it ought to be.
 +
 +**** Improved handling of Objective-C and CORBA IDL.
 +Especially the support for Objective-C and IDL has gotten an overhaul.
 +The special "@" declarations in Objective-C are handled correctly.
 +All the keywords used in CORBA IDL, PSDL, and CIDL are recognized and
 +handled correctly, also wrt indentation.
 +
 +*** Changes in Key Sequences
 +**** c-toggle-auto-hungry-state is no longer bound to C-c C-t.
 +
 +**** c-toggle-hungry-state is no longer bound to C-c C-d.
 +This binding has been taken over by c-hungry-delete-forwards.
 +
 +**** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline.
 +c-toggle-auto-state remains as an alias.
 +
 +**** The new commands c-hungry-backspace and c-hungry-delete-forwards
 +have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and
 +C-c C-d (or C-c C-<delete> or C-c <delete>) respectively.  These
 +commands delete entire blocks of whitespace with a single
 +key-sequence.  [N.B. "DEL" is the <backspace> key.]
 +
 +**** The new command c-toggle-electric-mode is bound to C-c C-l.
 +
 +**** The new command c-subword-mode is bound to C-c C-w.
 +
 +*** C-c C-s (`c-show-syntactic-information') now highlights the anchor
 +position(s).
 +
 +*** New syntactic symbols in IDL mode.
 +The top level constructs "module" and "composition" (from CIDL) are
 +now handled like "namespace" in C++: They are given syntactic symbols
 +module-open, module-close, inmodule, composition-open,
 +composition-close, and incomposition.
 +
 +*** New functions to do hungry delete without enabling hungry delete mode.
 +The new functions `c-hungry-backspace' and `c-hungry-delete-forward'
 +provide hungry deletion without having to toggle a mode.  They are
 +bound to C-c C-DEL and C-c C-d (and several variants, for the benefit
 +of different keyboard setups.  See "Changes in key sequences" above).
 +
 +*** Better control over `require-final-newline'.
 +
 +The variable `c-require-final-newline' specifies which of the modes
 +implemented by CC mode should insert final newlines.  Its value is a
 +list of modes, and only those modes should do it.  By default the list
 +includes C, C++ and Objective-C modes.
 +
 +Whichever modes are in this list will set `require-final-newline'
 +based on `mode-require-final-newline'.
 +
 +*** Format change for syntactic context elements.
 +
 +The elements in the syntactic context returned by `c-guess-basic-syntax'
 +and stored in `c-syntactic-context' has been changed somewhat to allow
 +attaching more information.  They are now lists instead of single cons
 +cells.  E.g. a line that previously had the syntactic analysis
 +
 +((inclass . 11) (topmost-intro . 13))
 +
 +is now analyzed as
 +
 +((inclass 11) (topmost-intro 13))
 +
 +In some cases there are more than one position given for a syntactic
 +symbol.
 +
 +This change might affect code that calls `c-guess-basic-syntax'
 +directly, and custom lineup functions if they use
 +`c-syntactic-context'.  However, the argument given to lineup
 +functions is still a single cons cell with nil or an integer in the
 +cdr.
 +
 +*** API changes for derived modes.
 +
 +There have been extensive changes "under the hood" which can affect
 +derived mode writers.  Some of these changes are likely to cause
 +incompatibilities with existing derived modes, but on the other hand
 +care has now been taken to make it possible to extend and modify CC
 +Mode with less risk of such problems in the future.
 +
 +**** New language variable system.
 +These are variables whose values vary between CC Mode's different
 +languages.  See the comment blurb near the top of cc-langs.el.
 +
 +**** New initialization functions.
 +The initialization procedure has been split up into more functions to
 +give better control: `c-basic-common-init', `c-font-lock-init', and
 +`c-init-language-vars'.
 +
 +*** Changes in analysis of nested syntactic constructs.
 +The syntactic analysis engine has better handling of cases where
 +several syntactic constructs appear nested on the same line.  They are
 +now handled as if each construct started on a line of its own.
 +
 +This means that CC Mode now indents some cases differently, and
 +although it's more consistent there might be cases where the old way
 +gave results that's more to one's liking.  So if you find a situation
 +where you think that the indentation has become worse, please report
 +it to bug-cc-mode@gnu.org.
 +
 +**** New syntactic symbol substatement-label.
 +This symbol is used when a label is inserted between a statement and
 +its substatement.  E.g:
 +
 +    if (x)
 +      x_is_true:
 +        do_stuff();
 +
 +*** Better handling of multiline macros.
 +
 +**** Syntactic indentation inside macros.
 +The contents of multiline #define's are now analyzed and indented
 +syntactically just like other code.  This can be disabled by the new
 +variable `c-syntactic-indentation-in-macros'.  A new syntactic symbol
 +`cpp-define-intro' has been added to control the initial indentation
 +inside `#define's.
 +
 +**** New lineup function `c-lineup-cpp-define'.
 +
 +Now used by default to line up macro continuation lines.  The behavior
 +of this function closely mimics the indentation one gets if the macro
 +is indented while the line continuation backslashes are temporarily
 +removed.  If syntactic indentation in macros is turned off, it works
 +much line `c-lineup-dont-change', which was used earlier, but handles
 +empty lines within the macro better.
 +
 +**** Automatically inserted newlines continues the macro if used within one.
 +This applies to the newlines inserted by the auto-newline mode, and to
 +`c-context-line-break' and `c-context-open-line'.
 +
 +**** Better alignment of line continuation backslashes.
 +`c-backslash-region' tries to adapt to surrounding backslashes.  New
 +variable `c-backslash-max-column' puts a limit on how far out
 +backslashes can be moved.
 +
 +**** Automatic alignment of line continuation backslashes.
 +This is controlled by the new variable `c-auto-align-backslashes'.  It
 +affects `c-context-line-break', `c-context-open-line' and newlines
 +inserted in Auto-Newline mode.
 +
 +**** Line indentation works better inside macros.
 +Regardless whether syntactic indentation and syntactic indentation
 +inside macros are enabled or not, line indentation now ignores the
 +line continuation backslashes.  This is most noticeable when syntactic
 +indentation is turned off and there are empty lines (save for the
 +backslash) in the macro.
 +
 +*** indent-for-comment is more customizable.
 +The behavior of M-; (indent-for-comment) is now configurable through
 +the variable `c-indent-comment-alist'.  The indentation behavior is
 +based on the preceding code on the line, e.g. to get two spaces after
 +#else and #endif but indentation to `comment-column' in most other
 +cases (something which was hardcoded earlier).
 +
 +*** New function `c-context-open-line'.
 +It's the open-line equivalent of `c-context-line-break'.
 +
 +*** New clean-ups
 +
 +**** `comment-close-slash'.
 +With this clean-up, a block (i.e. c-style) comment can be terminated by
 +typing a slash at the start of a line.
 +
 +**** `c-one-liner-defun'
 +This clean-up compresses a short enough defun (for example, an AWK
 +pattern/action pair) onto a single line.  "Short enough" is configurable.
 +
 +*** New lineup functions
 +
 +**** `c-lineup-string-cont'
 +This lineup function lines up a continued string under the one it
 +continues.  E.g:
 +
 +result = prefix + "A message "
 +                  "string.";      <- c-lineup-string-cont
 +
 +**** `c-lineup-cascaded-calls'
 +Lines up series of calls separated by "->" or ".".
 +
 +**** `c-lineup-knr-region-comment'
 +Gives (what most people think is) better indentation of comments in
 +the "K&R region" between the function header and its body.
 +
 +**** `c-lineup-gcc-asm-reg'
 +Provides better indentation inside asm blocks.
 +
 +**** `c-lineup-argcont'
 +Lines up continued function arguments after the preceding comma.
 +
 +*** Added toggle for syntactic indentation.
 +The function `c-toggle-syntactic-indentation' can be used to toggle
 +syntactic indentation.
 +
 +*** Better caching of the syntactic context.
 +CC Mode caches the positions of the opening parentheses (of any kind)
 +of the lists surrounding the point.  Those positions are used in many
 +places as anchor points for various searches.  The cache is now
 +improved so that it can be reused to a large extent when the point is
 +moved.  The less it moves, the less needs to be recalculated.
 +
 +The effect is that CC Mode should be fast most of the time even when
 +opening parens are hung (i.e. aren't in column zero).  It's typically
 +only the first time after the point is moved far down in a complex
 +file that it'll take noticeable time to find out the syntactic
 +context.
 +
 +*** Statements are recognized in a more robust way.
 +Statements are recognized most of the time even when they occur in an
 +"invalid" context, e.g. in a function argument.  In practice that can
 +happen when macros are involved.
 +
 +*** Improved the way `c-indent-exp' chooses the block to indent.
 +It now indents the block for the closest sexp following the point
 +whose closing paren ends on a different line.  This means that the
 +point doesn't have to be immediately before the block to indent.
 +Also, only the block and the closing line is indented; the current
 +line is left untouched.
 +
 +** Changes in Makefile mode
 +
 +*** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake.
 +
 +The former two couldn't be differentiated before, and the latter three
 +are new.  Font-locking is robust now and offers new customizable
 +faces.
 +
 +*** The variable `makefile-query-one-target-method' has been renamed
 +to `makefile-query-one-target-method-function'.  The old name is still
 +available as alias.
 +
 +** Sql changes
 +
 +*** The variable `sql-product' controls the highlighting of different
 +SQL dialects.  This variable can be set globally via Customize, on a
 +buffer-specific basis via local variable settings, or for the current
 +session using the new SQL->Product submenu.  (This menu replaces the
 +SQL->Highlighting submenu.)
 +
 +The following values are supported:
 +
 +    ansi      ANSI Standard (default)
 +    db2               DB2
 +    informix    Informix
 +    ingres      Ingres
 +    interbase Interbase
 +    linter    Linter
 +    ms                Microsoft
 +    mysql     MySQL
 +    oracle    Oracle
 +    postgres  Postgres
 +    solid       Solid
 +    sqlite      SQLite
 +    sybase      Sybase
 +
 +The current product name will be shown on the mode line following the
 +SQL mode indicator.
 +
 +The technique of setting `sql-mode-font-lock-defaults' directly in
 +your `.emacs' will no longer establish the default highlighting -- Use
 +`sql-product' to accomplish this.
 +
 +ANSI keywords are always highlighted.
 +
 +*** The function `sql-add-product-keywords' can be used to add
 +font-lock rules to the product specific rules.  For example, to have
 +all identifiers ending in `_t' under MS SQLServer treated as a type,
 +you would use the following line in your .emacs file:
 +
 +  (sql-add-product-keywords 'ms
 +             '(("\\<\\w+_t\\>" . font-lock-type-face)))
 +
 +*** Oracle support includes keyword highlighting for Oracle 9i.
 +
 +Most SQL and PL/SQL keywords are implemented.  SQL*Plus commands are
 +highlighted in `font-lock-doc-face'.
 +
 +*** Microsoft SQLServer support has been significantly improved.
 +
 +Keyword highlighting for SqlServer 2000 is implemented.
 +sql-interactive-mode defaults to use osql, rather than isql, because
 +osql flushes its error stream more frequently.  Thus error messages
 +are displayed when they occur rather than when the session is
 +terminated.
 +
 +If the username and password are not provided to `sql-ms', osql is
 +called with the `-E' command line argument to use the operating system
 +credentials to authenticate the user.
 +
 +*** Postgres support is enhanced.
 +Keyword highlighting of Postgres 7.3 is implemented.  Prompting for
 +the username and the pgsql `-U' option is added.
 +
 +*** MySQL support is enhanced.
 +Keyword highlighting of MySql 4.0 is implemented.
 +
 +*** Imenu support has been enhanced to locate tables, views, indexes,
 +packages, procedures, functions, triggers, sequences, rules, and
 +defaults.
 +
 +*** Added SQL->Start SQLi Session menu entry which calls the
 +appropriate `sql-interactive-mode' wrapper for the current setting of
 +`sql-product'.
 +
 +*** sql.el supports the SQLite interpreter--call 'sql-sqlite'.
 +
 +** Fortran mode changes
 +
 +*** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow).
 +It cannot deal with every code format, but ought to handle a sizeable
 +majority.
 +
 +*** F90 mode and Fortran mode have new navigation commands
 +`f90-end-of-block', `f90-beginning-of-block', `f90-next-block',
 +`f90-previous-block', `fortran-end-of-block',
 +`fortran-beginning-of-block'.
 +
 +*** Fortran mode does more font-locking by default.  Use level 3
 +highlighting for the old default.
 +
 +*** Fortran mode has a new variable `fortran-directive-re'.
 +Adapt this to match the format of any compiler directives you use.
 +Lines that match are never indented, and are given distinctive font-locking.
 +
 +*** The new function `f90-backslash-not-special' can be used to change
 +the syntax of backslashes in F90 buffers.
 +
 +** Miscellaneous programming mode changes
 +
 +*** In sh-script, a continuation line is only indented if the backslash was
 +preceded by a SPC or a TAB.
 +
 +*** Perl mode has a new variable `perl-indent-continued-arguments'.
 +
 +*** The old Octave mode bindings C-c f and C-c i have been changed
 +to C-c C-f and C-c C-i.  The C-c C-i subcommands now have duplicate
 +bindings on control characters--thus, C-c C-i C-b is the same as
 +C-c C-i b, and so on.
 +
 +*** Prolog mode has a new variable `prolog-font-lock-keywords'
 +to support use of font-lock.
 +
 +** VC Changes
 +
 +*** New backends for Subversion and Meta-CVS.
 +
 +*** The new variable `vc-cvs-global-switches' specifies switches that
 +are passed to any CVS command invoked by VC.
 +
 +These switches are used as "global options" for CVS, which means they
 +are inserted before the command name.  For example, this allows you to
 +specify a compression level using the `-z#' option for CVS.
 +
 +*** The key C-x C-q only changes the read-only state of the buffer
 +(toggle-read-only).  It no longer checks files in or out.
 +
 +We made this change because we held a poll and found that many users
 +were unhappy with the previous behavior.  If you do prefer this
 +behavior, you can bind `vc-toggle-read-only' to C-x C-q in your
 +`.emacs' file:
 +
 +    (global-set-key "\C-x\C-q" 'vc-toggle-read-only)
 +
 +The function `vc-toggle-read-only' will continue to exist.
 +
 +*** VC-Annotate mode enhancements
 +
 +In VC-Annotate mode, you can now use the following key bindings for
 +enhanced functionality to browse the annotations of past revisions, or
 +to view diffs or log entries directly from vc-annotate-mode:
 +
 +    P:  annotates the previous revision
 +    N:  annotates the next revision
 +    J:  annotates the revision at line
 +    A:  annotates the revision previous to line
 +    D:  shows the diff of the revision at line with its previous revision
 +    L:  shows the log of the revision at line
 +    W:  annotates the workfile (most up to date) version
 +
 +** pcl-cvs changes
 +
 +*** In pcl-cvs mode, there is a new `d y' command to view the diffs
 +between the local version of the file and yesterday's head revision
 +in the repository.
 +
 +*** In pcl-cvs mode, there is a new `d r' command to view the changes
 +anyone has committed to the repository since you last executed
 +`checkout', `update' or `commit'.  That means using cvs diff options
 +-rBASE -rHEAD.
 +
 +** Diff changes
 +
 +*** M-x diff uses Diff mode instead of Compilation mode.
 +
 +*** Diff mode key bindings changed.
 +
 +These are the new bindings:
 +
 +C-c C-e   diff-ediff-patch  (old M-A)
 +C-c C-n   diff-restrict-view   (old M-r)
 +C-c C-r   diff-reverse-direction  (old M-R)
 +C-c C-u   diff-context->unified   (old M-U)
 +C-c C-w   diff-refine-hunk  (old C-c C-r)
 +
 +To convert unified to context format, use C-u C-c C-u.
 +In addition, C-c C-u now operates on the region
 +in Transient Mark mode when the mark is active.
 +
 +** EDiff changes.
 +
 +***  When comparing directories.
 +Typing D brings up a buffer that lists the differences between the contents of
 +directories.  Now it is possible to use this buffer to copy the missing files
 +from one directory to another.
 +
 +*** When comparing files or buffers.
 +Typing the = key now offers to perform the word-by-word comparison of the
 +currently highlighted regions in an inferior Ediff session.  If you answer 'n'
 +then it reverts to the old behavior and asks the user to select regions for
 +comparison.
 +
 +*** The new command `ediff-backup' compares a file with its most recent
 +backup using `ediff'.  If you specify the name of a backup file,
 +`ediff-backup' compares it with the file of which it is a backup.
 +
 +** Etags changes.
 +
 +*** New regular expressions features
 +
 +**** New syntax for regular expressions, multi-line regular expressions.
 +
 +The syntax --ignore-case-regexp=/regex/ is now undocumented and retained
 +only for backward compatibility.  The new equivalent syntax is
 +--regex=/regex/i.  More generally, it is --regex=/TAGREGEX/TAGNAME/MODS,
 +where `/TAGNAME' is optional, as usual, and MODS is a string of 0 or
 +more characters among `i' (ignore case), `m' (multi-line) and `s'
 +(single-line).  The `m' and `s' modifiers behave as in Perl regular
 +expressions: `m' allows regexps to match more than one line, while `s'
 +(which implies `m') means that `.' matches newlines.  The ability to
 +span newlines allows writing of much more powerful regular expressions
 +and rapid prototyping for tagging new languages.
 +
 +**** Regular expressions can use char escape sequences as in GCC.
 +
 +The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v,
 +respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL,
 +CR, TAB, VT.
 +
 +**** Regular expressions can be bound to a given language.
 +
 +The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags
 +only for files of language LANGUAGE, and ignored otherwise.  This is
 +particularly useful when storing regexps in a file.
 +
 +**** Regular expressions can be read from a file.
 +
 +The --regex=@regexfile option means read the regexps from a file, one
 +per line.  Lines beginning with space or tab are ignored.
 +
 +*** New language parsing features
 +
 +**** New language HTML.
 +
 +Tags are generated for `title' as well as `h1', `h2', and `h3'.  Also,
 +when `name=' is used inside an anchor and whenever `id=' is used.
 +
 +**** New language PHP.
 +
 +Functions, classes and defines are tags.  If the --members option is
 +specified to etags, variables are tags also.
 +
 +**** New language Lua.
 +
 +All functions are tagged.
 +
 +**** The `::' qualifier triggers C++ parsing in C file.
 +
 +Previously, only the `template' and `class' keywords had this effect.
 +
 +**** The GCC __attribute__ keyword is now recognized and ignored.
 +
 +**** In C and derived languages, etags creates tags for #undef
 +
 +**** In Makefiles, constants are tagged.
 +
 +If you want the old behavior instead, thus avoiding to increase the
 +size of the tags file, use the --no-globals option.
 +
 +**** In Perl, packages are tags.
 +
 +Subroutine tags are named from their package.  You can jump to sub tags
 +as you did before, by the sub name, or additionally by looking for
 +package::sub.
 +
 +**** In Prolog, etags creates tags for rules in addition to predicates.
 +
 +**** New default keywords for TeX.
 +
 +The new keywords are def, newcommand, renewcommand, newenvironment and
 +renewenvironment.
 +
 +*** Honor #line directives.
 +
 +When Etags parses an input file that contains C preprocessor's #line
 +directives, it creates tags using the file name and line number
 +specified in those directives.  This is useful when dealing with code
 +created from Cweb source files.  When Etags tags the generated file, it
 +writes tags pointing to the source file.
 +
 +*** New option --parse-stdin=FILE.
 +
 +This option is mostly useful when calling etags from programs.  It can
 +be used (only once) in place of a file name on the command line.  Etags
 +reads from standard input and marks the produced tags as belonging to
 +the file FILE.
 +
 +** Ctags changes.
 +
 +*** Ctags now allows duplicate tags
 +
 +** Rmail changes
 +
 +*** Support for `movemail' from GNU mailutils was added to Rmail.
 +
 +This version of `movemail' allows you to read mail from a wide range of
 +mailbox formats, including remote POP3 and IMAP4 mailboxes with or
 +without TLS encryption.  If GNU mailutils is installed on the system
 +and its version of `movemail' can be found in exec-path, it will be
 +used instead of the native one.
 +
 +*** The new commands rmail-end-of-message and rmail-summary end-of-message,
 +by default bound to `/', go to the end of the current mail message in
 +Rmail and Rmail summary buffers.
 +
 +*** Rmail now displays 5-digit message ids in its summary buffer.
 +
 +** Gnus package
 +
 +*** Gnus now includes Sieve and PGG
 +
 +Sieve is a library for managing Sieve scripts.  PGG is a library to handle
 +PGP/MIME.
 +
 +*** There are many news features, bug fixes and improvements.
 +
 +See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details.
 +
 +** MH-E changes.
 +
 +Upgraded to MH-E version 8.0.3.  There have been major changes since
 +version 5.0.2; see MH-E-NEWS for details.
 +
 +** Miscellaneous mail changes
 +
 +*** The new variable `mail-default-directory' specifies
 +`default-directory' for mail buffers.  This directory is used for
 +auto-save files of mail buffers.  It defaults to "~/".
 +
 +*** The mode line can indicate new mail in a directory or file.
 +
 +See the documentation of the user option `display-time-mail-directory'.
 +
 +** Calendar changes
 +
 +*** There is a new calendar package, icalendar.el, that can be used to
 +convert Emacs diary entries to/from the iCalendar format.
 +
 +*** The new package cal-html.el writes HTML files with calendar and
 +diary entries.
 +
 +*** The new functions `diary-from-outlook', `diary-from-outlook-gnus',
 +and `diary-from-outlook-rmail' can be used to import diary entries
 +from Outlook-format appointments in mail messages.  The variable
 +`diary-outlook-formats' can be customized to recognize additional
 +formats.
 +
 +*** The procedure for activating appointment reminders has changed:
 +use the new function `appt-activate'.  The new variable
 +`appt-display-format' controls how reminders are displayed, replacing
 +`appt-issue-message', `appt-visible', and `appt-msg-window'.
 +
 +*** The function `simple-diary-display' now by default sets a header line.
 +This can be controlled through the variables `diary-header-line-flag'
 +and `diary-header-line-format'.
 +
 +*** Diary sexp entries can have custom marking in the calendar.
 +Diary sexp functions which only apply to certain days (such as
 +`diary-block' or `diary-cyclic') now take an optional parameter MARK,
 +which is the name of a face or a single-character string indicating
 +how to highlight the day in the calendar display.  Specifying a
 +single-character string as @var{mark} places the character next to the
 +day in the calendar.  Specifying a face highlights the day with that
 +face.  This lets you have different colors or markings for vacations,
 +appointments, paydays or anything else using a sexp.
 +
 +*** The meanings of C-x < and C-x > have been interchanged.
 +< means to scroll backward in time, and > means to scroll forward.
 +
 +*** You can now use < and >, instead of C-x < and C-x >, to scroll
 +the calendar left or right.
 +
 +*** The new function `calendar-goto-day-of-year' (g D) prompts for a
 +year and day number, and moves to that date.  Negative day numbers
 +count backward from the end of the year.
 +
 +*** The new Calendar function `calendar-goto-iso-week' (g w)
 +prompts for a year and a week number, and moves to the first
 +day of that ISO week.
 +
 +*** The functions `holiday-easter-etc' and `holiday-advent' now take
 +optional arguments, in order to only report on the specified holiday
 +rather than all.  This makes customization of variables such as
 +`christian-holidays' simpler.
 +
 +*** The new variable `calendar-minimum-window-height' affects the
 +window generated by the function `generate-calendar-window'.
 +
 +** Speedbar changes
 +
 +*** Speedbar items can now be selected by clicking mouse-1, based on
 +the `mouse-1-click-follows-link' mechanism.
 +
 +*** The new command `speedbar-toggle-line-expansion', bound to SPC,
 +contracts or expands the line under the cursor.
 +
 +*** New command `speedbar-create-directory', bound to `M'.
 +
 +*** The new commands `speedbar-expand-line-descendants' and
 +`speedbar-contract-line-descendants', bound to `[' and `]'
 +respectively, expand and contract the line under cursor with all of
 +its descendents.
 +
 +*** The new user option `speedbar-use-tool-tips-flag', if non-nil,
 +means to display tool-tips for speedbar items.
 +
 +*** The new user option `speedbar-query-confirmation-method' controls
 +how querying is performed for file operations.  A value of 'always
 +means to always query before file operations; 'none-but-delete means
 +to not query before any file operations, except before a file
 +deletion.
 +
 +*** The new user option `speedbar-select-frame-method' specifies how
 +to select a frame for displaying a file opened with the speedbar.  A
 +value of 'attached means to use the attached frame (the frame that
 +speedbar was started from.)  A number such as 1 or -1 means to pass
 +that number to `other-frame'.
 +
 +*** SPC and DEL are no longer bound to scroll up/down in the speedbar
 +keymap.
 +
 +*** The frame management code in speedbar.el has been split into a new
 +`dframe' library.  Emacs Lisp code that makes use of the speedbar
 +should use `dframe-attached-frame' instead of
 +`speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer',
 +`dframe-close-frame' instead of `speedbar-close-frame', and
 +`dframe-activity-change-focus-flag' instead of
 +`speedbar-activity-change-focus-flag'.  The variables
 +`speedbar-update-speed' and `speedbar-navigating-speed' are also
 +obsolete; use `dframe-update-speed' instead.
 +
 +** battery.el changes
 +
 +*** display-battery-mode replaces display-battery.
 +
 +*** battery.el now works on recent versions of OS X.
 +
 +** Games
 +
 +*** The game `mpuz' is enhanced.
 +
 +`mpuz' now allows the 2nd factor not to have two identical digits.  By
 +default, all trivial operations involving whole lines are performed
 +automatically.  The game uses faces for better visual feedback.
 +
 +** Obsolete and deleted packages
 +
 +*** fast-lock.el and lazy-lock.el are obsolete.  Use jit-lock.el instead.
 +
 +*** iso-acc.el is now obsolete.  Use one of the latin input methods instead.
 +
 +*** zone-mode.el is now obsolete.  Use dns-mode.el instead.
 +
 +*** cplus-md.el has been deleted.
 +
 +** Miscellaneous
 +
 +*** The variable `woman-topic-at-point' is renamed
 +to `woman-use-topic-at-point' and behaves differently: if this
 +variable is non-nil, the `woman' command uses the word at point
 +automatically, without asking for a confirmation.  Otherwise, the word
 +at point is suggested as default, but not inserted at the prompt.
 +
 +*** You can now customize `fill-nobreak-predicate' to control where
 +filling can break lines.  The value is now normally a list of
 +functions, but it can also be a single function, for compatibility.
 +
 +Emacs provide two predicates, `fill-single-word-nobreak-p' and
 +`fill-french-nobreak-p', for use as the value of
 +`fill-nobreak-predicate'.
 +
 +*** M-x view-file and commands that use it now avoid interfering
 +with special modes such as Tar mode.
 +
 +*** `global-whitespace-mode' is a new alias for `whitespace-global-mode'.
 +
 +*** The saveplace.el package now filters out unreadable files.
 +
 +When you exit Emacs, the saved positions in visited files no longer
 +include files that aren't readable, e.g. files that don't exist.
 +Customize the new option `save-place-forget-unreadable-files' to nil
 +to get the old behavior.  The new options `save-place-save-skipped'
 +and `save-place-skip-check-regexp' allow further fine-tuning of this
 +feature.
 +
 +*** Commands `winner-redo' and `winner-undo', from winner.el, are now
 +bound to C-c <left> and C-c <right>, respectively.  This is an
 +incompatible change.
 +
 +*** The type-break package now allows `type-break-file-name' to be nil
 +and if so, doesn't store any data across sessions.  This is handy if
 +you don't want the `.type-break' file in your home directory or are
 +annoyed by the need for interaction when you kill Emacs.
 +
 +*** `ps-print' can now print characters from the mule-unicode charsets.
 +
 +Printing text with characters from the mule-unicode-* sets works with
 +`ps-print', provided that you have installed the appropriate BDF
 +fonts.  See the file INSTALL for URLs where you can find these fonts.
 +
 +*** New command `strokes-global-set-stroke-string'.
 +This is like `strokes-global-set-stroke', but it allows you to bind
 +the stroke directly to a string to insert.  This is convenient for
 +using strokes as an input method.
 +
 +*** In Outline mode, `hide-body' no longer hides lines at the top
 +of the file that precede the first header line.
 +
 +*** `hide-ifdef-mode' now uses overlays rather than selective-display
 +to hide its text.  This should be mostly transparent but slightly
 +changes the behavior of motion commands like C-e and C-p.
 +
 +*** In Artist mode the variable `artist-text-renderer' has been
 +renamed to `artist-text-renderer-function'.  The old name is still
 +available as alias.
 +
 +*** In Enriched mode, `set-left-margin' and `set-right-margin' are now
 +by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
 +and `C-c C-r'.
 +
 +*** `partial-completion-mode' now handles partial completion on directory names.
 +
 +*** You can now disable pc-selection-mode after enabling it.
 +
 +M-x pc-selection-mode behaves like a proper minor mode, and with no
 +argument it toggles the mode.  Turning off PC-Selection mode restores
 +the global key bindings that were replaced by turning on the mode.
 +
 +*** `uniquify-strip-common-suffix' tells uniquify to prefer
 +`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'.
 +
 +*** New user option `add-log-always-start-new-record'.
 +
 +When this option is enabled, M-x add-change-log-entry always
 +starts a new record regardless of when the last record is.
 +
 +*** M-x compare-windows now can automatically skip non-matching text to
 +resync points in both windows.
 +
 +*** PO translation files are decoded according to their MIME headers
 +when Emacs visits them.
 +
 +*** Telnet now prompts you for a port number with C-u M-x telnet.
 +
 +*** calculator.el now has radix grouping mode.
 +
 +To enable this, set `calculator-output-radix' non-nil.  In this mode a
 +separator character is used every few digits, making it easier to see
 +byte boundaries etc.  For more info, see the documentation of the
 +variable `calculator-radix-grouping-mode'.
 +
 +*** LDAP support now defaults to ldapsearch from OpenLDAP version 2.
 +
 +*** The terminal emulation code in term.el has been improved; it can
 +run most curses applications now.
 +
 +*** Support for `magic cookie' standout modes has been removed.
 +
 +Emacs still works on terminals that require magic cookies in order to
 +use standout mode, but they can no longer display mode-lines in
 +inverse-video.
 +
 +\f
 +* Changes in Emacs 22.1 on non-free operating systems
 +
 +** The HOME directory defaults to Application Data under the user profile.
 +
 +If you used a previous version of Emacs without setting the HOME
 +environment variable and a `.emacs' was saved, then Emacs will continue
 +using C:/ as the default HOME.  But if you are installing Emacs afresh,
 +the default location will be the "Application Data" (or similar
 +localized name) subdirectory of your user profile.  A typical location
 +of this directory is "C:\Documents and Settings\USERNAME\Application Data",
 +where USERNAME is your user name.
 +
 +This change means that users can now have their own `.emacs' files on
 +shared computers, and the default HOME directory is less likely to be
 +read-only on computers that are administered by someone else.
 +
 +** Images are now supported on MS Windows.
 +
 +PBM and XBM images are supported out of the box.  Other image formats
 +depend on external libraries.  All of these libraries have been ported
 +to Windows, and can be found in both source and binary form at
 +http://gnuwin32.sourceforge.net/.  Note that libpng also depends on
 +zlib, and tiff depends on the version of jpeg that it was compiled
 +against.  For additional information, see nt/INSTALL.
 +
 +** Sound is now supported on MS Windows.
 +
 +WAV format is supported on all versions of Windows, other formats such
 +as AU, AIFF and MP3 may be supported in the more recent versions of
 +Windows, or when other software provides hooks into the system level
 +sound support for those formats.
 +
 +** Tooltips now work on MS Windows.
 +
 +See the Emacs 21.1 NEWS entry for tooltips for details.
 +
 +** Pointing devices with more than 3 buttons are now supported on MS Windows.
 +
 +The new variable `w32-pass-extra-mouse-buttons-to-system' controls
 +whether Emacs should handle the extra buttons itself (the default), or
 +pass them to Windows to be handled with system-wide functions.
 +
 +** Passing resources on the command line now works on MS Windows.
 +
 +You can use --xrm to pass resource settings to Emacs, overriding any
 +existing values.  For example:
 +
 +  emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20"
 +
 +will start up Emacs on an initial frame of 100x20 with red background,
 +irrespective of geometry or background setting on the Windows registry.
 +
 +** Emacs takes note of colors defined in Control Panel on MS-Windows.
 +
 +The Control Panel defines some default colors for applications in much
 +the same way as wildcard X Resources do on X.  Emacs now adds these
 +colors to the colormap prefixed by System (eg SystemMenu for the
 +default Menu background, SystemMenuText for the foreground), and uses
 +some of them to initialize some of the default faces.
 +`list-colors-display' shows the list of System color names, in case
 +you wish to use them in other faces.
 +
 +** Running in a console window in Windows now uses the console size.
 +
 +Previous versions of Emacs erred on the side of having a usable Emacs
 +through telnet, even though that was inconvenient if you use Emacs in
 +a local console window with a scrollback buffer.  The default value of
 +w32-use-full-screen-buffer is now nil, which favors local console
 +windows.  Recent versions of Windows telnet also work well with this
 +setting.  If you are using an older telnet server then Emacs detects
 +that the console window dimensions that are reported are not sane, and
 +defaults to 80x25.  If you use such a telnet server regularly at a size
 +other than 80x25, you can still manually set
 +w32-use-full-screen-buffer to t.
 +
 +** Different shaped mouse pointers are supported on MS Windows.
 +
 +The mouse pointer changes shape depending on what is under the pointer.
 +
 +** On MS Windows, the "system caret" now follows the cursor.
 +
 +This enables Emacs to work better with programs that need to track the
 +cursor, for example screen magnifiers and text to speech programs.
 +When such a program is in use, the system caret is made visible
 +instead of Emacs drawing its own cursor. This seems to be required by
 +some programs. The new variable w32-use-visible-system-caret allows
 +the caret visibility to be manually toggled.
 +
 +** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
 +
 +Those systems use Unicode internally, so this allows Emacs to share
 +multilingual text with other applications.  On other versions of
 +MS Windows, Emacs now uses the appropriate locale coding-system, so
 +the clipboard should work correctly for your local language without
 +any customizations.
 +
 +** On Mac OS, `keyboard-coding-system' changes based on the keyboard script.
 +
 +** The variable `mac-keyboard-text-encoding' and the constants
 +`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and
 +`kTextEncodingISOLatin2' are obsolete.
 +
 +** The variable `mac-command-key-is-meta' is obsolete.  Use
 +`mac-command-modifier' and `mac-option-modifier' instead.
 +\f
 +* Incompatible Lisp Changes in Emacs 22.1
 +
 +** Mode line display ignores text properties as well as the
 +:propertize and :eval forms in the value of a variable whose
 +`risky-local-variable' property is nil.
 +
 +The function `comint-send-input' now accepts 3 optional arguments:
 +
 +  (comint-send-input &optional no-newline artificial)
 +
 +Callers sending input not from the user should use bind the 3rd
 +argument `artificial' to a non-nil value, to prevent Emacs from
 +deleting the part of subprocess output that matches the input.
 +
 +** The `read-file-name' function now returns a null string if the
 +user just types RET.
 +
 +** The variables post-command-idle-hook and post-command-idle-delay have
 +been removed.  Use run-with-idle-timer instead.
 +
 +** A hex or octal escape in a string constant forces the string to
 +be multibyte or unibyte, respectively.
 +
 +** The explicit method of creating a display table element by
 +combining a face number and a character code into a numeric
 +glyph code is deprecated.
 +
 +Instead, the new functions `make-glyph-code', `glyph-char', and
 +`glyph-face' must be used to create and decode glyph codes in
 +display tables.
 +
 +** `suppress-keymap' now works by remapping `self-insert-command' to
 +the command `undefined'.  (In earlier Emacs versions, it used
 +`substitute-key-definition' to rebind self inserting characters to
 +`undefined'.)
 +
 +** The third argument of `accept-process-output' is now milliseconds.
 +It used to be microseconds.
 +
 +** The function find-operation-coding-system may be called with a cons
 +(FILENAME . BUFFER) in the second argument if the first argument
 +OPERATION is `insert-file-contents', and thus a function registered in
 +`file-coding-system-alist' is also called with such an argument.
 +
 +** When Emacs receives a USR1 or USR2 signal, this generates
 +input events: sigusr1 or sigusr2.  Use special-event-map to
 +handle these events.
 +
 +** The variable `memory-full' now remains t until
 +there is no longer a shortage of memory.
 +
 +** Support for Mocklisp has been removed.
 +
 +\f
 +* Lisp Changes in Emacs 22.1
 +
 +** General Lisp changes:
 +
 +*** New syntax: \s now stands for the SPACE character.
 +
 +`?\s' is a new way to write the space character.  You must make sure
 +it is not followed by a dash, since `?\s-...' indicates the "super"
 +modifier.  However, it would be strange to write a character constant
 +and a following symbol (beginning with `-') with no space between
 +them.
 +
 +`\s' stands for space in strings, too, but it is not really meant for
 +strings; it is easier and nicer just to write a space.
 +
 +*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex.
 +
 +For instance, you can use "\u0428" to specify a string consisting of
 +CYRILLIC CAPITAL LETTER SHA, or `"U0001D6E2" to specify one consisting
 +of MATHEMATICAL ITALIC CAPITAL ALPHA (the latter is greater than
 +#xFFFF and thus needs the longer syntax).
 +
 +This syntax works for both character constants and strings.
 +
 +*** New function `unsafep' determines whether a Lisp form is safe.
 +
 +It returns nil if the given Lisp form can't possibly do anything
 +dangerous; otherwise it returns a reason why the form might be unsafe
 +(calls unknown function, alters global variable, etc.).
 +
 +*** The function `eql' is now available without requiring the CL package.
 +
 +*** The new function `memql' is like `memq', but uses `eql' for comparison,
 +that is, floats are compared by value and other elements with `eq'.
 +
 +*** New functions `string-or-null-p' and `booleanp'.
 +
 +`string-or-null-p' returns non-nil if OBJECT is a string or nil.
 +`booleanp' returns non-nil if OBJECT is t or nil.
 +
 +*** `makehash' is now obsolete.  Use `make-hash-table' instead.
 +
 +*** Minor change in the function `format'.
 +
 +Some flags that were accepted but not implemented (such as "*") are no
 +longer accepted.
 +
 +*** `add-to-list' takes an optional third argument, APPEND.
 +
 +If APPEND is non-nil, the new element gets added at the end of the
 +list instead of at the beginning.  This change actually occurred in
 +Emacs 21.1, but was not documented then.
 +
 +*** New function `add-to-ordered-list' is like `add-to-list' but
 +associates a numeric ordering of each element added to the list.
 +
 +*** New function `add-to-history' adds an element to a history list.
 +
 +Lisp packages should use this function to add elements to their
 +history lists.
 +
 +If `history-delete-duplicates' is non-nil, it removes duplicates of
 +the new element from the history list it updates.
 +
 +*** New function `copy-tree' makes a copy of a tree.
 +
 +It recursively copies through both CARs and CDRs.
 +
 +*** New function `delete-dups' deletes `equal' duplicate elements from a list.
 +
 +It modifies the list destructively, like `delete'.  Of several `equal'
 +occurrences of an element in the list, the one that's kept is the
 +first one.
 +
 +*** New function `rassq-delete-all'.
 +
 +(rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose
 +CDR is `eq' to the specified value.
 +
 +*** Functions `get' and `plist-get' no longer give errors for bad plists.
 +
 +They return nil for a malformed property list or if the list is
 +cyclic.
 +
 +*** New functions `lax-plist-get' and `lax-plist-put'.
 +
 +They are like `plist-get' and `plist-put', except that they compare
 +the property name using `equal' rather than `eq'.
 +
 +*** The function `number-sequence' makes a list of equally-separated numbers.
 +
 +For instance, (number-sequence 4 9) returns (4 5 6 7 8 9).  By
 +default, the separation is 1, but you can specify a different
 +separation as the third argument.  (number-sequence 1.5 6 2) returns
 +(1.5 3.5 5.5).
 +
 +*** New variables `most-positive-fixnum' and `most-negative-fixnum'.
 +
 +They hold the largest and smallest possible integer values.
 +
 +*** The function `expt' handles negative exponents differently.
 +The value for `(expt A B)', if both A and B are integers and B is
 +negative, is now a float.  For example: (expt 2 -2) => 0.25.
 +
 +*** The function `atan' now accepts an optional second argument.
 +
 +When called with 2 arguments, as in `(atan Y X)', `atan' returns the
 +angle in radians between the vector [X, Y] and the X axis.  (This is
 +equivalent to the standard C library function `atan2'.)
 +
 +*** New macro `with-case-table'
 +
 +This executes the body with the case table temporarily set to a given
 +case table.
 +
 +*** New macro `with-local-quit' temporarily allows quitting.
 +
 +A quit inside the body of `with-local-quit' is caught by the
 +`with-local-quit' form itself, but another quit will happen later once
 +the code that has inhibited quitting exits.
 +
 +This is for use around potentially blocking or long-running code
 +inside timer functions and `post-command-hook' functions.
 +
 +*** New macro `define-obsolete-function-alias'.
 +
 +This combines `defalias' and `make-obsolete'.
 +
 +*** New macro `eval-at-startup' specifies expressions to
 +evaluate when Emacs starts up.  If this is done after startup,
 +it evaluates those expressions immediately.
 +
 +This is useful in packages that can be preloaded.
 +
 +*** New function `macroexpand-all' expands all macros in a form.
 +
 +It is similar to the Common-Lisp function of the same name.
 +One difference is that it guarantees to return the original argument
 +if no expansion is done, which can be tested using `eq'.
 +
 +*** A function or macro's doc string can now specify the calling pattern.
 +
 +You put this info in the doc string's last line.  It should be
 +formatted so as to match the regexp "\n\n(fn .*)\\'".  If you don't
 +specify this explicitly, Emacs determines it from the actual argument
 +names.  Usually that default is right, but not always.
 +
 +*** New variable `print-continuous-numbering'.
 +
 +When this is non-nil, successive calls to print functions use a single
 +numbering scheme for circular structure references.  This is only
 +relevant when `print-circle' is non-nil.
 +
 +When you bind `print-continuous-numbering' to t, you should
 +also bind `print-number-table' to nil.
 +
 +*** `list-faces-display' takes an optional argument, REGEXP.
 +
 +If it is non-nil, the function lists only faces matching this regexp.
 +
 +*** New hook `command-error-function'.
 +
 +By setting this variable to a function, you can control
 +how the editor command loop shows the user an error message.
 +
 +*** `debug-on-entry' accepts primitive functions that are not special forms.
 +
 +** Lisp code indentation features:
 +
 +*** The `defmacro' form can contain indentation and edebug declarations.
 +
 +These declarations specify how to indent the macro calls in Lisp mode
 +and how to debug them with Edebug.  You write them like this:
 +
 +   (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...)
 +
 +DECLARATION is a list `(declare DECLARATION-SPECIFIER ...)'.  The
 +possible declaration specifiers are:
 +
 +(indent INDENT)
 +      Set NAME's `lisp-indent-function' property to INDENT.
 +
 +(edebug DEBUG)
 +      Set NAME's `edebug-form-spec' property to DEBUG.  (This is
 +      equivalent to writing a `def-edebug-spec' for the macro,
 +      but this is cleaner.)
 +
 +*** cl-indent now allows customization of Indentation of backquoted forms.
 +
 +See the new user option `lisp-backquote-indentation'.
 +
 +*** cl-indent now handles indentation of simple and extended `loop' forms.
 +
 +The new user options `lisp-loop-keyword-indentation',
 +`lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can
 +be used to customize the indentation of keywords and forms in loop
 +forms.
 +
 +** Variable aliases:
 +
 +*** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING]
 +
 +This function defines the symbol ALIAS-VAR as a variable alias for
 +symbol BASE-VAR.  This means that retrieving the value of ALIAS-VAR
 +returns the value of BASE-VAR, and changing the value of ALIAS-VAR
 +changes the value of BASE-VAR.
 +
 +DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has
 +the same documentation as BASE-VAR.
 +
 +*** The macro `define-obsolete-variable-alias' combines `defvaralias' and
 +`make-obsolete-variable'.
 +
 +*** New function: indirect-variable VARIABLE
 +
 +This function returns the variable at the end of the chain of aliases
 +of VARIABLE.  If VARIABLE is not a symbol, or if VARIABLE is not
 +defined as an alias, the function returns VARIABLE.
 +
 +It might be noteworthy that variables aliases work for all kinds of
 +variables, including buffer-local and frame-local variables.
 +
 +** defcustom changes:
 +
 +*** The package-version keyword has been added to provide
 +`customize-changed-options' functionality to packages in the future.
 +Developers who make use of this keyword must also update the new
 +variable `customize-package-emacs-version-alist'.
 +
 +*** The new customization type `float' requires a floating point number.
 +
 +** String changes:
 +
 +*** A hex escape in a string constant forces the string to be multibyte.
 +
 +*** An octal escape in a string constant forces the string to be unibyte.
 +
 +*** New function `string-to-multibyte' converts a unibyte string to a
 +multibyte string with the same individual character codes.
 +
 +*** `split-string' now includes null substrings in the returned list if
 +the optional argument SEPARATORS is non-nil and there are matches for
 +SEPARATORS at the beginning or end of the string.  If SEPARATORS is
 +nil, or if the new optional third argument OMIT-NULLS is non-nil, all
 +empty matches are omitted from the returned list.
 +
 +*** The new function `assoc-string' replaces `assoc-ignore-case' and
 +`assoc-ignore-representation', which are still available, but have
 +been declared obsolete.
 +
 +*** New function `substring-no-properties' returns a substring without
 +text properties.
 +
 +** Displaying warnings to the user.
 +
 +See the functions `warn' and `display-warning', or the Lisp Manual.
 +If you want to be sure the warning will not be overlooked, this
 +facility is much better than using `message', since it displays
 +warnings in a separate window.
 +
 +** Progress reporters.
 +
 +These provide a simple and uniform way for commands to present
 +progress messages for the user.
 +
 +See the new functions `make-progress-reporter',
 +`progress-reporter-update', `progress-reporter-force-update',
 +`progress-reporter-done', and `dotimes-with-progress-reporter'.
 +
 +** Buffer positions:
 +
 +*** Function `compute-motion' now calculates the usable window
 +width if the WIDTH argument is nil.  If the TOPOS argument is nil,
 +the usable window height and width is used.
 +
 +*** The `line-move', `scroll-up', and `scroll-down' functions will now
 +modify the window vscroll to scroll through display rows that are
 +taller that the height of the window, for example in the presence of
 +large images.  To disable this feature, bind the new variable
 +`auto-window-vscroll' to nil.
 +
 +*** The argument to `forward-word', `backward-word' is optional.
 +
 +It defaults to 1.
 +
 +*** Argument to `forward-to-indentation' and `backward-to-indentation' is optional.
 +
 +It defaults to 1.
 +
 +*** `field-beginning' and `field-end' take new optional argument, LIMIT.
 +
 +This argument tells them not to search beyond LIMIT.  Instead they
 +give up and return LIMIT.
 +
 +*** New function `window-line-height' is an efficient way to get
 +information about a specific text line in a window provided that the
 +window's display is up-to-date.
 +
 +*** New function `line-number-at-pos' returns the line number of a position.
 +
 +It an optional buffer position argument that defaults to point.
 +
 +*** Function `pos-visible-in-window-p' now returns the pixel coordinates
 +and partial visibility state of the corresponding row, if the PARTIALLY
 +arg is non-nil.
 +
 +*** New functions `posn-at-point' and `posn-at-x-y' return
 +click-event-style position information for a given visible buffer
 +position or for a given window pixel coordinate.
 +
 +*** New function `mouse-on-link-p' tests if a position is in a clickable link.
 +
 +This is the function used by the new `mouse-1-click-follows-link'
 +functionality.
 +
 +** Text modification:
 +
 +*** The new function `buffer-chars-modified-tick' returns a buffer's
 +tick counter for changes to characters.  Each time text in that buffer
 +is inserted or deleted, the character-change counter is updated to the
 +tick counter (`buffer-modified-tick').  Text property changes leave it
 +unchanged.
 +
 +*** The new function `insert-for-yank' normally works like `insert', but
 +removes the text properties in the `yank-excluded-properties' list
 +and handles the `yank-handler' text property.
 +
 +*** The new function `insert-buffer-substring-as-yank' is like
 +`insert-for-yank' except that it gets the text from another buffer as
 +in `insert-buffer-substring'.
 +
 +*** The new function `insert-buffer-substring-no-properties' is like
 +`insert-buffer-substring', but removes all text properties from the
 +inserted substring.
 +
 +*** The new function `filter-buffer-substring' extracts a buffer
 +substring, passes it through a set of filter functions, and returns
 +the filtered substring.  Use it instead of `buffer-substring' or
 +`delete-and-extract-region' when copying text into a user-accessible
 +data structure, such as the kill-ring, X clipboard, or a register.
 +
 +The list of filter function is specified by the new variable
 +`buffer-substring-filters'.  For example, Longlines mode adds to
 +`buffer-substring-filters' to remove soft newlines from the copied
 +text.
 +
 +*** Function `translate-region' accepts also a char-table as TABLE
 +argument.
 +
 +*** The new translation table `translation-table-for-input'
 +is used for customizing self-insertion.  The character to
 +be inserted is translated through it.
 +
 +*** Text clones.
 +
 +The new function `text-clone-create'.  Text clones are chunks of text
 +that are kept identical by transparently propagating changes from one
 +clone to the other.
 +
 +*** The function `insert-string' is now obsolete.
 +
 +** Filling changes.
 +
 +*** In determining an adaptive fill prefix, Emacs now tries the function in
 +`adaptive-fill-function' _before_ matching the buffer line against
 +`adaptive-fill-regexp' rather than _after_ it.
 +
 +** Atomic change groups.
 +
 +To perform some changes in the current buffer "atomically" so that
 +they either all succeed or are all undone, use `atomic-change-group'
 +around the code that makes changes.  For instance:
 +
 +  (atomic-change-group
 +    (insert foo)
 +    (delete-region x y))
 +
 +If an error (or other nonlocal exit) occurs inside the body of
 +`atomic-change-group', it unmakes all the changes in that buffer that
 +were during the execution of the body.  The change group has no effect
 +on any other buffers--any such changes remain.
 +
 +If you need something more sophisticated, you can directly call the
 +lower-level functions that `atomic-change-group' uses.  Here is how.
 +
 +To set up a change group for one buffer, call `prepare-change-group'.
 +Specify the buffer as argument; it defaults to the current buffer.
 +This function returns a "handle" for the change group.  You must save
 +the handle to activate the change group and then finish it.
 +
 +Before you change the buffer again, you must activate the change
 +group.  Pass the handle to `activate-change-group' afterward to
 +do this.
 +
 +After you make the changes, you must finish the change group.  You can
 +either accept the changes or cancel them all.  Call
 +`accept-change-group' to accept the changes in the group as final;
 +call `cancel-change-group' to undo them all.
 +
 +You should use `unwind-protect' to make sure the group is always
 +finished.  The call to `activate-change-group' should be inside the
 +`unwind-protect', in case the user types C-g just after it runs.
 +(This is one reason why `prepare-change-group' and
 +`activate-change-group' are separate functions.)  Once you finish the
 +group, don't use the handle again--don't try to finish the same group
 +twice.
 +
 +To make a multibuffer change group, call `prepare-change-group' once
 +for each buffer you want to cover, then use `nconc' to combine the
 +returned values, like this:
 +
 +  (nconc (prepare-change-group buffer-1)
 +         (prepare-change-group buffer-2))
 +
 +You can then activate the multibuffer change group with a single call
 +to `activate-change-group', and finish it with a single call to
 +`accept-change-group' or `cancel-change-group'.
 +
 +Nested use of several change groups for the same buffer works as you
 +would expect.  Non-nested use of change groups for the same buffer
 +will lead to undesirable results, so don't let it happen; the first
 +change group you start for any given buffer should be the last one
 +finished.
 +
 +** Buffer-related changes:
 +
 +*** The new function `buffer-local-value' returns the buffer-local
 +binding of VARIABLE (a symbol) in buffer BUFFER.  If VARIABLE does not
 +have a buffer-local binding in buffer BUFFER, it returns the default
 +value of VARIABLE instead.
 +
 +*** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST.
 +
 +If it is non-nil, it specifies which buffers to list.
 +
 +*** `kill-buffer-hook' is now a permanent local.
 +
 +*** The function `frame-or-buffer-changed-p' now lets you maintain
 +various status records in parallel.
 +
 +It takes a variable (a symbol) as argument.  If the variable is non-nil,
 +then its value should be a vector installed previously by
 +`frame-or-buffer-changed-p'.  If the frame names, buffer names, buffer
 +order, or their read-only or modified flags have changed, since the
 +time the vector's contents were recorded by a previous call to
 +`frame-or-buffer-changed-p', then the function returns t.  Otherwise
 +it returns nil.
 +
 +On the first call to `frame-or-buffer-changed-p', the variable's
 +value should be nil.  `frame-or-buffer-changed-p' stores a suitable
 +vector into the variable and returns t.
 +
 +If the variable is itself nil, then `frame-or-buffer-changed-p' uses,
 +for compatibility, an internal variable which exists only for this
 +purpose.
 +
 +*** The function `read-buffer' follows the convention for reading from
 +the minibuffer with a default value: if DEF is non-nil, the minibuffer
 +prompt provided in PROMPT is edited to show the default value provided
 +in DEF before the terminal colon and space.
 +
 +** Searching and matching changes:
 +
 +*** New function `looking-back' checks whether a regular expression matches
 +the text before point.  Specifying the LIMIT argument bounds how far
 +back the match can start; this is a way to keep it from taking too long.
 +
 +*** The new variable `search-spaces-regexp' controls how to search
 +for spaces in a regular expression.  If it is non-nil, it should be a
 +regular expression, and any series of spaces stands for that regular
 +expression.  If it is nil, spaces stand for themselves.
 +
 +Spaces inside of constructs such as `[..]' and inside loops such as
 +`*', `+', and `?' are never replaced with `search-spaces-regexp'.
 +
 +*** New regular expression operators, `\_<' and `\_>'.
 +
 +These match the beginning and end of a symbol.  A symbol is a
 +non-empty sequence of either word or symbol constituent characters, as
 +specified by the syntax table.
 +
 +*** `skip-chars-forward' and `skip-chars-backward' now handle
 +character classes such as `[:alpha:]', along with individual
 +characters and ranges.
 +
 +*** In `replace-match', the replacement text no longer inherits
 +properties from surrounding text.
 +
 +*** The list returned by `(match-data t)' now has the buffer as a final
 +element, if the last match was on a buffer.  `set-match-data'
 +accepts such a list for restoring the match state.
 +
 +*** Functions `match-data' and `set-match-data' now have an optional
 +argument `reseat'.  When non-nil, all markers in the match data list
 +passed to these functions will be reseated to point to nowhere.
 +
 +*** rx.el has new corresponding `symbol-start' and `symbol-end' elements.
 +
 +*** The default value of `sentence-end' is now defined using the new
 +variable `sentence-end-without-space', which contains such characters
 +that end a sentence without following spaces.
 +
 +The function `sentence-end' should be used to obtain the value of the
 +variable `sentence-end'.  If the variable `sentence-end' is nil, then
 +this function returns the regexp constructed from the variables
 +`sentence-end-without-period', `sentence-end-double-space' and
 +`sentence-end-without-space'.
 +
 +** Undo changes:
 +
 +*** `buffer-undo-list' allows programmable elements.
 +
 +These elements have the form (apply FUNNAME . ARGS), where FUNNAME is
 +a symbol other than t or nil.  That stands for a high-level change
 +that should be undone by evaluating (apply FUNNAME ARGS).
 +
 +These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS)
 +which indicates that the change which took place was limited to the
 +range BEG...END and increased the buffer size by DELTA.
 +
 +*** If the buffer's undo list for the current command gets longer than
 +`undo-outer-limit', garbage collection empties it.  This is to prevent
 +it from using up the available memory and choking Emacs.
 +
 +** Killing and yanking changes:
 +
 +*** New `yank-handler' text property can be used to control how
 +previously killed text on the kill ring is reinserted.
 +
 +The value of the `yank-handler' property must be a list with one to four
 +elements with the following format:
 +  (FUNCTION PARAM NOEXCLUDE UNDO).
 +
 +The `insert-for-yank' function looks for a yank-handler property on
 +the first character on its string argument (typically the first
 +element on the kill-ring).  If a `yank-handler' property is found,
 +the normal behavior of `insert-for-yank' is modified in various ways:
 +
 +  When FUNCTION is present and non-nil, it is called instead of `insert'
 +to insert the string.  FUNCTION takes one argument--the object to insert.
 +  If PARAM is present and non-nil, it replaces STRING as the object
 +passed to FUNCTION (or `insert'); for example, if FUNCTION is
 +`yank-rectangle', PARAM should be a list of strings to insert as a
 +rectangle.
 +  If NOEXCLUDE is present and non-nil, the normal removal of the
 +`yank-excluded-properties' is not performed; instead FUNCTION is
 +responsible for removing those properties.  This may be necessary
 +if FUNCTION adjusts point before or after inserting the object.
 +  If UNDO is present and non-nil, it is a function that will be called
 +by `yank-pop' to undo the insertion of the current object.  It is
 +called with two arguments, the start and end of the current region.
 +FUNCTION can set `yank-undo-function' to override the UNDO value.
 +
 +*** The functions `kill-new', `kill-append', and `kill-region' now have an
 +optional argument to specify the `yank-handler' text property to put on
 +the killed text.
 +
 +*** The function `yank-pop' will now use a non-nil value of the variable
 +`yank-undo-function' (instead of `delete-region') to undo the previous
 +`yank' or `yank-pop' command (or a call to `insert-for-yank').  The function
 +`insert-for-yank' automatically sets that variable according to the UNDO
 +element of the string argument's `yank-handler' text property if present.
 +
 +*** The function `insert-for-yank' now supports strings where the
 +`yank-handler' property does not span the first character of the
 +string.  The old behavior is available if you call
 +`insert-for-yank-1' instead.
 +
 +** Syntax table changes:
 +
 +*** The new function `syntax-ppss' provides an efficient way to find the
 +current syntactic context at point.
 +
 +*** The new function `syntax-after' returns the syntax code
 +of the character after a specified buffer position, taking account
 +of text properties as well as the character code.
 +
 +*** `syntax-class' extracts the class of a syntax code (as returned
 +by `syntax-after').
 +
 +*** The macro `with-syntax-table' no longer copies the syntax table.
 +
 +** File operation changes:
 +
 +*** New vars `exec-suffixes' and `load-suffixes' used when
 +searching for an executable or an Emacs Lisp file.
 +
 +*** New function `locate-file' searches for a file in a list of directories.
 +`locate-file' accepts a name of a file to search (a string), and two
 +lists: a list of directories to search in and a list of suffixes to
 +try; typical usage might use `exec-path' and `load-path' for the list
 +of directories, and `exec-suffixes' and `load-suffixes' for the list
 +of suffixes.  The function also accepts a predicate argument to
 +further filter candidate files.
 +
 +One advantage of using this function is that the list of suffixes in
 +`exec-suffixes' is OS-dependant, so this function will find
 +executables without polluting Lisp code with OS dependencies.
 +
 +*** The new function `file-remote-p' tests a file name and returns
 +non-nil if it specifies a remote file (one that Emacs accesses using
 +its own special methods and not directly through the file system).
 +The value in that case is an identifier for the remote file system.
 +
 +*** The new hook `before-save-hook' is invoked by `basic-save-buffer'
 +before saving buffers.  This allows packages to perform various final
 +tasks.  For example, it can be used by the copyright package to make
 +sure saved files have the current year in any copyright headers.
 +
 +*** `file-chase-links' now takes an optional second argument LIMIT which
 +specifies the maximum number of links to chase through.  If after that
 +many iterations the file name obtained is still a symbolic link,
 +`file-chase-links' returns it anyway.
 +
 +*** Functions `file-name-sans-extension' and `file-name-extension' now
 +ignore the leading dots in file names, so that file names such as
 +`.emacs' are treated as extensionless.
 +
 +*** If `buffer-save-without-query' is non-nil in some buffer,
 +`save-some-buffers' will always save that buffer without asking (if
 +it's modified).
 +
 +*** `buffer-auto-save-file-format' is the new name for what was
 +formerly called `auto-save-file-format'.  It is now a permanent local.
 +
 +*** `visited-file-modtime' and `calendar-time-from-absolute' now return
 +a list of two integers, instead of a cons.
 +
 +*** The precedence of file name handlers has been changed.
 +
 +Instead of choosing the first handler that matches,
 +`find-file-name-handler' now gives precedence to a file name handler
 +that matches nearest the end of the file name.  More precisely, the
 +handler whose (match-beginning 0) is the largest is chosen.  In case
 +of ties, the old "first matched" rule applies.
 +
 +*** A file name handler can declare which operations it handles.
 +
 +You do this by putting an `operation' property on the handler name
 +symbol.  The property value should be a list of the operations that
 +the handler really handles.  It won't be called for any other
 +operations.
 +
 +This is useful for autoloaded handlers, to prevent them from being
 +autoloaded when not really necessary.
 +
 +*** The function `make-auto-save-file-name' is now handled by file
 +name handlers.  This will be exploited for remote files mainly.
 +
 +*** The function `file-name-completion' accepts an optional argument
 +PREDICATE, and rejects completion candidates that don't satisfy PREDICATE.
 +
 +*** The new primitive `set-file-times' sets a file's access and
 +modification times.  Magic file name handlers can handle this
 +operation.
 +
 +** Input changes:
 +
 +*** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that
 +display a prompt but don't use the minibuffer, now display the prompt
 +using the text properties (esp. the face) of the prompt string.
 +
 +*** The functions `read-event', `read-char', and `read-char-exclusive'
 +have a new optional argument SECONDS.  If non-nil, this specifies a
 +maximum time to wait for input, in seconds.  If no input arrives after
 +this time elapses, the functions stop waiting and return nil.
 +
 +*** An interactive specification can now use the code letter `U' to get
 +the up-event that was discarded in case the last key sequence read for a
 +previous `k' or `K' argument was a down-event; otherwise nil is used.
 +
 +*** The new interactive-specification `G' reads a file name
 +much like `F', but if the input is a directory name (even defaulted),
 +it returns just the directory name.
 +
 +*** (while-no-input BODY...) runs BODY, but only so long as no input
 +arrives.  If the user types or clicks anything, BODY stops as if a
 +quit had occurred.  `while-no-input' returns the value of BODY, if BODY
 +finishes.  It returns nil if BODY was aborted by a quit, and t if
 +BODY was aborted by arrival of input.
 +
 +*** `recent-keys' now returns the last 300 keys.
 +
 +** Minibuffer changes:
 +
 +*** The new function `minibufferp' returns non-nil if its optional
 +buffer argument is a minibuffer.  If the argument is omitted, it
 +defaults to the current buffer.
 +
 +*** New function `minibuffer-selected-window' returns the window which
 +was selected when entering the minibuffer.
 +
 +*** The `read-file-name' function now takes an additional argument which
 +specifies a predicate which the file name read must satisfy.  The
 +new variable `read-file-name-predicate' contains the predicate argument
 +while reading the file name from the minibuffer; the predicate in this
 +variable is used by read-file-name-internal to filter the completion list.
 +
 +*** The new variable `read-file-name-function' can be used by Lisp code
 +to override the built-in `read-file-name' function.
 +
 +*** The new variable `read-file-name-completion-ignore-case' specifies
 +whether completion ignores case when reading a file name with the
 +`read-file-name' function.
 +
 +*** The new function `read-directory-name' is for reading a directory name.
 +
 +It is like `read-file-name' except that the defaulting works better
 +for directories, and completion inside it shows only directories.
 +
 +*** The new variable `history-add-new-input' specifies whether to add new
 +elements in history.  If set to nil, minibuffer reading functions don't
 +add new elements to the history list, so it is possible to do this
 +afterwards by calling `add-to-history' explicitly.
 +
 +** Completion changes:
 +
 +*** The new function `minibuffer-completion-contents' returns the contents
 +of the minibuffer just before point.  That is what completion commands
 +operate on.
 +
 +*** The functions `all-completions' and `try-completion' now accept lists
 +of strings as well as hash-tables additionally to alists, obarrays
 +and functions.  Furthermore, the function `test-completion' is now
 +exported to Lisp.  The keys in alists and hash tables can be either
 +strings or symbols, which are automatically converted with to strings.
 +
 +*** The new macro `dynamic-completion-table' supports using functions
 +as a dynamic completion table.
 +
 +  (dynamic-completion-table FUN)
 +
 +FUN is called with one argument, the string for which completion is required,
 +and it should return an alist containing all the intended possible
 +completions.  This alist can be a full list of possible completions so that FUN
 +can ignore the value of its argument.  If completion is performed in the
 +minibuffer, FUN will be called in the buffer from which the minibuffer was
 +entered.  `dynamic-completion-table' then computes the completion.
 +
 +*** The new macro `lazy-completion-table' initializes a variable
 +as a lazy completion table.
 +
 +  (lazy-completion-table VAR FUN)
 +
 +If the completion table VAR is used for the first time (e.g., by passing VAR
 +as an argument to `try-completion'), the function FUN is called with no
 +arguments.  FUN must return the completion table that will be stored in VAR.
 +If completion is requested in the minibuffer, FUN will be called in the buffer
 +from which the minibuffer was entered.  The return value of
 +`lazy-completion-table' must be used to initialize the value of VAR.
 +
 +** Abbrev changes:
 +
 +*** `define-abbrev' now accepts an optional argument SYSTEM-FLAG.
 +
 +If non-nil, this marks the abbrev as a "system" abbrev, which means
 +that it won't be stored in the user's abbrevs file if he saves the
 +abbrevs.  Major modes that predefine some abbrevs should always
 +specify this flag.
 +
 +*** The new function `copy-abbrev-table' copies an abbrev table.
 +
 +It returns a new abbrev table that is a copy of a given abbrev table.
 +
 +** Enhancements to keymaps.
 +
 +*** Cleaner way to enter key sequences.
 +
 +You can enter a constant key sequence in a more natural format, the
 +same one used for saving keyboard macros, using the macro `kbd'.  For
 +example,
 +
 +(kbd "C-x C-f") => "\^x\^f"
 +
 +Actually, this format has existed since Emacs 20.1.
 +
 +*** Interactive commands can be remapped through keymaps.
 +
 +This is an alternative to using `defadvice' or `substitute-key-definition'
 +to modify the behavior of a key binding using the normal keymap
 +binding and lookup functionality.
 +
 +When a key sequence is bound to a command, and that command is
 +remapped to another command, that command is run instead of the
 +original command.
 +
 +Example:
 +Suppose that minor mode `my-mode' has defined the commands
 +`my-kill-line' and `my-kill-word', and it wants C-k (and any other key
 +bound to `kill-line') to run the command `my-kill-line' instead of
 +`kill-line', and likewise it wants to run `my-kill-word' instead of
 +`kill-word'.
 +
 +Instead of rebinding C-k and the other keys in the minor mode map,
 +command remapping allows you to directly map `kill-line' into
 +`my-kill-line' and `kill-word' into `my-kill-word' using `define-key':
 +
 +   (define-key my-mode-map [remap kill-line] 'my-kill-line)
 +   (define-key my-mode-map [remap kill-word] 'my-kill-word)
 +
 +When `my-mode' is enabled, its minor mode keymap is enabled too.  So
 +when the user types C-k, that runs the command `my-kill-line'.
 +
 +Only one level of remapping is supported.  In the above example, this
 +means that if `my-kill-line' is remapped to `other-kill', then C-k still
 +runs `my-kill-line'.
 +
 +The following changes have been made to provide command remapping:
 +
 +- Command remappings are defined using `define-key' with a prefix-key
 +  `remap', i.e. `(define-key MAP [remap CMD] DEF)' remaps command CMD
 +  to definition DEF in keymap MAP.  The definition is not limited to
 +  another command; it can be anything accepted for a normal binding.
 +
 +- The new function `command-remapping' returns the binding for a
 +  remapped command in the current keymaps, or nil if not remapped.
 +
 +- `key-binding' now remaps interactive commands unless the optional
 +  third argument NO-REMAP is non-nil.
 +
 +- `where-is-internal' now returns nil for a remapped command (e.g.
 +  `kill-line', when `my-mode' is enabled), and the actual key binding for
 +  the command it is remapped to (e.g. C-k for my-kill-line).
 +  It also has a new optional fifth argument, NO-REMAP, which inhibits
 +  remapping if non-nil (e.g. it returns "C-k" for `kill-line', and
 +  "<kill-line>" for `my-kill-line').
 +
 +- The new variable `this-original-command' contains the original
 +  command before remapping.  It is equal to `this-command' when the
 +  command was not remapped.
 +
 +*** The definition of a key-binding passed to define-key can use XEmacs-style
 +key-sequences, such as [(control a)].
 +
 +*** New keymaps for typing file names
 +
 +Two new keymaps, `minibuffer-local-filename-completion-map'  and
 +`minibuffer-local-must-match-filename-map', apply whenever
 +Emacs reads a file name in the minibuffer.  These key maps override
 +the usual binding of SPC to `minibuffer-complete-word' (so that file
 +names with embedded spaces could be typed without the need to quote
 +the spaces).
 +
 +*** New function `current-active-maps' returns a list of currently
 +active keymaps.
 +
 +*** New function `describe-buffer-bindings' inserts the list of all
 +defined keys and their definitions.
 +
 +*** New function `keymap-prompt' returns the prompt string of a keymap.
 +
 +*** If text has a `keymap' property, that keymap takes precedence
 +over minor mode keymaps.
 +
 +*** The `keymap' property now also works at the ends of overlays and
 +text properties, according to their stickiness.  This also means that it
 +works with empty overlays.  The same hold for the `local-map' property.
 +
 +*** `key-binding' will now look up mouse-specific bindings.  The
 +keymaps consulted by `key-binding' will get adapted if the key
 +sequence is started with a mouse event.  Instead of letting the click
 +position be determined from the key sequence itself, it is also
 +possible to specify it with an optional argument explicitly.
 +
 +*** `define-key-after' now accepts keys longer than 1.
 +
 +*** (map-keymap FUNCTION KEYMAP) applies the function to each binding
 +in the keymap.
 +
 +*** New variable `emulation-mode-map-alists'.
 +
 +Lisp packages using many minor mode keymaps can now maintain their own
 +keymap alist separate from `minor-mode-map-alist' by adding their
 +keymap alist to this list.
 +
 +*** Dense keymaps now handle inheritance correctly.
 +
 +Previously a dense keymap would hide all of the simple-char key
 +bindings of the parent keymap.
 +
 +** Enhancements to process support
 +
 +*** Adaptive read buffering of subprocess output.
 +
 +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 the new variable `process-adaptive-read-buffering' to a
 +non-nil value (the default), as it will automatically delay reading
 +from such processes, allowing them to produce more output before
 +Emacs tries to read it.
 +
 +*** Processes now have an associated property list where programs can
 +maintain process state and other per-process related information.
 +
 +Use the new functions `process-get' and `process-put' to access, add,
 +and modify elements on this property list.  Use the new functions
 +`process-plist' and `set-process-plist' to access and replace the
 +entire property list of a process.
 +
 +*** Function `list-processes' now has an optional argument; if non-nil,
 +it lists only the processes whose query-on-exit flag is set.
 +
 +*** New fns `set-process-query-on-exit-flag' and `process-query-on-exit-flag'.
 +
 +These replace the old function `process-kill-without-query'.  That
 +function is still supported, but new code should use the new
 +functions.
 +
 +*** The new function `call-process-shell-command'.
 +
 +This executes a shell command synchronously in a separate process.
 +
 +*** The new function `process-file' is similar to `call-process', but
 +obeys file handlers.  The file handler is chosen based on
 +`default-directory'.
 +
 +*** Function `signal-process' now accepts a process object or process
 +name in addition to a process id to identify the signaled process.
 +
 +*** Function `accept-process-output' has a new optional fourth arg
 +JUST-THIS-ONE.  If non-nil, only output from the specified process
 +is handled, suspending output from other processes.  If value is an
 +integer, also inhibit running timers.  This feature is generally not
 +recommended, but may be necessary for specific applications, such as
 +speech synthesis.
 +
 +*** A process filter function gets the output as multibyte string
 +if the process specifies t for its filter's multibyteness.
 +
 +That multibyteness is decided by the value of
 +`default-enable-multibyte-characters' when the process is created, and
 +you can change it later with `set-process-filter-multibyte'.
 +
 +*** The new function `set-process-filter-multibyte' sets the
 +multibyteness of the strings passed to the process's filter.
 +
 +*** The new function `process-filter-multibyte-p' returns the
 +multibyteness of the strings passed to the process's filter.
 +
 +*** If a process's coding system is `raw-text' or `no-conversion' and its
 +buffer is multibyte, the output of the process is at first converted
 +to multibyte by `string-to-multibyte' then inserted in the buffer.
 +Previously, it was converted to multibyte by `string-as-multibyte',
 +which was not compatible with the behavior of file reading.
 +
 +** Enhanced networking support.
 +
 +*** The new `make-network-process' function makes network connections.
 +It allows opening of stream and datagram connections to a server, as well as
 +create a stream or datagram server inside Emacs.
 +
 +- A server is started using :server t arg.
 +- Datagram connection is selected using :type 'datagram arg.
 +- A server can open on a random port using :service t arg.
 +- Local sockets are supported using :family 'local arg.
 +- IPv6 is supported (when available).  You may explicitly select IPv6
 +  using :family 'ipv6 arg.
 +- Non-blocking connect is supported using :nowait t arg.
 +- The process' property list can be initialized using :plist PLIST arg;
 +  a copy of the server process' property list is automatically inherited
 +  by new client processes created to handle incoming connections.
 +
 +To test for the availability of a given feature, use featurep like this:
 +  (featurep 'make-network-process '(:type datagram))
 +  (featurep 'make-network-process '(:family ipv6))
 +
 +*** The old `open-network-stream' now uses `make-network-process'.
 +
 +*** `process-contact' has an optional KEY argument.
 +
 +Depending on this argument, you can get the complete list of network
 +process properties or a specific property.  Using :local or :remote as
 +the KEY, you get the address of the local or remote end-point.
 +
 +An Inet address is represented as a 5 element vector, where the first
 +4 elements contain the IP address and the fifth is the port number.
 +
 +*** New functions `stop-process' and `continue-process'.
 +
 +These functions stop and restart communication through a network
 +connection.  For a server process, no connections are accepted in the
 +stopped state.  For a client process, no input is received in the
 +stopped state.
 +
 +*** New function `format-network-address'.
 +
 +This function reformats the Lisp representation of a network address
 +to a printable string.  For example, an IP address A.B.C.D and port
 +number P is represented as a five element vector [A B C D P], and the
 +printable string returned for this vector is "A.B.C.D:P".  See the doc
 +string for other formatting options.
 +
 +*** New function `network-interface-list'.
 +
 +This function returns a list of network interface names and their
 +current network addresses.
 +
 +*** New function `network-interface-info'.
 +
 +This function returns the network address, hardware address, current
 +status, and other information about a specific network interface.
 +
 +*** New functions `process-datagram-address', `set-process-datagram-address'.
 +
 +These functions are used with datagram-based network processes to get
 +and set the current address of the remote partner.
 +
 +*** Deleting a network process with `delete-process' calls the sentinel.
 +
 +The status message passed to the sentinel for a deleted network
 +process is "deleted".  The message passed to the sentinel when the
 +connection is closed by the remote peer has been changed to
 +"connection broken by remote peer".
 +
 +** Using window objects:
 +
 +*** You can now make a window as short as one line.
 +
 +A window that is just one line tall does not display either a mode
 +line or a header line, even if the variables `mode-line-format' and
 +`header-line-format' call for them.  A window that is two lines tall
 +cannot display both a mode line and a header line at once; if the
 +variables call for both, only the mode line actually appears.
 +
 +*** The new function `window-inside-edges' returns the edges of the
 +actual text portion of the window, not including the scroll bar or
 +divider line, the fringes, the display margins, the header line and
 +the mode line.
 +
 +*** The new functions `window-pixel-edges' and `window-inside-pixel-edges'
 +return window edges in units of pixels, rather than columns and lines.
 +
 +*** New function `window-body-height'.
 +
 +This is like `window-height' but does not count the mode line or the
 +header line.
 +
 +*** The new function `adjust-window-trailing-edge' moves the right
 +or bottom edge of a window.  It does not move other window edges.
 +
 +*** The new macro `with-selected-window' temporarily switches the
 +selected window without impacting the order of `buffer-list'.
 +It saves and restores the current buffer, too.
 +
 +*** `select-window' takes an optional second argument NORECORD.
 +
 +This is like `switch-to-buffer'.
 +
 +*** `save-selected-window' now saves and restores the selected window
 +of every frame.  This way, it restores everything that can be changed
 +by calling `select-window'.  It also saves and restores the current
 +buffer.
 +
 +*** `set-window-buffer' has an optional argument KEEP-MARGINS.
 +
 +If non-nil, that says to preserve the window's current margin, fringe,
 +and scroll-bar settings.
 +
 +*** The new function `window-tree' returns a frame's window tree.
 +
 +*** The functions `get-lru-window' and `get-largest-window' take an optional
 +argument `dedicated'.  If non-nil, those functions do not ignore
 +dedicated windows.
 +
 +** Customizable fringe bitmaps
 +
 +*** There are new display properties, `left-fringe' and `right-fringe',
 +that can be used to show a specific bitmap in the left or right fringe
 +bitmap of the display line.
 +
 +Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a
 +symbol identifying a fringe bitmap, either built-in or defined with
 +`define-fringe-bitmap', and FACE is an optional face name to be used
 +for displaying the bitmap instead of the default `fringe' face.
 +When specified, FACE is automatically merged with the `fringe' face.
 +
 +*** New buffer-local variables `fringe-indicator-alist' and
 +`fringe-cursor-alist' maps between logical (internal) fringe indicator
 +and cursor symbols and the actual fringe bitmaps to be displayed.
 +This decouples the logical meaning of the fringe indicators from the
 +physical appearance, as well as allowing different fringe bitmaps to
 +be used in different windows showing different buffers.
 +
 +*** New function `define-fringe-bitmap' can now be used to create new
 +fringe bitmaps, as well as change the built-in fringe bitmaps.
 +
 +*** New function `destroy-fringe-bitmap' deletes a fringe bitmap
 +or restores a built-in one to its default value.
 +
 +*** New function `set-fringe-bitmap-face' specifies the face to be
 +used for a specific fringe bitmap.  The face is automatically merged
 +with the `fringe' face, so normally, the face should only specify the
 +foreground color of the bitmap.
 +
 +*** New function `fringe-bitmaps-at-pos' returns the current fringe
 +bitmaps in the display line at a given buffer position.
 +
 +** Other window fringe features:
 +
 +*** Controlling the default left and right fringe widths.
 +
 +The default left and right fringe widths for all windows of a frame
 +can now be controlled by setting the `left-fringe' and `right-fringe'
 +frame parameters to an integer value specifying the width in pixels.
 +Setting the width to 0 effectively removes the corresponding fringe.
 +
 +The actual default fringe widths for the frame may deviate from the
 +specified widths, since the combined fringe widths must match an
 +integral number of columns.  The extra width is distributed evenly
 +between the left and right fringe.  To force a specific fringe width,
 +specify the width as a negative integer (if both widths are negative,
 +only the left fringe gets the specified width).
 +
 +Setting the width to nil (the default), restores the default fringe
 +width which is the minimum number of pixels necessary to display any
 +of the currently defined fringe bitmaps.  The width of the built-in
 +fringe bitmaps is 8 pixels.
 +
 +*** Per-window fringe and scrollbar settings
 +
 +**** Windows can now have their own individual fringe widths and
 +position settings.
 +
 +To control the fringe widths of a window, either set the buffer-local
 +variables `left-fringe-width', `right-fringe-width', or call
 +`set-window-fringes'.
 +
 +To control the fringe position in a window, that is, whether fringes
 +are positioned between the display margins and the window's text area,
 +or at the edges of the window, either set the buffer-local variable
 +`fringes-outside-margins' or call `set-window-fringes'.
 +
 +The function `window-fringes' can be used to obtain the current
 +settings.  To make `left-fringe-width', `right-fringe-width', and
 +`fringes-outside-margins' take effect, you must set them before
 +displaying the buffer in a window, or use `set-window-buffer' to force
 +an update of the display margins.
 +
 +**** Windows can now have their own individual scroll-bar settings
 +controlling the width and position of scroll-bars.
 +
 +To control the scroll-bar of a window, either set the buffer-local
 +variables `scroll-bar-mode' and `scroll-bar-width', or call
 +`set-window-scroll-bars'.  The function `window-scroll-bars' can be
 +used to obtain the current settings.  To make `scroll-bar-mode' and
 +`scroll-bar-width' take effect, you must set them before displaying
 +the buffer in a window, or use `set-window-buffer' to force an update
 +of the display margins.
 +
 +** Redisplay features:
 +
 +*** `sit-for' can now be called with args (SECONDS &optional NODISP).
 +
 +*** Iconifying or deiconifying a frame no longer makes sit-for return.
 +
 +*** New function `redisplay' causes an immediate redisplay if no input is
 +available, equivalent to (sit-for 0).  The call (redisplay t) forces
 +an immediate redisplay even if input is pending.
 +
 +*** New function `force-window-update' can initiate a full redisplay of
 +one or all windows.  Normally, this is not needed as changes in window
 +contents are detected automatically.  However, certain implicit
 +changes to mode lines, header lines, or display properties may require
 +forcing an explicit window update.
 +
 +*** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able
 +to display CHAR.  More precisely, if the selected frame's fontset has
 +a font to display the character set that CHAR belongs to.
 +
 +Fontsets can specify a font on a per-character basis; when the fontset
 +does that, this value cannot be accurate.
 +
 +*** You can define multiple overlay arrows via the new
 +variable `overlay-arrow-variable-list'.
 +
 +It contains a list of variables which contain overlay arrow position
 +markers, including the original `overlay-arrow-position' variable.
 +
 +Each variable on this list can have individual `overlay-arrow-string'
 +and `overlay-arrow-bitmap' properties that specify an overlay arrow
 +string (for non-window terminals) or fringe bitmap (for window
 +systems) to display at the corresponding overlay arrow position.
 +If either property is not set, the default `overlay-arrow-string' or
 +'overlay-arrow-fringe-bitmap' will be used.
 +
 +*** New `line-height' and `line-spacing' properties for newline characters
 +
 +A newline can now have `line-height' and `line-spacing' text or overlay
 +properties that control the height of the corresponding display row.
 +
 +If the `line-height' property value is t, the newline does not
 +contribute to the height of the display row; instead the height of the
 +newline glyph is reduced.  Also, a `line-spacing' property on this
 +newline is ignored.  This can be used to tile small images or image
 +slices without adding blank areas between the images.
 +
 +If the `line-height' property value is a positive integer, the value
 +specifies the minimum line height in pixels.  If necessary, the line
 +height it increased by increasing the line's ascent.
 +
 +If the `line-height' property value is a float, the minimum line
 +height is calculated by multiplying the default frame line height by
 +the given value.
 +
 +If the `line-height' property value is a cons (FACE . RATIO), the
 +minimum line height is calculated as RATIO * height of named FACE.
 +RATIO is int or float.  If FACE is t, it specifies the current face.
 +
 +If the `line-height' property value is a cons (nil . RATIO), the line
 +height is calculated as RATIO * actual height of the line's contents.
 +
 +If the `line-height' value is a cons (HEIGHT . TOTAL), HEIGHT specifies
 +the line height as described above, while TOTAL is any of the forms
 +described above and specifies the total height of the line, causing a
 +varying number of pixels to be inserted after the line to make it line
 +exactly that many pixels high.
 +
 +If the `line-spacing' property value is an positive integer, the value
 +is used as additional pixels to insert after the display line; this
 +overrides the default frame `line-spacing' and any buffer local value of
 +the `line-spacing' variable.
 +
 +If the `line-spacing' property is a float or cons, the line spacing
 +is calculated as specified above for the `line-height' property.
 +
 +*** The buffer local `line-spacing' variable can now have a float value,
 +which is used as a height relative to the default frame line height.
 +
 +*** Enhancements to stretch display properties
 +
 +The display property stretch specification form `(space PROPS)', where
 +PROPS is a property list, now allows pixel based width and height
 +specifications, as well as enhanced horizontal text alignment.
 +
 +The value of these properties can now be a (primitive) expression
 +which is evaluated during redisplay.  The following expressions
 +are supported:
 +
 +EXPR ::= NUM | (NUM) | UNIT | ELEM | POS | IMAGE | FORM
 +NUM  ::= INTEGER | FLOAT | SYMBOL
 +UNIT ::= in | mm | cm | width | height
 +ELEM ::= left-fringe | right-fringe | left-margin | right-margin
 +      |  scroll-bar | text
 +POS  ::= left | center | right
 +FORM ::= (NUM . EXPR) | (OP EXPR ...)
 +OP   ::= + | -
 +
 +The form `NUM' specifies a fractional width or height of the default
 +frame font size.  The form `(NUM)' specifies an absolute number of
 +pixels.  If a symbol is specified, its buffer-local variable binding
 +is used.  The `in', `mm', and `cm' units specifies the number of
 +pixels per inch, milli-meter, and centi-meter, resp.  The `width' and
 +`height' units correspond to the width and height of the current face
 +font.  An image specification corresponds to the width or height of
 +the image.
 +
 +The `left-fringe', `right-fringe', `left-margin', `right-margin',
 +`scroll-bar', and `text' elements specify to the width of the
 +corresponding area of the window.
 +
 +The `left', `center', and `right' positions can be used with :align-to
 +to specify a position relative to the left edge, center, or right edge
 +of the text area.  One of the above window elements (except `text')
 +can also be used with :align-to to specify that the position is
 +relative to the left edge of the given area.  Once the base offset for
 +a relative position has been set (by the first occurrence of one of
 +these symbols), further occurrences of these symbols are interpreted as
 +the width of the area.
 +
 +For example, to align to the center of the left-margin, use
 +    :align-to (+ left-margin (0.5 . left-margin))
 +
 +If no specific base offset is set for alignment, it is always relative
 +to the left edge of the text area.  For example, :align-to 0 in a
 +header line aligns with the first text column in the text area.
 +
 +The value of the form `(NUM . EXPR)' is the value of NUM multiplied by
 +the value of the expression EXPR.  For example, (2 . in) specifies a
 +width of 2 inches, while (0.5 . IMAGE) specifies half the width (or
 +height) of the specified image.
 +
 +The form `(+ EXPR ...)' adds up the value of the expressions.
 +The form `(- EXPR ...)' negates or subtracts the value of the expressions.
 +
 +*** Normally, the cursor is displayed at the end of any overlay and
 +text property string that may be present at the current window
 +position.  The cursor can now be placed on any character of such
 +strings by giving that character a non-nil `cursor' text property.
 +
 +*** The display space :width and :align-to text properties are now
 +supported on text terminals.
 +
 +*** Support for displaying image slices
 +
 +**** New display property (slice X Y WIDTH HEIGHT) can be used with
 +an image property to display only a specific slice of the image.
 +
 +**** Function `insert-image' has new optional fourth arg to
 +specify image slice (X Y WIDTH HEIGHT).
 +
 +**** New function `insert-sliced-image' inserts a given image as a
 +specified number of evenly sized slices (rows x columns).
 +
 +*** Images can now have an associated image map via the :map property.
 +
 +An image map is an alist where each element has the format (AREA ID PLIST).
 +An AREA is specified as either a rectangle, a circle, or a polygon:
 +A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the
 +pixel coordinates of the upper left and bottom right corners.
 +A circle is a cons (circle . ((X0 . Y0) . R)) specifying the center
 +and the radius of the circle; R can be a float or integer.
 +A polygon is a cons (poly . [X0 Y0 X1 Y1 ...]) where each pair in the
 +vector describes one corner in the polygon.
 +
 +When the mouse pointer is above a hot-spot area of an image, the
 +PLIST of that hot-spot is consulted; if it contains a `help-echo'
 +property it defines a tool-tip for the hot-spot, and if it contains
 +a `pointer' property, it defines the shape of the mouse cursor when
 +it is over the hot-spot.  See the variable `void-area-text-pointer'
 +for possible pointer shapes.
 +
 +When you click the mouse when the mouse pointer is over a hot-spot,
 +an event is composed by combining the ID of the hot-spot with the
 +mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'.
 +
 +*** The function `find-image' now searches in etc/images/ and etc/.
 +The new variable `image-load-path' is a list of locations in which to
 +search for image files.  The default is to search in etc/images, then
 +in etc/, and finally in the directories specified by `load-path'.
 +Subdirectories of etc/ and etc/images are not recursively searched; if
 +you put an image file in a subdirectory, you have to specify it
 +explicitly; for example, if an image is put in etc/images/foo/bar.xpm:
 +
 +  (defimage foo-image '((:type xpm :file "foo/bar.xpm")))
 +
 +Note that all images formerly located in the lisp directory have been
 +moved to etc/images.
 +
 +*** New function `image-load-path-for-library' returns a suitable
 +search path for images relative to library. This function is useful in
 +external packages to save users from having to update
 +`image-load-path'.
 +
 +*** The new variable `max-image-size' defines the maximum size of
 +images that Emacs will load and display.
 +
 +*** The new variable `display-mm-dimensions-alist' can be used to
 +override incorrect graphical display dimensions returned by functions
 +`display-mm-height' and `display-mm-width'.
 +
 +** Mouse pointer features:
 +
 +*** The mouse pointer shape in void text areas (i.e. after the end of a
 +line or below the last line in the buffer) of the text window is now
 +controlled by the new variable `void-text-area-pointer'.  The default
 +is to use the `arrow' (non-text) pointer.  Other choices are `text'
 +(or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'.
 +
 +*** The mouse pointer shape over an image can now be controlled by the
 +:pointer image property.
 +
 +*** The mouse pointer shape over ordinary text or images can now be
 +controlled/overridden via the `pointer' text property.
 +
 +** Mouse event enhancements:
 +
 +*** All mouse events now include a buffer position regardless of where
 +you clicked.  For mouse clicks in window margins and fringes, this is
 +a sensible buffer position corresponding to the surrounding text.
 +
 +*** Mouse events for clicks on window fringes now specify `left-fringe'
 +or `right-fringe' as the area.
 +
 +*** Mouse events include actual glyph column and row for all event types
 +and all areas.
 +
 +*** Mouse events can now indicate an image object clicked on.
 +
 +*** Mouse events include relative X and Y pixel coordinates relative to
 +the top left corner of the object (image or character) clicked on.
 +
 +*** Mouse events include the pixel width and height of the object
 +(image or character) clicked on.
 +
 +*** Function `mouse-set-point' now works for events outside text area.
 +
 +*** `posn-point' now returns buffer position for non-text area events.
 +
 +*** New function `posn-area' returns window area clicked on (nil means
 +text area).
 +
 +*** New function `posn-actual-col-row' returns the actual glyph coordinates
 +of the mouse event position.
 +
 +*** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'.
 +
 +These return the image or string object of a mouse click, the X and Y
 +pixel coordinates relative to the top left corner of that object, and
 +the total width and height of that object.
 +
 +** Text property and overlay changes:
 +
 +*** Arguments for `remove-overlays' are now optional, so that you can
 +remove all overlays in the buffer with just (remove-overlays).
 +
 +*** New variable `char-property-alias-alist'.
 +
 +This variable allows you to create alternative names for text
 +properties.  It works at the same level as `default-text-properties',
 +although it applies to overlays as well.  This variable was introduced
 +to implement the `font-lock-face' property.
 +
 +*** New function `get-char-property-and-overlay' accepts the same
 +arguments as `get-char-property' and returns a cons whose car is the
 +return value of `get-char-property' called with those arguments and
 +whose cdr is the overlay in which the property was found, or nil if
 +it was found as a text property or not found at all.
 +
 +*** The new function `remove-list-of-text-properties'.
 +
 +It is like `remove-text-properties' except that it takes a list of
 +property names as argument rather than a property list.
 +
 +** Face changes
 +
 +*** The variable `facemenu-unlisted-faces' has been removed.
 +Emacs has a lot more faces than in the past, and nearly all of them
 +needed to be excluded.  The new variable `facemenu-listed-faces' lists
 +the faces to include in the face menu.
 +
 +*** The new face attribute condition `min-colors' can be used to tailor
 +the face color to the number of colors supported by a display, and
 +define the foreground and background colors accordingly so that they
 +look best on a terminal that supports at least this many colors.  This
 +is now the preferred method for defining default faces in a way that
 +makes a good use of the capabilities of the display.
 +
 +*** New function `display-supports-face-attributes-p' can be used to test
 +whether a given set of face attributes is actually displayable.
 +
 +A new predicate `supports' has also been added to the `defface' face
 +specification language, which can be used to do this test for faces
 +defined with `defface'.
 +
 +*** The special treatment of faces whose names are of the form `fg:COLOR'
 +or `bg:COLOR' has been removed.  Lisp programs should use the
 +`defface' facility for defining faces with specific colors, or use
 +the feature of specifying the face attributes :foreground and :background
 +directly in the `face' property instead of using a named face.
 +
 +*** The first face specification element in a defface can specify
 +`default' instead of frame classification.  Then its attributes act as
 +defaults that apply to all the subsequent cases (and can be overridden
 +by them).
 +
 +*** The function `face-differs-from-default-p' now truly checks
 +whether the given face displays differently from the default face or
 +not (previously it did only a very cursory check).
 +
 +*** `face-attribute', `face-foreground', `face-background', `face-stipple'.
 +
 +These now accept a new optional argument, INHERIT, which controls how
 +face inheritance is used when determining the value of a face
 +attribute.
 +
 +*** New functions `face-attribute-relative-p' and `merge-face-attribute'
 +help with handling relative face attributes.
 +
 +*** The priority of faces in an :inherit attribute face list is reversed.
 +
 +If a face contains an :inherit attribute with a list of faces, earlier
 +faces in the list override later faces in the list; in previous
 +releases of Emacs, the order was the opposite.  This change was made
 +so that :inherit face lists operate identically to face lists in text
 +`face' properties.
 +
 +*** The variable `face-font-rescale-alist' specifies how much larger
 +(or smaller) font we should use.  For instance, if the value is
 +'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10
 +point, we actually use a font of 13 point if the font matches
 +SOME-FONTNAME-PATTERN.
 +
 +*** On terminals, faces with the :inverse-video attribute are displayed
 +with swapped foreground and background colors even when one of them is
 +not specified.  In previous releases of Emacs, if either foreground
 +or background color was unspecified, colors were not swapped.  This
 +was inconsistent with the face behavior under X.
 +
 +*** `set-fontset-font', `fontset-info', `fontset-font' now operate on
 +the default fontset if the argument NAME is nil..
 +
 +** Font-Lock changes:
 +
 +*** New special text property `font-lock-face'.
 +
 +This property acts like the `face' property, but it is controlled by
 +M-x font-lock-mode.  It is not, strictly speaking, a builtin text
 +property.  Instead, it is implemented inside font-core.el, using the
 +new variable `char-property-alias-alist'.
 +
 +*** font-lock can manage arbitrary text-properties beside `face'.
 +
 +**** the FACENAME returned in `font-lock-keywords' can be a list of the
 +form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other
 +properties than `face'.
 +
 +**** `font-lock-extra-managed-props' can be set to make sure those
 +extra properties are automatically cleaned up by font-lock.
 +
 +*** jit-lock obeys a new text-property `jit-lock-defer-multiline'.
 +
 +If a piece of text with that property gets contextually refontified
 +(see `jit-lock-defer-contextually'), then all of that text will
 +be refontified.  This is useful when the syntax of a textual element
 +depends on text several lines further down (and when `font-lock-multiline'
 +is not appropriate to solve that problem).  For example in Perl:
 +
 +      s{
 +              foo
 +      }{
 +              bar
 +      }e
 +
 +Adding/removing the last `e' changes the `bar' from being a piece of
 +text to being a piece of code, so you'd put a `jit-lock-defer-multiline'
 +property over the second half of the command to force (deferred)
 +refontification of `bar' whenever the `e' is added/removed.
 +
 +*** `font-lock-extend-region-functions' makes it possible to alter the way
 +the fontification region is chosen.  This can be used to prevent rounding
 +up to whole lines, or to extend the region to include all related lines
 +of multiline constructs so that such constructs get properly recognized.
 +
 +** Major mode mechanism changes:
 +
 +*** New variable `magic-mode-alist' determines major mode for a file by
 +looking at the file contents.  It takes precedence over `auto-mode-alist'.
 +
 +*** New variable `magic-fallback-mode-alist' determines major mode for a file by
 +looking at the file contents.  It is handled after `auto-mode-alist',
 +only if `auto-mode-alist' (and `magic-mode-alist') says nothing about the file.
 +
 +*** XML or SGML major mode is selected when file starts with an `<?xml'
 +or `<!DOCTYPE' declaration.
 +
 +*** An interpreter magic line (if present) takes precedence over the
 +file name when setting the major mode.
 +
 +*** If new variable `auto-mode-case-fold' is set to a non-nil value,
 +Emacs will perform a second case-insensitive search through
 +`auto-mode-alist' if the first case-sensitive search fails.  This
 +means that a file FILE.TXT is opened in text-mode, and a file
 +PROG.HTML is opened in html-mode.  Note however, that independent of
 +this setting, *.C files are usually recognized as C++ files.  It also
 +has no effect on systems with case-insensitive file names.
 +
 +*** All major mode functions should now run the new normal hook
 +`after-change-major-mode-hook', at their very end, after the mode
 +hooks.  `run-mode-hooks' does this automatically.
 +
 +*** Major modes can define `eldoc-documentation-function'
 +locally to provide Eldoc functionality by some method appropriate to
 +the language.
 +
 +*** Use the new function `run-mode-hooks' to run the major mode's mode hook.
 +
 +*** The new function `run-mode-hooks' and the new macro `delay-mode-hooks'
 +are used by `define-derived-mode' to make sure the mode hook for the
 +parent mode is run at the end of the child mode.
 +
 +*** `define-derived-mode' by default creates a new empty abbrev table.
 +It does not copy abbrevs from the parent mode's abbrev table.
 +
 +*** If a major mode function has a non-nil `no-clone-indirect'
 +property, `clone-indirect-buffer' signals an error if you use
 +it in that buffer.
 +
 +** Minor mode changes:
 +
 +*** `define-minor-mode' now accepts arbitrary additional keyword arguments
 +and simply passes them to `defcustom', if applicable.
 +
 +*** `define-globalized-minor-mode'.
 +
 +This is a new name for what was formerly called
 +`easy-mmode-define-global-mode'.  The old name remains as an alias.
 +
 +*** `minor-mode-list' now holds a list of minor mode commands.
 +
 +** Command loop changes:
 +
 +*** The new function `called-interactively-p' does what many people
 +have mistakenly believed `interactive-p' to do: it returns t if the
 +calling function was called through `call-interactively'.
 +
 +Only use this when you cannot solve the problem by adding a new
 +INTERACTIVE argument to the command.
 +
 +*** The function `commandp' takes an additional optional argument.
 +
 +If it is non-nil, then `commandp' checks for a function that could be
 +called with `call-interactively', and does not return t for keyboard
 +macros.
 +
 +*** When a command returns, the command loop moves point out from
 +within invisible text, in the same way it moves out from within text
 +covered by an image or composition property.
 +
 +This makes it generally unnecessary to mark invisible text as intangible.
 +This is particularly good because the intangible property often has
 +unexpected side-effects since the property applies to everything
 +(including `goto-char', ...) whereas this new code is only run after
 +`post-command-hook' and thus does not care about intermediate states.
 +
 +*** If a command sets `transient-mark-mode' to `only', that
 +enables Transient Mark mode for the following command only.
 +During that following command, the value of `transient-mark-mode'
 +is `identity'.  If it is still `identity' at the end of the command,
 +the next return to the command loop changes to nil.
 +
 +*** Both the variable and the function `disabled-command-hook' have
 +been renamed to `disabled-command-function'.  The variable
 +`disabled-command-hook' has been kept as an obsolete alias.
 +
 +*** `emacsserver' now runs `pre-command-hook' and `post-command-hook'
 +when it receives a request from emacsclient.
 +
 +*** `current-idle-time' reports how long Emacs has been idle.
 +
 +** Lisp file loading changes:
 +
 +*** `load-history' can now have elements of the form (t . FUNNAME),
 +which means FUNNAME was previously defined as an autoload (before the
 +current file redefined it).
 +
 +*** `load-history' now records (defun . FUNNAME) when a function is
 +defined.  For a variable, it records just the variable name.
 +
 +*** The function `symbol-file' can now search specifically for function,
 +variable or face definitions.
 +
 +*** `provide' and `featurep' now accept an optional second argument
 +to test/provide subfeatures.  Also `provide' now checks `after-load-alist'
 +and runs any code associated with the provided feature.
 +
 +*** The variable `recursive-load-depth-limit' has been deleted.
 +Emacs now signals an error if the same file is loaded with more
 +than 3 levels of nesting.
 +
 +** Byte compiler changes:
 +
 +*** The byte compiler now displays the actual line and character
 +position of errors, where possible.  Additionally, the form of its
 +warning and error messages have been brought into line with GNU standards
 +for these.  As a result, you can use next-error and friends on the
 +compilation output buffer.
 +
 +*** The new macro `with-no-warnings' suppresses all compiler warnings
 +inside its body.  In terms of execution, it is equivalent to `progn'.
 +
 +*** You can avoid warnings for possibly-undefined symbols with a
 +simple convention that the compiler understands.  (This is mostly
 +useful in code meant to be portable to different Emacs versions.)
 +Write forms like the following, or code that macroexpands into such
 +forms:
 +
 +  (if (fboundp 'foo) <then> <else>)
 +  (if (boundp 'foo) <then> <else)
 +
 +In the first case, using `foo' as a function inside the <then> form
 +won't produce a warning if it's not defined as a function, and in the
 +second case, using `foo' as a variable won't produce a warning if it's
 +unbound.  The test must be in exactly one of the above forms (after
 +macro expansion), but such tests can be nested.  Note that `when' and
 +`unless' expand to `if', but `cond' doesn't.
 +
 +*** `(featurep 'xemacs)' is treated by the compiler as nil.  This
 +helps to avoid noisy compiler warnings in code meant to run under both
 +Emacs and XEmacs and can sometimes make the result significantly more
 +efficient.  Since byte code from recent versions of XEmacs won't
 +generally run in Emacs and vice versa, this optimization doesn't lose
 +you anything.
 +
 +*** The local variable `no-byte-compile' in Lisp files is now obeyed.
 +
 +*** When a Lisp file uses CL functions at run-time, compiling the file
 +now issues warnings about these calls, unless the file performs
 +(require 'cl) when loaded.
 +
 +** Frame operations:
 +
 +*** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'.
 +
 +These functions return the current locations of the vertical and
 +horizontal scroll bars in a frame or window.
 +
 +*** The new function `modify-all-frames-parameters' modifies parameters
 +for all (existing and future) frames.
 +
 +*** The new frame parameter `tty-color-mode' specifies the mode to use
 +for color support on character terminal frames.  Its value can be a
 +number of colors to support, or a symbol.  See the Emacs Lisp
 +Reference manual for more detailed documentation.
 +
 +*** When using non-toolkit scroll bars with the default width,
 +the `scroll-bar-width' frame parameter value is nil.
 +
 +** Mode line changes:
 +
 +*** New function `format-mode-line'.
 +
 +This returns the mode line or header line of the selected (or a
 +specified) window as a string with or without text properties.
 +
 +*** The new mode-line construct `(:propertize ELT PROPS...)' can be
 +used to add text properties to mode-line elements.
 +
 +*** The new `%i' and `%I' constructs for `mode-line-format' can be used
 +to display the size of the accessible part of the buffer on the mode
 +line.
 +
 +*** Mouse-face on mode-line (and header-line) is now supported.
 +
 +** Menu manipulation changes:
 +
 +*** To manipulate the File menu using easy-menu, you must specify the
 +proper name "file".  In previous Emacs versions, you had to specify
 +"files", even though the menu item itself was changed to say "File"
 +several versions ago.
 +
 +*** The dummy function keys made by easy-menu are now always lower case.
 +If you specify the menu item name "Ada", for instance, it uses `ada'
 +as the "key" bound by that key binding.
 +
 +This is relevant only if Lisp code looks for the bindings that were
 +made with easy-menu.
 +
 +*** `easy-menu-define' now allows you to use nil for the symbol name
 +if you don't need to give the menu a name.  If you install the menu
 +into other keymaps right away (MAPS is non-nil), it usually doesn't
 +need to have a name.
 +
 +** Mule changes:
 +
 +*** Already true in Emacs 21.1, but not emphasized clearly enough:
 +
 +Multibyte buffers can now faithfully record all 256 character codes
 +from 0 to 255.  As a result, most of the past reasons to use unibyte
 +buffers no longer exist.  We only know of three reasons to use them
 +now:
 +
 +1. If you prefer to use unibyte text all of the time.
 +
 +2. For reading files into temporary buffers, when you want to avoid
 +the time it takes to convert the format.
 +
 +3. For binary files where format conversion would be pointless and
 +wasteful.
 +
 +*** The new variable `auto-coding-functions' lets you specify functions
 +to examine a file being visited and deduce the proper coding system
 +for it.  (If the coding system is detected incorrectly for a specific
 +file, you can put a `coding:' tags to override it.)
 +
 +*** The new variable `ascii-case-table' stores the case table for the
 +ascii character set.  Language environments (such as Turkish) may
 +alter the case correspondences of ASCII characters.  This variable
 +saves the original ASCII case table before any such changes.
 +
 +*** The new function `merge-coding-systems' fills in unspecified aspects
 +of one coding system from another coding system.
 +
 +*** New coding system property `mime-text-unsuitable' indicates that
 +the coding system's `mime-charset' is not suitable for MIME text
 +parts, e.g. utf-16.
 +
 +*** New function `decode-coding-inserted-region' decodes a region as if
 +it is read from a file without decoding.
 +
 +*** New CCL functions `lookup-character' and `lookup-integer' access
 +hash tables defined by the Lisp function `define-translation-hash-table'.
 +
 +*** New function `quail-find-key' returns a list of keys to type in the
 +current input method to input a character.
 +
 +*** `set-buffer-file-coding-system' now takes an additional argument,
 +NOMODIFY.  If it is non-nil, it means don't mark the buffer modified.
 +
 +** Operating system access:
 +
 +*** The new primitive `get-internal-run-time' returns the processor
 +run time used by Emacs since start-up.
 +
 +*** Functions `user-uid' and `user-real-uid' now return floats if the
 +user UID doesn't fit in a Lisp integer.  Function `user-full-name'
 +accepts a float as UID parameter.
 +
 +*** New function `locale-info' accesses locale information.
 +
 +*** On MS Windows, locale-coding-system is used to interact with the OS.
 +The Windows specific variable w32-system-coding-system, which was
 +formerly used for that purpose is now an alias for locale-coding-system.
 +
 +*** New function `redirect-debugging-output' can be used to redirect
 +debugging output on the stderr file handle to a file.
 +
 +** GC changes:
 +
 +*** New variable `gc-cons-percentage' automatically grows the GC cons threshold
 +as the heap size increases.
 +
 +*** New variables `gc-elapsed' and `gcs-done' provide extra information
 +on garbage collection.
 +
 +*** The normal hook `post-gc-hook' is run at the end of garbage collection.
 +
 +The hook is run with GC inhibited, so use it with care.
 +
 +** Miscellaneous:
 +
 +*** A number of hooks have been renamed to better follow the conventions:
 +
 +`find-file-hooks' to `find-file-hook',
 +`find-file-not-found-hooks' to `find-file-not-found-functions',
 +`write-file-hooks' to `write-file-functions',
 +`write-contents-hooks' to `write-contents-functions',
 +`x-lost-selection-hooks' to `x-lost-selection-functions',
 +`x-sent-selection-hooks' to `x-sent-selection-functions',
 +`delete-frame-hook' to `delete-frame-functions'.
 +
 +In each case the old name remains as an alias for the moment.
 +
 +*** Variable `local-write-file-hooks' is marked obsolete.
 +
 +Use the LOCAL arg of `add-hook'.
 +
 +*** New function `x-send-client-message' sends a client message when
 +running under X.
 +\f
 +* New Packages for Lisp Programming in Emacs 22.1
 +
 +** The new library button.el implements simple and fast `clickable
 +buttons' in Emacs buffers.  Buttons are much lighter-weight than the
 +`widgets' implemented by widget.el, and can be used by lisp code that
 +doesn't require the full power of widgets.  Emacs uses buttons for
 +such things as help and apropos buffers.
 +
 +** The new library tree-widget.el provides a widget to display a set
 +of hierarchical data as an outline.  For example, the tree-widget is
 +well suited to display a hierarchy of directories and files.
 +
 +** The new library bindat.el provides functions to unpack and pack
 +binary data structures, such as network packets, to and from Lisp
 +data structures.
 +
 +** master-mode.el implements a minor mode for scrolling a slave
 +buffer without leaving your current buffer, the master buffer.
 +
 +It can be used by sql.el, for example: the SQL buffer is the master
 +and its SQLi buffer is the slave.  This allows you to scroll the SQLi
 +buffer containing the output from the SQL buffer containing the
 +commands.
 +
 +This is how to use sql.el and master.el together: the variable
 +sql-buffer contains the slave buffer.  It is a local variable in the
 +SQL buffer.
 +
 +(add-hook 'sql-mode-hook
 +   (function (lambda ()
 +             (master-mode t)
 +             (master-set-slave sql-buffer))))
 +(add-hook 'sql-set-sqli-hook
 +   (function (lambda ()
 +             (master-set-slave sql-buffer))))
 +
 +** The new library benchmark.el does timing measurements on Lisp code.
 +
 +This includes measuring garbage collection time.
 +
 +** The new library testcover.el does test coverage checking.
 +
 +This is so you can tell whether you've tested all paths in your Lisp
 +code.  It works with edebug.
 +
 +The function `testcover-start' instruments all functions in a given
 +file.  Then test your code.  The function `testcover-mark-all' adds
 +overlay "splotches" to the Lisp file's buffer to show where coverage
 +is lacking.  The command `testcover-next-mark' (bind it to a key!)
 +will move point forward to the next spot that has a splotch.
 +
 +Normally, a red splotch indicates the form was never completely
 +evaluated; a brown splotch means it always evaluated to the same
 +value.  The red splotches are skipped for forms that can't possibly
 +complete their evaluation, such as `error'.  The brown splotches are
 +skipped for forms that are expected to always evaluate to the same
 +value, such as (setq x 14).
 +
 +For difficult cases, you can add do-nothing macros to your code to
 +help out the test coverage tool.  The macro `noreturn' suppresses a
 +red splotch.  It is an error if the argument to `noreturn' does
 +return.  The macro `1value' suppresses a brown splotch for its argument.
 +This macro is a no-op except during test-coverage -- then it signals
 +an error if the argument actually returns differing values.
 +
 +
 +\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, 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; see the file COPYING.  If not, write to the
 +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 +Boston, MA 02110-1301, USA.
 +
 +\f
 +Local variables:
 +mode: outline
 +paragraph-separate: "[        \f]*$"
 +end:
 +
 +arch-tag: 1aca9dfa-2ac4-4d14-bebf-0007cee12793
index f8650c8cc706f97c8d5771e4fe41faa01b975f58,089d979381b79d2a8f72b1a924a1326b146cea97..d726ec108a2d325efde7cf5ca7b0f7f42e7522ac
@@@ -1,86 -1,7 +1,90 @@@
+ 2008-02-27  Yuri Shtil  <yuris@juniper.net>  (tiny change)
+       * etags.c (Perl_functions): Fix call to skip_spaces.
 +2008-02-24  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * Makefile.in (NO_SHORTNAMES):
 +      * emacsclient.c (NO_SHORTNAMES):
 +      * fakemail.c (NO_SHORTNAMES):
 +      * make-docfile.c (NO_SHORTNAMES):
 +      * movemail.c (NO_SHORTNAMES):
 +      * pop.c (NO_SHORTNAMES): Remove references to obsolete variable.
 +
 +2008-02-23  Jason Rumney  <jasonr@gnu.org>
 +
 +      * makefile.w32-in (MOUSE_SUPPORT): Remove duplicate tooltip.elc.
 +      (MSDOS_SUPPORT, VMS_SUPPORT): Remove.
 +      (OTHER_PLATFORM_SUPPORT): Replace above. Add X specific files too.
 +      (lisp2): Add new languages.
 +      ($(DOC)): Use OTHER_PLATFORM_SUPPORT.
 +
 +2008-02-22  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in (lisp2): Remove devanagari.el, kannada.el,
 +      malayalam.el, and tamil.el.  Add sinhala.el.
 +
 +2008-02-20  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacsclient.c (main) [WINDOWSNT]: Understand DRIVE:NAME,
 +      where NAME is relative to DRIVE'S current directory.
 +
 +2008-02-15  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacsclient.c (print_help_and_exit): Show -d option on Windows.
 +
 +2008-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * fakemail.c: Undo previous change.
 +
 +2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * fakemail.c (MAIL_PROGRAM_NAME): Remove unused conditional.
 +      (main): Replace MAIL_PROGRAM_NAME with its value.
 +
 +      * Makefile.in (REGEXP_IN_LIBC): Remove reference to obsolete variable.
 +
 +2008-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacsclient.c (decode_options): Pass --display implicitly if -c
 +      is specified.  Only set tty if -t or -c is specified.
 +
 +2008-02-04  Jason Rumney  <jasonr@gnu.org>
 +
 +      * makefile.w32-in (lisp1): Use (), not {}.
 +
 +2008-02-04  Tom Tromey  <tromey@redhat.com>
 +
 +      * etags.c: Add "GTY" as synonym for __attribute__.
 +      Update gperf output.
 +
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
 +
 +      * makefile.w32-in (obj): Sync with src/Makefile.in
 +      (TOOLTIP_SUPPORT, WINDOW_SUPPORT): New definitions.
 +      (WINNT_SUPPORT): Add term/w32-win.elc.
 +      (lisp1, lisp2): Sync with lisp in src/Makefile.in.
 +
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
 +
 +      * makefile.w32-in (obj): Add font.o and w32font.o.
 +
 +2008-02-01  Zhang Wei  <id.brep@gmail.com>  (tiny change)
 +
 +      * lib-src/makefile.w32-in (lisp1): Delete ucs-tables.elc,
 +      utf-8.elc, and latin-*.el.
 +
 +2008-01-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacsclient.c (decode_options): Default to NULL display, as Emacs-22.
 +      Allow the -d option under w32 again, for those rare cases where it
 +      actually does make sense.
 +
 +2008-01-25  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacsclient.c (set_tcp_socket): Don't send "\n" after
 +      the authentication string; there's no need to haste.
 +
  2008-01-22  Chong Yidong  <cyd@stupidchicken.com>
  
        * pop.c (pop_stat, pop_last): Fix last fix.
diff --cc lib-src/etags.c
Simple merge
diff --cc lisp/ChangeLog
index 6dc48287ab3444e8bc948c4b4e42d33520e6a96a,df98bb937e4487225fe92ca019ef9429d2050fd1..9b9b7eaee76c0b957715cfcff421def7018a48f5
@@@ -1,43 -1,3 +1,84 @@@
++2008-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>
++
++      * diff-mode.el (diff-sanity-check-hunk): Only accept an empty line if
++      we still expect more lines.
++
++2008-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>
++
++      * textmodes/fill.el (fill-comment-paragraph): Don't try to do
++      comment-paragraph filling if the commark doesn't match
++      comment-start-skip.
++
++2008-03-01  Daiki Ueno  <ueno@unixuser.org>
++
++      * international/utf-7.el (utf-7-encode): Never skip the trailing - for
++      the `imap' variant.
++
++2008-03-01  Jason Rumney  <jasonr@gnu.org>
++
++      * files.el (make-auto-save-file-name): Encode more characters in
++      non-file buffer names.  Use url-encoding.
++
++2008-03-01  Juanma Barranquero  <lekktu@gmail.com>
++
++      * net/net-utils.el (ftp-program): Fix typo in docstring.
++      (ifconfig-program-options, netstat-program-options)
++      (arp-program-options, route-program-options, nslookup-program-options)
++      (ftp-program-options, smbclient-program-options)
++      (dns-lookup-program-options, arp, route): Doc fixes.
++
++      * progmodes/gdb-ui.el (gdb-pc-address, gdb-source-file-list)
++      (gdb-cpp-define-alist-program, gdb-mouse-jump, gdb-get-buffer-create)
++      (gdb-set-gud-minor-mode-existing-buffers-1, gdb-debug-log):
++      Fix typos in docstrings.
++      (gdb-pending-triggers): Reflow docstring.
++      (gdb, gdb-init-1): Fix typos in docstrings of gud-def definitions.
++
++2008-03-01  Alan Mackenzie  <acm@muc.de>
++
++      * progmodes/cc-mode.el (c-neutralize-syntax-in-CPP): Fix a bug on
++      typing "#" at EOB.
++
 +2008-03-01  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emulation/cua-base.el (cua-remap-control-z): Fix typo in docstring.
 +
 +2008-02-29  Kim F. Storm  <storm@cua.dk>
 +
 +      * emulation/cua-base.el (cua-remap-control-v)
 +      (cua-remap-control-z): New defcustoms.
 +      (cua-mode): Add them to set-after property.
 +      (cua--init-keymaps): Use them.
 +      Add C-x/C-c home, end, next, and prior to cua--prefix-repeat-keymap.
 +
 +      * help.el (view-emacs-todo): Rename from view-todo.
 +      (describe-gnu-project): Rename from describe-project.  Users changed.
 +      (view-help-file): New helper function.
 +      (describe-distribution, describe-copying, describe-gnu-project)
 +      (view-todo, view-order-manuals, view-emacs-problems): Use it.
 +      (view-emacs-debugging, view-external-packages): New commands.
 +      (help-map): Move describe-distribution to C-h C-o (ordering).
 +      Move view-emacs-problems to C-h C-p (problems).
 +      Bind view-emacs-debugging to C-h C-d (debugging).
 +      Bind view-external-packages to C-h C-e (extras).
 +      (help-for-help-internal): Cleanup and align descriptions.
 +      Remove command names to reduce clutter.
 +
 +2008-02-29  Nick Roberts  <nickrob@snap.net.nz>
 +
 +      * vc.el (vc-set-mode-line-busy-indicator): Use shorter message
 +      and quieter face (not a warning).
 +
 +2008-02-29  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * vc.el (vc-status-crt-marked): New variable.
 +      (vc-status-mode): Make it local.
 +      (vc-status-refresh): Use it to save the marked files.
 +      (vc-update-vc-status-buffer): Use it to restore the marked files.
 +
 +      * vc-svn.el (vc-svn-after-dir-status):
 +      * vc-hg.el (vc-hg-after-dir-status): Clean up the temporary buffer.
 +
  2008-02-29  Glenn Morris  <rgm@gnu.org>
  
        * allout.el (allout-topic-encryption-bullet)
Simple merge
diff --cc lisp/files.el
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc src/ChangeLog
index 7b85671a02524734dc9582103b76ced8a2bd9f9c,30395e9d617c8edff642c071f11b4aa81b599e0a..5e99294d8794cbc73e60464af0727b8da5472d06
 -2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_overlay_strings_1): Add missing argument type.
 -
 -2008-02-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
 -
 -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\e,Ae\e(Brd.
 -
 -2008-02-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fformat): Doc fix.
 -
 -2008-02-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (command_loop_1): Revert 2006-10-09 change.
 -
 -2008-02-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
 -
 -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-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-15  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.
 -
 -2008-02-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
 -
 -2008-02-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_read_socket) <WM_CHAR>: Use locale-coding-system
 -      instead of using mule-unicode-* charsets directly.
 -
 -2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * unexec.c (make_hdr):
 -      * unexhp9k800.c (read_header): Replace `legal' with `valid'.
 -
 -2008-02-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
 -      that ignore kEventKeyModifierFnMask.
 -      (XTread_socket) [MAC_OSX]: Move code for ignoring
 -      kEventKeyModifierFnMask for some keys ...
 -      (mac_mapped_modifiers) [MAC_OSX]: ... to here.  Add argument KEY_CODE.
 -      All callers changed.
 -      (mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
 -      All callers changed.
 -      (mac_quit_char_key_p, XTread_socket): Get Emacs modifiers from
 -      mapped modifiers together with original ones.
 -
 -2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
 -
 -      * ccl.c (CCL_WRITE_CHAR): Fix overflow checking.
 -      (CCL_WRITE_MULTIBYTE_CHAR): Likewise.
 -
 -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-26  Thien-Thi Nguyen  <ttn@gnuvola.org>
 -
 -      * fns.c (Fclrhash): Return TABLE.
 -
 -2008-01-21  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-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * 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 no other proper encoding is found.
 -
 -2008-01-17  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-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
 -      to HAVE_X86_64_LIB64_DIR.
 -
 -2008-01-11  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-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (wait_reading_process_output): Check for window
 -      changes caused by timers.
 -
 -2008-01-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (main): Set copyright year to 2008.
 -
 -2008-01-07  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-04  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
 -
 -2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * process.c (make_process): Initialize pty_flag to Qnil instead of 0
 -      as it is not a bit field on Emacs 22 yet.
 -
 -      * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
 -
 -2007-12-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (fill_menubar) [MAC_OSX]: Add workaround for Mac OS X 10.5
 -      about not changing Help menu title.
 -
 -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-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-02  Magnus Henoch  <mange@freemail.hu>
 -
 -      * process.c (make_process): Initialize pty_flag to 0.
 -
 -2007-12-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
 -      specified XBMs.
 -
 -2007-12-01  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
 -
 -2007-11-30  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-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
 -
 -      * s/gnu-kfreebsd.h: New file.
 -
 -2007-11-27  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-11-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32proc.c (sys_spawnve): Quote args with wildcards.
 -
 -2007-11-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (list_processes_1): Fix indentation level of the
 -      command column.
 -
 -2007-11-24  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-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-22  Jan Dj\e,Ad\e(Brv  <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-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): CreateFileMapping
 -      returns NULL on failure.
 -
 -2007-11-16  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-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * editfns.c (Fformat): Correctly format EMACS_INT values.
 -      Also take precision into account when formatting an integer.
 -
 -2007-11-15  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.
 -      (Fw32_define_rgb_color, Fw32_load_color_file): 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  Juri Linkov  <juri@jurta.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1130000.
 -
 -2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (load_overlay_strings): Fix copy&paste typo.
 -
 -2007-11-07  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-06  Jan Dj\e,Ad\e(Brv  <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-04  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-03  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-01  Johan Bockg\e,Ae\e(Brd  <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-10-31  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-10-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
 -
 -2007-10-30  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-10-30  Richard Stallman  <rms@gnu.org>
 -
 -      * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
 -
 -2007-10-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
 -      <installation-directory>: Reflow docstring.
 -
 -2007-10-26  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (window_min_size_2): Don't count header-line.
 -
 -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-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c: Include math.h.
 -
 -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-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fset_process_filter): Doc fix.
 -
 -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-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>
 -
 -      * 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-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-06  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): Moved 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-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
 -
 -2007-10-05  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-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (syms_of_image) <image-types>: Fix typo in docstring.
 -
 -2007-10-02  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_window_cursor_type): Implement documented behavior
 -      for cursor-in-non-selected-windows = t.
 -
 -2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (Fload): Fix typo in docstring.
 -
 -2007-09-29  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-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (w32_get_resource): Always close registry keys.
 -
 -2007-09-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (LIBS): Add COMCTL32.
 -
 -      * w32fns.c (globals_of_w32fns): Init common controls.
 -
 -2007-09-21  Richard Stallman  <rms@gnu.org>
 -
 -      * image.c (our_memory_buffer): Renamed from omfib_buffer.
 -
 -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-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * process.c (Fmake_network_process): Doc fix.
 -
 -2007-09-19  Richard Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Foverlays_at): Doc fix.
 -
 -2007-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fplist_put): Preserve uneven tail data.
 -
 -2007-09-16  Jan Dj\e,Ad\e(Brv  <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.
 -
 -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-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * s/hpux.h: No longer define `static' as nothing.
 -
 -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  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Move GCPRO1 after declarations.
 -
 -      * termhooks.h (enum event_kind): Remove trailing comma.
 -
 -      * frame.h (enum): Remove trailing comma.
 -
 -2007-09-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c, xterm.c, xfaces.c (abs): #undef before #define.
 -
 -2007-09-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * 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-06  Pixel  <pixel@mandriva.com>  (tiny change)
 -
 -      * image.c (gif_load): Fix bug: Handle nonexistent colormap.
 -
 -2007-09-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * gtkutil.c (menu_grab_callback) <cnt>:
 -      * xselect.c (x_reply_selection_request) <cnt>: Move static
 -      variable to file scope.
 -
 -2007-09-02  Dhuvra Krishnamurthy  <dhuvrakm@gmail.com>  (tiny change)
 -
 -      * w32proc.c (delete_child): Don't terminate threads of zombies.
 -
 -2007-09-02  Jan Dj\e,Ad\e(Brv  <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 (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 or named theme icons if defined.
 -
 -2007-08-29  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-08-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
 -      Doc fixes.
 -
 -2007-08-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
 -      so no Lisp code is executed.
 -
 -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-27  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (condition-case): Doc fix.
 -
 -2007-08-27  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-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-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * 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-19  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (pure): Round PURESIZE up.
 -
 -2007-08-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Remove check that mouse click is in
 -      active frame.
 -
 -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\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Use -1 as index
 -      to gtk_toolbar_insert.
 -
 -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  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.
 -
 -2007-08-08  Glenn Morris  <rgm@gnu.org>
 -
 -      * Replace `iff' in doc-strings and comments.
 -
 -2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct image): New members.
 -
 -      * image.c: Sync to trunk version.
 -      (search_image_cache, uncache_image, image-refresh): New functions.
 -      Check for fg and bg colors.
 -      (lookup_image): Use search_image_cache.  Cache fg and bg colors.
 -      (pbm_load): Another check for invalid image data.
 -      (png_load): Ignore default background field.
 -
 -      * xdisp.c (move_it_by_lines): Remove incorrect optimization.
 -
 -2007-08-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
 -
 -2007-08-07  Sam Steingold  <sds@gnu.org>
 -
 -      * gmalloc.c (__morecore): Fix the declaration to comply with the
 -      definition.
 -
 -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.
 -
 -2007-08-06  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * 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.
 -
 -      * window.h: Add EXFUN for Fwindow_full_width_p.
 -
 -2007-08-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * window.c (Fdisplay_buffer): Use NILP.
 -      (Fset_window_scroll_bars): Likewise.
 -
 -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-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
 -
 -2007-07-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * Relicense all FSF files to GPLv3 or later.
 -
 -      * COPYING: Switch to GPLv3.
 -
 -2007-07-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_real_positions): Get real position from OS instead of
 -      calculating it.
 -
 -2007-07-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * filelock.c (current_lock_owner): Allow for @ sign in username.
 -
 -2007-07-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (clean): Don't delete *~.
 -
 -      * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
 -      Define if not defined.
 -
 -2007-07-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32proc.c (w32_executable_type): Handle 64 bit executables.
 -
 -2007-07-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (Ffind_operation_coding_system):
 -      * eval.c (For, Fand, Fprogn):
 -      * keyboard.c (Ftrack_mouse):
 -      * print.c (Fwith_output_to_temp_buffer):
 -      * window.c (Fsave_window_excursion): Doc fixes (some reported
 -      by Johan Bockg\e,Ae\e(Brd).
 -
 -2007-07-15  Richard Stallman  <rms@gnu.org>
 -
 -      * data.c (Fsetq_default): Doc fix.
 -
 -      * eval.c (Fsetq): Doc fix.
 -
 -2007-07-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (LIBS): Include OLE32.
 -
 -      * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
 -      (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
 -
 -2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check WINDOWP before using XWINDOW.
 -
 -2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
 -
 -2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * 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.
 -
 -2007-06-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (convert_mono_to_color_image): Swap fore and background.
 -
 -2007-06-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
 -      (w32_free_bdf_font): Unmap memory not handle.
 -
 -2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c (_wsa_errlist): Fix typo in error message.
 -      (init_environment): Ignore any environment variable from the
 -      registry having a null value.
 -
 -2007-06-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (add_menu_item): Don't use multibyte string functions on
 -      unicode strings.
 -
 -2007-06-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
 -      Fix typo in docstring.
 -
 -2007-06-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32menu.c (add_menu_item): Escape `&' characters in menu items
 -      and their keybindings.
 -
 -2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * composite.c (update_compositions): Check validity of compositions.
 -
 -2007-06-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
 -
 -2007-06-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.h: Don't define HAVE_TZNAME.
 -
 -2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (xpm_load): Remove spurious call to
 -      xpm_init_color_cache.
 -
 -2007-06-06  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
 -
 -2007-06-05  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-06-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fshrink_window): Reflow docstring.
 -
 -2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 22.1 released.
 -
 -      * xfns.c (x_set_name_internal): Undo last change.
 -
 -2007-06-01  Richard Stallman  <rms@gnu.org>
 -
 -      * xfns.c (x_encode_text): Add GCPRO.
 -      (x_set_name_internal): Separate USE_GTK and non-USE_GTK cases.
 -
 -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-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-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): If first window line is a
 -      continuation line, recompute the new window start instead of
 -      recentering.
 -
 -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-22  Richard Stallman  <rms@gnu.org>
 -
 -      * xterm.c (x_connection_closed): Remove NO_RETURN.
 -
 -2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (skip_chars): Update syntax-table only after we checked that
 -      the new location is valid.
 -
 -2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
 -      mac_get_window_bounds.
 -
 -2007-05-17  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
 -
 -2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
 -      dead key repeat and up events.
 -
 -2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (XTread_socket): Revert last change.
 -
 -2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (pbm_load): Correctly check image size for greyscale pbm.
 -
 -      * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
 -
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object mixup (YAILOM)
 -
 -2007-05-06  Richard Stallman  <rms@gnu.org>
 -
 -      * process.c: Undo May 3 change.
 -
 -2007-05-03  Per Cederqvist  <ceder@lysator.liu.se>  (tiny change)
 -
 -      * process.c (Faccept_process_output): Revert 2006-03-22 change so
 -      that the third argument once again is in microseconds (not
 -      milliseconds).  This makes it compatible with Emacs 21 and
 -      earlier.  Problem found by Henrik Rindl\e,Av\e(Bw.
 -
 -2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
 -      (Fx_popup_dialog) [MAC_OSX]: Likewise.
 -
 -2007-04-29  Richard Stallman  <rms@gnu.org>
 -
 -      * insdel.c (replace_range): For undo, record insertion first.
 -
 -2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Fix number of
 -      disabled lines.
 -
 -2007-04-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
 -
 -      * gtkutil.c (xg_update_menubar, create_menus): Create empty
 -      submenu for menu bar items.
 -
 -2007-04-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): Use BEG_UNCHANGED and END_UNCHANGED
 -      values of the actual window.
 -
 -2007-04-23  Richard Stallman  <rms@gnu.org>
 -
 -      * process.c (Fstart_process): Doc fix.
 -
 -2007-04-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (Fstart_process): Doc fix.
 -
 -2007-04-22  Richard Stallman  <rms@gnu.org>
 -
 -      * abbrev.c (Fdefine_abbrev): Doc fix.
 -
 -      * keymap.c (Fdefine_key): Minor doc fix.
 -
 -2007-04-21  Glenn Morris  <rgm@gnu.org>
 -
 -      * keymap.c (Fdefine_key): Fix info ref in doc string.
 -
 -2007-04-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * sysdep.c (init_system_name): Don't accept localhost.localdomain.
 -
 -2007-04-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fminibuffer_contents, Fminibuffer_contents_no_properties)
 -      (Fminibuffer_completion_contents, Fdelete_minibuffer_contents):
 -      Doc fixes.
 -
 -2007-04-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
 -      Set garbaged flag in presence of window margins.
 -      (showing_window_margins_p): New function.
 -
 -      * xdisp.c (cursor_row_p): Only end row on newline if it's a
 -      display string.  Suggested by Lennart Borgman.
 -
 -2007-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (mem_insert): Set min_heap_address and max_heap_address
 -      if they are not yet initialized.
 -
 -2007-04-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): When deciding whether or not to
 -      recenter, don't use the reset values of BEG_UNCHANGED and
 -      END_UNCHANGED.
 -
 -2007-04-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (Fkill_buffer): gcpro BUF during kill_buffer_processes
 -      and check that buffer is still alive upon return.
 -
 -2007-04-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [!TARGET_API_MAC_CARBON]: Include Displays.h.
 -      (mac_screen_config_changed): New variable.
 -      (mac_handle_dm_notification, init_dm_notification_handler)
 -      (mac_get_screen_info): New functions.
 -      [MAC_OS8] (main): Call init_dm_notification_handler.
 -      (mac_initialize) [MAC_OSX]: Likewise.
 -      (XTread_socket): Call mac_get_screen_info if screen config changed.
 -      (mac_initialized): Make static.
 -      (mac_initialize_display_info): Remove function.
 -      (mac_term_init): Call mac_get_screen_info.  Add partial contents of
 -      mac_initialize_display_info.
 -
 -2007-04-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (xrm_get_preference_database, Fmac_get_preference)
 -      [TARGET_API_MAC_CARBON]: Use CFPreferencesAppSynchronize.
 -
 -      * macterm.c [TARGET_API_MAC_CARBON] (mac_post_mouse_moved_event):
 -      Use GetGlobalMouse instead of GetMouse and LocalToGlobal.
 -      (mac_initialize_display_info) [MAC_OSX]: Use CGRectZero.
 -      (mac_initialize_display_info) [!MAC_OSX]: dpyinfo->height and
 -      dpyinfo->width are those of whole screen.
 -
 -2007-04-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Don't decrement
 -      glyph pointer before start of glyph row.
 -
 -2007-04-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (__restrict, struct kboard): Remove outdated workarounds.
 -      (C_SWITCH_SYSTEM): Remove `-I../mac/src'.
 -
 -2007-04-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * indent.c (Fmove_to_column): Set next_boundary with correct start pt.
 -
 -2007-04-08  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <message-log-max>: Default 100.
 -
 -2007-04-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ftranspose_regions): Validate interval before setting
 -      text properties.
 -
 -2007-04-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (main): Fix instructions for building Emacs for profiling.
 -
 -2007-04-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_update_menubar): Call g_list_next after moving
 -      menu bar item.
 -
 -2007-04-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * print.c (Fprin1_to_string): Use macro SPECPDL_INDEX.
 -
 -2007-04-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fcommand_remapping): New optional argument.
 -      (where_is_internal): Use new keymaps argument.
 -      (Fkey_binding): Caller changed.
 -
 -      * keyboard.c (command_loop_1): Caller changed.
 -
 -2007-03-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * window.c (Fget_lru_window): Doc fix.
 -
 -2007-03-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * undo.c (Fprimitive_undo): Give clearer error message when trying
 -      to change text properties outside accessible part of buffer.
 -
 -2007-03-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (wait_reading_process_output) [HAVE_PTYS]:
 -      When EIO happens, clear channel from descriptor masks before raising
 -      SIGCHLD signal to avoid busy loop between read and sigchld_handler.
 -      (sigchld_handler): Remove sleep (2007-03-11 & 2007-03-26 changes).
 -
 -2007-03-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (Fset_buffer_major_mode): Check that BUFFER is valid.
 -
 -      * process.c (Fformat_network_address): Return nil when the
 -      argument vector contains invalid values.
 -
 -2007-03-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Define USE_PTHREAD.
 -      [USE_PTHREAD]: Include pthread.h.
 -      (malloc_init_once_control, _malloc_mutex) [USE_PTHREAD]: New variables.
 -      (malloc_initialize_1): New function created from __malloc_initialize.
 -      (__malloc_initialize): Use it.
 -      (LOCK, UNLOCK): New macros to make malloc etc. thread safe.
 -      (_malloc_internal, _free_internal, _realloc_internal): Use them.
 -
 -      * lread.c (readchar): Extend BLOCK_INPUT block to ferror/clearerr.
 -
 -2007-03-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fformat_network_address): Make args array big enough
 -      to format IPv6 addresses.
 -
 -2007-03-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/hp800.h: Restore HP-UX support (removed 2007-01-29).
 -
 -2007-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_display_mm_height, Fx_display_mm_width): Scale whole
 -      screen size in pixels by millimeters per pixel of main display.
 -
 -      * macselect.c (get_scrap_target_type_list, x_own_selection):
 -      Move assignments outside predicate macros.
 -      (Vselection_converter_alist): Doc fix.
 -
 -      * macterm.c (create_text_encoding_info_alist): Move assignments
 -      outside predicate macros.
 -      (mac_initialize_display_info) [MAC_OSX]: dpyinfo->height and
 -      dpyinfo->width are those of whole screen.
 -
 -2007-03-26  Sam Steingold  <sds@gnu.org>
 -
 -      * process.c (sigchld_handler): Delay by 1ms instead of 1s to
 -      alleviate sluggishness (the original problem is still fixed).
 -
 -2007-03-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * intervals.c (merge_properties): Use explicit loop instead of
 -      Fplist_member to avoid QUIT.  Don't use Fcdr.
 -      (intervals_equal): Likewise.  Rewrite loop to perform length check
 -      on the fly rather than calling Flength.  Don't use Fcar.
 -
 -2007-03-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Fgoto_char): Doc fix.
 -
 -      * indent.c (Findent_to): Doc fix.
 -
 -2007-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ftranspose_regions): Use set_text_properties_1
 -      instead of Fset_text_properties to avoid GC.  Signal after change.
 -
 -2007-03-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfns.c (Fx_show_tip): Doc fix.
 -
 -      * macfns.c (Fx_show_tip): Doc fix.
 -
 -      * w32fns.c (Fx_show_tip): Doc fix.
 -
 -2007-03-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * intervals.c (merge_properties, intervals_equal):
 -      Use Fplist_member instead of Fmemq to find properties.
 -
 -2007-03-23  Glenn Morris  <rgm@gnu.org>
 -
 -      * unexhp9k800.c: Restore file with clarified legal status.
 -      * m/sr2k.h: Restore since dependency unexhp9k800.c is restored.
 -
 -2007-03-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * widget.c (EmacsFrameSetCharSize): Catch X errors.
 -
 -2007-03-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Fcopy_file): Call barf_or_query_if_file_exists with
 -      non-encoded file name.
 -      (Frename_file): Likewise.
 -      (Fadd_name_to_file): Likewise.
 -      (Fmake_symbolic_link): Likewise.
 -
 -2007-03-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (alloca.o, gtkutil.o): Depend on systime.h.
 -      (dired.o, editfns.o, fileio.o, msdos.o): Depend on atimer.h.
 -      (dosfns.o, window.o, fns.o, macselect.o): Depend on atimer.h and
 -      systime.h.
 -      (term.o, print.o, lread.o): Depend on blockinput.h, atimer.h, and
 -      systime.h.
 -      (macfns.o): Remove duplicate dependency on systime.h.
 -
 -      * dispnew.c (Fopen_termscript): Add BLOCK_INPUT around fclose.
 -      (Fsend_string_to_terminal): Add BLOCK_INPUT around fwrite.
 -
 -      * fileio.c (do_auto_save_unwind): Add BLOCK_INPUT around fclose.
 -      (Fdo_auto_save): Add BLOCK_INPUT around fwrite.
 -
 -      * keyboard.c (record_char): Add BLOCK_INPUT around fwrite.
 -      (Fopen_dribble_file): Add BLOCK_INPUT around fclose.
 -
 -      * lread.c: Include blockinput.h.
 -      (readchar, Fget_file_char): Add BLOCK_INPUT around getc.
 -      (unreadchar): Add BLOCK_INPUT around ungetc.
 -      (load_unwind): Add BLOCK_INPUT around fclose.
 -
 -      * print.c: Include blockinput.h.
 -      (Fredirect_debugging_output): Add BLOCK_INPUT around fclose.
 -
 -      * process.c (Fmake_network_process) [HAVE_GETADDRINFO]:
 -      Clear immediate_quit before calling freeaddrinfo.
 -      Add BLOCK_INPUT around freeaddrinfo.
 -
 -      * term.c: Include blockinput.h.
 -      (write_glyphs, insert_glyphs): Add BLOCK_INPUT around fwrite.
 -
 -2007-03-19  Richard Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (NUM_RECENT_KEYS): Bump up to 300.
 -
 -      * buffer.c (syms_of_buffer): Doc fix.
 -
 -2007-03-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (pbm_load): Signal error for invalid image size.
 -
 -2007-03-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (note_mouse_movement): Don't return immediately for
 -      LeaveNotify case.
 -
 -      * macmenu.c (popup_activated_flag): New variable.
 -      (x_activate_menubar, mac_menu_show): Set it during menu tracking.
 -      (popup_activated): New function.
 -
 -      * xdisp.c (redisplay_internal, note_mouse_highlight):
 -      Check popup_activated for MAC_OS.
 -
 -2007-03-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <buffer-display-table>: Doc fix.
 -      Reported by Nikolaj Schumacher <n_schumacher@web.de>.
 -
 -2007-03-17  Richard Stallman  <rms@gnu.org>
 -
 -      * dired.c (file_name_completion): gcpro NAME.
 -
 -2007-03-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_window_id): Increment matrix positions if the
 -      buffer's byte count has increased, but not the character count.
 -
 -2007-03-12  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h: Declare check_obarray.
 -
 -      * process.c (Fdelete_process): Properly handle deletion of first
 -      element of deleted_pid_list.
 -      (create_process): Declare pid as pid_t.
 -
 -2007-03-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (sigchld_handler): Change type of pid to pid_t.
 -      Scan deleted_pid_list explicitly to avoid using Fmember which don't
 -      know about mark bits and make_fixnum_or_float which may malloc.
 -      Reported by Andreas Schwab.
 -
 -      * keyboard.c (read_key_sequence): Store original event into keybuf
 -      when replaying sequence with local keymap(s) from string.
 -
 -2007-03-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * editfns.c (Fdecode_time, Fencode_time): Doc fix ("daylight
 -      savings" to "daylight saving").
 -
 -2007-03-11  Sam Steingold  <sds@gnu.org>
 -
 -      * process.c (sigchld_handler): Sleep before wait3 to avoid a busyloop.
 -
 -2007-03-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_server_vendor): Change vendor string to "Apple Inc.".
 -
 -2007-03-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_CARBON_EVENTS] (mac_handle_mouse_event):
 -      Ignore mouse wheel movement on title bar or tool bar.
 -
 -2007-03-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (help_form_saved_window_configs): New var.
 -      (read_char_help_form_unwind): New function.
 -      (read_char): Don't restore window configuration if a mouse click
 -      arrives while the help form is being displayed.
 -
 -2007-03-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): Don't automatically select a new window
 -      start for a contination line during mouse-click.
 -
 -2007-03-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Ignore buttons > 3 for the tool bar.
 -
 -2007-03-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keymap.c (Fdescribe_buffer_bindings): Check that BUFFER is valid.
 -
 -2007-03-08  Richard Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (syms_of_keyboard): Doc fix.
 -
 -2007-03-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Ftry_completion): Don't short circuit if
 -      completion-ignore-case is non-nil.
 -
 -2007-03-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (mac_set_scroll_bar_width, mac_frame_parm_handlers):
 -      Undo 2006-03-06 changes.
 -
 -      * macterm.c (XTset_vertical_scroll_bar) [MAC_OSX]: Don't show scroll
 -      bar if its width is smaller than that of Aqua small scroll bar.
 -
 -2007-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (read_minibuf): Bind inhibit-read-only a bit longer so as
 -      to handle correctly prompts with read-only property.
 -
 -2007-03-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (wav_play): Check header->data_length to see how much we
 -      shall read.
 -      (alsa_period_size): Convert ALSA period size in frames to bytes.
 -      (alsa_write): Return if frames is zero.
 -
 -2007-03-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * xselect.c (Vselection_coding_system): Documentation improved.
 -
 -2007-03-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_scroll_bar_create, XTread_socket): Replace #if
 -      USE_TOOLKIT_SCROLL_BARS with #ifdef USE_TOOLKIT_SCROLL_BARS.
 -      (x_set_window_size): Call SET_FRAME_GARBAGED.  Clear window if
 -      internal border width has changed.
 -
 -      * macterm.h (struct mac_output): New member `internal_border_width'.
 -
 -2007-03-04  Richard Stallman  <rms@gnu.org>
 -
 -      * window.c (Fdisplay_buffer): Doc fix.
 -
 -2007-03-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in: Don't clear out LIB_X11_LIB, since XFT_LIBS does
 -      not include -lX11 on Solaris.
 -
 -2007-03-02  Stuart D. Herring  <herring@lanl.gov>
 -
 -      * keymap.c (Fkey_binding): Don't consider one-element lists as events.
 -
 -2007-03-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (send_process_object): Check the process status and
 -      signal an error if something is wrong.
 -
 -2007-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * insdel.c (Fcombine_after_change_execute): Return nil if
 -      combine_after_change_buffer has been invalidated.
 -
 -2007-02-25  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/xtensa.h: New file.
 -
 -2007-02-24  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * .gdbinit (xprintstr): Ensure GDB (> 6.6) prints symbol name
 -      as strings and not character arrays.
 -
 -2007-02-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag)
 -      (x_set_toolkit_scroll_bar_thumb): Add bar->min_handle as margin to
 -      scroll bar handle size in order to avoid `scroll backward' problem.
 -      (x_scroll_bar_create, XTset_vertical_scroll_bar)
 -      [USE_TOOLKIT_SCROLL_BARS]: Initialize bar->min_handle.
 -
 -      * macterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      New member `min_handle'.
 -
 -2007-02-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * print.c (print): Reset print_number_index if Vprint_number_table
 -      is nil.
 -
 -2007-02-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (stat, get_long_basename, is_unc_volume): Use _mbspbrk
 -      instead of strpbrk.
 -
 -2007-02-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (mac_menu_show): Call unbind_to early.  Use variable
 -      `menu_item_selection' as in W32 version.
 -      [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Add explicit
 -      braces to avoid ambiguous `else'.
 -
 -      * macterm.c (mac_display_info_for_display): Remove function.
 -      (mac_flush_display_optional) [USE_CG_DRAWING]: New function.
 -      (x_redisplay_interface) [USE_CG_DRAWING]: Set it as handler for
 -      flush_display_optional.
 -      [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_press):
 -      New argument MOUSE_POS.  All uses changed.  Set bar->dragging to
 -      negative integer if scroll bar handle is pressed.
 -      [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_release):
 -      Negative bar->dragging means scroll bar handle is not dragged.
 -      [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag): Get initial
 -      offset of scroll bar handle from negative bar->dragging.
 -      (XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Modifiers for scroll
 -      bar click is compared against mapped one.  Set down/up_modifier
 -      for scroll bar click event with control key.
 -
 -      * macterm.h (x_display_info_for_display): Remove extern.
 -      (SCROLL_BAR_UNPACK, SET_SCROLL_BAR_CONTROL_HANDLE): Don't limit
 -      value to be unpacked to 32-bit on LP64 model.
 -
 -2007-02-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (send_process_object_unwind): New function.
 -      (send_process_object): New function.
 -      (Fprocess_send_region): Call send_process_object.
 -      (Fprocess_send_string): Likewise.
 -
 -2007-02-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (w32_menu_show): Mark the frame's menu as inactive
 -      when popup menu finishes.
 -
 -      * w32fns.c (menubar_in_use): New flag.
 -      (w32_wnd_proc) <WM_INITMENU, WM_EXITMENULOOP, WM_TIMER, WM_COMMAND>:
 -      Use it.
 -
 -      * w32menu.c (Fx_popup_menu): Don't free menu strings here.
 -      (w32_menu_show): Do it here instead.
 -
 -      * w32fns.c (w32_wnd_proc) <WM_INITMENU>: Set menubar_active frame
 -      parameter.
 -
 -      * w32menu.c (current_popup_menu): Make available globally.
 -      (menubar_selection_callback): Free menu strings before pushing the
 -      menu event into the keyboard buffer.  Remove menu_command_in_progress.
 -
 -      * w32fns.c (current_popup_menu): Use from w32menu.c.
 -      (w32_wnd_proc) <WM_EXITMENULOOP, WM_TIMER>: Use menubar_active
 -      and current_popup_menu to determine whether a menubar menu has
 -      been cancelled.
 -
 -      * w32term.h (w32_output): Remove menu_command_in_progress.
 -
 -2007-02-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (update_frame, update_single_window): Set force_p here if
 -      redisplay_dont_pause is set or Vredisplay_preemption_period is nil...
 -      (update_window, update_frame_1): ... instead of here.
 -      (update_text_area): Clear mouse face on header lines.
 -
 -2007-02-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * minibuf.c (Fassoc_string): Doc fix.  Allow symbol for KEY too.
 -
 -2007-02-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (WINDOW_RESOURCE, TERM_WINDOW_RESOURCE): Remove macros.
 -      [USE_MAC_TSM] (mac_handle_text_input_event): Remove unused variable
 -      `mapped_modifiers'.
 -      (XTread_socket) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1020]: Use Keyboard
 -      Layout Services routines to get current Unicode keyboard layout.
 -
 -2007-02-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (x_set_screen_gamma): Apply gamma value to the frame's
 -      bgcolor.
 -
 -2007-02-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * minibuf.c (Fassoc_string): Allow symbols as keys.
 -
 -      * w32term.c (w32_set_scroll_bar_thumb): Don't resize scroll-bar
 -      handle while dragging, except when we get close to eob.
 -      Fix position and size calculations so we don't scroll backwards
 -      just by clicking on the handle.
 -
 -2007-02-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (${emacsapp}Contents/Resources/Emacs.rsrc)
 -      [HAVE_CARBON]: Remove target.
 -      (macosx-app) [HAVE_CARBON]: Don't depend on it.
 -
 -2007-02-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * callproc.c (syms_of_callproc) <doc-directory>:
 -      <configure-info-directory>:
 -      (Fgetenv_internal): Fix typos in docstrings.
 -
 -      * doc.c (Fsubstitute_command_keys): Fix typo in docstring.
 -
 -2007-02-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * frame.c (Fmodify_frame_parameters): Return a value.
 -
 -      * editfns.c (Fformat): Add support for '+' flag.
 -      * doprnt.c (doprnt1): Likewise.  Fix overflow checking.
 -
 -2007-02-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * s/umips.h: Unused file removed.
 -
 -2007-02-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fcolor_distance): Don't continue checking a color for
 -      errors after it has been correctly parsed as an RGB list.
 -
 -2007-02-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (do_ewmh_fullscreen): Also check for _NET_WM_STATE_FULLSCREEN.
 -
 -2007-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_focus_frame): Move current process to foreground if
 -      it is not.
 -      [TARGET_API_MAC_CARBON] (Fx_file_dialog): Replace #if MAC_OSX with
 -      #ifdef MAC_OSX.
 -      (Fmac_set_font_panel_visible_p) [USE_MAC_FONT_PANEL]: Rename from
 -      Fmac_set_font_panel_visibility.  All uses changed.  Rename argument
 -      VISIBLE to FLAG.
 -
 -      * macterm.c (MakeMeTheFrontProcess) [MAC_OSX]: Remove function.
 -      (mac_initialize) [MAC_OSX]: Call SetFrontProcess instead of
 -      MakeMeTheFrontProcess.
 -
 -2007-02-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (x_set_screen_gamma): Clear face cache.
 -
 -2007-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (Fgenerate_new_buffer_name, Fbuffer_modified_tick):
 -      Reflow docstrings.
 -
 -2007-02-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * window.c (Fwindow_height, Fwindow_hscroll)
 -      (Fwindow_redisplay_end_trigger, Fwindow_point, Fwindow_start)
 -      (Fwindow_end, Fwindow_display_table, Fwindow_text_height):
 -      Document the effect of WINDOW arg being nil.
 -
 -2007-02-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * minibuf.c (read_minibuf): Fix 2007-01-30 change.
 -      Use Qlambda as interim value of Vminibuffer_completing_file_name.
 -      (Fcompleting_read): Use non-filename maps if value is Qlambda (or Qnil).
 -      (syms_of_minibuf) <minibuffer-completing-file-name>: Document lambda.
 -
 -2007-02-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(TRES)): Use literal "../nt/emacs.rc" instead
 -      of $(ALL_DEPS).
 -
 -2007-02-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(TRES)): Depend on stamp_BLD, since $(TRES) is
 -      put into $(BLD).
 -
 -2007-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fmodify_frame_parameters): Don't bind
 -      Qinhibit_default_face_x_resources, which has no effect.
 -      (Qinhibit_default_face_x_resources): Symbol deleted.
 -
 -2007-02-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * indent.c (Fmove_to_column): Document that the argument COLUMN is
 -      taken from prefix numeric argument.
 -
 -2007-02-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (syms_of_lread) <load-history>: Doc fix.
 -
 -2007-01-29  Andreas Seltenreich  <uwi7@rz.uni-karlsruhe.de>  (tiny change)
 -
 -      * xterm.c [!USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_expose):
 -      Use the foreground color of the scroll-bar face when drawing
 -      the scroll-bar's border.
 -
 -2007-02-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (do_ewmh_fullscreen): Check that what != NULL before
 -      calling wm_supports.
 -
 -2007-02-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (syms_of_lread) <user-init-file>: Doc fix.
 -      Wording by Eli Zaretskii.
 -
 -2007-01-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Initialize h/vmargin to 0.
 -
 -2007-01-30  Richard Stallman  <rms@gnu.org>
 -
 -      * minibuf.c (read_minibuf):
 -      Save and clear Vminibuffer_completing_file_name.
 -      (read_minibuf_unwind): Restore it.
 -      (Vminibuffer_completion_table, Qminibuffer_completion_table)
 -      (Vminibuffer_completion_predicate, Qminibuffer_completion_predicate)
 -      (Vminibuffer_completion_confirm, Qminibuffer_completion_confirm)
 -      (Vminibuffer_completing_file_name): Definitions moved up.
 -
 -2007-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/hp800.h: Restore, removing HP-UX support.
 -
 -2007-01-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * Makefile.in: Use a variable, XFT_LIBS, instead #define LIB_X11_LIB.
 -
 -2007-01-28  Richard Stallman  <rms@gnu.org>
 -
 -      * minibuf.c (Ftry_completion, Fall_completions)
 -      (Fcompleting_read, Ftest_completion):
 -      Rename arg ALIST or TABLE to COLLECTION.
 -
 -2007-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * unexhp9k800.c: Remove due to lack of legal papers.
 -
 -      * m/sr2k.h, m/hp800.h: Remove due to dependence on above.
 -
 -2007-01-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Doc fix.
 -
 -      * minibuf.c (Fcompleting_read): Doc fix.
 -
 -2007-01-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_initialize): Call XftInit if HAVE_XFT.
 -
 -      * Makefile.in: Use XFT_LIBS if defined.
 -
 -2007-01-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Use
 -      BLOCK_INPUT/UNBLOCK_INPUT.
 -
 -      * blockinput.h (interrupt_input_blocked): Declare volatile.
 -
 -      * keyboard.c (interrupt_input_blocked): Declare volatile.
 -
 -      * syssignal.h (SIGNAL_THREAD_CHECK): Use pthread_equal.
 -
 -2007-01-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * keymap.c (describe_map): Don't consider prefix keys to be shadowed.
 -
 -2007-01-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * editfns.c (Finsert_char): Doc fix.
 -      (Fget_internal_run_time, Fdecode_time): Fix typos in docstrings.
 -
 -2007-01-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macselect.c [TARGET_API_MAC_CARBON] (mac_do_receive_drag):
 -      Don't pass keyboard modifiers to mac_store_drag_event, but put
 -      them as kEventParamKeyModifiers Apple event parameter.
 -
 -2007-01-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_window): Revert previous change.
 -
 -      * dispnew.c (update_text_area): Revert 2006-09-17 change.
 -      Always redraw non-mode-line rows with mouse-face.
 -
 -2007-01-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_window): Clear mouse-face highlights first.
 -
 -      * window.c (set_window_buffer): Revert 2006-11-22 change.
 -
 -2007-01-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (ppt, xtype, xmisctype, xint, xptr, xmarker, xframe)
 -      (xbuffer, xcons, xcar, xcdr): Fix doc strings.
 -
 -2007-01-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Extract local map only if the
 -      given position is in an accessible buffer region.
 -
 -2007-01-19  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * .gdbinit: Reformat documentation so that first sentence
 -      displays properly with "help user-defined" (like apropos).
 -
 -2007-01-18  Bruno Haible  <bruno@clisp.org>  (tiny change)
 -
 -      * epaths.in: Move PATH_DOC from local/info to local/share/info.
 -
 -2007-01-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (create_and_show_dialog) [TARGET_API_MAC_CARBON]:
 -      Create movable modal window instead of movable alert window.
 -      (create_and_show_dialog) [!MAC_OSX]: Use DeactivateControl instead
 -      of DisableControl.
 -
 -      * macselect.c (Fmac_resume_apple_event): Set error number when
 -      descriptor type of reply is non-null.
 -
 -2007-01-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (create_and_show_dialog) [TARGET_API_MAC_CARBON]:
 -      Use DisableControl for disabled items.  Set default button to first
 -      enabled one.  Use icon of application in execution.
 -
 -2007-01-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (Fdelete_process, Fprocess_id, sigchld_handler):
 -      Copy PID into EMACS_INT to avoid GCC warnings.
 -
 -      * fns.c (maybe_resize_hash_table): Copy new size of hash table
 -      into EMACS_INT to avoid GCC warnings.
 -
 -      * editfns.c (Fuser_uid, Fuser_real_uid): Copy values returned by
 -      geteuid and getuid into EMACS_INT to avoid GCC warnings.
 -
 -      * dired.c (Ffile_attributes): Fix last change.
 -
 -2007-01-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Copy some members of `struct stat'
 -      into int's to avoid GCC warnings about limited range of short in
 -      arguments to FIXNUM_OVERFLOW_P.
 -
 -2007-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (HAVE_DIALOGS): Define if TARGET_API_MAC_CARBON.
 -      (mac_handle_dialog_event, install_dialog_event_handler)
 -      (create_and_show_dialog) [TARGET_API_MAC_CARBON]: New functions.
 -      (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) [TARGET_API_MAC_CARBON]: New macros.
 -      (mac_dialog) [TARGET_API_MAC_CARBON]: Remove function.
 -      (mac_dialog_show) [TARGET_API_MAC_CARBON]: Use create_and_show_dialog.
 -
 -      * macterm.c (x_free_frame_resources) [USE_CG_DRAWING]:
 -      Call mac_prepare_for_quickdraw.
 -      (quit_char, make_ctrl_char) [TARGET_API_MAC_CARBON]: Move externs
 -      outside #ifdef MAC_OSX.
 -      (mac_quit_char_key_p) [TARGET_API_MAC_CARBON]: Move function
 -      outside #ifdef MAC_OSX.
 -      (mac_check_bundle) [MAC_OSX]: Remove unused function.
 -
 -      * macterm.h (mac_quit_char_key_p): Move extern outside #ifdef MAC_OSX.
 -      (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Parenthesize definitions.
 -
 -2007-01-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * alloc.c (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Use pthread_equal,
 -      block/unblock SIGIO.
 -
 -2007-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fformat): Allow integer-format to work with floats of size
 -      larger than most-positive-fixnum (but still smaller than MAXINT).
 -
 -      * dired.c (Ffile_attributes): Use floats for large uids/gids.
 -
 -2007-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (syms_of_emacs) <path-separator>: Doc fix.
 -
 -2007-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Add BLOCK_INPUT
 -      around mkstemp.
 -
 -      * image.c (XDrawLine) [MAC_OS]: Remove macro.
 -      (XCreateGC_pixmap) [!HAVE_NTGUI]: Likewise.
 -      (x_disable_image) [!HAVE_NTGUI]: Use XCreateGC instead of
 -      XCreateGC_pixmap.
 -
 -      * macgui.h (Display): Typedef to opaque type.
 -
 -      * macmenu.c (mac_dialog_modal_filter) [MAC_OSX]: New function.
 -      (Fx_popup_dialog) [MAC_OSX]: Use standard alert if called from
 -      Fmessage_box, Fyes_or_no_p, or Fy_or_n_p.
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030] (menu_quit_handler):
 -      Use mac_quit_char_key_p.
 -
 -      * macterm.c (XDrawLine): Rename from mac_draw_line_to_pixmap.
 -      (XCreateGC): Change type of 2nd argument to void *.
 -      (XFreeGC) [USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Fix last change.
 -      (mac_to_emacs_modifiers): Change return type to int.
 -      [USE_CARBON_EVENTS] (mac_event_to_emacs_modifiers): Likewise.
 -      (mac_mapped_modifiers): New function.
 -      (XTread_socket): Use it.
 -      [USE_TSM] (mac_handle_text_input_event): Likewise.
 -      (do_window_update) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
 -      (mac_quit_char_modifiers, mac_quit_char_keycode) [MAC_OSX]:
 -      Remove variables.
 -      (mac_determine_quit_char_modifiers, init_quit_char_handler)
 -      [MAC_OSX]: Remove functions.
 -      (make_ctrl_char) [MAC_OSX]: Add extern.
 -      (mac_quit_char_key_p) [MAC_OSX]: New function.
 -      (mac_initialize) [MAC_OSX]: Don't call init_quit_char_handler.
 -
 -      * macterm.h (FONT_MAX_WIDTH): Remove unused macro.
 -      (XCreateGC): Change type in extern.
 -      (XDrawLine): Rename from mac_draw_line_to_pixmap.
 -      (mac_quit_char_key_p) [MAC_OSX]: Add extern.
 -
 -2007-01-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (init_keyboard): Initialize interrupt_input_blocked and
 -      interrupt_input_pending.
 -
 -      * xterm.h (x_display_info): New: net_supported_atoms,
 -      nr_net_supported_atoms and net_supported_window.
 -
 -      * xterm.c (last_user_time): New variable.
 -      (handle_one_xevent): Set last_user_time from events that have Time.
 -      Set net_supported_window to 0 when reparented.
 -      (wm_supports): New function.
 -      (do_ewmh_fullscreen): Use wm_supports to check for _NET_WM_STATE.
 -      (x_term_init): Initialize net_supported_atoms, nr_net_supported_atoms
 -      and net_supported_window.
 -
 -2007-01-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * indent.c (Fvertical_motion): Fix it overshoot check for overlay
 -      strings without embedded newlines immediately followed by newline.
 -
 -2007-01-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * editfns.c (Fformat_time_string, Fdecode_time, Fencode_time)
 -      (Fcurrent_time_string, Fcurrent_time_zone): Add BLOCK_INPUT around
 -      gmtime/localtime/emacs_memftimeu/mktime.
 -
 -      * mac.c (Fmac_set_file_creator): Use MAC_EMACS_CREATOR_CODE
 -      instead of 'EMAx'.
 -      [!MAC_OSX] (sys_open, sys_creat, sys_fopen): Likewise.
 -
 -      * macgui.h (struct _XGC) [USE_CG_DRAWING
 -      && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New members cg_fore_color
 -      and cg_back_color.
 -
 -      * macmenu.c (Vshow_help_function) [TARGET_API_MAC_CARBON]: Add extern.
 -      (restore_show_help_function, menu_target_item_handler)
 -      [TARGET_API_MAC_CARBON]: New functions.
 -      (install_menu_target_item_handler): New function.
 -      (add_menu_item) [TARGET_API_MAC_CARBON]: Set help string as menu
 -      item property.
 -
 -      * macterm.c (CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
 -      (CG_SET_FILL_COLOR_WITH_GC_FOREGROUND)
 -      (CG_SET_FILL_COLOR_WITH_GC_BACKGROUND)
 -      (CG_SET_STROKE_COLOR_MAYBE_WITH_CGCOLOR)
 -      (CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND): New macros.
 -      (mac_cg_color_space_rgb) [USE_CG_DRAWING]: New variable.
 -      (mac_cg_color_black) [USE_CG_DRAWING
 -      && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New variable.
 -      (init_cg_color) [USE_CG_DRAWING]: New function.
 -      (mac_draw_line, mac_draw_rectangle) [USE_CG_DRAWING]: Use
 -      CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND instead of CG_SET_STROKE_COLOR.
 -      (mac_erase_rectangle, mac_clear_window, mac_draw_cg_image)
 -      (mac_fill_rectangle, mac_draw_image_string_cg) [USE_CG_DRAWING]:
 -      Use CG_SET_FILL_COLOR_WITH_GC_FOREGROUND or
 -      CG_SET_FILL_COLOR_WITH_GC_BACKGROUND instead of CG_SET_FILL_COLOR.
 -      (mac_draw_string_common) [MAC_OSX && USE_ATSUI]: Likewise.
 -      (XCreateGC, XFreeGC, XSetForeground, XSetBackground) [USE_CG_DRAWING
 -      && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Use gc->cg_fore_color and/or
 -      gc->cg_back_color.
 -      (install_drag_handler, remove_drag_handler): Make extern.
 -      (install_menu_target_item_handler): Add extern.
 -      (install_window_handler): Call install_menu_target_item_handler.
 -      [MAC_OS8] (main): Use MAC_EMACS_CREATOR_CODE instead of 'EMAx'.
 -      (mac_initialize) [USE_CG_DRAWING]: Call init_cg_color.
 -
 -      * macterm.h (MAC_EMACS_CREATOR_CODE): New enumerator.
 -
 -2007-01-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fwindow_end): Fix use of >= operator.
 -
 -2007-01-03  Richard Stallman  <rms@gnu.org>
 -
 -      * window.c (Fwindow_end): Check BUF_OVERLAY_MODIFF like BUF_MODIFF.
 -
 -2007-01-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.h (xg_menu_item_cb_data_): Remove highlight_id and
 -      unhighlight_id.
 -
 -      * gtkutil.c (menuitem_highlight_callback): Invoked widget is the
 -      parent of the menu item.  Get menu item widget from event.
 -      (xg_create_one_menuitem, xg_update_menu_item): highlight_id and
 -      unhighlight_id has been removed.
 -      (create_menus): Connect enter/leave-notify-event to the menu instead
 -      of individual items.
 -
 -2006-12-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Connect create-menu-proxy with
 -      xg_tool_bar_menu_proxy.
 -      (xg_tool_bar_menu_proxy): New function.
 -      (xg_tool_bar_proxy_callback): New function.
 -
 -2006-12-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_button_cb): Save last modifier on widget.
 -      (xg_tool_bar_callback): Remove check for button.
 -      (update_frame_tool_bar): Put an event box in the tool bar and a button
 -      in the event box.  Attach enter/leave-notify-event to the event box.
 -
 -2006-12-30  Richard Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fdefine_key): Doc fix.
 -
 -2006-12-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * frame.h (struct frame): New member minimize_tool_bar_window_p.
 -
 -      * xdisp.c (auto_resize_tool_bars_p): Replace with ...
 -      (Vauto_resize_tool_bars): ... this.
 -      (syms_of_xdisp): DEFVAR_LISP and initialize it.  Update doc string
 -      to describe new value `grow-only', and use of C-l.
 -      (display_tool_bar_line): Only use default face for border below
 -      toolbar if not grow-only (to get acceptable visual appearence).
 -      Explicitly set visible_height for empty toolbar lines.
 -      (redisplay_tool_bar): Handle `grow-only' setting.  Check and clear
 -      minimize_tool_bar_window_p flag.
 -
 -      * window.c (Frecenter): Set minimize_tool_bar_window_p flag
 -      when called without arg to redraw with minimum toolbar height.
 -      Update doc string.
 -
 -2006-12-29  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.h (tzname): Do not define in msvc8.
 -      (utime): Do not define in msvc8.
 -
 -      * regex.c (regerror): Change parameter name err_code.
 -
 -2006-12-26  Richard Stallman  <rms@gnu.org>
 -
 -      * search.c (Fsearch_forward): Doc fix.
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2006-12-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * s/ms-w32.h (BROKEN_DATAGRAM_SOCKETS): Define it.
 -
 -2006-12-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (some_mouse_moved): Fix last change.
 -
 -2006-12-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * callproc.c (syms_of_callproc) <shell-file-name>: Doc fix.
 -
 -2006-12-22  Mark Davies  <mark@mcs.vuw.ac.nz>
 -
 -      * m/amdx86-64.h, m/hp800.h: Add support for NetBSD.
 -      * m/sh3el.h: New file.
 -
 -2006-12-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (emacs, temacs): Depend on stamp_BLD instead of
 -      $(BLD).
 -      ($(OBJ0) $(OBJ1) $(WIN32OBJ)): New dependency on stamp_BLD.
 -      (bootstrap-temacs): Pass $(XMFLAGS) to sub-make.
 -      ($(OBJ0) $(OBJ1) $(WIN32OBJ)): Add lastfile.$(O) and firstfile.$(O).
 -      (clean): Delete stamp_BLD.
 -
 -2006-12-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
 -      Call mac_update_proxy_icon also when buffer modification flag changed.
 -      [TARGET_API_MAC_CARBON] (mac_update_proxy_icon): Don't update alias,
 -      but compare FSRef/FSSpec of resolved alias.
 -
 -2006-12-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * w32.c (_sys_wait_accept): Fix handle leak.
 -
 -2006-12-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * sound.c: Include <alsa/asoundlib.h> if ALSA_SUBDIR_INCLUDE is
 -      defined.
 -
 -2006-12-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * s/ms-w32.h (BROKEN_NON_BLOCKING_CONNECT): Define it.
 -
 -2006-12-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (syms_of_keyboard) <double-click-time>:
 -      * mac.c (Fmac_code_convert_string):
 -      * search.c (Fsearch_forward): Doc fixes.
 -
 -2006-12-19  Kim F. Storm  <storm@cua.dk>
 -
 -      Rework 2006-12-04 change.  A SIGUSR1 (SIGUSR2) signal now generates
 -      a sigusr1 event instead of [signal usr1] sequence, and signal events
 -      are now supposed to be handled via special-event-map.
 -
 -      * keyboard.c (kbd_buffer_store_event_hold): Undo 2006-12-04 change.
 -      (make_lispy_event): Don't generate Qsignal prefix for code 0.
 -      Abort if signal code is unknown.
 -      (store_user_signal_events): Don't make Qsignal prefix (code 0).
 -      (Qsignal): Move declaration back to process.c.
 -      (syms_of_keyboard): Don't intern or staticpro it here.
 -
 -      * process.c (Qsignal): Declare here.
 -      (syms_of_process): Intern or staticpro it.
 -
 -      * emacs.c (main): Rename user signals to sigusr1 and sigusr2.
 -
 -      * .gdbinit: Pass on SIGUSR1 and SIGUSR2 to Emacs.
 -
 -2006-12-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <buffer-display-table>:
 -      <scroll-up-aggressively, scroll-down-aggressively>: Doc fixes.
 -
 -2006-12-17  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fread_file_name_internal): Pass Vread_file_name_predicate
 -      to Ffile_name_completion.
 -
 -      * dired.c (file_name_completion): New arg PREDICATE.  Some cleanup.
 -      (Ffile_name_completion): New arg PREDICATE.
 -
 -2006-12-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (Fkill_buffer): Doc fix.
 -      (syms_of_buffer) <kill-buffer-query-functions>: Doc fix.
 -
 -2006-12-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Ftry_completion): Check that obarray buckets are symbols.
 -
 -2006-12-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (w32-window-exists-p): New function.
 -      (syms_of_w32fns): Defsubr it.
 -
 -      * prefix-args.c [STDC_HEADERS]: Include stdlib.h.
 -
 -2006-12-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Ftry_completion): Use `check_obarray' if ALIST is a vector.
 -
 -2006-12-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (USAGE3): Clarify documentation of --color.
 -
 -2006-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (wakeup_from_rne_enabled_p) [TARGET_API_MAC_CARBON]:
 -      New variable.
 -      (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE): New macros.
 -      [!MAC_OSX] (select): Use them.
 -      [MAC_OSX] (select_and_poll_event, sys_select): Likewise.
 -      (mac_wakeup_from_rne) [TARGET_API_MAC_CARBON]: New function.
 -
 -      * macfns.c (mac_atsu_font_face_attributes) [USE_ATSUI]: Add extern.
 -      (Fmac_atsu_font_face_attributes) [USE_ATSUI]: New function.
 -      (syms_of_macfns) [USE_ATSUI]: Defsubr it.
 -
 -      * macselect.c [TARGET_API_MAC_CARBON] (mac_do_receive_drag):
 -      Use mac_wakeup_from_rne instead of mac_post_mouse_moved_event.
 -
 -      * macterm.c (mac_query_char_extents) [USE_ATSUI]: Don't call
 -      ATSUGetGlyphBounds if not necessary.
 -      (Vmac_atsu_font_table) [USE_ATSUI]: Remove variable.
 -      (syms_of_macterm) [USE_ATSUI]: Don't defvar it.
 -      (fm_get_style_from_font, atsu_find_font_from_family_name)
 -      (atsu_find_font_family_name, mac_atsu_font_face_attributes)
 -      [USE_ATSUI]: New functions.
 -      (init_font_name_table) [USE_ATSUI]: Use atsu_find_font_family_name.
 -      (mac_load_query_font) [USE_ATSUI]: Use atsu_find_font_from_family_name.
 -      Don't get metrics for Latin-1 right half characters.
 -      (mac_load_query_font): Don't load font if space width is not positive.
 -      [TARGET_API_MAC_CARBON] (mac_store_event_ref_as_apple_event):
 -      Use mac_wakeup_from_rne instead of mac_post_mouse_moved_event.
 -      (XTread_socket): Call SelectWindow when unfocused frame is clicked.
 -
 -      * macterm.h (mac_wakeup_from_rne) [TARGET_API_MAC_CARBON]: Add extern.
 -
 -2006-12-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (ignore_mouse_drag_p): New global var.
 -      (some_mouse_moved): Return 0 if it is non-zero.
 -      (make_lispy_event): Generate click event on mouse up if
 -      ignore_mouse_drag_p is non-zero, even if mouse moved.
 -      Clear ignore_mouse_drag_p on mouse down/up.
 -
 -      * xdisp.c (redisplay_window): Set ignore_mouse_drag_p if tool-bar
 -      is resized to avoid generating a mouse drag event.
 -
 -2006-12-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (w32_wnd_proc): Force non-tooltip frames to respect the
 -      minimum tracking size.  Remove non-working old hack to do the same.
 -
 -2006-12-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (handle_user_signal): Move function to keyboard.c.
 -      (main): Use add_user_signal for SIGUSR1 and SIGUSR2.
 -
 -      * keyboard.c (make_lispy_event): Use find_user_signal_name.
 -      (read_avail_input): Store pending user signal events.
 -      (struct user_signal_info): New struct.
 -      (user_signals): New variable.
 -      (add_user_signal, store_user_signal_events)
 -      (find_user_signal_name): New functions.
 -      (handle_user_signal): Move function from emacs.c.  Don't store
 -      USER_SIGNAL_EVENT here, but increment number of pending signals.
 -
 -      * keyboard.h (add_user_signals): Add extern.
 -
 -2006-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <cursor-in-non-selected-windows>:
 -      <default-scroll-up-aggressively, default-scroll-down-aggressively>:
 -      <line-spacing, left-margin>: Doc fixes.
 -
 -      * xdisp.c (syms_of_xdisp) <mode-line-inverse-video>: Doc fix.
 -
 -2006-12-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (show_mouse_face): Never use text cursor in tool-bar.
 -
 -2006-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * abbrev.c (syms_of_abbrev) <last-abbrev-text>:
 -      * buffer.c (syms_of_buffer) <default-major-mode>:
 -      * keymap.c (Flookup_key):
 -      * lread.c (Feval_buffer, Feval_region):
 -      * macterm.c (syms_of_macterm) <x-use-underline-position-properties>:
 -      <x-underline-at-descent-line, mac-emulate-three-button-mouse>:
 -      * marker.c (Fmarker_insertion_type):
 -      * minibuf.c (syms_of_minibuf) <minibuffer-completion-table>:
 -      * msdos.c (syms_of_msdos) <delete-exited-processes>:
 -      * w32term.c (syms_of_w32term) <x-use-underline-position-properties>:
 -      <x-underline-at-descent-line>:
 -      * xdisp.c (format-mode-line):
 -      * xterm.c (syms_of_xterm) <x-use-underline-position-properties>:
 -      <x-underline-at-descent-line>: Doc fixes.
 -
 -2006-12-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * systime.h (EMACS_GET_TIME): Remove check for
 -      HAVE_STRUCT_TIMEZONE which is never defined.
 -
 -2006-12-10  Alan Mackenzie  <acm@muc.de>
 -
 -      * syntax.c (Fpartial_parse_sexp): Correct Docco: Elt 8 of the
 -      result is now neither the last elt nor optional for OLDSTATE.
 -
 -2006-12-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (Fsignal_process): Doc fix.  Use XFLOAT_DATA to
 -      extract the process ID from a Lisp float.
 -
 -2006-12-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (XTframe_raise_lower): Comment out _NET_ACTIVE_WINDOW code.
 -
 -2006-12-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.h (PIX_TYPE): Redefine as `unsigned long', for 64-bit
 -      platforms where long is 64-bit.
 -
 -      * msdos.h (PIX_TYPE): Redefine as `unsigned long'.
 -
 -2006-12-08  NAKAJI Hiroyuki  <nakaji@jp.freebsd.org>  (tiny change)
 -
 -      * m/amdx86-64.h: Add support for Solaris 10 on x86-64.
 -
 -2006-12-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_query_font): Use xstricmp instead off strcasecmp.
 -
 -2006-12-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (syms_of_emacs) <system-type>: Doc fix.
 -
 -2006-12-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (parse_signal): Use xstricmp instead of strcasecmp.
 -      (Fsignal_process): Don't use strncasecmp.
 -
 -2006-12-05  Glenn Morris  <rgm@gnu.org>
 -
 -      * abbrev.c (Qforce): New Lisp_Object.
 -      (Fdefine_abbrev): Do not overwrite non-system abbrevs with system
 -      abbrevs, unless 'force is applied.
 -      (syms_of_abbrev): Add Qforce.
 -
 -2006-12-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (parse_signal): Rename macro from handle_signal.
 -      (Fsignal_process): Also accept lower-case variants of signal
 -      names (to align with signal names generated by Emacs itself).
 -
 -      * emacs.c (handle_USR1_signal, handle_USR2_signal): Replace by...
 -      (handle_user_signal): ... this, which generates two USER_SIGNAL_EVENTs
 -      first with code == 0 [signal] and one with code == sig number.
 -      (main): Use it as handler for SIGUR1 and SIGUSR2.
 -
 -      * keyboard.c (kbd_buffer_store_event_hold): Don't throw-on-input
 -      if first event in [signal xxx] sequence.
 -      (lispy_user_signals, Qusr1_signal, Qusr2_signal): Remove.
 -      (syms_of_keyboard): Don't intern and staticpro them.
 -      (Qsignal): Declare here.
 -      (syms_of_keyboard): Intern and staticpro it.
 -      (make_lispy_event): Use it.  Intern symbols on the fly for other
 -      USER_SIGNAL_EVENTs events.
 -
 -      * process.c (Qsignal): Declare extern.
 -      (syms_of_process): Don't intern/staticpro it here.
 -
 -      * process.c (read_process_output): Abort if carryover < 0.
 -
 -2006-12-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * config.in: Regenerate.
 -
 -      * fileio.c [__NetBSD__]: Don't define `unix'.
 -      (Funix_sync, syms_of_fileio): Use `#ifdef HAVE_SYNC' instead of
 -      `#ifdef unix'.
 -
 -2006-12-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (version): New variable, set by configure.
 -      (bootstrapclean, mostlyclean): Also remove emacs-${version}.
 -
 -2006-12-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Handle modifying a toolbar item
 -      without an image.
 -
 -2006-12-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (Fw32_shell_execute): Doc fix.
 -
 -2006-11-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): Correctly count tab glyphs for continued
 -      lines ending in tab.
 -
 -2006-11-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_raise_frame): Move setting of _NET_ACTIVE_WINDOW
 -      property ...
 -      (XTframe_raise_lower): ... to here.
 -
 -2006-11-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (regex_compile): Fix previous change.
 -
 -2006-11-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c (Fplay_sound_internal): Remove spurious newline in docstring.
 -
 -2006-11-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * config.in: Regenerate.
 -
 -2006-11-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (regex_compile): Don't call SET_LIST_BIT with a
 -      multibyte character.
 -
 -2006-11-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * s/aix4-2.h: Undefine _NO_PROTO.  Suggested by Joe Buehler.
 -
 -2006-11-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (set_window_buffer): Refactor recent changes.
 -
 -2006-11-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_msg_worker): Declare correctly.
 -      (w32_initialize): Don't cast w32_msg_worker.
 -
 -      * w32fns.c (w32_msg_worker): Define as WINAPI and arg as void pointer.
 -
 -2006-11-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/amdx86-64.h: Look for standard libs in /usr/lib64 only if that
 -      directory exists.
 -
 -2006-11-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w16select.c (Fw16_set_clipboard_data): Fix the call to sit_for
 -      as per the calling sequence change on 2006-07-11.
 -
 -2006-11-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * window.c (set_window_buffer): Use BLOCK_INPUT.
 -
 -2006-11-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (substring_both): Add missing address operator.
 -
 -2006-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c: Use AREF/ASIZE macros.
 -      (concat): Provide the full ANSI prototype.
 -
 -2006-11-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
 -
 -2006-11-23  William Smith  <William.Smith@global360.com>  (tiny change)
 -
 -      * strftime.c (HAVE_SYS__MBSTATE_T_H): Fix typo.
 -
 -2006-11-22  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
 -
 -      * s/openbsd.h (LD_SWITCH_SYSTEM): Remove /usr/pkg/lib and
 -      /usr/pkg/lib from the library search path.
 -      (LD_SWITCH_X_DEFAULT): New macro.
 -
 -2006-11-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * window.c (set_window_buffer): Clear mouse highlight if it is in
 -      this window.
 -
 -2006-11-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_default_face): Check if the default font name
 -      exists on this display before trying to use it.
 -
 -2006-11-21  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c: Break line before &&, not after.
 -
 -2006-11-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fns.c (concat) [!__GNUC__]: Add prototype.
 -
 -2006-11-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Fread_file_name_internal): Use SBYTES (not SCHARS) to
 -      check the tailing slash of a filename.
 -
 -2006-11-20  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>  (tiny change)
 -
 -      * indent.c (Fvertical_motion): Include composition in the case of
 -      overshoot expected.
 -
 -2006-11-19  Andreas Schwab  <schwab@gnu.org>
 -
 -      * xfaces.c (Fdisplay_supports_face_attributes_p): Initialize supports.
 -
 -      * xmenu.c (Fx_popup_menu): Initialize selection.
 -
 -2006-11-18  Andreas Schwab  <schwab@suse.de>
 -
 -      * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Update call to mark_memory.
 -
 -2006-11-17  Tetsurou Okazaki  <okazaki@be.to>  (tiny change)
 -
 -      * xterm.c (do_ewmh_fullscreen): Declare variable before XSETFRAME
 -      to avoid gcc 2.96 error.
 -
 -2006-11-17  NIIMI Satoshi  <sa2c@sa2c.net>  (tiny change)
 -
 -      * search.c (simple_search): In the loop of backward searching,
 -      check also the byte position against the limit.
 -
 -2006-11-14  Romain Francoise  <romain@orebokech.com>
 -
 -      * minibuf.c (Fcompleting_read): Fix typo in docstring.
 -
 -2006-11-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_convert_region): Initialize coding->heading_ascii.
 -      (decode_coding_string, code_convert_region): Likewise.
 -
 -2006-11-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * config.in: Regenerate.
 -
 -      * macfns.c (Fx_display_mm_height, Fx_display_mm_width)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
 -      && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if
 -      CGDisplayScreenSize is available.
 -
 -      * macmenu.c (menu_quit_handler, install_menu_quit_handler):
 -      Replace `#ifdef HAVE_CANCELMENUTRACKING' with
 -      `#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030'.
 -      (install_menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
 -      && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if
 -      CancelMenuTracking is available.
 -
 -      * macterm.c [USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
 -      && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if
 -      CGContextShowGlyphsWithAdvances is available.
 -
 -2006-11-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * s/ms-w32.h: Define HAVE_INET_SOCKETS.
 -
 -2006-11-13  Nozomu Ando  <nand@mac.com>
 -
 -      * alloc.c (mark_memory): New argument OFFSET.  All uses changed.
 -      Fix address calculations for case END < START.
 -      (mark_stack): Impose Lisp_Object alignment on jmp_buf.
 -
 -2006-11-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (Fencode_sjis_char, Fencode_big5_char):
 -      Improve argument/docstring consistency.
 -
 -      * editfns.c (Fmessage): Doc fixes.
 -
 -      * process.c (syms_of_process) <delete-exited-processes>: Doc fix.
 -
 -2006-11-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xmenu.c (popup_activated): Define outside HAVE_MENUS.
 -
 -2006-11-12  Romain Francoise  <romain@orebokech.com>
 -
 -      * xselect.c (selection-coding-system): Fix docstring.
 -
 -2006-11-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * category.c (Fchar_category_set): Improve arg/docstring consistency.
 -
 -      * data.c (Flogxor):
 -      * fns.c (Frandom, Flength, Fsafe_length, Fstring_bytes)
 -      (Fstring_equal, Fcompare_strings, Fstring_lessp, Fcopy_sequence)
 -      (Fstring_make_unibyte): Fix typos in docstrings.
 -
 -2006-11-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Fix indentation.
 -
 -      * xterm.c (do_ewmh_fullscreen, XTfullscreen_hook): New functions.
 -      (x_check_fullscreen): Call do_ewmh_fullscreen.
 -      (x_initialize): Set fullscreen_hook to XTfullscreen_hook.
 -
 -      * frame.c (x_set_fullscreen): Call fullscreen_hook if set.
 -
 -      * term.c: Define fullscreen_hook.
 -      (syms_of_term): Initialize fullscreen_hook to NULL.
 -
 -      * termhooks.h: Add fullscreen_hook.
 -
 -2006-11-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * bytecode.c (Fbyte_code):
 -      * data.c (Fmakunbound): Use SYMBOL_CONSTANT_P macro.
 -
 -2006-11-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (syms_of_lread):
 -      * xsmfns.c (syms_of_xsmfns): Fix typo in docstring.
 -
 -2006-11-06  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * macmenu.c (Fmenu_or_popup_active_p): Define outside HAVE_MENUS.
 -
 -      * w32menu.c (Fmenu_or_popup_active_p): Define outside HAVE_MENUS.
 -      Return nil if building without menus.
 -
 -      * xmenu.c (Fmenu_or_popup_active_p): Define outside HAVE_MENUS.
 -      Return nil if building without menus.
 -
 -2006-11-05  Mark Davies  <mark@mcs.vuw.ac.nz>  (tiny change)
 -
 -      * s/netbsd.h (POSIX_SIGNALS): Define.
 -
 -2006-11-05  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * macmenu.c (Fmenu_or_popup_active_p): New function.
 -      (syms_of_macmenu): Defsubr it.
 -
 -      * w32menu.c (Fmenu_or_popup_active_p): New function.
 -      (syms_of_w32menu): Defsubr it.
 -      (popup_activated_flag, popup_activated): Remove.
 -
 -      * xdisp.c (note_mouse_highlight) [HAVE_NTGUI]: Don't bother to
 -      check popup_activated.
 -
 -      * xmenu.c (Fmenu_or_popup_active_p): New function.
 -      (syms_of_xmenu): Defsubr it.
 -
 -2006-11-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (malloc_cookie): Remove unused variable.
 -      (region_list_head, region_list_tail, lca, nlc, infile_lc_highest_addr)
 -      (text_seg_lowest_offset, mh, curr_header_offset, infd, outfd)
 -      (emacs_zone, data_segment_old_fileoff, data_segment_scp)
 -      (num_unexec_regions, unexec_regions): Make variables static.
 -      (print_regions, find_emacs_zone_regions): Make static.
 -      (unexec_region_info): New typedef.
 -      (unexec_regions): Change type from vm_range_t[] to unexec_region_info[].
 -      All uses changed.
 -      (unexec_regions_recorder): Subtract size of trailing null pages from
 -      filesize.  Show filesize.
 -      (unexec_regions_merge): Don't merge if null pages of preceding region
 -      is not too small.  Use long format in printf.
 -      (copy_segment, copy_data_segment): Show filesize.
 -      (copy_data_segment): Write filesize bytes of region data.
 -      Adjust filesize in segment command accordingly.
 -      (dump_it): Use long format in printf.
 -
 -2006-11-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dosfns.c (Finsert_startup_screen):
 -      * fns.c (Ffeaturep, syms_of_fns):
 -      * frame.c (syms_of_frame): Fix typos in docstrings.
 -
 -      * unexcw.c (unexec): Fix typo in output message.
 -
 -2006-11-04  Ralf Angeli  <angeli@caeruleus.net>
 -
 -      * w32fns.c (w32_createwindow): Remove code for handling -geometry
 -      command line option and `initial-frame-alist' which is superfluous
 -      after the last change to `w32_createwindow'.
 -
 -2006-11-04  Slawomir Nowaczyk  <slawek@cs.lth.se>  (tiny change)
 -
 -      * w32proc.c (sys_wait): Only wait for processes with fd<0.
 -      Others should be handled by sys_select instead.  Fixes problems
 -      with (progn (start-process "" nil "ls") (call-process "ls")).
 -
 -2006-11-04  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 -
 -      * xmenu.c (Fmenu_bar_open): Declare variable before BLOCK_INPUT to
 -      avoid gcc 2.95 error.
 -
 -2006-11-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * gtkutil.c (update_frame_tool_bar): If icon image is invalid and
 -      wicon is null, insert an empty button.
 -
 -2006-11-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_raise_frame): Send _NET_ACTIVE_WINDOW when raising the
 -      window.
 -
 -2006-11-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (Fkill_emacs): Fix typo in docstring.
 -
 -2006-11-02  Nozomu Ando  <nand@mac.com>
 -
 -      * unexmacosx.c (mach_header, segment_command, vm_region, section)
 -      [_LP64]: New defines.
 -      (VM_REGION_BASIC_INFO_COUNT, VM_REGION_BASIC_INFO, LC_SEGMENT)
 -      (MH_MAGIC) [_LP64]: Redefine.
 -      (delta): Remove variable.
 -      (curr_file_offset, pagesize): New variables.
 -      (ROUNDUP_TO_PAGE_BOUNDARY): New macro.
 -      (data_segment_old_fileoff): Initialize explicitly.
 -      (print_region, unexec_regions_recorder, print_load_command_name)
 -      (copy_segment, copy_data_segment): Use long format in printf.
 -      (MAX_UNEXEC_REGIONS): Increase to 400.
 -      (unexec_regions_recorder): Don't warn too many regions here.
 -      (find_emacs_zone_regions): Warn too many regions here.
 -      (print_load_command_name) [_LP64]: Show correct load command name.
 -      (copy_segment, copy_data_segment): Use variable `curr_file_offset'.
 -      Show starting virtual memory address.  Don't show ending file offset.
 -      (copy_symtab, copy_dysymtab, copy_twolevelhints): New argument DELTA.
 -      (dump_it): Use new local variable `linkedit_delta' and pass to them.
 -      Error if trying to handle multiple DATA segments.
 -      (unexec): Initialize variable `pagesize'.
 -
 -2006-11-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (Fcatch): Doc fix.
 -
 -2006-10-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [MAC_OS] (image_load_qt_1, xpm_scan, xpm_make_color_table_v)
 -      (xpm_put_color_table_v, xpm_get_color_table_v, xpm_make_color_table_h)
 -      (xpm_put_color_table_h, xpm_get_color_table_h, xpm_str_to_color_key)
 -      (xpm_load_image): Add const qualifier to arguments.
 -      [MAC_OS] (xpm_color_key_strings): Make static const.
 -
 -      * mac.c (create_apple_event_from_event_ref)
 -      (create_apple_event_from_drag_ref, skip_white_space, parse_comment)
 -      (parse_include_file, parse_binding, parse_component)
 -      (parse_resource_name, parse_value, parse_resource_line)
 -      (xrm_merge_string_database, xrm_get_resource)
 -      (xrm_get_preference_database): Add const qualifier to arguments.
 -      [MAC_OSX] (sys_select): Make variable `context' static const.
 -
 -      * macfns.c (mac_color_map): Make static const.
 -      (mac_color_map_lookup): Add const qualifier to arguments.
 -
 -      * macmenu.c (install_menu_quit_handler): Make variable `typesList'
 -      static const.
 -      (name_is_separator): Add const qualifier to arguments.
 -
 -      * macselect.c (init_service_handler): Make variable `specs' static
 -      const.
 -
 -      * macterm.c (mac_create_bitmap_from_bitmap_data): Make variable
 -      `swap_nibbles' static const.
 -      (atsu_get_text_layout_with_text_ptr): Make variables `lengths',
 -      `tags', `sizes', `values' static const.
 -      (mac_draw_string_common): Make variables `context' static.
 -      Make variables `tags', `sizes', and `values' static const.
 -      (pcm_get_status, x_detect_focus_change, x_scroll_bar_handle_click)
 -      (xlfdpat_create, xlfdpat_block_match_1, xlfdpat_match)
 -      (mac_to_x_fontname, parse_x_font_name, add_mac_font_name)
 -      (mac_do_list_fonts, is_fully_specified_xlfd, do_grow_window)
 -      (mac_store_event_ref_as_apple_event, mac_make_rdb): Add const
 -      qualifier to arguments.
 -      (xlfd_scalable_fields, keycode_to_xkeysym_table)
 -      (fn_keycode_to_keycode_table): Make static const.
 -      (mac_load_query_font): Make variables `tags', `sizes', `values',
 -      `types', and `selectors' static const.
 -      (mac_handle_command_event, mac_handle_window_event):
 -      Make variables `names' and `types' static const.
 -      (init_command_handler, install_window_handler): Make variables
 -      `specs*' static const.
 -      (mac_handle_font_event, mac_handle_text_input_event)
 -      (mac_store_service_event): Make variables `names' and `types'
 -      const.  Make variables `names_*' and `types_*' static const.
 -
 -      * macterm.h (create_apple_event_from_event_ref)
 -      (create_apple_event_from_drag_ref, xrm_merge_string_database)
 -      (xrm_get_resource, xrm_get_preference_database): Add const
 -      qualifier to arguments in externs.
 -
 -2006-10-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (xic_create_xfontset): Fix previous change.
 -
 -2006-10-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * s/openbsd.h (LD_SWITCH_SYSTEM): Add /usr/pkg/lib and
 -      /usr/pkg/lib to library search path.
 -
 -2006-10-29  Mark Davies  <mark@mcs.vuw.ac.nz>  (tiny change)
 -
 -      * ralloc.c (relinquish): Use a long for excess space counter to
 -      handle 64-bit case correctly.
 -
 -2006-10-29  Jeramey Crawford  <jeramey@jeramey.com>
 -
 -      * m/amdx86-64.h: Add defines for OpenBSD x86-64.
 -
 -2006-10-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fdisplay_buffer): Fix typo in docstring.
 -
 -2006-10-27  Ben North  <ben@redfrontdoor.org>  (tiny change)
 -
 -      * w32term.c (x_draw_glyph_string_foreground): Set background mode
 -      to TRANSPARENT before using overstrike to simulate bold faces.
 -
 -      * xfaces.c (best_matching_font): Fix logic to decide whether to
 -      use overstriking to simulate bold-face (it was reversed).
 -
 -2006-10-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (remember_mouse_glyph): Do nothing if glyphs are not
 -      initialized.
 -
 -      * keyboard.c (read_char): Make an element (t . EVENT) in
 -      unread-command-events add EVENT to the current command's key sequence.
 -      (syms_of_keyboard) <unread-command-events>: Update doc.
 -
 -2006-10-21  Richard Stallman  <rms@gnu.org>
 -
 -      * minibuf.c (Vread_expression_map): Define here.
 -      (Qread_expression_history): New variable.
 -      (syms_of_minibuf): Initialize them.
 -      (Feval_minibuffer): Use Vread_expression_map and
 -      Qread_expression_history.
 -
 -2006-10-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (xic_create_fontsetname): If ADSTYLE field is not a wild
 -      card, change it to "*".
 -      (xic_create_xfontset): Call XCreateFontSet for each single
 -      fontname in fontsetname.
 -
 -2006-10-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callint.c (callint_message): Convert to a Lisp string.
 -      (syms_of_callint): Initialize it.
 -      (callint_message_size): Var deleted.
 -      (Fcall_interactively): Use Fformat instead of doprnt to construct
 -      prompt string.
 -
 -2006-10-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (display_mode_line): Clear enabled_p flag on mode-line row.
 -
 -2006-10-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Vmac_carbon_version_string) [TARGET_API_MAC_CARBON]:
 -      New variable.
 -      (syms_of_macfns) [TARGET_API_MAC_CARBON]: Defvar it.
 -
 -2006-10-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (x_handle_selection_request): If the converted_selection
 -      is nil or XCDR (converted_selection) is nil, decline the request.
 -
 -2006-10-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (get_utf8_string): Remove warnings with casts.
 -      (xg_tool_bar_button_cb): Ditto.
 -      (xg_tool_bar_callback): Ditto.
 -
 -2006-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Remove unused
 -      variable ch_dim.
 -      (adjust_frame_glyphs_for_window_redisplay): Likewise.  Don't allocate
 -      menu bar window matrices on non-X systems.
 -
 -      * mac.c (Fmac_get_preference, Fmac_code_convert_string): Add GCPROs.
 -
 -      * macterm.c (mac_query_char_extents): Don't return glyph ID if layout
 -      adjustment is needed.
 -      (mac_load_query_font): Check if width and height are positive.
 -
 -2006-10-14  Richard Stallman  <rms@gnu.org>
 -
 -      * sysdep.c (init_sys_modes): Delete DEFVAR_LISP in the wrong place.
 -
 -2006-10-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (decode_mode_spec): Ignore %c and %l constructs in frame
 -      title.
 -
 -2006-10-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fkey_binding): Check Lisp_Object types before doing
 -      XCAR and XINT.
 -
 -2006-10-12  Romain Francoise  <romain@orebokech.com>
 -
 -      * image.c (xbm_read_bitmap_data): Delete extra semicolon.
 -
 -2006-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c: Include xterm.h for x_fully_uncatch_errors and friends.
 -
 -      * dispextern.h: Declare x_create_bitmap_from_xpm_data.
 -
 -      * xterm.c (x_check_expected_move): Remove unused var `count'.
 -
 -      * xmenu.c (syms_of_xmenu): Use Ffset rather than Fdefalias, since
 -      Fdefalias is not declared in any *.h file.
 -
 -2006-10-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (sit_for): Sit forever if TIMEOUT is t.
 -
 -      * keyboard.c (command_loop_1): Handle non-number values of
 -      `minibuffer-message-timeout'.
 -      (Fexecute_extended_command): Fix typo.
 -
 -      * minibuf.c (temp_echo_area_glyphs): Sit for
 -      `minibuffer-message-timeout' seconds.
 -
 -2006-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_draw_image_string, mac_draw_image_string_16):
 -      Add argument OVERSTRIKE_P.
 -      (mac_draw_string_common, mac_draw_image_string_cg): Likewise.
 -      Support overstrike.
 -      (mac_draw_string, mac_draw_string_16): Remove functions.
 -      (x_draw_glyph_string_foreground): Use overstrike when needed.
 -      (x_draw_composite_glyph_string_foreground): Likewise.
 -      Use mac_draw_image_string_16 instead of mac_draw_string_16.
 -      (mac_load_query_font): Rename from XLoadQueryFont.  Take argument
 -      F instead of DPY.  All uses changed.  Don't save/restore font.
 -
 -2006-10-07  Ralf Angeli  <angeli@caeruleus.net>
 -
 -      * w32fns.c (w32_createwindow): Honour left and top positions if
 -      supplied explicitly.
 -
 -2006-10-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pos_visible_p): Fix value when EOB is visible.
 -
 -2006-10-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qinhibit_face_set_after_frame_default): New var.
 -      (syms_of_frame): Initialize it.
 -      (x_set_frame_parameters): Avoid resetting :font attributes to the
 -      new-frame defaults.
 -
 -2006-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (clear_regexp_cache): Declare.
 -
 -      * search.c (compile_pattern): Only check `cp->syntax_table' if needed.
 -      (compile_pattern_1): Remember `used_syntax' in `cp->syntax_table'.
 -      (clear_regexp_cache): Only flush those regexps which depend on
 -      a syntax-table.
 -
 -      * regex.c (regex_compile): Set the new `used_syntax' bit.
 -
 -      * regex.h: Remove file local variables.
 -      (struct re_pattern_buffer): New field `used_syntax'.
 -
 -2006-10-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (list_processes_1): Run sentinels before removing dead
 -      processes.  Also remove `closed' network connections.
 -
 -2006-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (handle_fontified_prop): Don't fontify at EOB.
 -
 -2006-09-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * config.in: Regenerated.
 -
 -2006-09-29  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (syms_of_buffer): Reorder coding systems in the
 -      docstring of %z to the real order displayed in the modeline.
 -
 -2006-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fdefine_key): Yet another int/Lisp_Object mixup (YAILOM).
 -
 -2006-09-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Do move back if the Lisp string
 -      being displayed contains newlines.
 -
 -2006-09-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_compute_glyph_string_overhangs, XLoadQueryFont)
 -      [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw before QDTextBounds.
 -
 -2006-09-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (Fsingle_key_description): For an invalid char, return
 -      "Invalid char code NNNNN".
 -
 -2006-09-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callint.c (Fcall_interactively): Doc fix.
 -
 -2006-09-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_underline_at_descent_line): New variable.
 -      (syms_of_macterm): DEFVAR_BOOL it.
 -      (x_draw_glyph_string): Use it.
 -      (XLoadQueryFont): Calculate min_bounds.descent and max_bounds.descent.
 -
 -2006-09-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (Fsingle_key_description): Return unique names for
 -      generic characters.
 -
 -2006-09-24  Richard Stallman  <rms@gnu.org>
 -
 -      * search.c (compile_pattern_1): Don't BLOCK_INPUT.
 -
 -2006-09-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/fns.$(O), $(BLD)/w32proc.$(O)):
 -      Depend on nt/inc/langinfo.h and nt/inc/nl_types.h.
 -
 -      * w32proc.c (nl_langinfo): New function.
 -
 -      * w32fns.c (w32-pass-alt-to-system, w32-alt-is-meta)
 -      (w32-pass-lwindow-to-system, w32-enable-num-lock)
 -      (w32-enable-caps-lock, w32-scroll-lock-modifier)
 -      (w32-lwindow-modifier, w32-rwindow-modifier)
 -      (w32-apps-modifier, w32-mouse-button-tolerance): Doc fix.
 -
 -2006-09-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Finternal_complete_buffer, Fread_minibuffer)
 -      (Fdisplay_completion_list): Fix typos in docstrings.
 -
 -2006-09-23  Romain Francoise  <romain@orebokech.com>
 -
 -      * s/gnu-linux.h (MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
 -
 -2006-09-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (Fmap_keymap): Docstring mentions about generic character.
 -
 -2006-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * regex.c (analyse_first): For eight-bit-control chars, mark both the
 -      char's value and its leading byte in the fastmap.
 -      (re_search_2): When fast-scanning without translation, be careful to
 -      check that we only match the leading byte of a multibyte char.
 -
 -      * charset.h (PREV_CHAR_BOUNDARY): Make it work from within a char's
 -      byte sequence.
 -      (AT_CHAR_BOUNDARY): New macro.
 -
 -2006-09-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (optimize_sub_char_table): Don't optimize a sub-char-table
 -      whose default value is non-nil.
 -
 -2006-09-22  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Only show C-l help for
 -      Gtk+ versions < 2.10.
 -
 -      * xfns.c (syms_of_xfns): Fix typo in help text for
 -      x-gtk-file-dialog-help-text.
 -
 -2006-09-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (Fmemq): Refill doc string.
 -      (Fmemql): New defun, like memq but using eql.
 -      (syms_of_fns): Defsubr it.
 -
 -2006-09-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pos_visible_p): CHARPOS < 0 means return info for
 -      last visible glyph in window.
 -
 -      * window.c (Fset_window_hscroll, Fwindow_line_height):
 -      Doc fix.  Use "off-window" instead of "off-screen".
 -      (Fpos_visible_in_window_p): Likewise.
 -      If POS is t, return info for last visible glyph in window.
 -
 -2006-09-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * search.c (struct regexp_cache): New entry syntax_table.
 -      (compile_pattern_1): Set it.
 -      (syms_of_search): Initialize it.
 -      (compile_pattern): Require the syntax_table entry of the cache
 -      element to match the current syntax table entry.
 -
 -2006-09-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fwindow_end): Fix recent change.
 -
 -2006-09-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fset_window_hscroll, Fpos_visible_in_window_p):
 -      Doc fix.  Use "off-screen" instead of "invisible".
 -      (Fwindow_line_height): Make line numbers 0-based.  Make line arg
 -      optional; if nil, use current cursor row.  Handle text terminals
 -      properly.  Return nil if non-interactive or pseudo-window.
 -
 -2006-09-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c: Include alloca.h if available.
 -      (Fkey_binding): Only use AREF after checking it's a vector.
 -      Remove unused var `window'.
 -
 -2006-09-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (shut_down_emacs) [!subprocesses]: Don't set
 -      inhibit_sentinels.
 -
 -      * mac.c [!MAC_OSX] (select): Fix argument name.
 -
 -      * macmenu.c (enum mac_menu_kind, min_menu_id): New enumerator and
 -      menu ID for Apple menu.
 -      (menubar_selection_callback): Remove function.
 -      (find_and_call_menu_selection): New function from xmenu.c.
 -      (x_activate_menubar): Use it.
 -      (set_frame_menubar): Don't use f->output_data.mac->menubar_active.
 -
 -      * macterm.c (menubar_selection_callback): Remove extern.
 -      (M_APPLE): Change to 234.
 -      (do_apple_menu) [!TARGET_API_MAC_CARBON]: Make non-static.
 -      (do_menu_choice): Remove function.
 -
 -      * macterm.h (struct mac_output): Remove member menubar_active.
 -      (do_menu_choice): Remove extern.
 -      (do_apple_menu) [!TARGET_API_MAC_CARBON]: Add extern.
 -
 -2006-09-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (syms_of_xfns): Rename x_gtk_show_chooser_help_text to
 -      x_gtk_file_dialog_help_text.
 -
 -      * gtkutil.c (xg_uses_old_file_dialog): Rename x-use-old-gtk-file-dialog
 -      to x-gtk-use-old-file-dialog.
 -      (xg_get_file_with_chooser): Rename x_gtk_show_chooser_help_text to
 -      x_gtk_file_dialog_help_text.
 -
 -      * xfns.c (syms_of_xfns): Ditto.
 -
 -2006-09-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fwindow_line_visibility): Remove.
 -      (Fwindow_line_height): New defun replacing it.
 -      (syms_of_window): Defsubr it.
 -
 -2006-09-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (SELECT_USE_CFSOCKET) [MAC_OSX]: Set default to 1.
 -      [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Fix pointer type.
 -
 -2006-09-17  Jay Belanger  <belanger@truman.edu>
 -
 -      * gmalloc.c:
 -      * md5.c:
 -      * md5.h:
 -      * strftime.c: Replace "GNU Library General Public License" by "GNU
 -      General Public License" throughout.
 -
 -2006-09-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (update_text_area): Undo 2000-07-18 change.
 -      Always redrawing whole row if line has mouse-face in it causes
 -      excessive flickering of the mode line.
 -
 -2006-09-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * search.c (clear_regexp_cache): New function.
 -
 -      * syntax.c (Fmodify_syntax_entry): Clear regexp cache.
 -
 -2006-09-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_with_chooser):
 -      Check x-gtk-show-chooser-help-text before adding the help text.
 -
 -      * xfns.c (syms_of_xfns): New variable: x-gtk-show-chooser-help-text.
 -
 -      * gtkutil.c (get_utf8_string): Try harder to convert to UTF8.  Gtk+
 -      will simply crash if we fail.
 -
 -2006-09-16  Richard Stallman  <rms@gnu.org>
 -
 -      * regex.c (re_compile_pattern): Set gl_state.current_syntax_table.
 -
 -2006-09-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fwindow_line_visibility): New defun for line-move-partial.
 -      (syms_of_window): Defsubr it.
 -      (Fwindow_end): Use window's buffer rather than current buffer.
 -
 -2006-09-15  Jay Belanger  <belanger@truman.edu>
 -
 -      * COPYING: Replace "Library Public License" by "Lesser Public
 -      License" throughout.
 -
 -2006-09-15  David Kastrup  <dak@gnu.org>
 -
 -      * Makefile.in (keymap.o): Add "keymap.h" and "window.h" dependencies.
 -
 -      * keymap.c: include "window.h".
 -      (Fcommand_remapping): New optional POSITION argument.
 -      (Fkey_binding): New optional POSITION argument.  Completely rework
 -      handling of mouse clicks to get the same order of keymaps as
 -      `read-key-sequence' and heed POSITION.  Also temporarily switch
 -      buffers to location of mouse click and back.
 -
 -      * keyboard.c (command_loop_1): Adjust call of `Fcommand_remapping'
 -      for additional argument.
 -      (parse_menu_item): Adjust call of `Fkey_binding' for additional
 -      argument.
 -      (read_key_sequence): If there are both `local-map' and `keymap'
 -      text properties at some buffer position, heed both.
 -
 -      * keymap.h: Declare additional optional arguments of
 -      `Fcommand_remapping' and `Fkey_binding'.
 -
 -2006-09-15  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * indent.c (Fcurrent_column, Findent_to): Fix typos in docstring.
 -
 -2006-09-14  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c: Whitespace fixup.
 -
 -2006-09-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (produce_image_glyph): Automatically crop wide images at
 -      right window edge so we can draw the cursor on the same row to
 -      avoid confusing redisplay by placing the cursor outside the visible
 -      window area.
 -
 -2006-09-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_initialize): Don't install Xt event timer here.
 -      (x_timeout_atimer_activated_flag): New var.
 -      (x_activate_timeout_atimer): New function to install Xt timer.
 -      (x_send_scroll_bar_event, x_process_timeouts): Use it.
 -
 -      * xmenu.c (x_menu_set_in_use, popup_activate_callback)
 -      (create_and_show_popup_menu, create_and_show_dialog): Use it.
 -
 -      * xterm.h (x_activate_timeout_atimer): Add prototype.
 -
 -2006-09-13  Richard Stallman  <rms@gnu.org>
 -
 -      * print.c (print_string): When printcharfun is t,
 -      copy string contents and call strout on the copy.
 -
 -      * keyboard.c (read_char): If end_time specified, don't put the
 -      event into this_command_keys.
 -      (read_key_sequence): If Voverriding_terminal_local_map is specified,
 -      don't check Voverriding_local_map at all.
 -
 -2006-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * textprop.c (Fnext_property_change, Fnext_single_property_change)
 -      (Fprevious_property_change, Fprevious_single_property_change):
 -      Avoid changing limit, so we can correctly catch the case where the
 -      property is constant up to limit.
 -
 -2006-09-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (mac_window) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      * macterm.c (XTread_socket) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Undo 2006-09-08 change.
 -
 -2006-09-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fkey_binding): Use string position for string objects.
 -
 -2006-09-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * keymap.c (Fkey_binding): Fix last change.
 -
 -      * editfns.c (Fmessage): Recommend using (message "%s" ...).
 -
 -2006-09-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fkey_binding): Check for local keymap for mouse click
 -      events.
 -
 -2006-09-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (Finput_pending_p): Check Vunread_input_method_events
 -      and Vunread_post_input_method_events.
 -
 -      * dispnew.c (Fredisplay): Document return value.
 -
 -2006-09-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_close_connection): Call xg_display_close when USE_GTK.
 -
 -      * gtkutil.c (xg_display_close): Always change default display if needed,
 -      check for < Gtk+ version 2.10 before calling gdk_display_close.
 -
 -2006-09-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [MAC_OSX] (sys_select): Check argument `nfds' more rigidly.
 -      Make variable `ofds' static.  Remove variable `maxfd'.
 -
 -      * macfns.c (Fx_file_dialog): Remove unused variable `f'.
 -      Call check_mac.
 -
 -      * macmenu.c (Vmenu_updating_frame, syms_of_macmenu):
 -      * w32menu.c (Vmenu_updating_frame, syms_of_w32menu):
 -      Apply 2006-09-08 change for xmenu.c.
 -
 -      * xfns.c (Fx_file_dialog): Call check_x.
 -
 -2006-09-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_window_cursor_type): Use hollow cursor on
 -      non-transparent images.
 -
 -2006-09-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Fsystem_name): Mention "host" in the doc string.
 -      (syms_of_editfns) <system-name>: Likewise.
 -
 -2006-09-08  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * xdisp.c (mouse_autoselect_window): Remove.
 -      (Vmouse_autoselect_window): New variable.  DEFVAR_LISP it.
 -
 -      * dispextern.h (mouse_autoselect_window): Remove extern.
 -      (Vmouse_autoselect_window): Add extern.
 -
 -      * macterm.c (XTread_socket): Test Vmouse_autoselect_window
 -      instead of mouse_autoselect_window.
 -
 -      * msdos.c (dos_rawgetc): Likewise.
 -
 -      * w32term.c (w32_read_socket): Likewise.
 -
 -      * xterm.c (handle_one_xevent): Likewise.
 -
 -2006-09-08  Richard Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (Vmenu_updating_frame): Define here.
 -      (syms_of_xdisp): DEFVAR it here.
 -      (update_menu_bar): Always return hooks_run.
 -      Set Vmenu_updating_frame.
 -
 -      * xdisp.c (redisplay_internal): Test Vinhibit_redisplay
 -      before calculating SELECTED_FRAME.
 -
 -      * xmenu.c (Vmenu_updating_frame): Don't define here.
 -      (syms_of_xmenu): Don't DEFVAR it here.
 -
 -      * xterm.c (x_error_quitter): For BadName error, just return.
 -
 -      * eval.c (find_handler_clause): Give up on debugger if INPUT_BLOCKED_P.
 -
 -      * casetab.c (init_casetab_once): Call set_case_table.
 -
 -      * emacs.c (shut_down_emacs): Set inhibit_sentinels.
 -
 -      * process.c (inhibit_sentinels): New variable.
 -      (exec_sentinel): Test inhibit_sentinels.
 -      (init_process): Initialize it.
 -
 -      * process.h (inhibit_sentinels): Add decl.
 -
 -      * search.c (looking_at_1, string_match_1, search_command):
 -      Make syntax table's canon table point to eqv table.
 -
 -2006-09-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (strout): Fix whitespace.
 -
 -2006-09-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (x_draw_glyph_string): Fix 2006-08-24 change.
 -
 -2006-09-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [!MAC_OSX]: Don't include keyboard.h.
 -      [!MAC_OSX] (select): Try detect_input_pending before ReceiveNextEvent
 -      in the same BLOCK_INPUT block, in case that some input has already
 -      been read asynchronously.  Pretend to be interrupted by a signal
 -      if some input is available.
 -      [MAC_OSX] (select_and_poll_event, sys_select): Likewise.
 -      (SELECT_POLLING_PERIOD_USEC) [SELECT_USE_CFSOCKET]: Change to 100000.
 -      Now used for ReceiveNextEvent timeout instead of select timeout.
 -      (EVENT_CLASS_SOCK) [SELECT_USE_CFSOCKET]: Remove macro.
 -      [SELECT_USE_CFSOCKET] (socket_callback): Add non-blocking connect
 -      support.  Quit event loop.
 -      [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Add non-blocking
 -      connect support.  Reuse previously allocated CFRunLoopSource.
 -      (Fmac_process_hi_command) [TARGET_API_MAC_CARBON]: New function.
 -      (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it.
 -
 -      * macfns.c (mac_window) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
 -      Specify kWindowAsyncDragAttribute.
 -
 -      * macterm.c (mac_handle_origin_change, mac_handle_size_change)
 -      (mac_get_ideal_size): New functions.
 -      (x_set_offset, x_set_window_size, x_make_frame_visible)
 -      (do_zoom_window, mac_handle_window_event, XTread_socket): Use them.
 -      (install_window_handler, mac_handle_window_event)
 -      [USE_CARBON_EVENTS]: Handle kEventWindowGetIdealSize and
 -      kEventWindowBoundsChanged.
 -      (XTread_socket) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Don't call
 -      DragWindow.
 -
 -2006-09-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Override to
 -      use lib64 instead of lib.
 -
 -2006-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in: Avoid double quotes when possible.
 -
 -2006-09-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fformat_time_string): Use make_unibyte_string to make
 -      a Lisp string from the result of emacs_memftimeu call.
 -
 -2006-09-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pos_visible_p): Remove exact_mode_line_heights_p arg;
 -      so calculate heights even when pos-visible-in-window-p is called
 -      with partially = t.  Don't overshoot last_visible_y in move_it_to.
 -      Return row height and row number in new rowh and vpos args.
 -      (cursor_row_fully_visible_p): First line is always "fully visible".
 -      (try_window): Don't clear matrix if vscrolled.
 -
 -      * lisp.h (pos_visible_p): Update prototype.
 -
 -      * window.c (Fpos_visible_in_window_p): Adapt to new pos_visible_p.
 -      Return row height and row number for partially visible rows.
 -      Modify return value to a 2 element list for fully visible rows and
 -      6 for partially visible row.
 -      (window_scroll_pixel_based): Use pos_visible_p directly instead of
 -      Fpos_visible_in_window_p.  Fix auto vscrolling for partially
 -      visible lines.  Only vscroll backwards if already vscrolled
 -      forwards.  Unconditionally vscroll forwards if PT is first (and
 -      only) line.  Set new window start instead of scrolling at
 -      start/end of tall line.
 -
 -2006-09-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (install_window_handler, mac_handle_window_event)
 -      [USE_CARBON_EVENTS]: Handle kEventWindowClose.
 -      [USE_MAC_TSM] (mac_handle_text_input_event): Set modifiers for
 -      ASCII keystroke event.
 -
 -2006-09-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Don't mention specific keys in
 -      the file chooser message.  Only call gtk_file_chooser_set_current_name
 -      when action is SAVE.
 -
 -2006-09-04  Andreas Schwab  <schwab@suse.de>
 -
 -      * Makefile.in: Double all single and back quotes in C-style
 -      comments to help fontifier.
 -
 -2006-09-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (shutdown_handler): New function to exit cleanly on shutdown.
 -      (globals_of_w32): Register it as a signal handler.
 -
 -2006-09-02  Juri Linkov  <juri@jurta.org>
 -
 -      * marker.c (Fmarker_position): Doc fix.
 -
 -2006-09-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * window.c (syms_of_window) <split-height-threshold>:
 -      <window-min-height, window-min-width>: Doc fix.
 -
 -2006-09-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Change file chooser message
 -      for writing files.  Call gtk_file_chooser_set_current_name to keep
 -      default filename.
 -
 -      * minibuf.c (Finternal_complete_buffer): Move after DEFUN:s it calls
 -
 -2006-09-02  Jindrich Makovicka  <makovick@gmail.com>  (tiny change)
 -
 -      * fns.c (concat) [__GNUC__]: Declare with
 -      `__attribute__((noinline))'.
 -
 -      * eval.c (apply1, call2) [__GNUC__]: Declare with
 -      `__attribute__((noinline))'.
 -
 -2006-09-02  Stuart D. Herring  <herring@lanl.gov>
 -
 -      * minibuf.c (Finternal_complete_buffer): New function.
 -      (syms_of_minibuf): Defsubr it.
 -      (Fread_buffer): Use it, instead of Vbuffer_alist.
 -
 -2006-09-01  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.h (struct buffer_text): New field chars_modiff.
 -      (CHARS_MODIFF, BUF_CHARS_MODIFF): New macros.
 -      * buffer.c (Fbuffer_chars_modified_tick): New function returning
 -      value of BUF_CHARS_MODIFF.
 -      (syms_of_buffer): Defsubr it.
 -      (Fget_buffer_create): Initialize BUF_CHARS_MODIFF.
 -      * insdel.c (modify_region): New argument preserve_chars_modiff.
 -      Set CHARS_MODIFF to MODIFF provided preserve_chars_modiff is zero.
 -      (insert_1_both, insert_from_string_1, insert_from_buffer_1)
 -      (adjust_after_replace, adjust_after_replace_noundo)
 -      (replace_range, replace_range_2, del_range_2): Reset CHARS_MODIFF.
 -      * lisp.h (modify_region): Add fourth argument in extern.
 -      * casefiddle.c (casify_region): Call modify_region with fourth
 -      argument zero to assert that CHARS_MODIFF is updated.
 -      * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal)
 -      (Ftranspose_regions): Likewise.
 -      * textprop.c (Fadd_text_properties, Fset_text_properties)
 -      (Fremove_text_properties, Fremove_list_of_text_properties):
 -      Call modify_region with fourth argument 1 to avoid that
 -      CHARS_MODIFF is updated.
 -
 -2006-08-31  Richard Stallman  <rms@gnu.org>
 -
 -      * editfns.c (Fformat): Don't sign-extend for %o or %x.
 -
 -2006-08-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Don't move back if we were
 -      displaying a Lisp string, either.
 -
 -2006-08-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_window_cursor_type) [!HAVE_WINDOW_SYSTEM]:
 -      Don't attempt to replace cursor on image glyphs.
 -
 -2006-08-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fdetect_coding_region, Fdetect_coding_string):
 -      Fix docstring about ISO-2022 control characters.
 -
 -2006-08-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_window_cursor_type): Replace BOX cursor on images
 -      with a hollow box cursor if image is larger than 32x32 (or the default
 -      frame font if that is bigger).  Replace any other cursor on images
 -      with hollow box cursor, as redisplay doesn't support bar and hbar
 -      cursors on images.
 -
 -2006-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Undo previous
 -      change.  Move mutex lock/unlock operations inside BLOCK_INPUT.
 -
 -      * dired.c (directory_files_internal_unwind, directory_files_internal)
 -      (file_name_completion): Add BLOCK_INPUT around opendir/closedir.
 -
 -      * image.c [MAC_OS] (image_load_qt_1): Use ComponentResult instead
 -      of OSErr.
 -
 -      * keyboard.c (in_sighandler): Remove variable.
 -      (Fcurrent_idle_time): Add missing `doc:'.
 -      (input_available_signal, init_keyboard): Undo previous change.
 -
 -      * keyboard.h (in_sighandler): Remove extern.
 -
 -      * mac.c (create_apple_event_from_event_ref, select)
 -      (Fmac_get_file_creator, Fmac_get_file_type, Fmac_set_file_creator)
 -      (Fmac_set_file_type, cfstring_create_normalized)
 -      (mac_get_system_locale, select_and_poll_event, sys_select):
 -      Use OSStatus instead of OSErr.
 -
 -      * macfns.c [TARGET_API_MAC_CARBON] (mac_update_proxy_icon):
 -      Don't use FRAME_FILE_NAME.  Use (FS)UpdateAlias.
 -      (Fx_create_frame): Apply 2006-07-03 for xfns.c.
 -
 -      * macselect.c (get_scrap_from_symbol, clear_scrap, put_scrap_string)
 -      (put_scrap_private_timestamp, scrap_has_target_type, get_scrap_string)
 -      (get_scrap_private_timestamp, get_scrap_target_type_list)
 -      (x_own_selection, x_get_foreign_selection)
 -      (Fx_disown_selection_internal, Fx_selection_owner_p)
 -      (Fx_selection_exists_p): Use OSStatus instead of OSErr.
 -
 -      * macterm.c (mac_draw_string_common, mac_query_char_extents)
 -      (x_iconify_frame, XLoadQueryFont, install_window_handler)
 -      (mac_handle_command_event, init_command_handler, init_menu_bar):
 -      Use OSStatus instead of OSErr.
 -      (x_free_frame_resources) [TARGET_API_MAC_CARBON]: Don't use
 -      FRAME_FILE_NAME.
 -      (x_query_font): Apply 2006-08-04 change for xterm.c.
 -      (Qhi_command): Rename from Qhicommand.  All uses changed.
 -
 -      * macterm.h (struct mac_output) [TARGET_API_MAC_CARBON]: Remove member
 -      file_name.
 -      (FRAME_FILE_NAME): Remove macro.
 -      (install_window_handler, create_apple_event_from_event_ref):
 -      Return OSStatus instead of OSErr.
 -
 -2006-08-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (Fset_buffer_multibyte):
 -      * editfns.c (Fcurrent_time, Fget_internal_run_time):
 -      * macfns.c (Fxw_color_values):
 -      * w32fns.c (Fxw_color_values):
 -      * xfns.c (Fxw_color_values): Simplify; use list3.
 -
 -      * fileio.c (Fmake_directory_internal, Fdelete_directory)
 -      (Fdelete_file): Simplify; use list1.
 -      (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
 -      Simplify; remove NO_ARG_ARRAY stuff, use list2.
 -
 -2006-08-25  Richard Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Fswitch_to_buffer): Fix previous change.
 -
 -2006-08-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (Fcurrent_idle_time): Simplify.
 -
 -2006-08-25  Richard Stallman  <rms@gnu.org>
 -
 -      * fns.c (sxhash_string): Rotate properly; don't lose bits.
 -
 -2006-08-24  Francesc Rocher  <francesc.rocher@gmail.com>
 -
 -      * xdisp.c (overline_margin): New variable.
 -      (x_produce_glyphs): Use it.
 -      (syms_of_xdisp): DEFVAR_INT it.
 -
 -      * xterm.c (x_underline_at_descent_line): New variable.
 -      (syms_of_xterm): DEFVAR_BOOL it.
 -      (x_draw_glyph_string): Use it.
 -      Draw underline and overline up to the end of line if the face
 -      extends to the end of line.
 -
 -      * macterm.c: Likewise.
 -
 -      * w32term.c: Likewise.
 -
 -2006-08-24  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * buffer.c (Fswitch_to_buffer): Move buffer to front of
 -      buffer-alist if necessary.
 -
 -2006-08-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (update_tool_bar): Redisplay toolbar also when only
 -      number of items changes.
 -
 -2006-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fset_buffer_multibyte): Record proper undo entry.
 -
 -2006-08-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c: Clarify difference between in_sighandler and
 -      handling_signal.
 -
 -2006-08-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * macterm.c (x_draw_stretch_glyph_string):
 -      * w32term.c (x_draw_stretch_glyph_string):
 -      * xterm.c (x_draw_stretch_glyph_string): It is ok to draw a
 -      stretch glyph in left marginal areas on header and mode lines.
 -
 -2006-08-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * keyboard.c (syms_of_keyboard): Docstring of
 -      Vunread_post_input_method_events and Vunread_input_method_events
 -      fixed.
 -
 -2006-08-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (show_help_echo): Preserve mouse movement flag if
 -      tracking mouse.
 -
 -2006-08-20  Richard Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (load_pixmap): Add quotes in error message.
 -
 -      * keyboard.c (Fcurrent_idle_time): New function.
 -      (syms_of_keyboard): defsubr it.
 -
 -2006-08-18  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * window.c (Fset_window_fringes): Do nothing on a tty.
 -      (Fwindow_fringes): Put ? operator after the line break.
 -
 -2006-08-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (debug_output_compilation_hack): Fix return type.
 -
 -2006-08-16  Richard Stallman  <rms@gnu.org>
 -
 -      * print.c (debug_output_compilation_hack): New function.
 -
 -2006-08-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (choose_write_coding_system): Use LF for end-of-line
 -      in auto-saving.
 -
 -2006-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char): Don't change idle timer state at all if
 -      end_time is supplied.
 -
 -2006-08-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New arg RET.  If SRC
 -      is exhausted, return with RET.
 -      (detect_coding_emacs_mule, detect_coding_iso2022)
 -      (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
 -      (detect_coding_utf_16, detect_coding_ccl): Adjusted for the above
 -      change.
 -
 -2006-08-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char): Don't reset idle timers if a time limit
 -      is supplied.
 -
 -2006-08-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (pitx): Print iterator position.
 -      Limit stack dump in case iterator is not initialized.
 -
 -2006-08-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (Fmouse_position, Fmouse_pixel_position)
 -      (Fset_mouse_position, Fset_mouse_pixel_position): Doc fix.
 -
 -2006-08-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (Fx_register_dnd_atom): New function.
 -      (syms_of_xselect): Defsubr it.
 -      (x_handle_dnd_message): Check that message_type is in
 -      dpyinfo->x_dnd_atoms before generating lisp event.
 -
 -      * xterm.h (struct x_display_info): Add x_dnd_atoms* to keep track
 -      of drag and drop Atoms.
 -
 -      * xterm.c (x_term_init): Initialize dpyinfo->x_dnd_atoms*
 -
 -2006-08-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c: Define in_sighandler.
 -      (input_available_signal): Set in_sighandler.
 -      (init_keyboard): Initialize in_sighandler.
 -
 -      * keyboard.h: Declare in_sighandler.
 -
 -      * alloc.c (UNBLOCK_INPUT_ALLOC, BLOCK_INPUT_ALLOC): Use in_sighandler
 -      to check if mutex should be locked or not.
 -
 -2006-08-09  Richard Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (keyremap_step): No-op if fkey->parent = nil.
 -      (read_key_sequence): Always start fkey.start and fkey.end at 0,
 -      and likewise for keytran.
 -
 -2006-08-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (syms_of_coding): Improve the docstring
 -      of file-coding-system-alist.
 -
 -2006-08-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1120000.
 -
 -2006-08-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buffer.c (Vchange_major_mode_hook, Qchange_major_mode_hook): New vars.
 -      (Fkill_all_local_variables): Use it.
 -      (syms_of_buffer): Defvar it.
 -
 -2006-08-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (w32_valid_pointer_p): New function.
 -
 -      * w32.h: Add prototype for w32_valid_pointer_p.
 -
 -      * alloc.c: Include w32.h.
 -      (valid_lisp_object_p) [WINDOWSNT]: Call w32_valid_pointer_p to do
 -      the job.
 -
 -      * keyboard.c (kbd_buffer_get_event): Return Qnil when current time
 -      is exactly equal to end_time, not only when it is past that.
 -
 -2006-08-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char): Rebalance specpdl after receiving jump.
 -
 -      * process.c: Reapply 2006-08-01 change.
 -
 -2006-08-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (w32_query_font): Fix last change: use stricmp.
 -
 -2006-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fsubst_char_in_region): Redo the setup work after running
 -      the before-change-functions since they may have altered the buffer.
 -
 -2006-08-04  Ralf Angeli  <angeli@caeruleus.net>
 -
 -      * w32fns.c (w32_createwindow): Handle -geometry command line option
 -      and the geometry settings in the Registry.
 -
 -2006-08-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * w32fns.c (w32_query_font): Compare names by ignoring case.
 -
 -      * xterm.c (x_query_font): Compare names by ignoring case.
 -
 -2006-08-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (w32_menu_show, w32_dialog_show): Call Fsignal to quit
 -      when no option selected.
 -
 -2006-08-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c: Revert last change.
 -
 -2006-08-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (wait_reading_process_output_unwind): New function.
 -      Restores waiting_for_user_input_p to saved value.
 -      (wait_reading_process_output): Unwind protect waiting_for_user_input_p
 -      instead of save/restore old value on stack.
 -
 -2006-07-30  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * editfns.c: Undo 2006-06-27 change.
 -
 -2006-07-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (Ffind_operation_coding_system): Revert the change from
 -      2006-05-29.
 -
 -      * alloc.c [WINDOWSNT]: Include fcntl.h, to fix last change.
 -
 -2006-07-28  Richard Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (lookup_named_face, Fdisplay_supports_face_attributes_p):
 -      Add conditional aborts for clarity.
 -
 -      * xdisp.c (update_menu_bar): New arg HOOKS_RUN.  Callers changed.
 -      Used to avoid running the hooks over and over for each frame.
 -      (prepare_menu_bars): Pass value from update_menu_bar
 -      as HOOKS_RUN of next call.
 -
 -      * keyboard.c (safe_run_hooks_1): Don't crash if Vrun_hooks is nil.
 -
 -2006-07-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (valid_pointer_p): New function (from valid_lisp_object_p).
 -      (valid_lisp_object_p): Use it to check for valid SUBRP obj.
 -
 -2006-07-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char): New arg END_TIME specifying timeout.
 -      All callers changed.  Turn off echoing if END_TIME is non-NULL.
 -      (kbd_buffer_get_event): New arg END_TIME.
 -
 -      * lread.c (read_filtered_event): New arg SECONDS to wait until.
 -      (Fread_char, Fread_event, Fread_char_exclusive): New arg SECONDS.
 -
 -      * lisp.h: Update read-char, read-event, and read_filtered_event
 -      prototypes.
 -
 -      * keyboard.h: Include systime.h.  Update read_char prototype.
 -
 -2006-07-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (find_string_data_in_pure): New function.
 -      (make_pure_string): Use it to reuse existing string data if possible.
 -
 -      * puresize.h (BASE_PURESIZE): Decrease to 1102000.
 -
 -2006-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fdefine_key): If the key binding definition looks like an
 -      XEmacs-style key sequence, convert it to Emacs's format.
 -
 -2006-07-22  Ralf Angeli  <angeli@caeruleus.net>
 -
 -      * w32fns.c (w32_createwindow): If `left' and/or `top' frame
 -      parameters are bound to some values, use that instead of
 -      CW_USEDEFAULT.
 -
 -2006-07-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (convert_time): Use explicit long double constants to
 -      ensure long double arithmetics is used throughout.
 -
 -2006-07-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): New vars.
 -      (init_alloc_once): Initialize them.
 -      (pure_alloc): Allocate non-Lisp objects from the end of pure storage
 -      without alignment.
 -
 -      * puresize.h (BASE_PURESIZE): Decrease to 1141000.
 -
 -2006-07-18  Francis Litterio  <franl@world.std.com>
 -
 -      * w32term.c (x_calc_absolute_position): Fix frame positioning
 -      with negative X/Y coordinates.
 -
 -2006-07-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN.
 -
 -      * textprop.c (text_read_only): Likewise.
 -
 -      * lread.c (end_of_file_error): Likewise.
 -
 -      * lisp.h (circular_list_error, memory_full, buffer_memory_full):
 -      Likewise.
 -
 -      * eval.c (unwind_to_catch): Likewise.
 -
 -      * buffer.h (buffer_slot_type_mismatch): Likewise.
 -
 -2006-07-18  Kim F. Storm  <storm@cua.dk>
 -
 -      Cleanup Fsignal calls that never returns; now only use it for Qquit.
 -
 -      * eval.c (xsignal): New func.  Like Fsignal, but marked no-return.
 -      (xsignal0, xsignal1, xsignal2, xsignal3): New no-return functions.
 -      (signal_error): New no-return function (from xfaces.c).
 -      (Fthrow): Use xsignal2 instead of Fsignal + abort.
 -      (error): Use xsignal1 instead of Fsignal + abort.
 -      (FletX, Flet, grow_specpdl): Use signal_error.
 -      (Feval, Ffuncall, funcall_lambda): Use xsignal1, xsignal2.
 -
 -      * alloc.c (buffer_memory_full, memory_full): Use xsignal.  Remove loop.
 -      (list1): New function.
 -
 -      * lisp.h (list1): Add EXFUN.
 -      (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error):
 -      Add prototypes.  Mark them as no-return.
 -
 -      * buffer.c (Fbuffer_local_value, Fbarf_if_buffer_read_only):
 -      Use xsignal1.
 -
 -      * callint.c (check_mark): Use xsignal0.
 -
 -      * casefiddle.c (casify_object): wrong_type_argument is no-return.
 -
 -      * cmds.c (Fforward_char, Fdelete_char): Use xsignal0.
 -
 -      * coding.c (Fcheck_coding_system): Use xsignal1.  Remove loop.
 -      (Fdefine_coding_system_internal): Use xsignal1.
 -
 -      * data.c (circular_list_error): Use xsignal.
 -      (wrong_type_argument): Use xsignal2.  Don't care about return value.
 -      (args_out_of_range, args_out_of_range_3): Use xsignal2, xsignal3.
 -      Remove loop around Fsignal.
 -      (indirect_variable, Fsymbol_value, set_internal, Fdefault_value)
 -      (indirect_function, Findirect_function, Fstring_to_number)
 -      (Fmakunbound, Ffmakunbound, Fsymbol_function, Ffset): Use xsignal1.
 -      (arith_driver, float_arith_driver, Frem, Fmod, arith_error):
 -      Use xsignal0.
 -
 -      * doc.c (Fdocumentation): Use xsignal1.
 -
 -      * editfns.c (region_limit, Fget_internal_run_time): Use xsignal0.
 -
 -      * fileio.c (report_file_error): Use xsignal.
 -      (barf_or_query_if_file_exists, Fcopy_file, Fdelete_file)
 -      (Finsert_file_contents): Use xsignal2.
 -      (syms_of_fileio): Use list2, list3.
 -
 -      * floatfns.c (arith_error, range_error, domain_error): Use xsignal2.
 -      (range_error2, domain_error2): Use xsignal3.
 -      (rounding_driver, fmod_float): Use xsignal0.
 -      (float_error): Use xsignal1.
 -      (matherr): Use xsignal.
 -
 -      * fns.c (Flength): wrong_type_argument is no-return.
 -      (hashfn_user_defined, Fmake_hash_table): Use signal_error.
 -      (Fmd5): Use xsignal1.
 -
 -      * frame.c (x_set_line_spacing, x_set_screen_gamma): Use signal_error.
 -
 -      * keyboard.c (recursive_edit_1): Use xsignal1.
 -
 -      * keymap.c (Fmap_keymap): Use xsignal1.
 -
 -      * lread.c (Fload): Use xsignal2, signal_error.
 -      (end_of_file_error): Use xsignal0, xsignal1.
 -      (read0): Use xsignal1.
 -      (invalid_syntax): New error function marked no-return.
 -      (read_integer, read1, read_list): Use it.
 -
 -      * macselect.c (x_get_local_selection): Use signal_error.
 -
 -      * msdos.c (Fmsdos_set_mouse_buttons): Use xsignal2.
 -
 -      * search.c (compile_pattern_1): Use xsignal1.
 -      (signal_failure): Remove (was only called once).
 -      (search_command): Use xsignal1 instead of signal_failure.
 -
 -      * syntax.c (scan_lists): Use xsignal3.
 -
 -      * textprop.c (text_read_only): Use xsignal0, xsignal1.
 -
 -      * unexsol.c (unexec): Use xsignal.
 -
 -      * window.c (window_scroll_pixel_based, window_scroll_line_based):
 -      Use xsignal0.
 -
 -      * xfaces.c (signal_error): Move to eval.c.
 -      (resolve_face_name): Use xsignal1.
 -
 -      * xfns.c (x_decode_color): Use signal_error.
 -
 -      * xselect.c (x_get_local_selection, copy_multiple_data)
 -      (x_get_window_property_as_lisp_data)
 -      (lisp_data_to_selection_data, CHECK_CUT_BUFFER)
 -      (Fx_get_cut_buffer_internal): Use signal_error.
 -
 -2006-07-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XTread_socket): Undo previous change.
 -
 -2006-07-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (keycode_to_xkeysym): Remove function.  All uses now
 -      directly lookup keycode_to_xkeysym_table.
 -      [USE_MAC_TSM] (mac_handle_text_input_event): Don't construct
 -      ASCII_KEYSTROKE_EVENT for non-zero keycode_to_xkeysym_table entries.
 -      (XTread_socket): Use character codes to construct keypad key events.
 -      (mac_initialize_display_info) [MAC_OSX]: Use CGDisplaySamplesPerPixel.
 -      (x_delete_display): Apply 2006-07-04 change for xterm.c.
 -
 -2006-07-17  Richard Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (Vcommand_error_function): New variable.
 -      (syms_of_keyboard): Defvar it.
 -      (cmd_error_internal): Simplify, and handle Vcommand_error_function.
 -
 -      * dispnew.c (init_display): Mention DISPLAY as well as TERM in err msg.
 -
 -2006-07-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (handle_single_display_spec): Ensure the right value of
 -      it->position is saved by push_it.
 -      (pop_it): Restore it->object for GET_FROM_BUFFER and GET_FROM_STRING.
 -      (reseat_1): Don't setup it->object twice.
 -      (set_iterator_to_next): No need to set it->object after pop_it.
 -      (move_it_to): Explicitly check to see if last move reached to_charpos.
 -
 -2006-07-17  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * xdisp.c (display_mode_line): Preserve match data.
 -
 -2006-07-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * w32.c (pfn_WSACreateEvent, pfn_WSACloseEvent): New func ptrs.
 -      (init_winsock): Load them.  Use ws2_32.dll.
 -      (sys_listen): Undo last change.  Just set FILE_LISTEN flag.
 -      (sys_accept): Undo last change.  Instead, set child status to
 -      STATUS_READ_ACKNOWLEDGED and reset char_avail event so next
 -      sys_select will wakeup the reader thread.
 -      (_sys_wait_accept): New function used by reader thread to wait for
 -      an incoming connection on a server socket.
 -
 -      * w32.h (_sys_read_ahead, _sys_wait_accept): Add prototypes.
 -
 -      * w32proc.c (reader_thread): Use _sys_wait_accept to wait on a
 -      server socket (FILE_LISTEN flag).
 -
 -2006-07-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (alsa_init): Call snd_pcm_close after successful snd_pcm_open.
 -
 -2006-07-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * w32.c: Fix high cpu load for server sockets.
 -      (pfn_WSAEventSelect): New function ptr.
 -      (init_winsock): Load it.
 -      (sys_listen): Set FILE_LISTEN flag.  Set event mask for socket's
 -      char_avail event object to FD_ACCEPT.
 -      (sys_accept): Check FILE_LISTEN flag.  Set event mask on new
 -      socket's char_avail event object to FD_READ|FD_CLOSE.
 -
 -      * w32.h (FILE_LISTEN): New filedesc flag value.
 -
 -2006-07-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * bytecode.c (Fbyte_code): Use CAR, CDR for Bcar, Bcdr.
 -      Use CAR_SAFE, CDR_SAFE for Bcar_safe, Bcdr_safe.
 -      Simplify loops and use CAR for Bnth and Belt.
 -
 -      * data.c (Findirect_function): Optimize for no indirection.
 -
 -      * eval.c (Fthrow): Remove loop around Fsignal.
 -      (Feval, Fapply, Ffuncall): Optimize for no function indirection.
 -      Use original function name in all signaled errors.
 -      Simplify Fsignal calls (no return).
 -      (funcall_lambda): Simplify Fsignal calls (no return).
 -
 -2006-07-13  Andreas Schwab  <schwab@suse.de>
 -
 -      * syntax.c (scan_sexps_forward): Use EMACS_INT for out_bytepos and
 -      out_charpos.
 -
 -2006-07-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fformat): Fix calculation of text property positions
 -      of format string.
 -
 -2006-07-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h (CHECK_TYPE): New macro for generic type checking.
 -      (CAR_SAFE, CDR_SAFE): New macros.
 -      (ARRAYP, CHECK_ARRAY): New macros.
 -      (CHECK_VECTOR_OR_STRING, CHECK_SUBR): New macros.
 -      (CHECK_WINDOW_CONFIGURATION): New macro.
 -      (CHECK_LIST_CONS, CHECK_LIST_END): New checks for list traversal.
 -      (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
 -      (CHECK_STRING, CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL)
 -      (CHECK_CHAR_TABLE, CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE)
 -      (CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS)
 -      (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, CHECK_OVERLAY)
 -      (CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
 -      (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Use CHECK_TYPE.
 -
 -      * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET):
 -      * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE.
 -
 -      * callint.c (Fcall_interactively):
 -      * casefiddle.c (casify_object):
 -      * editfns.c (general_insert_function):
 -      * fns.c (Flength, Felt, Ffillarray):
 -      * data.c (Fcar, Fcdr): Remove loop around wrong_type_argument.
 -
 -      * data.c (wrong_type_argument): Remove loop around Fsignal.
 -      (Farrayp, Fsequencep): Use ARRAYP.
 -      (Fcar): Use CAR.
 -      (Fcar_safe): Use CAR_SAFE.
 -      (Fcdr): Use CDR.
 -      (Fcdr_safe): Use CDR_SAFE.
 -      (Fsetcar, Fsetcdr): Use CHECK_CONS.
 -      (Fsubr_arity, Fsubr_name): Use CHECK_SUBR.
 -      (Faset): Use CHECK_ARRAY.
 -
 -      * fns.c (Felt): Use CHECK_ARRAY.
 -      (concat): Use CHECK_NUMBER.
 -      (Fsubstring, substring_both): Use CHECK_VECTOR_OR_STRING.
 -      (Fmemq): Use CHECK_LIST.
 -      (Fassq, Fassoc, Frassq, Frassoc): Use CAR.
 -      (assq_no_quit): Use CAR_SAFE.
 -      (Fnthcdr, Fmember, Fdelq, Fdelete, Fnreverse, Fnconc):
 -      Use CHECK_LIST_CONS.
 -      (Freverse, Fplist_get, Flax_plist_get): Use CHECK_LIST_END.
 -
 -      * bytecode.c (Fbyte_code): Use CHECK_VECTOR.
 -
 -      * casetab.c (check_case_table):
 -      * category.c (check_category_table):
 -      * marker.c (Fcopy_marker):
 -      * syntax.c (check_syntax_table):
 -      * xfaces.c (load_pixmap): Use CHECK_TYPE.
 -
 -      * fns.c (Fcopy_sequence, concat):
 -      * fringe.c (Fdefine_fringe_bitmap):
 -      * lread.c (check_obarray): Cleanup wrong_type_argument use.
 -
 -      * keyboard.c (access_keymap_keyremap): Use ARRAYP.
 -
 -      * keymap.c (Fdefine_key, Flookup_key):
 -      * macros.c (Fstart_kbd_macro): Use CHECK_VECTOR_OR_STRING.
 -
 -      * mac.c (Fmac_get_preference): Use CHECK_LIST_END.
 -
 -      * search.c (Fset_match_data): Use CHECK_LIST.
 -
 -      * sunfns.c (sun_item_create): Use CHECK_LIST_CONS.
 -
 -      * window.c (Fwindow_configuration_frame, Fset_window_configuration):
 -      (compare_window_configurations): Use CHECK_WINDOW_CONFIGURATION.
 -
 -2006-07-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (dired.o, editfns.o, fileio.o): Depend on blockinput.h.
 -
 -      * dired.c: Include blockinput.h.
 -      (Ffile_attributes): Add BLOCK_INPUT around getpwuid/getgrgid.
 -
 -      * editfns.c: Include blockinput.h.
 -      (Fuser_login_name, Fuser_full_name): Add BLOCK_INPUT around
 -      getpwuid/getpwnam.
 -
 -      * fileio.c: Include blockinput.h.
 -      (Fexpand_file_name, search_embedded_absfilename): Add BLOCK_INPUT
 -      around getpwnam.
 -      (search_embedded_absfilename): Remove spurious xfree.
 -
 -2006-07-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (sit_for): Reduce number of args from 5 to 3.
 -      Now just one TIMEOUT arg that can be a Lisp float or Lisp int.
 -      Combine args DISPLAY and INITIAL_DISPLAY into one arg DO_DISPLAY.
 -      Signal error if TIMEOUT is not a number.
 -      Undo 2006-06-14 change for non-preemptive display if TIMEOUT < 0.
 -      The rework of sit_for args also fixes several incorrect Qt args
 -      which should have been 1.
 -      (Fredisplay): Pass 1 instead of Qt to swallow_events and
 -      detect_input_pending_run_timers.
 -
 -      * lisp.h (sit_for): Update prototype.
 -      (Fredisplay): Add EXFUN.
 -
 -      * dispextern.h (sit_for): Remove prototype.
 -
 -      * callint.c (Fcall_interactively):
 -      * minibuf.c (temp_echo_area_glyphs):
 -      * keyboard.c (command_loop_1, read_char, Fexecute_extended_command):
 -      * fileio.c (Fdo_auto_save): Update/simplify sit_for calls.
 -
 -2006-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (forw_comment): Also use EMACS_INT for buffer positions.
 -
 -2006-07-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (Fredisplay): Add FORCE argument to force redisplay when
 -      input is available.  Fix test for redisplay_dont_pause non-nil.
 -      Specbind redisplay-dont-pause to t if FORCE non-nil.
 -
 -2006-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1211000.
 -
 -      * dispnew.c (Fredisplay): New function, equivalent to (sit-for 0).
 -      (Fsit_for): Function deleted.
 -
 -      * keyboard.c (command_loop_1, Fexecute_extended_command):
 -      Call sit_for instead of Fsit_for.
 -
 -      * minibuf.c (temp_echo_area_glyphs): Likewise.
 -
 -2006-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (Fforward_comment): Revert the reversion.
 -      (back_comment, scan_lists): Also use EMACS_INT for buffer positions.
 -
 -2006-07-09  John Paul Wallington  <jpw@pobox.com>
 -
 -      * syntax.c (Fforward_comment): Revert previous change.
 -
 -2006-07-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fforce_window_update): Doc fix.
 -
 -2006-07-08  Stephen Gildea  <gildea@stop.mail-abuse.org>
 -
 -      * fileio.c (do_auto_save_make_dir): Make the auto-save-list-file
 -      directory unreadable for better user privacy.
 -
 -2006-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (Fforward_comment): Fix int-32 vs EMACS_INT-64 mixup.
 -
 -      * lread.c (read_filtered_event): Remove `register' qualifier because it
 -      causes compilation problem with gcc-4.0.2-20051125 on amd64.
 -      (readevalloop): Remove unused var `bpos'.
 -      Yet another int/Lisp_Object mixup (YAILOM).
 -
 -2006-07-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (Fexecute_extended_command): Mention the argument
 -      PREFIXARG in the doc string.
 -
 -2006-07-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (Fdefine_fringe_bitmap): Doc fix.
 -
 -2006-07-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * insdel.c (prepare_to_modify_buffer): For an indirect buffer, do
 -      clash detection using the base buffer.
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1210500.
 -
 -2006-07-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (x_delete_display): Don't free or derefence NULL pointers.
 -
 -2006-07-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_overriding_fontspec_internal): Check if we need
 -      to update Voverriding_fontspec_alist.
 -
 -2006-07-03  Richard Stallman  <rms@gnu.org>
 -
 -      * xfns.c (Fx_create_frame): Move unwind_create_frame setup down.
 -
 -      * xfaces.c (Fface_attribute_relative_p): Doc fix.
 -
 -      * textprop.c (Fget_char_property_and_overlay): Doc fix.
 -
 -      * eval.c (Fdefvaralias): Doc fix.
 -
 -2006-07-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (sit_for): Fix preempt condition.
 -
 -2006-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (read_filtered_event): Treat select-window just like
 -      switch-frame.
 -
 -2006-07-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_tool_bar_line): Skip glyphs which are too big
 -      to ever fit the tool-bar,
 -      (MAX_FRAME_TOOL_BAR_HEIGHT): New macro.
 -      (tool_bar_lines_needed): Use unused mode-line row as temp_row.
 -      (redisplay_tool_bar): Only clear desired matrix if we actually
 -      change the tool-bar window height.  Only try to make the tool-bar
 -      window bigger if there is actually room for it.
 -
 -2006-06-30  Ralf Angeli  <angeli@caeruleus.net>
 -
 -      * w32term.c (x_make_frame_visible): Use SystemParametersInfo with
 -      SPI_GETWORKAREA to find the dimensions of the screen work area,
 -      and adjust vertical position of the frame in order to avoid being
 -      covered by the task bar.
 -
 -      * w32fns.c (w32_createwindow): Use CW_USEDEFAULT instead of
 -      f->left_pos and SH_SHOW instead of f->top_pos in the call to
 -      CreateWindow.  Record the actual position in f->left_pos and
 -      f->top_pos.
 -
 -2006-06-30  John Paul Wallington  <jpw@pobox.com>
 -
 -      * w32console.c (syms_of_ntterm) <w32-use-full-screen-buffer>:
 -      Doc fix - default value has changed.
 -
 -2006-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [!TARGET_API_MAC_CARBON]: Don't include FixMath.h or Scrap.h.
 -
 -      * macfns.c (Fx_create_frame): Apply 2006-06-24 change for xfns.c.
 -
 -      * macgui.h (USE_MAC_TSM) [TARGET_API_MAC_CARBON]: Set default to 1.
 -
 -      * macterm.c (Qeql): Add extern.
 -      (x_set_mouse_pixel_position) [MAC_OSX]: Use CGWarpMouseCursorPosition.
 -      (fm_style_face_attributes_alist) [USE_ATSUI]: New variable.
 -      (syms_of_macterm) [USE_ATSUI]: Initialize and staticpro it.
 -      Change keys of Vmac_atsu_font_table from strings to numbers.
 -      (fm_style_to_face_attributes) [USE_ATSUI]: New function.
 -      (init_font_name_table) [USE_ATSUI]: Use it.
 -      (saved_ts_script_language_on_focus) [USE_MAC_TSM]: New variable.
 -      (syms_of_macterm) [USE_MAC_TSM]: Initialize and staticpro it.
 -      [USE_MAC_TSM] (mac_tsm_resume): Restore script and language codes
 -      only when saved_ts_script_language_on_focus coincides with
 -      Vmac_ts_script_language_on_focus.
 -      [USE_MAC_TSM] (mac_tsm_suspend): Save value of
 -      Vmac_ts_script_language_on_focus to saved_ts_script_language_on_focus.
 -      (XTread_socket) [USE_MAC_TSM]: Add Mac OS Classic support.
 -      [USE_MAC_TSM] (mac_handle_text_input_event, init_tsm): Likewise.
 -
 -2006-06-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fdelete_field, Ffield_string, Ffield_beginning)
 -      (Ffield_string_no_properties, Ffield_end): Mention
 -      args-out-of-range error condition in docstring.
 -
 -2006-06-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (handle_composition_prop): Set stop_charpos before push_it.
 -
 -2006-06-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * s/gnu-linux.h (SIGNALS_VIA_CHARACTERS): Define for Linux kernel
 -      version 2.4 and later.
 -
 -2006-06-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_create_frame): Set font parameter directly instead of
 -      using x_default_parameter, since x_get_args clears the parm alist.
 -
 -2006-06-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal) [WINDOWSNT]: Find files
 -      case-insensitively.
 -
 -2006-06-24  Aidan Kehoe  <kehoea@parhasard.net>
 -
 -      * lread.c (read_escape): When an unknown Unicode code point is
 -      encountered as a string or character escape, signal an error.
 -
 -2006-06-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (pitx): Dump iterator stack.
 -
 -      * xdisp.c (handle_composition_prop): Push iterator on stack.
 -      (set_iterator_to_next): Pop iterator at end of composition.
 -
 -2006-06-23  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * fileio.c (Frename_file) [DOS_NT]: Don't try to move directory to
 -      itself on DOS_NT platforms, if the old and new names are identical
 -      but for the letter-case.
 -
 -2006-06-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct it): Add `position' member to iterator stack.
 -      Rename `pos' member to `current'.  Rearrange and add comments.
 -
 -      * xdisp.c (handle_stop): Set it->ignore_overlay_strings_at_pos_p
 -      if  we get any overlays.
 -      (set_cursor_from_row): Don't clobber `end' if we rescan from
 -      start_string.
 -      (push_it, pop_it): Save it->position.
 -
 -2006-06-19  Richard Stallman  <rms@gnu.org>
 -
 -      * window.c (size_window): New arg FIRST_ONLY.  All callers changed.
 -      (adjust_window_trailing_edge): Specially compute FIRST_PARALLEL
 -      for the case of a top-level window and the following minibuffer.
 -      Don't exit because of no `next' when there is a parent.
 -      Use the FIRST_ONLY feature when resizing following windows.
 -
 -      * syntax.c (init_syntax_once): Give most control chars' syntax Spunct.
 -
 -2006-06-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (update_frame): Check for input pending on entry.
 -      (update_window, update_frame_1): Break loop if input is detected.
 -
 -2006-06-16  Francis Litterio  <flitterio@gmail.com>
 -
 -      * xterm.c (x_check_expected_move, handle_one_xevent)
 -      (x_set_offset, x_check_fullscreen): Extensive changes to make
 -      frame positioning deterministic under X.
 -
 -      * xterm.h (x_output): Add members left_before_move and
 -      top_before_move.  Removed members expected_left and expected_top.
 -
 -2006-06-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct it): Add union to iterator stack to save
 -      image, composition, and stretch specific paramters.
 -
 -      * xdisp.c (next_overlay_string): Fix assert.
 -      (push_it, pop_it): Handle composition and stretch specific values.
 -      Only handle it->slice in image (for now).
 -      (back_to_previous_visible_line_start): Continue search if newline is
 -      part of a compisition.  Simplify.
 -      (reseat_1): Set it->object to buffer.
 -      (set_iterator_to_next): Set it->object to string or buffer, when
 -      setting it->method to GET_FROM_STRING or GET_FROM_BUFFER.
 -      (next_element_from_composition): Set it->object to buffer if not
 -      from string.
 -      (set_cursor_from_row): Only save start of string if not already
 -      done to handle multiple strings in a row.
 -
 -      * .gdbinit (pitx): Show composition parameters.
 -      (pgx, pg): New commands to print a glyph structure.
 -      (pgi, pgn): New commands to print specific/next glyph.
 -      (pgrowx, pgrow): New commands to print all glyphs in a row.
 -
 -2006-06-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Fx_display_mm_height, Fx_display_mm_width)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Use CGDisplayScreenSize.
 -
 -      * macterm.c (do_app_resume, do_app_suspend): Remove functions.
 -      (mac_tsm_resume, mac_tsm_suspend) [USE_MAC_TSM]: New functions.
 -      (mac_handle_window_event, XTread_socket) [USE_MAC_TSM]: Use them.
 -      (Vmac_ts_script_language_on_focus) [USE_MAC_TSM]: New variable.
 -      (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
 -      (saved_ts_language, saved_ts_component) [USE_MAC_TSM]: New variables.
 -      (mac_initialize_display_info) [MAC_OSX]: Use Quartz Display
 -      Services functions to get size of main display in pixels.
 -
 -2006-06-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (back_to_previous_visible_line_start):
 -      Reset it->continuation_lines_width.
 -
 -2006-06-14  Richard Stallman  <rms@gnu.org>
 -
 -      * eval.c (Fdefconst): Mark variable as risky.
 -
 -      * callproc.c (Fcall_process): Doc fix.
 -
 -      * window.c (adjust_window_trailing_edge): Don't break out of the loop
 -      because there's no next window, if there are parallel windows.
 -      Do break out when WINDOW is nil.
 -
 -2006-06-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (IT_STACK_SIZE): New macro specifying size of
 -      iterator stack (instead of hardcoded number).  Increase from 2 to
 -      4 to make room for propertized overlay strings before and after a
 -      display string, image or composition.
 -      (struct it): Add image_id and method members to iterator stack.
 -
 -      * xdisp.c (init_from_display_pos): Don't set it->method and
 -      overlay_string_index after pop_it.  Add asserts.
 -      (handle_stop): Look for overlay strings around a display string,
 -      image, or composition.  Handle properties on those strings.
 -      (next_overlay_string): Don't set string, pos or method after pop_it.
 -      (get_overlay_strings_1): Split from get_overlay_strings; don't
 -      modify it if no overlay strings are found.
 -      (get_overlay_strings): Use get_overlay_strings_1.  Always set
 -      it->string and it->method.
 -      (push_it): Push it->image_id and it->method.  Push it->object
 -      instead of it->string if method is GET_FROM_IMAGE.
 -      (pop_it): Pop it->image_id and it->method.  Ppo it->object
 -      instead of it->string if method is GET_FROM_IMAGE.
 -      Reset it->current.string_pos if popped it->string is nil.
 -      (reseat_1): Remove comment dated 19 May 2003.  It expressed doubt
 -      whether a given change was correct; but the change is correct.
 -      Clear it->string_from_display_prop_p.
 -      (set_iterator_to_next): Rely on it->method and it->image_id from
 -      iterator stack, instead of setting them explicitly after pop_it.
 -
 -      * dispnew.c (sit_for): Undo 2006-06-01 change.  Instead, a
 -      negative time forces redisplay even when input is available.
 -      (Fsit_for): Doc fix.
 -
 -2006-06-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c: Modify preemptive redisplay to be based on periodic
 -      checks for input.
 -      (PERIODIC_PREEMPTION_CHECKING): Define to 1 iff EMACS_HAS_USECS.
 -      (Vredisplay_preemption_period): New variable.
 -      (syms_of_display): DEFVAR_LISP and initialize it.
 -      (preemption_period, preemption_next_check): New variables.
 -      (update_frame, update_single_window): Initialize them based on
 -      Vredisplay_preemption_period if !force_p.
 -      (update_window, update_frame_1): Use them to determine when to
 -      check for input.
 -
 -2006-06-03  Aidan Kehoe  <kehoea@parhasard.net>
 -
 -      * lread.c (read_escape): Provide a Unicode character escape
 -      syntax; \u followed by exactly four or \U followed by exactly
 -      eight hex digits in a comment or string is read as a Unicode
 -      character with that code point.
 -
 -2006-06-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * window.c (window_scroll_pixel_based): Signal "Beginning of
 -      buffer" when scroll-down at the beginning of an empty buffer.
 -
 -2006-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Exclude 0x7f from ASCII range.
 -
 -2006-06-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_set_scroll_bar_thumb, x_scroll_bar_create)
 -      (w32_set_vertical_scroll_bar, w32_scroll_bar_handle_click)
 -      (x_scroll_bar_report_motion): Remove workarounds for
 -      versions of Windows NT < 3.51.
 -      [!SIF_ALL]: Remove.
 -      (pfnSetScrollInfo, pfnGetScrollInfo): Remove.
 -      (w32_initialize): Don't dynamically load Get/SetScrollInfo.
 -
 -2006-06-04  David Kastrup  <dak@gnu.org>
 -
 -      * dispnew.c: Mention `redisplay-dont-pause' in doc string of
 -      `sit-for'.
 -
 -2006-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (x_set_icon_name): Apply 2006-06-02 change for xfns.c.
 -
 -      * macgui.h (USE_MAC_TSM): Set default to 1 on Mac OS X.
 -
 -      * macterm.c (tsm_document_id) [USE_MAC_TSM]: New variable.
 -      (Qtext_input, Qupdate_active_input_area, Qunicode_for_key_event)
 -      [USE_MAC_TSM]: Likewise.
 -      (syms_of_macterm) [USE_MAC_TSM]: Intern and staticpro them.
 -      (Qbefore_string) [USE_MAC_TSM]: Add extern.
 -      (do_app_resume, do_app_suspend) [USE_MAC_TSM]: Call
 -      ActivateTSMDocument/DeactivateTSMDocument.
 -      (mac_store_event_ref_as_apple_event): Call mac_post_mouse_moved_event.
 -      (mac_handle_window_event) [USE_MAC_TSM]: Handle
 -      kEventWindowFocusAcquired/kEventWindowFocusRelinquish.
 -      (mac_handle_text_input_event) [USE_MAC_TSM]: New function.
 -      (install_window_handler) [USE_MAC_TSM]: Install it.  Register
 -      kEventWindowFocusAcquired/kEventWindowFocusRelinquish.
 -      (keycode_to_xkeysym_table): Add entry for f16.
 -      (XTread_socket) [USE_MAC_TSM]: Set/reset read_socket_inev
 -      before/after passing keystroke event to toolbox dispatcher.
 -      (init_tsm) [USE_MAC_TSM]: New function.
 -      (mac_initialize) [USE_MAC_TSM]: Call it.
 -      (Vmac_ts_active_input_overlay) [USE_MAC_TSM]: New defvar.
 -
 -      * macterm.h (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
 -
 -2006-06-02  John Paul Wallington  <jpw@gnu.org>
 -
 -      * xfns.c (x_set_name_internal): Set icon to `text', derived from
 -      name, when frame's icon_name isn't a string rather than only when
 -      it is nil.
 -
 -2006-06-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_set_icon_name): Don't use arg if it's not a string
 -      and not nil.
 -
 -2006-06-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_set_icon_name): No-op if arg is non-nil and not a
 -      string.
 -
 -2006-06-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (next_element_from_composition): Set it->object to
 -      it->string if composition is coming from string.
 -      (set_cursor_from_row): Don't return 0 unless row displays a
 -      continued line.
 -      (dump_glyph): Dump composite glyph.
 -
 -2006-06-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (menu_nav_ended): Check that menubar_widget is not NULL.
 -
 -2006-06-01  Richard Stallman  <rms@gnu.org>
 -
 -      * window.c (Fsplit_window): Doc fix.
 -
 -2006-06-01  Micha\e,Ak\e(Bl Cadilhac  <michael.cadilhac@lrde.org>
 -
 -      * process.c (deleted_pid_list): New variable to store the pids
 -      of deleted processes.  Declare it only if SIGCHLD is defined.
 -      (init_process): Initialize it.
 -      (syms_of_process): Staticpro it.
 -      (Fdelete_process): Add pid of the deleted process to it.  Check after
 -      the addition and before the kill if the process is already stopped,
 -      in which case it is deleted from the list and not killed.
 -      (sigchld_handler): Define it only if SIGCHLD is.  Search the process
 -      that signaled Emacs in `deleted_pid_list' before `Vprocess_alist'.
 -      Original idea by Stefan Monnier.
 -
 -2006-06-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (sit_for): Perform redisplay even if input is pending
 -      when redisplay-dont-pause is non-nil.
 -
 -2006-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_handle_visibility_change): Set buf.arg to Qnil.
 -      (XTread_socket): Remove obsolete comment.
 -
 -2006-06-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (syms_of_xmenu): Make accelerate-menu an alias for
 -      menu-bar-open.
 -
 -2006-06-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (Fmenu_bar_open, syms_of_xmenu): Change menu-bar-start to
 -      menu-bar-open.
 -
 -      * gtkutil.c (menu_nav_ended): Change x-menu-bar-start to menu-bar-open.
 -
 -2006-05-31  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c (Vhistory_add_new_input): New variable.
 -      (read_minibuf): Use it.
 -      (syms_of_minibuf) <history-add-new-input>: New Lisp variable.
 -      (syms_of_minibuf) <history-delete-duplicates>: Doc fix.
 -
 -2006-05-31  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (select_wrapper): Add wrapper around select to work around
 -      "incomplete backtrace" bug in gdb 5.3, when emacs is stopped inside
 -      select called from wait_reading_process_output.
 -
 -2006-05-30  Andreas Schwab  <schwab@suse.de>
 -
 -      * xmenu.c (Fmenu_bar_start): Return a value.
 -
 -2006-05-30  Richard Stallman  <rms@gnu.org>
 -
 -      * coding.c (Ffind_operation_coding_system): Doc fix.
 -
 -2006-05-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32term.c (x_draw_hollow_cursor): Fix last change.
 -
 -2006-05-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * w32term.c (x_draw_stretch_glyph_string): Fix last change.
 -
 -2006-05-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (Ffind_operation_coding_system): Doc fix.
 -
 -2006-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c [USE_MAC_FONT_PANEL] (Fmac_set_font_panel_visibility):
 -      Call mac_set_font_info_for_selection if font panel is made visible.
 -
 -      * macterm.c (font_panel_shown_p) [USE_MAC_FONT_PANEL]: New variable.
 -      (mac_font_panel_visible_p, mac_show_hide_font_panel)
 -      [USE_MAC_FONT_PANEL]: New functions.
 -      [USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection):
 -      Return immediately if font panel is not visible.
 -
 -      * macterm.h (mac_font_panel_visible_p, mac_show_hide_font_panel):
 -      Add externs.
 -
 -2006-05-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * search.c (matcher_overflow): Mark as NO_RETURN.
 -
 -      * xterm.c (x_connection_closed): Likewise.
 -
 -      * sysdep.c (croak): Likewise.
 -
 -      * sound.c (sound_perror, alsa_sound_perror): Likewise.
 -
 -      * lisp.h (die, nsberror): Likewise.
 -
 -2006-05-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (alsa_open, alsa_configure, alsa_write):
 -      Move assignment to err out of if-statement.
 -
 -      * gtkutil.c (menu_nav_ended): New function.
 -      (create_menus): Connect menu_nav_ended to "selection-done" to fix
 -      grabs.
 -
 -      * xmenu.c (Fmenu_bar_start): New function for USE_GTK and USE_X_TOOLKIT.
 -
 -2006-05-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * charset.h (invalid_character): Mark as NO_RETURN.
 -
 -2006-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Ffind_operation_coding_system): Call a function by
 -      safe_call1 instead of call1.
 -
 -2006-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (struct saved_window): Add `dedicated'.
 -      (Fset_window_configuration, save_window_save): Save/restore the
 -      `dedicated' flag.
 -
 -2006-05-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_cursor_from_row): If cursor cannot be set in row,
 -      don't update w->cursor and return 0.  Return 1 on success.
 -      (try_cursor_movement): Repeat set_cursor_from_row on successive rows
 -      until it succeeds.
 -
 -      * dispextern.h (set_cursor_from_row): Update prototype.
 -
 -2006-05-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_phys_cursor_geometry): Return computed x and y through
 -      parameters.  Adjust x and width in case cursor in on a partially
 -      visible stretch glyph on the left edge.
 -      (erase_phys_cursor): Don't erase into left fringe/margin in case
 -      previous cursor glyph is a partially visible stretch glyph on left.
 -
 -      * dispextern.h (get_phys_cursor_geometry): Update prototype.
 -
 -      * xterm.c (x_draw_stretch_glyph_string): Fix problems with invisible
 -      cursor and erasing cursor on partially visible stretch glyph on left.
 -      (x_draw_hollow_cursor): Compute x via get_phys_cursor_geometry.
 -
 -      * macterm.c: Likewise.
 -
 -      * w32term.c: Likewise.
 -
 -2006-05-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macselect.c (mac_handle_apple_event):
 -      Return errAEEventNotHandled if key binding is not found.
 -
 -2006-05-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (main) [PROFILING]: Enable also for __MINGW32__.
 -      [__MINGW32__]: MinGW-specific declaration of `etext'.
 -
 -      * w32heap.c (etext, edata): Remove unused definitions.
 -
 -2006-05-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Fcopy_file): Delete argument MUSTBENEW.
 -      Incorporate the exclusive file-opening functionality into the behavior
 -      when OK-IF-ALREADY-EXISTS is nil.
 -      (Frename_file): Call Fcopy_file without MUSTBENEW argument.
 -
 -2006-05-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (alsa_configure): Move get period/buffer_size after
 -      setting hwparams.
 -
 -2006-05-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Ffind_operation_coding_system): Allow (FILENAME
 -      . BUFFER) in TARGET.
 -
 -2006-05-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (png_load): Don't call fclose on NULL.
 -
 -2006-05-25  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Fyes_or_no_p):
 -      * callint.c (Fcall_interactively): Fread_from_minibuffer now takes
 -      only seven args.
 -
 -2006-05-25  Juri Linkov  <juri@jurta.org>
 -
 -      * lisp.h (Fread_from_minibuffer): Decrement number of args.
 -
 -      * minibuf.c (read_minibuf): Remove arg KEEP_ALL.  Callers changed.
 -      (Fread_from_minibuffer): Remove arg KEEP_ALL.  Callers changed.
 -
 -      * buffer.c (mode-line-format): Fix docstring.
 -
 -2006-05-25  Richard Stallman  <rms@gnu.org>
 -
 -      * emacs.c (main, Fdump_emacs): Don't test __linux or __linux__.
 -
 -2006-05-24  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1210000.
 -
 -2006-05-24  Alan Mackenzie  <acm@muc.de>
 -
 -      * lread.c (Vload_history): Enhance doc-string to say that the file
 -      is the absolute truename of the loaded file.
 -
 -      * lread.c (Vafter_load_alist): doc-string: state that an element
 -      now has a regexp to match file names, not a file name as such.
 -
 -      * lread.c (readevalloop): Call file-truename on the name for
 -      load-history, except at preloading time.
 -
 -      * lread.c (Fload): At preloading time, preserve the extension of
 -      the filename which goes into load-history.  New var hist_file_name.
 -
 -      * lread.c (Fload): Do eval-after-load stuff by calling the lisp
 -      function do-after-load-evaluation.
 -
 -2006-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (ae_attr_table): New variable.
 -      (syms_of_mac): Intern and staticpro its elements.
 -      (mac_aelist_to_lisp): Also convert Apple event attributes.
 -      (mac_ae_put_lisp): New function.
 -      (create_apple_event_from_event_ref) [MAC_OSX]: Use typeUTF8Text.
 -
 -      * macfns.c (Fx_server_version): Use gestaltSystemVersionMajor etc.
 -
 -      * macselect.c (Qemacs_suspension_id): New variable.
 -      (syms_of_macselect): Intern and staticpro it.
 -      (struct suspended_ae_info): New struct.
 -      (deferred_apple_events, defer_apple_events)
 -      (Fmac_process_deferred_apple_events): Use it.
 -      (suspended_apple_events): New variable.
 -      (mac_handle_apple_event_1): New function.
 -      (mac_handle_apple_event): Use it.  Don't process previously
 -      suspended events.
 -      (cleanup_suspended_apple_events, get_suspension_id)
 -      (cleanup_all_suspended_apple_events): New functions.
 -      (init_apple_event_handler): Call cleanup_all_suspended_apple_events
 -      at exit.
 -      (Fmac_cleanup_expired_apple_events, Fmac_ae_set_reply_parameter)
 -      (Fmac_resume_apple_event): New defuns.
 -      (syms_of_macselect): Defsubr them.
 -
 -      * macterm.c (fn_keycode_to_keycode_table, XTread_socket) [MAC_OSX]:
 -      Fix last change.  Don't map `fn' modifier if pressed with F1 ... F12.
 -
 -      * macterm.h (TYPE_FILE_NAME): Change from macro to enumerator.
 -      (KEY_EMACS_SUSPENSION_ID_ATTR): New enumerator.
 -      (keyReplyRequestedAttr) [MAC_OS_X_VERSION_MAX_ALLOWED < 1030]: Likewise.
 -      (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
 -      (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
 -      Likewise.
 -      (typeUTF8Text, kEventParamWindowMouseLocation)
 -      [MAC_OSX && MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Likewise.
 -      (x_get_focus_frame, mac_ae_put_lisp): Add externs.
 -
 -2006-05-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (fn_keycode_to_xkeysym_table, convert_fn_keycode): Remove.
 -      (fn_keycode_to_keycode_table) [MAC_OSX]: New variable.
 -      (mac_set_unicode_keystroke_event) [TARGET_API_MAC_CARBON]: New function.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]: Use it.
 -      (XTread_socket) [MAC_OSX]: Try 'uchr' Unicode keyboard-layout
 -      resource to backtranslate key with modifiers.
 -      (XTread_socket): Don't set read_socket_inev around AEProcessAppleEvent.
 -
 -2006-05-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: Remove declarations already in xterm.h
 -
 -      * xterm.h: Add extern declarations for x_clear_errors,
 -      x_fully_uncatch_errors, x_catching_errors and
 -      x_alloc_lighter_color_for_widget.  Remove duplicated declarations.
 -
 -2006-05-21  Richard Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (best_matching_font): Abort for best == NULL
 -      before we start to use it.
 -
 -      * buffer.c (syms_of_buffer, Fmake_overlay): Doc fixes.
 -
 -2006-05-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * xfaces.c (best_matching_font): Fix crash in 2006-05-17 change.
 -
 -2006-05-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (convert_fn_keycode): Fix last change.
 -
 -2006-05-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (init_environment): Perform the processing of environment
 -      variables on a copy of default variables and their values, not on
 -      the original.  Simplify code that calls ExpandEnvironmentStrings
 -      and make buf1[] and buf2[] more visible for easier debugging.
 -
 -2006-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.c (x_set_border_width): Remove #ifndef MAC_OS.
 -
 -      * image.c [MAC_OS] (gif_load): Allocate Lisp string first.
 -
 -      * macfns.c (Fx_focus_frame): Don't check dpyinfo->x_focus_frame.
 -
 -      * macterm.c (XTread_socket) [TARGET_API_MAC_CARBON && MAC_OSX]:
 -      Forward keyUp events to toolbox_dispatcher.
 -
 -      * window.c (foreach_window): Check WINDOWP (FRAME_ROOT_WINDOW (f)).
 -
 -2006-05-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * config.in: Regenerated (HAVE_ALSA).
 -
 -      * sound.c (alsa_sound_perror, alsa_open, alsa_period_size)
 -      (alsa_configure, alsa_close, alsa_choose_format, alsa_write)
 -      (snd_error_quiet, alsa_init): New functions.
 -      (vox_init): Return 0 if unable to open device.
 -      (Fplay_sound_internal): Test for alsa first and use vox (oss) as
 -      a fallback.
 -      (struct sound_device): Add period_size.
 -      (wav_play, au_play): Use period_size if set.
 -
 -      * Makefile.in (CFLAGS_SOUND): New flags for ALSA.
 -      (ALL_CFLAGS): Add CFLAGS_SOUND.
 -
 -2006-05-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): Reject encoding arguments by
 -      ascii-incompatible coding systems (e.g. utf-16).
 -
 -      * coding.c (Qascii_incompatible): New variable.
 -      (syms_of_coding): Setup Qascii_incompatible.
 -      (setup_coding_system): Be sure to initialize coding->common_flags.
 -      Check `ascii-incompatible' property of the coding system.
 -
 -      * coding.h (CODING_ASCII_INCOMPATIBLE_MASK): New macro.
 -
 -2006-05-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_tool_bar_line): Restore entire tool-bar
 -      geometry when backtracking in case last image doesn't fit on line.
 -
 -2006-05-18  MIYOSHI Masanori  <miyoshi@meadowy.org>  (tiny change)
 -
 -      * xdisp.c (display_tool_bar_line): Don't adjust tool-bar height by
 -      more than height of one frame default line.
 -
 -2006-05-17  Richard Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (better_font_p): Any font beats no font.
 -      (best_matching_font): Simplify based on above change.
 -
 -      * buffer.c (Fprevious_overlay_change, Fnext_overlay_change): Doc fixes.
 -
 -2006-05-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (handle_one_xevent): Check that f is not NULL before
 -      calling x_kill_gs_process.
 -
 -2006-05-14  Richard Stallman  <rms@gnu.org>
 -
 -      * textprop.c (Fnext_single_char_property_change)
 -      (Fprevious_single_char_property_change): Don't allow returning
 -      value beyond LIMIT in any cases.
 -      (Fnext_char_property_change, Fprevious_char_property_change): Doc fix.
 -
 -      * intervals.c (get_local_map): Abort if POSITION outside BEGV, ZV.
 -
 -2006-05-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Check that f is not NULL before
 -      calling _XEditResCheckMessages.
 -
 -2006-05-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (handle_one_xevent): Fix crash in 2006-03-24 change.
 -
 -2006-05-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (x_set_border_width): Fix error message to say "frame",
 -      not "window".
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Add fringe.elc.
 -
 -2006-05-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * intervals.c (set_point_both): Fix mixup before before and after
 -      in variable names.
 -
 -      * editfns.c (Fline_beginning_position): Inhibit point-motion hooks
 -      while setting point temporarily.
 -
 -2006-05-11  Richard Stallman  <rms@gnu.org>
 -
 -      * lread.c (readevalloop): Abort if START non-nil for non-buffer input.
 -
 -2006-05-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_tool_bar): Handle large tool-bar-border values.
 -
 -2006-05-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Fix for the case of IO error
 -      while handling replace operation.
 -
 -2006-05-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (realize_default_face) [HAVE_X_WINDOWS]: If the font
 -      chosen for the default face was different from the frame font,
 -      adjust the frame font.
 -
 -2006-05-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c (Qduration) [MAC_OS]: Undo previous change.
 -      (syms_of_image) [MAC_OS]: Likewise.
 -      [MAC_OS] (gif_load): Emulate Graphic Control Extension block.
 -
 -      * macfns.c (x_to_mac_color): Fix shift amount change.
 -      (mac_set_font) [USE_MAC_FONT_PANEL]: Use x_get_focus_frame.
 -      [USE_MAC_FONT_PANEL] (Fmac_set_font_panel_visibility): Doc fix.
 -
 -      * macselect.c (Vmac_service_selection) [MAC_OSX]: Rename from
 -      Vmac_services_selection.  All uses changed.
 -      (mac_store_service_event): Rename from mac_store_services_event in
 -      extern and calls.
 -
 -      * macterm.c (Qservice) [MAC_OSX]: Rename from Qservices.  All uses
 -      changed.
 -      [MAC_OSX] (mac_store_service_event): Rename from
 -      mac_store_services_event.  All callers changed.
 -      [USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection): Add args
 -      FACE_ID and C.  All callers changed.
 -      (x_free_frame_resources) [USE_MAC_FONT_PANEL]: Call
 -      mac_set_font_info_for_selection when focus frame is destroyed.
 -      (XTread_socket): Revert to FrontNonFloatingWindow/FrontWindow.
 -
 -      * macterm.h (mac_set_font_info_for_selection): Add 2nd and 3rd
 -      args in extern.
 -
 -2006-05-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (describe_map): Avoid generating duplicate entries if
 -      the shadowed binding has the same definition.
 -
 -2006-05-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * keymap.c (push_key_description): Handle invalid character key.
 -
 -2006-05-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): Use system_eol_type for encoding
 -      arguments if eol_type is not yet decided.
 -
 -      * coding.h (system_eol_type): Extern it.
 -
 -      * coding.c (setup_coding_system): For invalid coding-system, set
 -      coding->eol_type to CODING_EOL_UNDECIDED.
 -      (encode_coding): Cancel previous change.
 -      (shrink_encoding_region): Likewise.
 -      (code_convert_region1): Likewise.
 -      (code_convert_string1): Likewise.
 -      (code_convert_string_norecord): Likewise.
 -
 -      * fileio.c (choose_write_coding_system): Use system_eol_type for
 -      encoding if eol_type is not yet decided.
 -
 -      * process.c (setup_process_coding_systems): Use system_eol_type
 -      for encoding if eol_type is not yet decided.
 -      (read_process_output): Likewise.
 -      (send_process): Likewise.
 -
 -2006-05-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (syms_of_minibuf) <history-length>: Fix typo in doc.
 -
 -2006-05-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (Fmac_clear_font_name_table): Move defun to macfns.c.
 -      (syms_of_mac): Likewise for defsubr.
 -
 -      * macfns.c (mac_set_font): New function.
 -      (mac_frame_parm_handlers, syms_of_macfns): Replace x_set_font with it.
 -      (mac_window) [TARGET_API_MAC_CARBON && MAC_OSX]: Specify
 -      kWindowToolbarButtonAttribute when creating window.
 -      (Fmac_clear_font_name_table): Move from macfns.c.
 -      (syms_of_macfns): Likewise for defsubr.
 -      [USE_MAC_FONT_PANEL] (Fmac_set_font_panel_visibility): New defun.
 -      (syms_of_macfns) [USE_MAC_FONT_PANEL]: Defsubr it.
 -
 -      * macgui.h (USE_MAC_FONT_PANEL): Define to 1 if USE_ATSUI is set
 -      and build is done on Mac OS X 10.2 and later.
 -
 -      * macselect.c (mac_do_receive_drag): Remove unused variable `index'.
 -      (mac_store_services_event): Change return type in extern.
 -
 -      * macterm.c (XLoadQueryFont) [USE_ATSUI]: Set font->mac_fontnum to
 -      FMFontFamily value.
 -      [USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection): New function.
 -      (x_new_focus_frame) [USE_MAC_FONT_PANEL]: Use it.
 -      (QCfamily, QCweight, QCslant, Qnormal, Qbold, Qitalic): Add extern.
 -      (QWindow) [MAC_OSX]: Likewise.
 -      (Qfont) [USE_MAC_FONT_PANEL]: Likewise.
 -      (Vmac_atsu_font_table) [USE_ATSUI]: New variable.
 -      (syms_of_macterm) [USE_ATSUI]: Defvar it.
 -      (Qtoolbar_switch_mode) [MAC_OSX]: New variable.
 -      (Qpanel_closed, Qselection) [USE_MAC_FONT_PANEL]: Likewise.
 -      (syms_of_macterm): Intern and staticpro them.
 -      (init_font_name_table) [USE_ATSUI]: Add data to Vmac_atsu_font_table.
 -      [TARGET_API_MAC_CARBON] (mac_store_event_ref_as_apple_event):
 -      New function.
 -      [USE_CARBON_EVENTS] (mac_handle_command_event): Use it.
 -      [MAC_OSX] (mac_store_services_event): Likewise.
 -      [USE_CARBON_EVENTS] (mac_handle_window_event) [MAC_OSX]: Handle
 -      kEventWindowToolbarSwitchMode event.
 -      (install_window_handler) [USE_CARBON_EVENTS && MAC_OSX]: Register it.
 -      [MAC_OSX] (mac_store_services_event): Change return type to OSStatus.
 -      [USE_MAC_FONT_PANEL] (mac_handle_font_event): New function.
 -      (install_window_handler) [USE_MAC_FONT_PANEL]: Install it.
 -      (XTread_socket): Select window on mouse click if x_focus_frame is NULL.
 -
 -      * macterm.h (mac_set_font_info_for_selection): Add extern.
 -
 -2006-05-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c (Qduration) [MAC_OS]: New variable.
 -      (syms_of_image) [MAC_OS]: Intern and staticpro it.
 -      [MAC_OS] (gif_load): Save image extension data in img->data.lisp_val.
 -      [MAC_OSX] (image_load_quartz2d): Use cfstring_create_with_utf8_cstring
 -      instead of cfstring_create_with_string.
 -
 -2006-05-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (xframe): Print frame name.
 -      (xlist): New command to print a list (max 10 elements).
 -      (xpr): Print lisp object of any type.
 -      (pitx): Print it->pixel_width.
 -
 -2006-05-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (handle_composition_prop): Fix for the case of empty
 -      composition component.
 -
 -2006-05-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (make_lispy_event) [MAC_OS]: Get Apple event info
 -      from event->arg.
 -
 -      * termhooks.h (enum event_kind) [MAC_OS]: Update comment for
 -      MAC_APPLE_EVENT.
 -
 -      * macterm.h (mac_make_lispy_event_code): Remove extern.
 -      (mac_post_mouse_moved_event): Add extern.
 -      (mac_aelist_to_lisp, mac_aedesc_to_lisp): Change arg 1 to
 -      `const AEDesc *' in externs.
 -      (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]: New extern.
 -
 -      * mac.c (mac_aelist_to_lisp, mac_aedesc_to_lisp): Change arg 1 to
 -      `const AEDesc *'.
 -      [TARGET_API_MAC_CARBON] (create_apple_event): New function.
 -      [TARGET_API_MAC_CARBON] (create_apple_event_from_event_ref): Use it.
 -      Use xrealloc instead of repeated xmalloc/xfree.
 -      [TARGET_API_MAC_CARBON] (create_apple_event_from_drag_ref):
 -      New function.
 -
 -      * macmenu.c (restore_menu_items, cleanup_popup_menu): Return a value.
 -
 -      * macselect.c: Update copyright year.
 -      (mac_store_apple_event): Change return type to void in extern.
 -      (mac_handle_apple_event): Don't get return value from
 -      mac_store_apple_event.
 -      [TARGET_API_MAC_CARBON] (Vmac_dnd_known_types): New variable.
 -      (syms_of_macselect) [TARGET_API_MAC_CARBON]: Defvar it.
 -      [TARGET_API_MAC_CARBON] (mac_do_track_drag): Move function from
 -      macterm.c.  Use Vmac_dnd_known_types as acceptable flavors.
 -      [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.  New
 -      implementation using create_apple_event_from_drag_ref.
 -      [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP)
 -      (mac_do_receive_dragUPP): Move variables from macterm.c.
 -      (install_drag_handler, remove_drag_handler): New functions.
 -
 -      * macterm.c (XTread_socket) [TARGET_API_MAC_CARBON]: Try window
 -      path select also for proxy icon click.
 -      [TARGET_API_MAC_CARBON] (mac_post_mouse_moved_event): New function.
 -      [USE_TOOLKIT_SCROLL_BARS] (scroll_bar_timer_callback): Use it.
 -      (xlfdpat_create): Remove unused label `error' and trailing sentences.
 -      (mac_do_track_drag, mac_do_receive_drag): Move functions to macselect.c.
 -      (mac_do_track_dragUPP, mac_do_receive_dragUPP): Move variables to
 -      macselect.c.
 -      (install_drag_handler, remove_drag_handler): Add extern.
 -      (mac_store_apple_event): Change return type to void.  All uses changed.
 -      Create Lisp object from Apple event and store it into input event.
 -      (mac_make_lispy_event_code): Remove function.
 -      [TARGET_API_MAC_CARBON] (mac_store_drag_event): New function.
 -      (install_window_handler): Call install_drag_handler.
 -      (remove_window_handler): Call remove_drag_handler.
 -
 -2006-05-03  Richard Stallman  <rms@gnu.org>
 -
 -      * sound.c (Fplay_sound_internal): Dynamically allocate
 -      current_sound_device and current_sound.
 -      (sound_cleanup): Free them.
 -
 -      * minibuf.c (read_minibuf): Don't use read_minibuf_noninteractive
 -      when inside a keyboard macro.
 -
 -2006-05-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * xmenu.c (restore_menu_items): Return a value.
 -
 -2006-05-01  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * syntax.c (Fforward_comment): Detect generic comment at beginning of
 -      buffer when moving backwards.
 -
 -2006-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (update_window): Don't set changed_p when mode/header
 -      line is updated.
 -
 -      * xdisp.c (prepare_menu_bars) [MAC_OS]: Call mac_update_title_bar.
 -      (get_glyph_face_and_encoding, get_char_face_and_encoding):
 -      Don't distinguish known faces from others.
 -
 -      * mac.c (mac_coerce_file_name_ptr): Try typeFSRef if coercion
 -      through typeFileURL failed.
 -
 -      * macfns.c (mac_update_title_bar): New function.
 -      [TARGET_API_MAC_CARBON] (mac_update_proxy_icon): New function.
 -      (show_hourglass, hide_hourglass) [USE_CG_DRAWING]:
 -      Call mac_prepare_for_quickdraw.
 -
 -      * macgui.h (USE_ATSUI): Set default to 1 if MAC_OSX is defined.
 -      (USE_CG_DRAWING): Don't define if compiled on Mac OS X 10.1.
 -      (enum pcm_status): New enum.
 -      (XCHARSTRUCTROW_CHAR_VALID_P, XCHARSTRUCTROW_SET_CHAR_VALID)
 -      (XCharStructRow): Remove.  Now validity is represented by
 -      non-negativeness of sum of ascent and descent.
 -      (struct MacFontStruct): Change type of member `rows'.
 -      (struct _XGC) [USE_CG_DRAWING]: Add member `clip_rects'.
 -
 -      * macterm.c (mac_draw_line, mac_draw_line_to_pixmap):
 -      Adjust endpoints of strictly horizontal/vertical lines.
 -      (mac_set_clip_rectangles) [USE_CG_DRAWING]: Set clip_rects.
 -      (pcm_init, pcm_get_status): New functions.
 -      (x_per_char_metric, XLoadQueryFont): Use them instead of
 -      XCharStructRow and related macros.
 -      (x_draw_relief_rect): Don't adjust arguments of mac_draw_line.
 -      (x_free_frame_resources) [TARGET_API_MAC_CARBON]: Free FRAME_FILE_NAME.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]: Handle proxy icon drag
 -      and window path pop-up menu on title bar.
 -      (mac_use_core_graphics) [USE_CG_DRAWING]: Set default to 1.
 -
 -      * macterm.h (mac_update_title_bar): Add extern.
 -      (struct mac_output) [TARGET_API_MAC_CARBON]: New member `file_name'.
 -      (FRAME_FILE_NAME): New macro.
 -
 -      * unexmacosx.c (unexec): Error if trying unexec from dumped executable.
 -
 -2006-04-30  Richard Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fdefine_key): Improve error message
 -      when KEY begins with a non-prefix key.
 -
 -2006-04-30  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * syntax.c (Fforward_comment): Don't forget to break out of the loop
 -      when we skipped backward over a generic comment.
 -
 -2006-04-27  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * .gdbinit (pp1, pv1): Only print value as expression is now
 -      printed out by gud-print.
 -      (pv1): Correct doc string.
 -
 -2006-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (store_in_keymap): Change `def' arg to not be `register'.
 -      Seems to trigger a bug in gcc-amd64 4.0.2 20051125 (Red Hat 4.0.2-8):
 -      keymap.c:895: error: address of register variable `def' requested.
 -
 -2006-04-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (construct_mouse_wheel): Handle negative coordinates.
 -
 -      * w32fns.c (w32_wnd_proc) <WM_LBUTTONDOWN, WM_RBUTTONDOWN>:
 -      <WM_LBUTTONUP, WM_RBUTTONUP>: Call signal_user_input in the cases
 -      where we preempt mouse_button_timer.
 -
 -2006-04-25  Miles Bader  <miles@gnu.org>
 -
 -      * editfns.c (Ffield_beginning, find_field): Undo change of 2006-04-23.
 -
 -2006-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.h: Include headers for pid_t.
 -
 -2006-04-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (fill_stretch_glyph_string): Set s->nchars = 1 for code which
 -      does last_glyph=s->first_glyph+s->nchars-1, e.g. if stretch has relief.
 -      (produce_stretch_glyph): Assume that face box height and width is
 -      already included in stretch glyph size so caller doesn't have to
 -      consider the extra space otherwise added (fixes problem in ses.el).
 -
 -      * frame.c (x_set_font): Clear f->n_tool_bar_rows and current frame
 -      matrices to force recalculation of tool-bar height after font change.
 -
 -      * xdisp.c (tool_bar_lines_needed): New local `temp_row' for clarity.
 -      Clear it when done, so we don't accidentally draw a second copy of
 -      the tool-bar after resetting f->n_tool_bar_rows.
 -      (redisplay_tool_bar): Update tool-bar-lines frame parameter whenever
 -      we recalculate f->n_tool_bar_rows.
 -
 -2006-04-23  Lars Hansen  <larsh@soem.dk>
 -
 -      * editfns.c (find_field): Fix comment.
 -      (Ffield_beginning): Fix bug when POS is at field beginning.
 -
 -2006-04-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1205000.
 -
 -2006-04-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): Fix last change.  Don't recenter if
 -      window start is at BEGV.
 -
 -      * dispextern.h (struct image): New member `corners'.
 -      (TOP_CORNER, LEFT_CORNER, BOT_CORNER, RIGHT_CORNER): New macros.
 -
 -      * image.c (four_corners_best): New arg CORNERS specifies what pixels
 -      to look at in case image has margin.
 -      (x_create_bitmap_mask): Pass NULL for CORNERS to four_corners_best.
 -      (image_background, image_background_transparent)
 -      (x_build_heuristic_mask): Pass img->corners to four_corners_best.
 -      (gif_load): Set img->corners according to image's margin spec.
 -      Use img->corners values directly where applicable.
 -      Save image extension data in img->data.lisp_val.
 -      (gif_clear_image): New function to free img->data.lisp_val.
 -      (gif_type): Use it instead of generic x_clear_image.
 -      (Fimage_extension_data): New defun.
 -      (syms_of_image): Defsubr it.
 -
 -2006-04-21  John Sullivan  <john@wjsullivan.net>  (tiny change)
 -
 -      * window.c (Fdisplay_buffer): Doc fix.
 -
 -2006-04-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Increase to 25000.
 -
 -2006-04-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [MAC_OS] (xpm_load_image): Fill in background field
 -      while we have ximg handy.
 -
 -      * macmenu.c (restore_menu_items, save_menu_items): New functions
 -      from xmenu.c.
 -      (set_frame_menubar, digest_single_submenu): Apply 2006-04-18
 -      changes for xmenu.c.
 -
 -      * macterm.c (x_per_char_metric): Return NULL if glyph width is 0.
 -      (add_mac_font_name): New function.
 -      (init_font_name_table): Use it.  Adopt the first found font from
 -      those having the same family name.
 -
 -2006-04-21  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * xdisp.c (note_mouse_highlight): Use build_string.
 -
 -2006-04-20  Lars Hansen  <larsh@soem.dk>
 -
 -      * textprop.c (Fremove_list_of_text_properties):
 -      Ensure modify_region is called only when buffer is modified and that
 -      signal_after_change is allways called in that case.
 -
 -      * print.c (PRINTFINISH): Call signal_after_change.
 -
 -2006-04-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): Fix last change.
 -
 -      * xdisp.c (redisplay_window): If current window start is not at the
 -      beginning of a line, select a new window start if buffer is modified
 -      and window start is in the modified region, but the first change is
 -      before window start.
 -
 -2006-04-18  Richard Stallman  <rms@gnu.org>
 -
 -      * xmenu.c (restore_menu_items, save_menu_items): New fns.
 -      (set_frame_menubar): Use save_menu_items.  Save updated vector in
 -      the frame before unwinding it.  Don't use unuse_menu_items.
 -      Don't use discard_menu_items.
 -      (digest_single_submenu): Abort if an item is not in a pane.
 -      (init_menu_items): Put the error check at the top.
 -
 -      * keymap.c (describe_map): Make "shadowed" warning more verbose.
 -
 -      * window.c (adjust_window_trailing_edge): Correctly distinguish
 -      series vs parallel cases, even when window has no parent.
 -
 -      * abbrev.c (record_symbol): New function.
 -      (Finsert_abbrev_table_description): Sort the abbrevs alphabetically.
 -
 -2006-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c (x_create_bitmap_from_data) [MAC_OS]: Don't check return
 -      value of xmalloc.
 -
 -      * mac.c (mac_coerce_file_name_ptr, mac_coerce_file_name_desc)
 -      (create_apple_event_from_event_ref, xrm_get_preference_database)
 -      (cfstring_create_normalized): Don't check return value of xmalloc.
 -
 -      * macselect.c (get_scrap_target_type_list, defer_apple_events)
 -      (copy_scrap_flavor_data, mac_handle_service_event): Don't check
 -      return value of xmalloc/xrealloc.
 -
 -      * macterm.c (XCreateGC, x_per_char_metric, xlfdpat_create)
 -      (init_font_name_table, init_font_name_table, mac_do_list_fonts)
 -      (XLoadQueryFont, mac_store_apple_event): Don't check return value
 -      of xmalloc.
 -
 -2006-04-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (coordinates_in_window): On the vertical border,
 -      calculate the row number measured from the top of the window, not
 -      the top of the frame.
 -      (window_loop): Test w->dedicated with !NILP instead of EQ Qt.
 -      (window_scroll_pixel_based): Fix off-by-one bug in 2002-12-23 change.
 -
 -2006-04-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Reduce to 24000.
 -
 -2006-04-16  Romain Francoise  <romain@orebokech.com>
 -
 -      * puresize.h (BASE_PURESIZE): Decrement back to 1200000.
 -
 -2006-04-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * puresize.h (PURESIZE_RATIO): Reduce to 10/6.
 -
 -2006-04-15  Romain Francoise  <romain@orebokech.com>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1210000.
 -
 -2006-04-13  Micha\e,Ak\e(Bl Cadilhac  <michael.cadilhac@lrde.org>
 -
 -      * print.c (Fprin1_to_string): Mention in the `doc' that the
 -      behavior is modified by `print-level' and `print-length'.
 -
 -2006-04-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): If eol-type is not yet decided
 -      and system_eol_type is not LF, set CODING_REQUIRE_ENCODING_MASK.
 -      If coding_system is nil, return 0.
 -      (code_convert_region1): Even if coding_system is nil, don't skip
 -      conversion if system_eol_type is not LF.
 -      (code_convert_string1): Likewise.
 -      (code_convert_string_norecord): Likewise.
 -
 -2006-04-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): Fix previous change.
 -      (encode_coding): If eol_type is not yet decided, use system_eol_type.
 -      (shrink_encoding_region): If eol_type is not yet decided and
 -      system_eol_type is not LF, don't shrink.
 -
 -2006-04-13  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * xdisp.c (note_mouse_highlight): Add help echo for dragging vertical
 -      line.
 -
 -2006-04-12  Richard Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (read_key_sequence): Explicitly avoid keybuf[-1].
 -
 -      * process.c (conv_lisp_to_sockaddr): If FAMILY unknown, just return.
 -      (Fprocess_send_eof): Abort if fail to open null device.
 -
 -2006-04-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fns.c [HAVE_MENUS && MAC_OS]: Include macterm.h.
 -
 -      * image.c [MAC_OS] (xpm_load_image): Add parentheses around
 -      assignment used as truth value.  Add explicit braces to avoid
 -      ambiguous `else'.
 -      [MAC_OS] (gif_load): Remove unused variable `gcpro1'.
 -
 -      * lisp.h (syms_of_fontset, Fset_fontset_font): Put extern and
 -      EXFUN in #ifdef HAVE_WINDOW_SYSTEM.
 -      (syms_of_xfns, syms_of_xsmfns, syms_of_xselect, syms_of_xterm):
 -      Put externs in #ifdef HAVE_X_WINDOWS.
 -      (syms_of_macfns, syms_of_macselect, syms_of_macterm)
 -      (syms_of_macmenu, syms_of_mac) [MAC_OS]: Add externs.
 -      (init_mac_osx_environment) [MAC_OSX]: Add extern.
 -
 -      * mac.c (init_process): Remove undef.
 -      (select) [MAC_OSX]: Undefine before including sysselect.h.
 -      (posix_pathname_to_fsspec, fsspec_to_posix_pathname) [MAC_OSX]:
 -      Remove functions and prototypes.
 -      (parse_value): Add parentheses around + inside shift.
 -      (path_from_vol_dir_name): Make static.
 -      (get_temp_dir_name): Remove unused variables `cpb' and `dir_name'.
 -      [!MAC_OSX] (get_path_to_system_folder): Likewise.
 -      (Fmac_get_file_creator, Fmac_get_file_type): Remove unused
 -      variable `cCode'.
 -      (Fmac_coerce_ae_data): Remove unused variables `fref' and `fs'.
 -      (Fmac_get_preference): Add explicit braces to avoid ambiguous `else'.
 -
 -      * macfns.c (x_to_mac_color): Remove unused variable `tail'.
 -      (x_set_mouse_color): Remove unused variable `dpy'.
 -      (Fx_create_frame): Remove unused variable `x_frame_count'.
 -      (Fx_server_version): Add explicit braces to avoid ambiguous `else'.
 -      (x_sync): Move from macterm.c.
 -      (Fx_file_dialog): Remove unused variable `default_filter_index'.
 -
 -      * macmenu.c (min_menu_id): Make element type explicit.
 -
 -      * macselect.c (get_flavor_type_from_symbol): Remove unused
 -      variable `val'.
 -      (get_scrap_private_timestamp, x_get_foreign_selection)
 -      (copy_scrap_flavor_data): Add explicit braces to avoid ambiguous `else'.
 -      (Fmac_process_deferred_apple_events): Remove unused variables
 -      `keyword', `reply', `apple_event', `count', and `err'.
 -
 -      * macterm.c: Don't include gnu.h.
 -      (x_io_error_quitter, x_draw_image_foreground_1): Remove prototypes.
 -      (x_sync): Move to macfns.c.
 -      [USE_CG_DRAWING] (mac_define_fringe_bitmap): Remove unused
 -      variable `mask_bits'.
 -      (mac_compute_glyph_string_overhangs): Avoid ambiguous `else'.
 -      (x_draw_image_glyph_string): Remove unused variable `pixmap'.
 -      (x_mac_to_emacs_modifiers): Remove function.
 -      (XTset_vertical_scroll_bar, mac_handle_visibility_change)
 -      (x_make_frame_visible, xlfdpat_create, mac_handle_command_event):
 -      Add explicit braces to avoid ambiguous `else'.
 -      (x_make_frame_visible): Remove unused variables `type',
 -      `original_top', and `original_left'.
 -      (mac_do_list_fonts, XTread_socket): Add parentheses around && within ||.
 -      (x_load_font): Remove unused variables `full_name', and `value'.
 -      (do_get_menus, do_init_managers, do_check_ram_size) [!MAC_OS8]:
 -      Remove functions.
 -      (do_zoom_window): Reorganize variables with respect to conditionals.
 -      (init_command_handler): Remove unused variable `err'.
 -      [MAC_OSX] (mac_check_bundle): Remove unused variable `child'.
 -
 -      * macterm.h (x_set_mouse_position, x_set_mouse_pixel_position)
 -      (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
 -      (x_destroy_window, x_wm_set_size_hint, x_delete_display, XFreeGC)
 -      (do_menu_choice, have_menus_p, x_real_positions)
 -      (x_set_menu_bar_lines, x_pixel_width, x_pixel_height, x_char_width)
 -      (x_char_height, x_sync, x_set_tool_bar_lines, x_activate_menubar)
 -      (free_frame_menubar): Add externs.
 -
 -      * unexmacosx.c: Include config.h before using HAVE_MALLOC_MALLOC_H.
 -      (malloc, realloc, free): Add undefs.
 -      (read_load_commands): Remove unused variable `n' and `j'.
 -      (copy_data_segment): Remove unused variable `r'.
 -
 -      * xdisp.c (get_glyph_string_clip_rects): Add parentheses around &&
 -      within ||.  Add explicit braces to avoid ambiguous `else'.
 -      (dump_glyph_row): Remove label for `inverse_p' from legend.
 -
 -      * xfaces.c (Finternal_merge_in_global_face, try_font_list):
 -      Add explicit braces to avoid ambiguous `else'.
 -
 -2006-04-11  Micha\e,Ak\e(Bl Cadilhac  <michael.cadilhac@lrde.org>
 -
 -      * dispnew.c (init_display): Don't init X display if the user asked
 -      for a non-X display.
 -
 -2006-04-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (setup_coding_system): Use system_eol_type for default
 -      coding->eol_type.
 -
 -2006-04-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h (wrong_type_argument): Mark as NO_RETURN.
 -
 -      * data.c (wrong_type_argument): Try to avoid compiler warnings due
 -      to the fact the function is now marked as NO_RETURN.
 -
 -2006-04-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/ms-w32.h (pid_t) [_MSC_VER]: New typedef.
 -
 -2006-04-10  Romain Francoise  <romain@orebokech.com>
 -
 -      * xrdb.c (gethomedir): Use xstrdup.
 -
 -2006-04-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * xrdb.c (gethomedir): Make sure to always return a pointer that
 -      can be passed to free.
 -
 -2006-04-09  Richard Stallman  <rms@gnu.org>
 -
 -      * lisp.h (Fkill_emacs): Undo previous change.
 -
 -2006-04-08  Richard Stallman  <rms@gnu.org>
 -
 -      * search.c (boyer_moore): Test ch >= 0400, not >.
 -
 -2006-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (pure_write_error): Mark as NO_RETURN.
 -
 -      * lisp.h (args_out_of_range, args_out_of_range_3)
 -
 -2006-04-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Ignore mouse movements
 -      if a menu is active on this frame.
 -
 -2006-04-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h (report_file_error): Mark as NO_RETURN.
 -
 -2006-04-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * alloc.c [STDC_HEADERS]: Include stddef.h.
 -
 -      * lisp.h (PSEUDOVECSIZE): Fix last change.
 -
 -2006-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
 -      `raw_status_high', and `raw_status_low' with plain integers, and move
 -      them to the end of the structure.
 -
 -      * alloc.c (allocate_process): Use PSEUDOVECSIZE to initialize the
 -      pseudovector's size field so only the Lisp_Object fields get GC'd.
 -
 -      * process.c (update_status, make_process, Fdelete_process)
 -      (Fprocess_status, list_processes_1, start_process_unwind)
 -      (create_process, Fmake_network_process, server_accept_connection)
 -      (wait_reading_process_output, send_process, Fprocess_running_child_p)
 -      (process_send_signal, proc_encode_coding_system, Fprocess_send_eof)
 -      (sigchld_handler, status_notify): Adjust to new non-Lisp fields for
 -      `pid' and `raw_status'.
 -      (Fprocess_id, Fsignal_process): Same, and additionally use floats when
 -      representing PIDs that are larger than most-positive-fixnum.
 -
 -      * keymap.c (describe_map): Only use XINT if we checked INTEGERP.
 -
 -      * lisp.h (OFFSETOF, PSEUDOVECSIZE): New macros.
 -
 -2006-04-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (Fx_show_tip): Add 3 to the 5th arg of SetWindowPos.
 -
 -2006-04-03  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      * editfns.c (TM_YEAR_IN_ASCTIME_RANGE): New macro, identical to
 -      ../lib-src/b2m.c and ../lib-src/editfns.c.
 -      (Fcurrent_time_string): Use it.
 -      Document that the year might not consume 4 columns if it's outside
 -      the range 1000-9999.
 -      Check for asctime failure.
 -      Don't assume that the output string length is always exactly 24.
 -
 -2006-04-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XTread_socket): Initialize variable `f' before its use.
 -
 -2006-04-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * image.c: Include "charset.h" and "coding.h".
 -      (x_find_image_file): Return an encoded file name.
 -
 -2006-04-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * configure: Regenerated.
 -
 -2006-03-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfns.c (xg_set_icon): Delete superfluous UNGCPRO.
 -
 -2006-03-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xdisp.c (syms_of_xdisp): Fix variable name.
 -
 -2006-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_term_init): Delete superfluous UNGCPRO.
 -
 -2006-03-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (process_tool_bar_item): Reorder dummy args.
 -
 -2006-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (tool_bar_items): Use map_keymap.
 -      (process_tool_bar_item): Add dummy args to fit the required interface.
 -
 -2006-03-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pr, pp, pp1, pv, pv1): Force print_output_debug_flag
 -      to zero before calling debug_print or safe_debug_print.
 -
 -      * print.c (print_output_debug_flag): New global variable.
 -      (Fexternal_debugging_output) [WINDOWSNT]: Don't call
 -      OutputDebugString if print_output_debug_flag is zero.
 -
 -2006-03-24  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      * editfns.c (TM_YEAR_BASE): Move up, so the changes below can use it.
 -      (Fdecode_time, Fencode_time): Use TM_YEAR_BASE instead of 1900.
 -      (Fdecode_time): Cast tm_year to EMACS_INT.
 -      (Fcurrent_time_string): Report an invalid time specification if
 -      the argument is invalid.  Also, check for out-of-range time stamps.
 -
 -2006-03-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (handle_one_xevent):
 -      * w32term.c (w32_read_socket):
 -      * macterm.c (XTread_socket): Don't let key-press clear mouse face
 -      on in toolbar window if mouse-highlight is an integer.
 -
 -      * fns.c (sxhash_list): Include last non-nil CDR in hash.
 -
 -2006-03-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (enum mac_menu_kind): New enum.
 -      (min_menu_id): New variable.
 -      (POPUP_SUBMENU_ID, MIN_POPUP_SUBMENU_ID, MIN_MENU_ID)
 -      (MIN_SUBMENU_ID): Remove defines.  All uses are replaced with
 -      min_menu_id and enumerators in enum mac_menu_kind.
 -      (fill_menu, dispose_menus, install_menu_quit_handler): New arg KIND.
 -      All uses changed.  Add range check for menu ID.
 -      (fill_menubar): Add range check for menu ID.
 -      [HAVE_CANCELMENUTRACKING] (menu_quit_handler): Check error code of
 -      GetEventParameter.
 -      (set_frame_menubar, mac_menu_show): Call install_menu_quit_handler
 -      for each menu kind.
 -
 -2006-03-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c: Undo 2006-03-21 change.
 -
 -      * term.c: Define aliases for append_glyph and produce_stretch_glyph
 -      when `static' is defined to avoid name clash with those in xdisp.c.
 -
 -      * process.c (Faccept_process_output): Fix to comply with lisp
 -      reference.  Change arg "timeout" to "seconds" and allow both
 -      integer and float value.  Change arg "timeout-msec" to "millisec"
 -      and interpret" as milliseconds rather than microseconds.  Fix doc
 -      string accordingly.
 -
 -2006-03-21  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * xdisp.c (store_next_glyph): Rename from append_glyph.
 -      (generate_stretch_glyph): Rename from produce_stretch_glyph.
 -      All callers changed accordingly.
 -
 -2006-03-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: x_session_initialized new variable.
 -      (x_term_init): Use x_session_initialized to check if
 -      x_session_initialize should be called.
 -      (x_initialize): Initialize x_session_initialized.
 -
 -2006-03-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (draw_fringe_bitmap): Don't calculate default overlay arrow
 -      bitmap here, but ...
 -      (update_window_fringes): ... here, so we can test if it has changed.
 -
 -2006-03-20  Andreas Schwab  <schwab@suse.de>
 -
 -      * dispnew.c (init_display): Check DISPLAY here.
 -
 -      * emacs.c (main): Don't check here.
 -
 -      * xterm.c (x_display_ok): Don't use DISPLAY env var.
 -
 -2006-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (window_scroll_pixel_based): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 -
 -2006-03-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (main): Fix last change.
 -
 -2006-03-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Fwrite_region): Set visit_file to Qnil before GCPRO it.
 -
 -      * keymap.c (map_keymap): Set tail to Qnil before GCPRO it.
 -
 -      * xfns.c (xg_set_icon): Remove unnecessary GCPRO.
 -
 -      * xterm.c (x_term_init): Remove unnecessary GCPRO.
 -
 -2006-03-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_cursor_from_row): Fix cursor property on overlay string,
 -      so it doesn't associate overlay string with following glyph by default.
 -      Allow integer property value to specify explicit number of buffer
 -      positions associate with overlay string.
 -
 -2006-03-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_display_ok): Fix minor bug and compilation warnings.
 -
 -2006-03-18  Nozomu Ando  <nand@mac.com>
 -
 -      * m/pmax.h (BROKEN_NOCOMBRELOC) [__NetBSD__]: Define.
 -      (LIB_STANDARD, START_FILES) [__NetBSD__]: Don't define.
 -      (START_FILES, RUN_TIME_REMAP, UNEXEC) [__NetBSD__, __OpenBSD__]:
 -      Don't redefine.
 -
 -      * m/mips.h: Don't use unexmips on NetBSD.
 -      (LIBS_MACHINE): Move definition lower, so it doesn't use
 -      LD_SWITCH_MACHINE, START_FILES, LIB_STANDARD, LIBS_TERMCAP,
 -      C_SWITCH_MACHINE, and C_DEBUG_SWITCH.
 -
 -      * unexelf.c [BROKEN_NOCOMBRELOC]: Include assert.h.
 -      (unexec) [BROKEN_NOCOMBRELOC]: Handle platforms whose nocombreloc
 -      option is broken (e.g., MIPS/NetBSD).
 -
 -2006-03-18  Craig McDaniel  <craigmcd@gmail.com>  (tiny change)
 -
 -      * sheap.c (STATIC_HEAP_SIZE): Enlarge STATIC_HEAP_SIZE to 12MB.
 -      Remove the HAVE_X_WINDOWS conditional.
 -
 -2006-03-18  Vivek Dasmohapatra  <vivek@etla.org>  (tiny change)
 -
 -      * emacs.c (main): If user asks for a display that is unavailable,
 -      simulate -nw.
 -
 -      * xterm.c (x_display_ok): New function.
 -
 -      * xterm.h: Add prototype for x_display_ok.
 -
 -2006-03-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (Fw32_select_font): Doc fix.
 -
 -2006-03-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [MAC_OS] (XPutPixel, XGetPixel)
 -      [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]: Don't use specialized
 -      version when depth is 32.
 -      (mac_create_cg_image_from_image) [MAC_OS && USE_CG_DRAWING]:
 -      New function.
 -      (prepare_image_for_display) [MAC_OS && USE_CG_DRAWING]: Use it.
 -      (x_clear_image_1) [MAC_OS && USE_CG_DRAWING]: Release CGImage.
 -
 -      * macterm.c (XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
 -      Create GWorld in ARGB pixel format.
 -      (mac_copy_area, mac_copy_area_with_mask) [USE_CG_DRAWING]:
 -      Remove functions.
 -      (x_draw_image_foreground) [USE_CG_DRAWING]: Use mac_draw_cg_image
 -      instead of mac_copy_area/mac_copy_area_with_mask.
 -
 -2006-03-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (extend_face_to_end_of_line): Always add space glyph to
 -      empty row.  Fixes memory corruption revealed by 2006-03-02 change.
 -      (display_tool_bar_line): Skip empty tool-bar line if HEIGHT < 0.
 -      (tool_bar_lines_needed): Fix tool-bar display in case the tool-bar
 -      width is exactly the same as the window width.  Don't count a final
 -      empty tool-bar line (pass HEIGHT = -1 to display_tool_bar_line).
 -
 -2006-03-15  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fringe.c (w32_init_fringe, w32_reset_fringes): Revert to being
 -      conditional on HAVE_NTGUI, not WINDOWS_NT.
 -
 -2006-03-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (mac_init_fringe) [MAC_OS]: Add prototype.
 -
 -      * fringe.c (mac_init_fringe) [MAC_OS]: New function.
 -
 -      * macterm.c (mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
 -      (max_fringe_bmp, fringe_bmp) [USE_CG_DRAWING]: New variables.
 -      (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap)
 -      (mac_draw_cg_image) [USE_CG_DRAWING]: New functions.
 -      (mac_draw_bitmap) [USE_CG_DRAWING]: Remove function.
 -      (x_draw_fringe_bitmap) [USE_CG_DRAWING]: Use mac_draw_cg_image
 -      instead of mac_draw_bitmap.
 -      (x_redisplay_interface) [USE_CG_DRAWING]: Set handlers for
 -      define_fringe_bitmap and destroy_fringe_bitmap.
 -
 -2006-03-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_uncatch_errors): Block input for entire function.
 -
 -2006-03-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_create_frame): Remove call to
 -      Qface_set_after_frame_default (from xfns.c 2003-05-26).
 -
 -      * w32menu.c (Fx_popup_menu): Call w32_free_menu_strings when
 -      finished with the menu.
 -
 -      * w32term.c: Sync 2005-10-24 xterm.c changes.
 -      (last_mouse_glyph_frame): New var.
 -      (note_mouse_movement): Say mouse moved if current frame differs
 -      from last_mouse_glyph_frame, and update last_mouse_glyph_frame.
 -      (w32_mouse_position): Set last_mouse_glyph_frame.
 -      Remove OLD_REDISPLAY_CODE block.
 -
 -2006-03-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h [USE_ATSUI && MAC_OSX]: Define USE_CG_TEXT_DRAWING to 1.
 -
 -      * macterm.h (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
 -      (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Add prototype.
 -
 -      * mac.c (sys_select) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
 -
 -      * macfns.c (x_create_tip_frame): Apply 2006-03-11 change for xfns.c.
 -
 -      * macterm.c (mac_draw_rectangle, x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground)
 -      (x_draw_image_foreground): Undo previous changes.
 -      (x_draw_hollow_cursor): Likewise.  Subtract 1 from the last
 -      argument of mac_draw_rectangle.
 -      (CG_SET_FILL_COLOR, CG_SET_STROKE_COLOR): New macros.
 -      (mac_draw_string_common, mac_draw_image_string_cg): Use them.
 -      (FRAME_CG_CONTEXT) [USE_CG_DRAWING]: New macro.
 -      (mac_begin_cg_clip, mac_end_cg_clip, mac_prepare_for_quickdraw)
 -      [USE_CG_DRAWING]: New functions.
 -      (mac_draw_line, mac_erase_rectangle, mac_clear_window)
 -      (mac_fill_rectangle, mac_draw_rectangle, mac_draw_string_common)
 -      (mac_draw_image_string_cg) [USE_CG_DRAWING]: Add Quartz 2D drawing part.
 -      (mac_draw_bitmap, mac_invert_rectangle, mac_draw_string_common)
 -      (mac_copy_area, mac_scroll_area, x_scroll_bar_create)
 -      (x_scroll_bar_remove, XTset_vertical_scroll_bar, x_set_window_size)
 -      (XTread_socket) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
 -
 -2006-03-12  L\e$,1 q\e(Brentey K\e,Aa\e(Broly  <lorentey@elte.hu>
 -
 -      * xfns.c (x_icon): Disable redundant call to `x_wm_set_window_state'.
 -
 -2006-03-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (signal_user_input): New function.
 -      (post_character_message): Use it for keyboard input.
 -      (w32_msg_pump): Use it for mouse input.
 -
 -2006-03-11  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * window.c: Rename preserve_y to window_scroll_pixel_based_preserve_y.
 -      (window_scroll_pixel_based, syms_of_window): Adapt to above change.
 -
 -2006-03-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc): Ignore middle and extra button events
 -      if a menu is already active (the menubar_active flag is on).
 -
 -2006-03-11  David Ponce  <david@dponce.com>
 -
 -      * xfns.c (x_create_tip_frame): Preserve received parms by copying them.
 -
 -2006-03-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32term.c: Add x_fully_uncatch_errors and x_catching_errors to
 -      the list of unused display error handling functions.
 -
 -      * eval.c (unwind_to_catch): Call x_fully_uncatch_errors only if
 -      HAVE_X_WINDOWS.
 -      (internal_condition_case, internal_condition_case_1)
 -      (internal_condition_case_2): Call x_catching_errors only if
 -      HAVE_X_WINDOWS.
 -
 -      * vm-limit.c [HAVE_GETRLIMIT]: Don't define unconditionally.
 -      Don't include sys/resource.h unless defined.
 -
 -2006-03-11  Richard Stallman  <rms@gnu.org>
 -
 -      * keymap.c (describe_map): Shorten string to indicate shadowed binding.
 -
 -      * vm-limit.c (get_lim_data, lim_data, data_space_start):
 -      Move from mem-limits.h.
 -      (enum warnlevel): New data type.
 -      (check_memory_limits): Rewrite the logic about warnings.
 -      Use standard `struct rlimit'.  Check return values for nonsense.
 -      (memory_warnings): Always clear lim_data.
 -
 -      * mem-limits.h (get_lim_data, lim_data, data_space_start):
 -      Move to vm-limit.c.
 -
 -      * xterm.c (x_fully_uncatch_errors, x_catching_errors): New functions.
 -
 -      * eval.c (unwind_to_catch): Call x_fully_uncatch_errors.
 -      (internal_condition_case_1, internal_condition_case_2):
 -      Abort if within unclosed x_catch_errors.
 -
 -2006-03-11  Romain Francoise  <romain@orebokech.com>
 -
 -      * process.c (Vprocess_adaptive_read_buffering): Doc fix.
 -
 -2006-03-11  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 -
 -      * lisp.h: Remove duplicate prototypes.  Make the prototype of
 -      getloadavg be conditioned on HAVE_GETLOADAVG being undefined.
 -
 -2006-03-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xterm.c (x_draw_hollow_cursor): Subtract 1 from the last
 -      argument of XDrawRectangle.
 -
 -      * xdisp.c (get_phys_cursor_geometry): Don't decrease height by 1.
 -
 -      * macterm.c (mac_draw_rectangle): Don't add 1 to width and height.
 -      (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground)
 -      (x_draw_image_foreground): Don't subtract 1 from width and height
 -      arguments to mac_draw_rectangle.
 -      (x_draw_hollow_cursor): Add 1 to w->phys_cursor_width.
 -
 -2006-03-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (USE_POSIX_MEMALIGN): Fix last change.
 -
 -2006-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (USE_POSIX_MEMALIGN): New macro.
 -      (ABLOCKS_BASE, lisp_align_malloc, lisp_align_free): Use it.
 -
 -2006-03-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Fix decoding
 -      ASCII component of a composition.
 -
 -2006-03-08  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * window.c: Declare preserve_y as a static global variable.
 -      (window_scroll_pixel_based): No longer declare preserve_y;
 -      it is global now.
 -      (syms_of_window): Set preserve_y to -1.
 -
 -2006-03-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [MAC_OS] (XPutPixel): Set alpha channel bits if pixmap
 -      depth is 32.
 -      [MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap
 -      depth is 32.
 -
 -2006-03-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (handle_invisible_prop): Don't update it->position with
 -      a buffer position if we're in a display string.
 -
 -2006-03-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.h (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH)
 -      (MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH): New defines.
 -
 -      * macfns.c (x_default_scroll_bar_color_parameter)
 -      (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
 -      Remove unnecessary prototypes.
 -      (x_set_scroll_bar_default_width):
 -      Use MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH.
 -      (mac_set_scroll_bar_width): New function.
 -      (mac_frame_parm_handlers): Set it as handler for scroll-bar-width.
 -
 -      * macterm.c (get_control_part_bounds): Fix type of return value.
 -      (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
 -      (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: Don't show
 -      scroll bar if it is not tall enough to display scroll bar thumb.
 -      [USE_CARBON_EVENTS] (mac_convert_event_ref)
 -      (mac_handle_command_event, mac_handle_window_event)
 -      (mac_handle_mouse_event): Check error code of GetEventParameter.
 -      (convert_fn_keycode) [MAC_OSX]: Likewise.
 -
 -2006-03-05  Andreas Schwab  <schwab@suse.de>
 -
 -      * xselect.c (x_catch_errors_unwind): Fix missing return value.
 -
 -2006-03-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * frame.h (struct frame): New member n_tool_bar_rows.
 -
 -      * xdisp.c: Minimize the unpleasent visual impact of the requirement
 -      that non-toolkit tool-bars must occupy an integral number of screen
 -      lines, by distributing the rows evenly over the tool-bar screen area.
 -      (Vtool_bar_border): New variable.
 -      (syms_of_xdisp): DEFVAR_LISP it.
 -      (display_tool_bar_line): Add HEIGHT arg for desired row height.
 -      Make tool-bar row the desired height.  Use default face for border
 -      below tool-bar.
 -      (tool_bar_lines_needed): Add N_ROWS arg.  Use it to return number of
 -      actual tool-bar rows.
 -      (redisplay_tool_bar): Calculate f->n_tool_bar_rows initially.
 -      Adjust the height of the tool-bar rows to fill tool-bar screen area.
 -      (redisplay_tool_bar): Calculate f->n_tool_bar_rows when tool-bar area
 -      is resized.
 -
 -2006-03-01  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * search.c (Fregexp_quote): Do not precede a literal `]' with two
 -      backslashes to try to make clear that it has a literal meaning; it
 -      does not do that.  (It could close a character alternative
 -      containing a backslash.)
 -
 -2006-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xselect.c (x_catch_errors_unwind): New function.
 -      (x_reply_selection_request): Put x_uncatch_errors in an unwind.
 -      (Fx_get_atom_name): Call x_uncatch_errors earlier.
 -
 -      * window.c (Qscroll_up, Qscroll_down): New syms.
 -      (window_scroll_pixel_based): Make preserve_y static to avoid
 -      getting point stuck when scrolling 1 line.
 -
 -2006-02-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary argument.
 -
 -      * xterm.c (x_load_font, x_term_init, XTmouse_position)
 -      (handle_one_xevent, x_connection_closed, x_list_fonts):
 -      No arg for x_uncatch_errors.
 -
 -      * xselect.c (x_own_selection, x_decline_selection_request)
 -      (x_reply_selection_request, x_get_foreign_selection)
 -      (Fx_get_atom_name, Fx_send_client_event): Likewise.
 -
 -      * xfns.c (x_real_positions, x_set_mouse_color, Fx_focus_frame):
 -      Likewise.
 -
 -2006-02-26  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * lread.c: Declare Vload_file_rep_suffixes instead of
 -      deleted variable default_suffixes.
 -      (Fget_load_suffixes): New function.
 -      (Fload): Use Fget_load_suffixes and Vload_file_rep_suffixes.
 -      No longer use deleted variable default_suffixes.  Update docstring.
 -      (syms_of_lread): defsubr Sget_load_suffixes.
 -      Expand `load-suffixes' docstring.
 -      Delete default_suffixes and DEFVAR_LISP the new variable
 -      `load-file-rep-suffixes'.
 -
 -      * w32.c (check_windows_init_file): Use Fget_load_suffixes instead
 -      of Vload_suffixes.
 -
 -      * lisp.h: EXFUN Fget_load_suffixes.
 -      Extern Vload_file_rep_suffixes.
 -
 -      * eval.c (specpdl_ptr): Remove volatile qualifier for consistency
 -      with lisp.h.
 -
 -2006-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (struct specbinding, specpdl_ptr): Remove the volatile
 -      qualifier which was trying to avoid the bug that was fixed by
 -      yesterday's changes to xterm.c.
 -
 -2006-02-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.h (x_catch_errors) Return value changed to void.
 -      (x_uncatch_errors): Delete unused count argument.
 -
 -      * xterm.c (x_catch_errors): Don't use record_unwind_protect, since
 -      it can be called in a signal handler.
 -      (x_catch_errors_unwind): Function deleted.
 -      (x_uncatch_errors): Deallocate last x_error_message_stack struct.
 -      (x_check_errors): Call x_uncatch_errors before signalling error.
 -
 -      (x_load_font, x_term_init, XTmouse_position, handle_one_xevent)
 -      (x_connection_closed, x_list_fonts): Use new versions of
 -      x_catch_errors and x_uncatch_errors.
 -
 -      * xselect.c (x_own_selection, x_decline_selection_request)
 -      (x_reply_selection_request, x_get_foreign_selection)
 -      (Fx_get_atom_name, Fx_send_client_event): Likewise.
 -
 -      * xfns.c (x_real_positions, x_set_mouse_color, Fx_focus_frame):
 -      Likewise.
 -
 -      * eval.c (record_unwind_protect): Add an assertion.
 -
 -2006-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Fmake_network_process): Init the process's mark.
 -
 -2006-02-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (modify_overlay): Force redisplay if we modify an
 -      overlay at the end of the buffer.
 -
 -2006-02-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_image_for_pixmap): If x_find_image_file returns
 -      nil the image file has been removed, in that case use the (cached)
 -      pixmap.
 -
 -2006-02-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): When a text is replaced
 -      partially, be sure to set point before the inserted characters.
 -
 -2006-02-23  Zhang Wei  <id.brep@gmail.com>  (tiny change)
 -
 -      * xfns.c (Fx_file_dialog): Return a decoded file name.
 -
 -2006-02-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (update_text_area): Avoid needless redraw of rightmost
 -      glyph whose face is extended to the text area end.
 -
 -      * macterm.c (x_set_toolkit_scroll_bar_thumb): Don't set control
 -      values if control is not visible or values are not changed.
 -
 -2006-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fwindow_list): Check `window' before doing XWINDOW.
 -      The default `window' should not be "on a different frame".
 -
 -2006-02-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * indent.c (Fvertical_motion): Only try to move back if we can.
 -
 -2006-02-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (struct _XGC) [!MAC_OSX || !USE_ATSUI]: New member
 -      n_clip_rects.
 -
 -      * macmenu.c (digest_single_submenu): Apply 2006-02-19 change for
 -      xmenu.c.
 -
 -      * macterm.c (GC_CLIP_REGION): Remove macro.
 -      (mac_begin_clip, mac_end_clip): Take arg GC instead of REGION.
 -      All uses changed.  Don't do clipping if n_clip_rects is zero.
 -      (mac_set_clip_rectangles): Use xassert instead of abort.
 -      Set n_clip_rects.  Don't make clip_region empty when number of
 -      clipping rectangles is zero.
 -      (mac_reset_clip_rectangles): Set n_clip_rects directly instead of
 -      calling mac_set_clip_rectangles.
 -      (x_set_toolkit_scroll_bar_thumb): Temporarily hide scroll bar to
 -      avoid multiple redraws.
 -
 -2006-02-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (draw_fringe_bitmap): Fix overlay-arrow display.
 -
 -2006-02-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (syms_of_fringe) <fringe-bitmaps>: Doc fix.
 -
 -2006-02-21  Zhang Wei  <brep@newsmth.org>
 -
 -      * xfns.c (Fx_file_dialog, Motif and GTK): DECODE_FILE before
 -      returning it.
 -
 -2006-02-21  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 -
 -      * fringe.c (horizontal_bar_bits): Rename from `horisontal_bar_bits'.
 -      (standard_bitmaps): Use it.
 -
 -2006-02-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_draw_string_common): Remove arg MODE.  New arg
 -      BG_WIDTH.  All uses changed.  Draw background if BG_WIDTH is not zero.
 -      (mac_draw_image_string, mac_draw_image_string_16): New arg BG_WIDTH.
 -      [USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg): Rename from
 -      mac_draw_string_cg.  New arg BG_WIDTH.  All uses changed.
 -      Draw background if BG_WIDTH is not zero.  Use float constants as
 -      divisors instead of double.  Use alloca instead of xmalloc/xfree.
 -      (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
 -      [!MAC_OS8 || USE_ATSUI]: Background may be drawn using
 -      mac_draw_image_string* functions.
 -      (XLoadQueryFont) [MAC_OS8 && USE_ATSUI]: Don't adjust heights of
 -      some fonts when srcCopy text transfer mode might be used.
 -      (mac_begin_clip, mac_end_clip): Check if region is empty.
 -      (mac_set_clip_rectangles): When resetting clip region, make it
 -      empty instead of disposing of it.
 -
 -2006-02-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * Makefile.in: Add fringe.elc to WINDOW_SUPPORT.
 -
 -      * buffer.h (struct buffer): New members fringe_indicator_alist and
 -      fringe_cursor_alist.
 -
 -      * buffer.c (init_buffer_once): Set dummy default values for
 -      fringe-indicator-alist and fringe-cursor-alist.  The proper
 -      default values are set by pre-loading fringe.el.
 -      (syms_of_buffer): defvar_per_buffer new fringe-indicator-alist and
 -      fringe-cursor-alist buffer-local variables and defvar_lisp_nopro
 -      corresponding default- variables.
 -
 -      * fringe.c (enum fringe_bitmap_type): Remove.  Change all uses
 -      to use `int'.
 -      (NO_FRINGE_BITMAP, UNDEF_FRINGE_BITMAP, MAX_STANDARD_FRINGE_BITMAPS):
 -      Define explicitly.
 -      (Qtruncation, Qcontinuation, Qempty_line, Qtop_bottom)
 -      (Qhollow_small): New variables.
 -      (syms_of_fringe): Intern and staticpro them.
 -      (question_mark_bits): Rename from unknown_bits.
 -      (left_curly_arrow_bits): Rename from continuation_bits.
 -      (right_curly_arrow_bits): Rename from continued_bits.
 -      (left_triangle_bits): Rename from ov_bits.
 -      (right_triangle_bits): Add.
 -      (filled_rectangle_bits): Rename from filled_box_cursor_bits.
 -      (hollow_rectangle_bits): Rename from hollow_box_cursor_bits.
 -      (filled_square_bits): Add.
 -      (vertical_bar_bits): Rename from bar_cursor_bits.
 -      (horizontal_bar_bits): Rename from hbar_cursor_bits.
 -      (empty_line_bits): Rename from zv_bits.
 -      (standard_bitmaps): Update to use new names.
 -      (draw_fringe_bitmap_1): Make static.
 -      (get_logical_cursor_bitmap, get_logical_fringe_bitmap): New functions
 -      to map from logical cursors and indicators to physical bitmaps.
 -      (draw_fringe_bitmap): Resolve fringe cursor and overlay-arrow
 -      bitmaps using symbol names instead of bitmap numbers.
 -      (update_window_fringes): Use logical indicator symbol names
 -      instead of bitmap numbers for logical.  Add bitmap cache.
 -      (LEFT_FRINGE, RIGHT_FRINGE): New helper macros.
 -
 -2006-02-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * regex.c: Revert 2006-02-19 change.
 -      (xmalloc, xrealloc): Define these when not linked to Emacs.
 -      Redefine malloc -> xmalloc, realloc -> xrealloc as in Emacs case.
 -
 -2006-02-19  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * regex.c (extend_range_table_work_area): Fix typo.
 -
 -2006-02-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xterm.c (x_catch_errors): Use xmalloc.
 -
 -      * regex.c (extend_range_table_work_area): Call xmalloc and xrealloc.
 -      (regex_compile): Likewise.
 -      (regcomp): Use xmalloc.
 -
 -      * gtkutil.c (malloc_widget_value): Use xmalloc.
 -
 -      * vm-limit.c [HAVE_GETRLIMIT]: Include sys/resource.h.
 -      (check_memory_limits) [HAVE_GETRLIMIT]: Use getrlimit.
 -
 -      * xmenu.c (digest_single_submenu): When pane_string is empty,
 -      do initialize save_wv.
 -
 -2006-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (update_menu_bar) [MAC_OS]: Don't set
 -      w->update_mode_line if arg F is not the selected frame.
 -
 -      * macmenu.c (popup_activated_flag, submenu_id)
 -      (next_menubar_widget_id): Remove variables.
 -      (initialize_frame_menubar): Remove function.
 -      (pop_down_menu, mac_menu_show): Simplify save value.
 -      (dispose_menus): New function.
 -      (pop_down_menu, fill_menubar): Use it.
 -      (fill_submenu): Remove function.  All uses changed to fill_menu.
 -      (add_menu_item): Remove args SUBMENU and FORCE_DISABLE.  New arg
 -      POS.  Don't call SetMenuItemHierarchicalID here.
 -      (fill_menu): Add arg SUBMENU_ID.  Return submenu_id that is to be
 -      used next.  Call SetMenuItemHierarchicalID here.
 -      (fill_menubar): Add arg DEEP_P.  All uses changed.  Clean up menu
 -      objects if needed.  Reuse existing menu bar titles if possible.
 -      (set_frame_menubar): Don't clean up menu objects here.
 -
 -2006-02-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * window.c (window_min_size_1): Ensure room for the scroll bar and
 -      fringes.
 -
 -2006-02-17  Romain Francoise  <romain@orebokech.com>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1200000.
 -
 -2006-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (Fmake_symbol): Comment-out left-over assert from before the
 -      addition of the BLOCK_INPUTs.
 -
 -2006-02-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fset_window_scroll_bars): Doc fix.
 -
 -2006-02-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (display_mode_element): Call display_string with correct
 -      PREC arg (which must be a number of characters, not column width).
 -
 -2006-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.c (x_get_arg): Clear out PARAM in ALIST also on Mac.
 -
 -      * macfns.c (x_set_menu_bar_lines): Menu bar is always shown on Mac.
 -
 -      * macmenu.c (set_frame_menubar): Don't call DrawMenuBar.
 -
 -2006-02-14  Richard M. Stallman  <rms@gnu.org>
 -
 -      * frame.c (x_get_arg): Clear out all occurrences of PARAM in ALIST.
 -
 -      * m/ibms390x.h: New file.
 -
 -2006-02-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_detach_callback): Set show-arrow to the
 -      value of x-gtk-whole-detached-tool-bar.
 -      (xg_tool_bar_attach_callback): Set show-arrow to TRUE.
 -
 -      * xfns.c (syms_of_xfns): New variable: x-gtk-whole-detached-tool-bar.
 -
 -2006-02-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_x_to_emacs_modifiers): Make non-static.
 -
 -      * xterm.h: Declare x_x_to_emacs_modifiers.
 -
 -      * gtkutil.c (xg_tool_bar_button_cb): New function.
 -      (xg_tool_bar_callback): Call x_x_to_emacs_modifiers to
 -      store modifiers in event.
 -      (update_frame_tool_bar): Connect button-release-event to
 -      xg_tool_bar_button_cb.
 -
 -2006-02-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * .gdbinit (xwindow): Update the code to show the window box.
 -
 -2006-02-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (note_mouse_movement): Check for NULL FRAME_X_OUTPUT (frame).
 -
 -2006-02-12  Richard M. Stallman  <rms@gnu.org>
 -
 -      * cmds.c (internal_self_insert): Handle weird auto-fill-function.
 -
 -2006-02-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (Venable_disabled_menus_and_buttons): New variable.
 -      (syms_of_keyboard): DEVFAR_LISP and initialize it.
 -      (parse_tool_bar_item, parse_menu_item): If that variable is
 -      non-nil, don't disable menu items and tool-bar buttons.
 -
 -2006-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * doc.c (Fsubstitute_command_keys): Doc fix.
 -
 -2006-02-10  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * data.c (Findirect_function): Rewrite docstring.
 -      Fix omission bug: Declare new arg NOERROR.
 -
 -2006-02-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (x_set_mouse_color): Don't call rif->define_frame_cursor
 -      if window_desc is not set yet.
 -      (Fx_create_frame): Remove variable x_frame_name.  Apply 2005-12-07
 -      and 2006-01-26 changes for xfns.c.  Call x_iconify_frame if frame
 -      parameter `visibility' is `icon'.
 -      (Fx_create_frame, x_create_tip_frame): Use "fontset-standard"
 -      instead of "fontset-mac".
 -      (Fx_focus_frame): New defun.
 -      (syms_of_macfns): Defsubr it.
 -
 -      * macterm.c (mac_define_frame_cursor): Don't change pointer shape
 -      for unfocused frame.
 -      (x_raise_frame): Call BringToFront instead of SelectWindow.
 -      (x_lower_frame): Use NULL instead of nil.
 -      (x_make_frame_visible): Don't call SelectWindow.
 -      (XTread_socket): Increment handling_signal at the start, decrement
 -      it at the end.
 -      [USE_CG_TEXT_DRAWING] (init_cg_text_anti_aliasing_threshold): Use
 -      CFPreferencesGetAppIntegerValue instead of Fmac_get_preference.
 -
 -2006-02-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * data.c (Findirect_function): Add NOERROR arg.  All callers changed
 -      to pass Qnil for NOERROR.
 -
 -      * keymap.c (current_minor_maps_error): Remove.
 -      (current_minor_maps): Pass Qt for NOERROR to Findirect_function
 -      instead of using internal_condition_case_1+current_minor_maps_error.
 -
 -2006-02-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Must note mouse movement even for nil
 -      frames for GTK, in that case it is the tool bar.  This is so that
 -      highlighted text get reset properly.
 -
 -2006-02-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * alloc.c (Fmake_bool_vector, Fpurecopy): Doc fixes.
 -
 -2006-02-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * window.c (adjust_window_trailing_edge): Check that shrinking
 -      does not set a window to size zero or less.
 -
 -2006-02-08  Miles Bader  <miles@gnu.org>
 -
 -      * editfns.c (Fconstrain_to_field): Use Fget_char_property instead
 -      of Fget_text_property (other field functions work with overlays as
 -      well as text-properties).
 -
 -2006-02-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (unibyte_display_via_language_environment): Extern it.
 -
 -      * xterm.h (unibyte_display_via_language_environment):
 -      * w32term.h (unibyte_display_via_language_environment):
 -      * macterm.h (unibyte_display_via_language_environment): Delete extern.
 -
 -2006-02-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (append_glyph): Refer to it->char_to_display instead of it->c.
 -      (produce_glyphs): Set the character to print in
 -      it->char_to_display.  Handle unibyte-display-via-language-environment.
 -      (produce_stretch_glyph): Set character to print in it->char_to_display.
 -
 -2006-02-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c (openp): Initialize encoded_fn before GCPRO it.
 -
 -2006-02-05  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * editfns.c (Fconstrain_to_field): Fix int/Lisp_Object mixup.
 -
 -      * lisp.h (XPNTR) [!NO_UNION_TYPE && !HAVE_SHM && !DATA_SEG_BITS]:
 -      Cast bitfield value to EMACS_INT, to suppress gcc warning.
 -
 -      * xrdb.c (malloc, realloc, free) [emacs]: Undefine macros before
 -      defining.
 -
 -2006-02-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c: Cache last merged escape glyph face.
 -      (last_escape_glyph_frame, last_escape_glyph_face_id)
 -      (last_escape_glyph_merged_face_id): New variables.
 -      (get_next_display_element): Use/update them.
 -      (redisplay_internal): Reset them before redisplay.
 -
 -      * xdisp.c (set_iterator_to_next): Optimize 2004-12-13 fix.
 -      Only recheck faces after displaying ellipsis.
 -
 -2006-02-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_composition_emacs_mule): Fix handling of
 -      incorrect format data.
 -
 -2006-01-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Use new tool bar function
 -      gtk_toolbar_insert() so we can have tool bars of different sizes.
 -
 -2006-01-30  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * data.c (Flistp): Doc fix.
 -
 -2006-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fother_window, Fwindow_vscroll, Fset_window_vscroll):
 -      Fix typos in docstrings.
 -
 -2006-01-28  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * data.c (Fcar, Fcdr): Add links to Elisp manual to the docstrings.
 -
 -2006-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * alloc.c (make_interval, allocate_string)
 -      (allocate_string_data, make_float, Fcons, allocate_vectorlike)
 -      (Fmake_symbol, allocate_misc): Use BLOCK_INPUT when accessing
 -      global variables.
 -
 -2006-01-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (DIRENTRY_NONEMPTY) [__CYGWIN__]: Don't use d_ino; use
 -      the MSDOS definition.
 -
 -2006-01-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * alloc.c (check_pure_size): Make overflow message an "error message".
 -
 -      * keymap.c (Fmap_keymap): Doc fix.
 -
 -      * xfns.c (Fx_create_frame): Put all specified parms into f->param_alist
 -      unless they were cleared out.
 -
 -      * frame.c (x_get_arg): "Clear out" the parm in ALIST if found there.
 -
 -2006-01-26  L\e$,1 q\e(Brentey K\e,Aa\e(Broly  <lorentey@elte.hu>
 -
 -      * editfns.c (Fconstrain_to_field): Fix behaviour on field boundaries.
 -      (find_field): Set before_field to after_field when pos is at BEGV.
 -      (Fline_beginning_position, Fline_end_position):
 -      Clarify confusing doc string.
 -
 -      * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify confusing doc
 -      string.
 -
 -2006-01-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * callproc.c (Fcall_process): GCPRO error_file.  Encode infile,
 -      current_dir, and error_file.  On reporting an error, decode them
 -      back.
 -
 -2006-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * regex.c (IMMEDIATE_QUIT_CHECK): Use it with SYNC_INPUT as well.
 -      (re_match_2_internal) <on_failure_jump, on_failure_jump_smart>:
 -      Don't check for quit, since any loop will go through fail or jump.
 -
 -2006-01-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * alloc.c (allocate_string_data): Update next_free immediately, to
 -      reduce risk of memory clobberage.
 -
 -2006-01-24  L\e$,1 q\e(Brentey K\e,Aa\e(Broly  <lorentey@elte.hu>
 -
 -      * xdisp.c (handle_invisible_prop): Set it->position to fix cursor
 -      display when point moves across an ellipsis.  If there are
 -      adjacent invisible texts, don't lose the second one's ellipsis.
 -      (x_produce_glyphs): Doc fix.
 -
 -2006-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_catch_errors_unwind): Yet another int/Lisp_Object mixup.
 -
 -2006-01-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (handle_single_display_spec): Fix handling of space
 -      property on char from string: set *position rather than
 -      it->current.pos.
 -      (produce_stretch_glyph): Reduce width of stretch glyphs so they
 -      don't get wider than the window (unless truncate-lines is on).
 -
 -2006-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c: Avoid allocating Lisp data from a signal handler.
 -      (x_error_message): New var to replace x_error_message_string.
 -      (x_error_catcher, x_catch_errors, x_catch_errors_unwind)
 -      (x_check_errors, x_had_errors_p, x_clear_errors, x_error_handler)
 -      (syms_of_xterm): Use it instead of x_error_message_string.
 -
 -      * alloc.c (lisp_align_free): Add an assertion.
 -      (make_interval, allocate_string, make_float, Fcons, Fmake_symbol)
 -      (allocate_misc): If ENABLE_CHECKING is on, check we're not called from
 -      a signal handler.
 -
 -2006-01-21  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * dired.c (syms_of_dired) <completion-ignored-extensions>: Doc fix.
 -
 -2006-01-21  Romain Francoise  <romain@orebokech.com>
 -
 -      * xdisp.c (get_window_cursor_type): Fix last change.
 -      Update copyright year.
 -
 -2006-01-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Don't leak the file descriptor returned by
 -      openp if we are going to signal an error.
 -
 -      * w32.c (sys_close): If FD is outside [0..MAXDESC) limits, pass it
 -      directly to _close.
 -      (sys_dup): Protect against new_fd larger than fd_info[] can handle.
 -      (sys_read): If FD is outside [0..MAXDESC) limits, pass it directly
 -      to _read.
 -      (sys_write): If FD is outside [0..MAXDESC) limits, pass it
 -      directly to _write.
 -
 -      * .gdbinit: Don't dereference Vsystem_type's Lisp_Symbol pointer
 -      if it is NULL.
 -
 -2006-01-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1190000.
 -
 -2006-01-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_window_cursor_type): Use cursor type specified by
 -      the selected buffer for the echo area too.
 -
 -2006-01-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fmap_keymap): Doc fix.
 -
 -      * s/irix6-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): New definitions.
 -
 -      * keyboard.c (echo_char): Don't omit the space between first two
 -      echoed chars.
 -
 -      * minibuf.c (read_minibuf): Fix previous change.
 -
 -2006-01-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
 -
 -2006-01-17  Richard M. Stallman  <rms@gnu.org>
 -
 -      * frame.c (x_frame_get_and_record_arg): Don't record Qunbound
 -      value in f->param_alist.
 -
 -2006-01-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * search.c (Freplace_match): Use UPPERCASEP instead of !NOCASEP.
 -
 -2006-01-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * Makefile.in: Define new macro WINDOW_SUPPORT.
 -      (lisp): Use it.
 -      (SOME_MACHINE_LISP): Add conditionally loaded files.
 -
 -2006-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_ATSUI] (atsu_get_text_layout_with_text_ptr)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED >= 1020]: Specify kATSLineUseQDRendering.
 -      (XLoadQueryFont) [USE_ATSUI]: Display diacritical marks in
 -      decomposed form.
 -
 -      * process.c [HAVE_INTTYPES_H]: Include inttypes.h.
 -      (ifflag_table): Fix typo (IFF_OACTIV -> IFF_OACTIVE).
 -      (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ_IFR_NETMASK
 -      macro.  Also try member ifr_addr when getting netmask.
 -
 -2006-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fexpand_file_name): Remove redundant tests.
 -      Fix elimination of // so that it doesn't prevent elimination of an
 -      immediately following /. or /..
 -
 -2006-01-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_toggle_notify_cb): New function.
 -      (xg_toggle_visibility_cb): Move setting of x_gtk_show_hidden_files to
 -      xg_toggle_notify_cb.
 -      (xg_get_file_with_chooser): Add callback to xg_toggle_notify_cb when
 -      parameter value changes so the toggle button gets updated.
 -
 -2006-01-06  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * .gdbinit: Fix typo.
 -
 -2006-01-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit: Fix last change.
 -
 -2006-01-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Fmake_network_process): Use AF_INET instead of
 -      AF_UNSPEC when AF_INET6 is not defined.
 -
 -2006-01-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (mac_coerce_file_name_ptr, mac_coerce_file_name_desc):
 -      Don't check that the other type is known file-related one.
 -
 -      * macfns.c (Fx_server_version): Use gestaltSystemVersionMajor,
 -      gestaltSystemVersionMinor, and gestaltSystemVersionBugFix on Mac
 -      OS X 10.4 and later.
 -
 -2006-01-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_image_for_pixmap): If the image is from a file,
 -      let GTK do all image processing.  Importing Emacs own pixmaps to GTK
 -      looks bad for inactive tool bar items with some Gnome themes.
 -
 -2006-01-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit: Avoid a warning message when x_error_quitter is not
 -      compiled in.
 -
 -      * process.c [WINDOWSNT]: Undef AF_INET6 to disable IPv6 support
 -      for w32.
 -
 -2006-01-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c: Add IPv6 support.
 -      (Qipv4, Qipv6): New vars.
 -      (syms_of_process): Intern and staticpro them.
 -      (Fformat_network_address): Handle 9 or 8 element vector as IPv6 address
 -      with or without port number.  Handle 4 element vector as IPv4 address
 -      without port number.
 -      (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
 -      (conv_lisp_to_sockaddr): Handle IPv6 addresses.
 -      (Fmake_network_process): Use :family 'ipv4 and 'ipv6 to explicitly
 -      request that address family only.  :family nil or omitted means to
 -      determine address family from the specified :host and :service.
 -      (ifflag_table): Add missing OpenBSD IFF_ flags.
 -      (server_accept_connection): Handle IPv6 addresses.
 -      (init_process): Add (:family ipv4) and (:family ipv6) sub-features.
 -
 -      * .gdbinit: Undo last change.  Instead, look at Vsystem_type to
 -      determine which breakpoints to set.
 -
 -2006-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (describe_map_compare): Yet another int/Lisp_Object mixup.
 -
 -      * window.h (Fwindow_minibuffer_p): Declare (for use in minibuf.c).
 -
 -2006-01-03  Romain Francoise  <romain@orebokech.com>
 -
 -      * emacs.c (main): Update copyright year.
 -
 -2006-01-03  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * callproc.c (delete_temp_file): Bind file-name-handler-alist to
 -      nil for the call to internal_delete_file.
 -
 -2006-01-01  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * callproc.c (Fcall_process_region): Bind file-name-handler-alist
 -      to nil for the call to Fwrite_region.
 -
 -2005-12-31  Richard M. Stallman  <rms@gnu.org>
 -
 -      * minibuf.c (read_minibuf): Clear out all other minibuffer windows.
 -
 -2005-12-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (gdb_pvec_type): A dummy variable for GDB's sake.
 -
 -2005-12-30  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * textprop.c (set_text_properties): Reword description of return value.
 -      Return Qnil if caller wants to remove all text properties from a
 -      string and the string already has no intervals.
 -
 -2005-12-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (visible_cursor): New boolean var.
 -      (set_terminal_modes, tty_show_cursor): Use "vs" or "ve" depending on
 -      visible_cursor.
 -      (syms_of_term): Export the new var as "visible-cursor".
 -
 -2005-12-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit: Tell users not to worry about GDB warnings that some
 -      functions do not exist in the binary.
 -
 -2005-12-30  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (Fnetwork_interface_info): Correctly terminate the
 -      loop over ifflag_table.
 -
 -2005-12-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lread.c (readevalloop): Test for reading a whole buffer
 -      before actually reading anything.  Handle all cases, including
 -      START = END = nil and an already-narrowed buffer.
 -      Convert END to a marker if it is a number.
 -
 -      * keymap.c (describe_map): Put sparse map elements into an array,
 -      sort them, then output a sequence of identical bindings on one line.
 -      (struct describe_map_elt): New data type.
 -      (describe_map_compare): New function.
 -
 -2005-12-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Change message shown
 -      in file chooser.
 -
 -2005-12-27  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lread.c (readevalloop): Set PT and ZV in the proper buffer,
 -      not the current one.
 -
 -      * minibuf.c (Fminibuffer_message): Doc fix.
 -      (read_minibuf): Set current_buffer->enable_multibyte_characters sooner.
 -
 -      * eval.c (do_autoload): Ignore elements of Vautoload_queue
 -      where car is not symbol.
 -
 -2005-12-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (lisp_string_width): Check multibyteness of STRING.
 -
 -2005-12-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_show_hidden_files): New variable.
 -      (syms_of_xfns): Defvar it.
 -
 -      * gtkutil.c (xg_toggle_visibility_cb): New function.
 -      (xg_get_file_with_chooser): Add toggle hidden files and a message
 -      to the new file chooser dialog.  Show hidden files if
 -      x_show_hidden_files is non-zero.
 -
 -2005-12-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keyboard.h: Undo previous change.
 -
 -      * Makefile.in (undo.o): Undo previous change.
 -
 -      * undo.c: Undo previous change.
 -
 -2005-12-26  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keyboard.h: extern last_point_position_window.
 -
 -      * undo.c: include keyboard.h.
 -
 -      * Makefile.in (undo.o): Depend on keyboard.h.
 -
 -2005-12-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * commands.h (last_point_position_window): Declare.
 -
 -      * undo.c: Depend on window.h.
 -      (record_point): Save old point from the correct window.
 -
 -      * keyboard.c (last_point_position_window): New variable.
 -      (command_loop_1): Set last_point_position_window.
 -      (syms_of_keyboard): Init it.
 -
 -      * Makefile.in (undo.o): Depend on window.h.
 -
 -2005-12-25  Richard M. Stallman  <rms@gnu.org>
 -
 -      * eval.c (un_autoload): Expect (0 . OFEATURES) in Vautoload_queue
 -      to undo a `provide'.
 -
 -      * fns.c (Fprovide): Store (0 . OFEATURES) in Vautoload_queue.
 -
 -2005-12-25  Giorgos Keramidas  <keramida@ceid.upatras.gr>
 -
 -      * m/amdx86-64.h [__FreeBSD__] (START_FILES, LIB_STANDARD):
 -      define for FreeBSD on this platform.
 -
 -2005-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.h (TYPE_FILE_NAME): New define.
 -      (posix_pathname_to_fsspec, fsspec_to_posix_pathname): Remove externs.
 -
 -      * mac.c (posix_pathname_to_fsspec, fsspec_to_posix_pathname):
 -      Add prototypes.  Make static.
 -      (mac_aedesc_to_lisp): Initialize err to noErr.
 -      (mac_coerce_file_name_ptr, mac_coerce_file_name_desc)
 -      (init_coercion_handler): New functions.
 -      (Fmac_coerce_ae_data): Use coercion of Apple event data for
 -      translation from/to file names.
 -
 -      * macterm.c: Don't include sys/param.h.
 -      (init_coercion_handler): Add extern.
 -      [MAC_OS8] (main): Call init_coercion_handler.
 -      (mac_initialize) [MAC_OSX]: Likewise.
 -      [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Use coercion of
 -      Apple event data for translation from/to file names.
 -
 -      * macfns.c [TARGET_API_MAC_CARBON] (Fx_file_dialog): Likewise.
 -
 -      * image.c [MAC_OS] (find_image_fsspec): Likewise.
 -
 -2005-12-23  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * insdel.c (insert, insert_and_inherit, insert_before_markers)
 -      (insert_before_markers_and_inherit): Make sure FROM is correct
 -      when `after-change-functions' are called.
 -
 -2005-12-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_uses_old_gtk_dialog): New function.
 -
 -      * gtkutil.c (xg_uses_old_file_dialog): New function.
 -      (xg_get_file_name): Use xg_uses_old_file_dialog.
 -
 -      * gtkutil.h: Declare xg_uses_old_file_dialog.
 -
 -2005-12-22  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xmenu.c (xmenu_show): Call inhibit_garbage_collection.
 -
 -2005-12-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (Fmac_coerce_ae_data) [MAC_OSX]: Fix memory leak.
 -
 -      * macgui.h (XCharStruct): Remove member `valid_p'.
 -      (STORE_XCHARSTRUCT): Don't set member `valid_p'.
 -      (XCharStructRow): New typedef.
 -      (XCHARSTRUCTROW_CHAR_VALID_P, XCHARSTRUCTROW_SET_CHAR_VALID):
 -      New macros.
 -      (struct MacFontStruct): Add member `bounds'.  Remove member
 -      `per_char'.  All uses for QuichDraw Text fonts are changed to
 -      `bounds.per_char'.  ATSUI font bounds are represented as an array
 -      `bounds.rows' of XCharStructRow's, each of which consists of a
 -      bitmap of valid entries and an array of char bounds.
 -
 -      * macterm.c (mac_per_char_metric): Add prototype.
 -      (x_per_char_metric) [USE_CG_TEXT_DRAWING]: Remove prototype.
 -      (mac_query_char_extents): New function.
 -      (x_per_char_metric): Use it.
 -      (XLoadQueryFont): Likewise.  Consolidate min/max_bounds calculations.
 -      [USE_CG_TEXT_DRAWING] (mac_draw_string_cg):
 -      Use mac_per_char_metric instead of x_per_char_metric.
 -      (mac_text_extents_16): New function.
 -      (mac_compute_glyph_string_overhangs): Use it.
 -      (mac_unload_font): Free member `bounds' in struct MacFontStruct.
 -
 -2005-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Fdisplay_completion_list): Use XCAR/XCDR.
 -      (Fminibuffer_completion_help): Remove duplicates before display.
 -
 -2005-12-21  L\e$,1 q\e(Brentey K\e,Aa\e(Broly  <lorentey@elte.hu>
 -
 -      * print.c (print_preprocess): Don't lose print_depth levels while
 -      iterating.
 -
 -2005-12-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (Qmac_apple_event): Add extern.
 -      (set_frame_menubar, mac_menu_show keymp_panes)
 -      (single_keymap_panes, list_of_panes, list_of_item)
 -      (single_menu_item): Add argument types to prototypes.
 -      (mac_dialog_show) [HAVE_DIALOGS]: Likewise.
 -      (struct skp): New struct (from xmenu.c).
 -      (single_keymap_panes, single_menu_item, list_of_panes)
 -      (list_of_item): Sync with xmenu.c.
 -      (Fx_popup_menu, Fx_popup_dialog): Likewise.  Don't get window from
 -      POSITION if it is mac-apple-event event.
 -      (menubar_selection_callback): Don't use menu_command_in_progress.
 -      (set_frame_menubar): First parse all submenus, then make
 -      widget_value trees from them.  Don't allocate any widget_value
 -      objects until we are done with the parsing.
 -      (parse_single_submenu, digest_single_submenu): New functions.
 -      (single_submenu): Function deleted, replaced by those two.
 -      (install_menu_quit_handler) [HAVE_CANCELMENUTRACKING]: Don't create
 -      or dispose of EventHandlerUPP.  Install hander to all submenus.
 -      (mac_menu_show) [!HAVE_MULTILINGUAL_MENU]: Use ENCODE_MENU_STRING
 -      instead of ENCODE_SYSTEM.
 -      (free_frame_menubar, fill_submenu, fill_menu): Don't use NULL for
 -      integer values.
 -      [HAVE_DIALOGS] (mac_dialog_show): Sync with xdialog_show (in xmenu.c).
 -      (add_menu_item) [TARGET_API_MAC_CARBON]: Use CFString functions to
 -      format menu item string.  Don't use NULL for integer value.
 -
 -      * macterm.h (struct mac_output): Remove unused member
 -      menu_command_in_progress.
 -
 -2005-12-20  Juri Linkov  <juri@jurta.org>
 -
 -      * xmenu.c (Fx_popup_menu): Set Vmenu_updating_frame to f if
 -      position is non-nil, else set it to nil.
 -
 -      * macmenu.c (Fx_popup_menu): Add `else' to set
 -      Vmenu_updating_frame to nil only if position is nil.
 -
 -      * w32menu.c (Fx_popup_menu): Add `else' to set
 -      Vmenu_updating_frame to nil only if position is nil.
 -
 -2005-12-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (make_lispy_event): Drag-and-drop items are now
 -      stored in member `args' of struct input_event.
 -
 -      * termhooks.h (struct input_event): Fix comment for DRAG_N_DROP_EVENT.
 -
 -      * xselect.c (x_handle_dnd_message): Drag-and-drop items are now
 -      stored in member `args' of struct input_event.
 -
 -      * w32term.c (construct_drag_n_drop): Likewise.
 -
 -      * macterm.c (mac_do_receive_drag): Likewise.
 -      (x_use_underline_position_properties): Undo 2005-07-13 change.
 -      (syms_of_macterm) <x-use-underline-position-properties>: Likewise.
 -      (mac_use_core_graphics, mac_wheel_button_is_mouse_2)
 -      (mac_pass_command_to_system, mac_pass_control_to_system):
 -      New boolean variables renamed from Lisp_Object ones
 -      Vmac_use_core_graphics, Vmac_wheel_button_is_mouse_2,
 -      Vmac_pass_command_to_system, and Vmac_pass_control_to_system.
 -      All uses changed.
 -      (syms_of_macterm): DEFVAR_BOOL them.  Remove previous DEFVAR_LISPs.
 -      Make them user options.
 -      (mac_handle_command_event, mac_store_services_event):
 -      Call create_apple_event_from_event_ref without 5th argument.
 -      (backtranslate_modified_keycode): Mask off modifier keys that are
 -      mapped to some Emacs modifiers before passing it to KeyTranslate.
 -      (syms_of_macterm): Make variables `mac-emulate-three-button-mouse',
 -      `mac-wheel-button-is-mouse-2', and `mac-*-modifier' user options.
 -      Fix docstrings of `mac-*-modifier'.
 -
 -      * mac.c (create_apple_event_from_event_ref): Remove arg `types'.
 -      (do_applescript): Change argument types to Lisp_Object.
 -      All uses changed.
 -
 -      * macterm.h (create_apple_event_from_event_ref): Remove 5th
 -      argument from extern.
 -
 -2005-12-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xfns.c (Fx_backspace_delete_keys_p): In case we cannot determine
 -      the answer, return `lambda', not nil.
 -
 -2005-12-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (bootstrap-temacs): Warn that parts of commands
 -      enclosed in $(ARGQUOTE)s should not be split between two lines, as
 -      that will break with GNU Make >3.80, when sh.exe is used and
 -      arg quoting is with '..'.
 -
 -2005-12-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * print.c (print_preprocess): Just signal an error if print_depth
 -      is exceeded.
 -
 -2005-12-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit: Set a breakpoint on w32_abort.
 -
 -2005-12-16  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c (Fminibuffer_completion_contents): New Lisp function
 -      created from minibuffer_completion_contents.
 -      (minibuffer_completion_contents): Remove.
 -      (do_completion, Fminibuffer_complete_word)
 -      (Fminibuffer_completion_help): Replace minibuffer_completion_contents
 -      with Fminibuffer_completion_contents.
 -      (syms_of_minibuf): Add Sminibuffer_completion_contents.
 -      (Fdisplay_completion_list): Doc fix.
 -      (display_completion_list_1): Use `nil' for second arg of
 -      `Fdisplay_completion_list'.
 -
 -2005-12-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (compute_tip_xy): Handle negative dx and dy.
 -
 -      * w32fns.c (compute_tip_xy): Ditto.
 -
 -      * macfns.c (compute_tip_xy): Ditto.
 -
 -2005-12-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * print.c (print_preprocess): Go to a deeper print_depth to avoid
 -      print_object loop.
 -
 -2005-12-14  Kyotaro HORIGUCHI  <horiguti@meadowy.org>  (tiny change)
 -
 -      * coding.c (code_convert_region_unwind): GCPRO arg.
 -
 -2005-12-12  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (compute_tip_xy): Calculate root_y the same way as root_x,
 -      i.e. dy is offset from top of frame instead of bottom.
 -
 -      * macfns.c (compute_tip_xy): Ditto.
 -
 -      * w32fns.c (compute_tip_xy): Ditto.
 -
 -      * gtkutil.c (SSDATA): New macro to remove compiler warnings.
 -      (xg_get_image_for_pixmap, xg_create_frame_widgets)
 -      (xg_get_file_with_chooser): Use SSDATA instead of SDATA.
 -
 -      * xmenu.c (menubar_selection_callback): Do nothing if the callback
 -      is for an unselected radio menu item.
 -
 -2005-12-11  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <blink-cursor-alist>: Doc fix.
 -
 -      * lisp.h [! NO_UNION_TYPE] (EQ): Use == so args are computed just once.
 -
 -      * keymap.c (Fset_keymap_parent, store_in_keymap): Use CHECK_IMPURE.
 -      (Flookup_key): Doc fix.
 -      (syms_of_keymap) <function-key-map>: Doc fix.
 -
 -      * fns.c (Frequire): Treat evaluating from a source file
 -      like loading the file.
 -
 -      * floatfns.c (Flog): Doc fix.
 -
 -      * fileio.c (Finsert_file_contents): Set Vdeactivate_mark
 -      when we change the buffer.
 -
 -2005-12-11  Juri Linkov  <juri@jurta.org>
 -
 -      * minibuf.c (display_completion_list_1):
 -      Call `minibuffer_completion_contents' instead of using `nil' as
 -      second arg of `Fdisplay_completion_list'.
 -      (keys_of_minibuf): Unbind SPC in
 -      Vminibuffer_local_filename_completion_map (see also related
 -      change on 2005-12-06).
 -
 -2005-12-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main) [MAC_OS8]: Undo previous change.
 -
 -      * macselect.c (syms_of_macselect) <mac-apple-event-map>:
 -      Initialize to nil.  Keymap is now created in lisp/term/mac-win.el.
 -
 -2005-12-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (macselect.o): Depend on keymap.h.
 -
 -      * emacs.c (main) [MAC_OS8]: Call syms_of_keymap before
 -      syms_of_macselect.
 -
 -      * image.c (init_image) [MAC_OS]: Don't call EnterMovies.
 -      [!HAVE_GIF && MAC_OS] (gif_load): Call EnterMovies.
 -
 -      * keyboard.c (Qmac_apple_event) [MAC_OS]: New variable.
 -      (syms_of_keyboard) [MAC_OS]: Initialize it.
 -      (make_lispy_event) [MAC_OS]: Build lisp event for MAC_APPLE_EVENT.
 -
 -      * mac.c (Qundecoded_file_name): New variable.
 -      (syms_of_mac): Initialize it.
 -      (mac_aelist_to_lisp, mac_aedesc_to_lisp): New functions.
 -      [TARGET_API_MAC_CARBON] (create_apple_event_from_event_ref): New fun.
 -      (Fmac_coerce_ae_data): New defun.
 -      (syms_of_mac): Defsubr it.
 -
 -      * macselect.c: Include keymap.h.
 -      (mac_ready_for_apple_events): New variable.
 -      (Vmac_apple_event_map, Qmac_apple_event_class)
 -      (Qmac_apple_event_id): New variables.
 -      (syms_of_macselect): Initialize them.
 -      (Qundefined, mac_store_apple_event): Add externs.
 -      (struct apple_event_binding): New struct.
 -      (find_event_binding_fun, find_event_binding)
 -      (mac_find_apple_event_spec, defer_apple_events)
 -      (mac_handle_apple_event, init_apple_event_handler)
 -      (copy_scrap_flavor_data): New functions.
 -      (Fmac_process_deferred_apple_events): New defun.
 -      (syms_of_macselect): Defsubr it.
 -      (mac_store_services_event): Fix extern.
 -      (mac_handle_service_event): Don't allocate Lisp objects during
 -      asynchronous input processing.  Use mac_store_services_event
 -      instead of mac_store_application_menu_event.
 -
 -      * macterm.c (Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
 -      (Qpreferences): Remove variables.
 -      (syms_of_macterm): Don't initialize them.
 -      (Qhicommand) [USE_CARBON_EVENTS]: New variable.
 -      (syms_of_macterm) [USE_CARBON_EVENTS]: Initialize it.
 -      (init_required_apple_events, do_ae_open_application)
 -      (do_ae_print_documents, do_ae_open_documents)
 -      (do_ae_quit_application): Remove functions and prototypes.
 -      (mac_ready_for_apple_events, Qundefined, init_apple_event_handler)
 -      (mac_find_apple_event_spec): Add externs.
 -      (mac_store_application_menu_event): Remove function.
 -      (mac_store_apple_event, mac_make_lispy_event_code): New functions.
 -      (mac_handle_command_event): Create Apple event from Carbon event.
 -      Use mac_store_apple_event instead of mac_store_application_menu_event.
 -      [MAC_OSX] (mac_store_services_event): Likewise.
 -      (struct SelectionRange, SelectionRange): Remove struct and typedef.
 -      [MAC_OS8] (main): Call init_apple_event_handler instead of
 -      init_required_apple_events.
 -      (mac_initialize) [MAC_OSX]: Likewise.
 -      [!USE_CARBON_EVENTS] (mac_wait_next_event):
 -      Use mac_ready_for_apple_events instead of Qmac_ready_for_drag_n_drop.
 -
 -      * macterm.h (mac_make_lispy_event_code, mac_aedesc_to_lisp):
 -      Add externs.
 -      (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]: Likewise.
 -      (Fmac_get_preference): Add EXFUN.
 -
 -      * termhooks.h (enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT
 -      event.
 -
 -2005-12-09  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xfns.c (Fx_create_frame): Reinstate previous change.
 -
 -2005-12-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (w32_abort) [__GNUC__]: Add instructions for attaching
 -      GDB to the abort dialog.
 -
 -2005-12-09  Kyotaro HORIGUCHI  <horiguti@meadowy.org>  (tiny change)
 -
 -      * indent.c (Fvertical_motion): Force move if starting on
 -      stretch glyph.
 -
 -2005-12-08  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lread.c (read_escape) <\s>: Don't treat strings specially.
 -
 -      * xfns.c (Fx_create_frame): Comment out previous change.
 -
 -2005-12-07  L\e$,1 q\e(Brentey K\e,Aa\e(Broly  <lorentey@elte.hu>
 -
 -      * xfns.c (Fx_create_frame): Initialize Vdefault_minibuffer_frame,
 -      when needed.
 -
 -2005-12-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (keys_of_minibuf): Just unbind SPC in
 -      Vminibuffer_local_filename_completion_map rather than forcing it
 -      explicitly to the same binding as the global map.
 -
 -2005-12-06  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * buffer.c (Fkill_buffer): Avoid dangerous side effects in NILP args.
 -      * bytecode.c (Fbyte_code): Likewise.
 -      * fileio.c (internal_delete_file, Fread_file_name_internal): Likewise.
 -      * minibuf.c (Fminibuffer_complete_and_exit): Likewise.
 -      * undo.c (truncate_undo_list): Likewise.
 -
 -2005-12-05  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (enlarge_window): Eliminate arg preserve_before.
 -      Assume it is 0.  All callers changed.
 -      (Fenlarge_window, Fshrink_window): Likewise.
 -
 -2005-12-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (compute_tip_xy): Put tip above pointer if it doesn't
 -      fit below.
 -
 -2005-12-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h: Add prototype for xg_set_icon_from_xpm_data.
 -
 -      * xfns.c (x_real_positions): int ign => unsigned int.
 -      (xg_set_icon_from_xpm_data): Remove unused variable err.
 -      (x_set_name_internal, Fx_create_frame, xg_set_icon): Add cast
 -      to remove compiler warning.
 -      (compute_tip_xy): Put tip above pointer if it doesn't fit below.
 -
 -2005-12-02  David Reitter  <david.reitter@gmail.com>
 -
 -      * minibuf.c (Fcompleting_read): If Vminibuffer_completing_file_name is
 -      non-nil, use the new keymaps Vminibuffer_local_filename_completion_map
 -      and Vminibuffer_local_must_match_filename_map keymaps.
 -      (keys_of_minibuf): Bind SPC in the new file-name completion keymaps.
 -
 -      * keymap.c (Vminibuffer_local_filename_completion_map)
 -      (Vminibuffer_local_must_match_filename_map): New variables.
 -      (syms_of_keymap): DEFVAR_LISP them, initialize them, and set their
 -      parent to be Vminibuffer_local_completion_map and
 -      Vminibuffer_local_must_match_map, respectively.
 -
 -      * commands.h (Vminibuffer_local_filename_completion_map)
 -      (Vminibuffer_local_must_match_filename_map): Declare the new keymaps.
 -
 -2005-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fset_window_configuration): Don't accidentally copy the
 -      window-point of one window to another.
 -
 -2005-11-30  L\e$,1 q\e(Brentey K\e,Aa\e(Broly  <lorentey@elte.hu>
 -
 -      * buffer.c (Fpop_to_buffer): Remove superfluous call to record_buffer.
 -
 -2005-11-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c: Include fcntl.h.  Define O_WRONLY if not defined.
 -      (valid_lisp_object_p) [!GC_MARK_STACK]: Validate pointer by
 -      passing it to `emacs_write'.
 -
 -2005-11-29  Ari Roponen  <arjuropo@cc.jyu.fi>  (tiny change)
 -
 -      * atimer.c (stop_other_atimers): Fix loop to correctly compute `prev'.
 -
 -2005-11-27  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (adjust_window_trailing_edge): New function.
 -      (Fadjust_window_trailing_edge): New function.
 -      (syms_of_window): Defsubr it.
 -      (window_deletion_count): New variable.
 -      (delete_window): Update window_deletion_count.
 -
 -2005-11-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * minibuf.c (syms_of_minibuf): Mention the extension of
 -      `completion-auto-help's meaning by complete.el.
 -
 -2005-11-26  Henrik Enberg  <henrik.enberg@telia.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
 -      Handle :inherit property as a lisp expression.
 -
 -2005-11-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (Qcontrol): Rename from Qctrl.  All uses changed.
 -      (syms_of_macterm): Staticpro Qcontrol, Qmeta, Qalt, Qhyper,
 -      Qsuper, and Qmodifier_value.
 -      (Vmac_control_modifier, Vmac_option_modifier)
 -      (Vmac_command_modifier, Vmac_function_modifier)
 -      (Vmac_emulate_three_button_mouse, Vmac_wheel_button_is_mouse_2)
 -      (Vmac_pass_command_to_system, Vmac_pass_control_to_system)
 -      (Vmac_charset_info_alist): Doc fixes.
 -
 -2005-11-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main) [MAC_OSX]: Change working directory to home
 -      directory if `-psn_*' option is specified.
 -
 -      * mac.c (DECODE_UTF_8): Remove macro.
 -      [TARGET_API_MAC_CARBON] (cfstring_to_lisp_nodecode): New function
 -      created from cfstring_to_lisp.
 -      [TARGET_API_MAC_CARBON] (cfstring_to_lisp): Use it.
 -      (xrm_get_preference_database) [TARGET_API_MAC_CARBON]: Likewise.
 -
 -      * macterm.h (cfstring_to_lisp_nodecode) [TARGET_API_MAC_CARBON]:
 -      Add prototype.
 -
 -2005-11-21  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * keymap.c (shadow_lookup): Use make_number to pass a number to
 -      Fsubstring.
 -
 -2005-11-21  Juri Linkov  <juri@jurta.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1180000.
 -
 -2005-11-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute):
 -      Use :ignore-defface for new frame defaults when `unspecified' is
 -      supplied.
 -      (Finternal_get_lisp_face_attribute): Hide :ignore-defface.
 -      (merge_face_vectors): Don't do :ignore-defface overwriting here.
 -      (Finternal_merge_in_global_face): Do it here.
 -
 -2005-11-20  Juri Linkov  <juri@jurta.org>
 -
 -      * charset.c (invalid_character): Use Lisp-readable syntax
 -      for octal and hex.  Reorder decimal, octal and hex values.
 -
 -2005-11-20  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * lisp.h: Use typedef when Lisp_Object is EMACS_INT so that
 -      this type is recognised when debugging.
 -
 -2005-11-19  Andreas Schwab  <schwab@suse.de>
 -
 -      * .gdbinit (nextcons, xcdr, xfloat): Update for changes in
 -      Lisp_Cons and Lisp_Float.
 -
 -2005-11-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold):
 -      New variable.
 -      [USE_CG_TEXT_DRAWING] (init_cg_text_anti_aliasing_threshold): New fun.
 -      (init_font_name_table) [USE_ATSUI && USE_CG_TEXT_DRAWING]: Use it.
 -      [USE_CG_TEXT_DRAWING] (mac_draw_string_cg): Don't do antialiasing if
 -      font size is smaller than or equal to cg_text_anti_aliasing_threshold.
 -
 -2005-11-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (x_create_bitmap_from_xpm_data): Free attributes on fail.
 -
 -      * xfaces.c (Qignore_defface): New variable.
 -      (syms_of_xfaces): Provide `:ignore-defface'.
 -      (IGNORE_DEFFACE_P): New macro.
 -      (check_lface_attrs, lface_fully_specified_p)
 -      (Finternal_set_lisp_face_attribute)
 -      (Fface_attribute_relative_p, Fmerge_face_attribute):
 -      Handle Qignore_defface as a possible value.
 -      (merge_face_vectors): The merged face is `unspecified' if the
 -      mergee specifies `:ignore-defface'.
 -
 -2005-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (readevalloop): Add missing GCPROs.
 -
 -2005-11-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (xg_set_icon_from_xpm_data): New function.
 -
 -      * gnu.h (gnu_xpm_bits): Rename from gnu_bits.
 -      (gnu_xbm_bits): Rename from gnu_bits (xbm version).
 -
 -      * xterm.c (x_bitmap_icon): Use the xpm if available.
 -
 -      * image.c (x_create_bitmap_from_xpm_data): New function.
 -      (x_create_bitmap_from_xpm_data): Initialize XpmAttributes.
 -
 -2005-11-15  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * Makefile.in (lisp, shortlisp): Add rfn-eshadow.
 -
 -2005-11-16  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * .gdbinit: Make SIGTSTP work like SIGINT normally does.
 -
 -2005-11-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h (struct Lisp_Cons): Make cdr a union.
 -      (XCDR_AS_LVALUE): Adjust.
 -      (struct Lisp_Float): Make data a union.
 -      (XFLOAT_DATA): Adjust.
 -
 -      * alloc.c (free_float): Make free list chaining aliasing-safe.
 -      (make_float): Likewise.
 -      (free_cons): Likewise.
 -      (Fcons): Likewise.
 -      (check_cons_list): Likewise.
 -      (Fmake_symbol): Likewise.
 -      (allocate_misc): Likewise.
 -      (free_misc): Likewise.
 -      (gc_sweep): Likewise.
 -
 -2005-11-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (HASHKEY_QUERY_CACHE): New define.
 -      (xrm_create_database, xrm_q_put_resource): Empty query cache.
 -      (xrm_get_resource): Use query cache.
 -
 -      * image.c (init_image) [MAC_OS]: Don't call EnterMovies if
 -      inhibit_window_system is set.
 -
 -2005-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (USE_CG_TEXT_DRAWING): New define.
 -      (struct MacFontStruct) [USE_CG_TEXT_DRAWING]: New members cg_font
 -      and cg_glyphs.
 -
 -      * macterm.c [USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
 -      (x_draw_glyph_string_foreground) [USE_CG_TEXT_DRAWING]: Use it.
 -      (XLoadQueryFont) [USE_CG_TEXT_DRAWING]: Set members cg_font and
 -      cg_glyphs in struct MacFontStruct if synthesized bold or italic is
 -      not used and font substitution never occurs for ASCII and Latin-1
 -      characters.
 -      (XLoadQueryFont): Maximum and minimum metrics are now those among
 -      ASCII characters.
 -      (XLoadQueryFont) [!MAC_OS8 || USE_ATSUI]: Apply WebKit-style
 -      height adjustments for Courier, Helvetica, and Times.
 -
 -      * s/darwin.h (LIBS_CARBON) [!HAVE_CARBON]: Remove `-framework Carbon'.
 -
 -2005-11-11  David Reitter  <david.reitter@gmail.com>
 -
 -      * macterm.c (syms_of_macterm): Remove macCtrlKey, macShiftKey,
 -      macMetaKey, macAltKey.  Introduce Qctrl, Qmeta,
 -      Vmac_control_modifier / mac-control-modifier,
 -      Vmac_option_modifier / mac-option-modifier,
 -      Vmac_command_modifier / mac-command-modifier.
 -      (mac_to_emacs_modifiers): Use the new style modifier
 -      variables.  Return UInt32 (modifiers are longs now.)
 -      (backtranslate_modified_keycode): New function (refactoring).
 -      (XTread_socket): Use new modifier variables and refactored function.
 -      (mac_determine_quit_char_modifiers): Remove macMetaKey (there is
 -      no dedicated meta key.  Not in use anyway.)
 -      (convert_fn_keycode): Map Fn-keys to their original keycode
 -      using a table (english keyboard only).
 -
 -2005-11-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (pitx): Fix output format if n_overlay_strings > 0.
 -      Add post hook to "backtrace" to always dump lisp call stack to
 -      increase chance of people sending it to us when reporting bugs.
 -
 -      * doc.c (Fsubstitute_command_keys): Doc fix.
 -
 -      * dispextern.h (struct it): New member ignore_overlay_strings_at_pos_p.
 -
 -      * xdisp.c (handle_stop): Skip overlay string handling if
 -      ignore_overlay_strings_at_pos_p is set.
 -      (set_iterator_to_next): At end of display vector, set
 -      ignore_overlay_strings_at_pos_p if dpvec came from an overlay
 -      string, so we skip those overlay strings at current pos.
 -
 -2005-11-10  Lars Hansen  <larsh@soem.dk>
 -
 -      * fileio.c (file-regular-p): Doc fix.
 -
 -2005-11-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (valid_lisp_object_p): New function to validate that
 -      an object is really a valid Lisp_Object.
 -
 -      * lisp.h (valid_lisp_object_p): Add prototype.
 -
 -      * print.c (safe_debug_print): New function to be called from gdb
 -      to print Lisp objects; use valid_lisp_object_p to avoid crashing
 -      if user tries to print something which is not a Lisp object.
 -
 -      * .gdbinit (pp, pp1): Use safe_debug_print.
 -      (pv, pv1): New commands to print value of a lisp variable.
 -
 -2005-11-10  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * .gdbinit (pp1): New user-defined function.
 -
 -2005-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [MAC_OSX] (image_load_quartz2d): Fix memory leak.
 -
 -      * mac.c [MAC_OSX] (init_mac_osx_environment): Reinitialize locale
 -      related variables for dumped executable.
 -
 -      * unexmacosx.c (unexec_write_zero): New function.
 -      (copy_data_segment): Clear uninitialized local variables in
 -      statically linked libraries.
 -
 -      * s/darwin.h (C_SWITCH_SYSTEM): Remove -fno-common.
 -
 -2005-11-09  Juri Linkov  <juri@jurta.org>
 -
 -      * keymap.c (shadow_lookup): If Flookup_key returns a number,
 -      call it again with a sub-key-sequence, and if its return value
 -      is non-nil (sub-key is bound), return nil.
 -
 -2005-11-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Fsignal_process): Recognize signal names with and
 -      without SIG prefix, e.g. SIGHUP and HUP.
 -
 -      * search.c (search_buffer): No need to initialize base_pat.
 -
 -2005-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fget_lru_window, Fget_largest_window, window_loop):
 -      Don't abuse the `mini' arg.  Use the `obj' arg instead.
 -
 -2005-11-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (show_mouse_face): Clear mouse face to eol.
 -
 -2005-11-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (lisp, shortlisp): Add emacs-lisp/syntax.elc,
 -      font-lock.elc and jit-lock.elc.
 -
 -2005-11-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (Fenlarge_window): Rename SIDE to HORIZONTAL.
 -      (enlarge_window): Rename WIDTHFLAG to HORIZ_FLAG.
 -      (CURBEG, CURSIZE): Use HORIZ_FLAG instead of WIDTHFLAG.
 -
 -      * sheap.c (STATIC_HEAP_SIZE): Increment both definitions.
 -
 -      * alloc.c (refill_memory_reserve): Move decl out of conditionals.
 -
 -2005-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fdisplay_buffer): Fix last change to not use
 -      a dedicated window.
 -
 -2005-11-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (update_window_fringes): Undo 2005-10-27 change.
 -      Instead, rotate the bottom angle bitmap 180 degrees to indicate
 -      that the bottom row does not end in a newline.
 -
 -2005-11-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Handle .plt section in BSS segment.
 -
 -2005-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (readevalloop): Yet another int/Lisp_Object mixup (YAILOM).
 -
 -      * window.c (window_loop): For LRU and LARGEST, let the `mini' argument
 -      determine whether to consider dedicated windows as well.
 -      (Fget_lru_window, Fget_largest_window): Add `dedicated' argument.
 -      (Fdisplay_buffer): Do consider dedicated windows in those cases where
 -      we will split the window rather than reuse it.
 -      Don't try to use windows on other displays.
 -
 -2005-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1170000.
 -
 -2005-10-31  Romain Francoise  <romain@orebokech.com>
 -
 -      * macfns.c: Update copyright year.
 -      * m/gould.h: Likewise.
 -
 -2005-10-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_line): Restore it->current_x and call
 -      extend_face_to_end_of_line when last glyph doesn't fit on line.
 -      (set_glyph_string_background_width): Remove specific tests here
 -      to see if face background should extend to end of line.  Simplify.
 -
 -2005-10-30  Richard M. Stallman  <rms@gnu.org>
 -
 -      * alloc.c (BYTES_USED): Use uordblks, not arena.
 -      (bytes_used_when_reconsidered): New variable.
 -      (emacs_blocked_free): Set that.
 -
 -2005-10-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * alloc.c (emacs_blocked_free): Fix typo.
 -
 -2005-10-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * data.c (Fmake_variable_frame_local): Doc fix.
 -
 -      * xdisp.c (handle_fontified_prop): Do nothing if memory full.
 -      (format_mode_line_unwind_data): New arg SAVE_PROPTRANS
 -      controls whether to save and restore mode_line_proptrans_alist.
 -      Callers changed.
 -      (unwind_format_mode_line): Work with that feature.
 -      (redisplay_internal): Don't call prepare_menu_bars if memory full.
 -      (move_elt_to_front): New function.
 -      (display_mode_element): Use move_elt_to_front.
 -      Don't bother munging text props on a null string.
 -      Delete obsolete elts from mode_line_proptrans_alist.
 -      (decode_mode_spec): Test Vmemory_full, not spare_memory.
 -      (Fformat_mode_line): Clear mode_line_proptrans_alist after saving.
 -
 -      * lisp.h (memory_full_cons_threshold): Declare.
 -      (internal_lisp_condition_case): Declare.
 -
 -      * alloc.c (syms_of_alloc) <memory-full>: Doc fix.
 -      (Fmemory_full_p): Function deleted.
 -      (syms_of_alloc): Don't defsubr it.
 -      (memory_full_cons_threshold): New variable.
 -      (spare_memory): Now a vector of 7 elts.
 -      (buffer_memory_full): Don't set Vmemory_full here.
 -      (xfree): Don't try to refill here.
 -      (emacs_blocked_free): Record BYTES_USED in local var.
 -      (memory_full): Now free all the slots in spare_memory.
 -      (refill_memory_reserve): Allocate each slot in spare_memory.
 -      (init_alloc_once): Call refill_memory_reserve.
 -
 -      * keyboard.c (command_loop_1): Don't set Vmemory_full here.
 -
 -      * eval.c (internal_lisp_condition_case): New function.
 -      (Fcondition_case): Use internal_lisp_condition_case.
 -      (Feval): Test Vmemory_full and memory_full_cons_threshold.
 -      (Ffuncall): Likewise.
 -
 -      * bytecode.c (Fbyte_code): Use internal_lisp_condition_case.
 -
 -2005-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (Fparse_partial_sexp): Fix docstring.
 -
 -2005-10-28  Romain Francoise  <romain@orebokech.com>
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1130000.
 -
 -2005-10-28  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xfns.c (syms_of_xfns): Provide `x' as feature.
 -
 -      * xdisp.c (decode_mode_spec): Define %e to indicate memory full.
 -
 -      * editfns.c (Fformat): Don't include string padding
 -      between info[n].start and info[n].end.
 -
 -      * alloc.c (spare_memory): No longer static.
 -      (xfree) [!SYSTEM_MALLOC]: Call refill_memory_reserve.
 -
 -      * puresize.h (BASE_PURESIZE): Increment to 1120000.
 -
 -2005-10-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * data.c (Fmake_variable_frame_local): Add clarification to docstring.
 -
 -      * fringe.c (update_window_fringes): Handle case where buffer ends
 -      with a newline.
 -
 -2005-10-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.h (DECODE_SYSTEM): Fix argument name; name->str.
 -
 -2005-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (charset_mule_unicode_0100_24ff)
 -      (charset_mule_unicode_2500_33ff, charset_mule_unicode_e000_ffff):
 -      Extern them.
 -
 -      * charset.c (charset_mule_unicode_0100_24ff)
 -      (charset_mule_unicode_2500_33ff, charset_mule_unicode_e000_ffff):
 -      New variables.
 -      (Fsetup_special_charsets): Initialize them.
 -
 -      * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
 -      supported Unicode characters.
 -
 -2005-10-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_to_x_font): Avoid forcing font widths.
 -
 -2005-10-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c [MAC_OS] (image_load_qt_1): Check image size.
 -      Use GraphicsImportGetImageDescription instead of
 -      GraphicsImportGetNaturalBounds.
 -      [MAC_OSX] (image_load_quartz2d): Check image size.
 -      [MAC_OS] (xpm_load_image): Likewise.
 -
 -      * macterm.c (last_mouse_glyph_frame): New var.
 -      (note_mouse_movement): Say mouse moved if current frame differs
 -      from last_mouse_glyph_frame, and update last_mouse_glyph_frame.
 -      (XTmouse_position): Set last_mouse_glyph_frame.
 -      (XTread_socket): Clear last_mouse_glyph_frame on mouse up/down event.
 -      (mac_draw_string_common) [USE_ATSUI && WORDS_BIG_ENDIAN]: Fix typo.
 -      Use EndianU16_BtoN.
 -      (mac_draw_string_common) [MAC_OSX]: Don't use ATSUClearLayoutControls.
 -      (x_per_char_metric, XLoadQueryFont)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Use device origins to get
 -      glyph bounds.
 -      (mac_to_x_fontname, mac_do_list_fonts)
 -      (mac_initialize_display_info): Change screen resolutions to 72dpi.
 -
 -2005-10-25  Masatake YAMATO  <jet@gyve.org>
 -
 -      * minibuf.c (Fdisplay_completion_list): Small doc fix.
 -
 -2005-10-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c: Undo 2005-10-23 change.
 -      (last_mouse_glyph_frame): New var.
 -      (note_mouse_movement): Say mouse moved if current frame differs
 -      from last_mouse_glyph_frame, and update last_mouse_glyph_frame.
 -      (XTmouse_position): Set last_mouse_glyph_frame.
 -      (handle_one_xevent): Clear last_mouse_glyph_frame [instead of
 -      last_mouse_glyph] on mouse up/down event.
 -
 -      * editfns.c (Fcompare_buffer_substrings): Fix last change.
 -
 -2005-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fcompare_buffer_substrings): Handle multibyte chars.
 -
 -2005-10-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (note_mouse_movement): Always call note_mouse_highlight
 -      so tool tips don't interfere with press on tool bar button.
 -
 -2005-10-23  Richard M. Stallman  <rms@gnu.org>
 -
 -      * casetab.c (Fset_case_table): Doc fix.
 -
 -      * lread.c (build_load_history): Replace STREAM arg with ENTIRE.
 -      (readevalloop): Compute ENTIRE properly.
 -      (syms_of_lread) <load-history>: Doc fix.
 -
 -2005-10-21  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lread.c (Fload): Simplify gcpro structure.
 -      Gcpro FOUND as well as FILE, but not EFOUND.
 -      Unless preloading, record FOUND instead of FILE in Vload_history.
 -      Rename repeat local FILE to MSG_FILE.
 -      (syms_of_lread) <load-history>: Doc fix.
 -
 -2005-10-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (boyer_moore): Add parens to fix and/or precedence bug.
 -
 -2005-10-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (clone_per_buffer_values): Remove unused var tem.
 -      (init_buffer): Remove unused vars dotstat, pwdstat.
 -
 -      * ccl.c (check_ccl_update): Remove unused var vp.
 -
 -      * fileio.c (auto_save_error): Call SAFE_FREE.
 -
 -      * fns.c (Fchar_table_range): Remove unused var i.
 -
 -      * minibuf.c (display_completion_list_1): New wrapper function
 -      for Fdisplay_completion_list.
 -      (Fminibuffer_completion_help): Use it.
 -
 -      * term.c (encode_terminal_code): Remove unused var src_start.
 -
 -      * window.c (Fwindow_tree): Remove unused var alist.
 -
 -      * xterm.c (x_calc_absolute_position): Remove unused vars win_x, win_y.
 -
 -2005-10-20  Aubrey Jaffer  <agj@alum.mit.edu>  (tiny change)
 -
 -      * unexelf.c (unexec): Fix calls to `fatal' with less than 3 arguments.
 -
 -2005-10-20  Olli Savia  <ops@iki.fi>  (tiny change)
 -
 -      * syssignal.h [__Lynx__]: Undef SIGPOLL along with SIGIO.
 -
 -2005-10-20  Andreas Schwab  <schwab@suse.de>
 -
 -      * minibuf.c (Fdisplay_completion_list): Doc fix.
 -
 -2005-10-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * image.c (check_image_size): Handle integer Vmax_image_size value
 -      directly as max pixel value.  Use default frame size for null frame.
 -      (syms_of_image) <max-image-size>: Describe integer value.
 -
 -2005-10-19  Romain Francoise  <romain@orebokech.com>
 -
 -      * emacs.c (main): Update copyright year.
 -
 -2005-10-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (Vmax_image_size): New variable.
 -      (check_image_size): New function.
 -      (xbm_read_bitmap_data, pbm_load, png_load, jpeg_load, tiff_load)
 -      (gif_load, gs_load): Use it.
 -      (lookup_image): Try loading again if previous load failed.
 -      (xbm_read_bitmap_data): Add a new argument, a pointer to the frame
 -      to display in, NULL if none.
 -      (xbm_load_image, xbm_file_p): Pass xbm_read_bitmap_data the new
 -      argument.
 -
 -2005-10-18  Richard M. Stallman  <rms@gnu.org>
 -
 -      * search.c (Fstring_match): Doc fix.
 -
 -2005-10-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (note_mouse_movement): Use PtInRect.
 -      (XTread_socket): Also ignore mouse motion just before a button
 -      release event.  Don't process button release event when mouse is
 -      not grabbed.
 -
 -2005-10-16  Masatake YAMATO  <jet@gyve.org>
 -
 -      * minibuf.c (Fdisplay_completion_list): Add new optional
 -      argument COMMON_SUBSTRING.  Bind `completion-common-substring'
 -      to the optional argument during running `completion-setup-hook'.
 -
 -2005-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp):
 -      Allow nil as argument.
 -       [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Regard nil
 -      for encoding arguments as UTF-16 in native byte order, no BOM.
 -
 -      * macfns.c (Fx_create_frame): Add debugging code.
 -      (Fx_show_tip): Set frame pixel width and height.
 -
 -      * macterm.c (MAC_WINDOW_NORMAL_GC): Remove macro.
 -      (FRAME_NORMAL_GC): New macro.
 -      (mac_draw_line, mac_clear_area, mac_clear_window)
 -      (mac_fill_rectangle, mac_draw_string, mac_draw_string_16)
 -      (mac_draw_image_string, mac_draw_image_string_16): Rename from
 -      XDrawLine, XClearArea, XClearWindow, XFillRectangle, XDrawString,
 -      XDrawString16, XDrawImageString, and XDrawImageString16, respectively.
 -      All uses changed.
 -      (mac_draw_line, mac_erase_rectangle, mac_clear_area)
 -      (mac_clear_window, mac_draw_bitmap, mac_draw_rectangle)
 -      (mac_invert_rectangle, mac_draw_string_common, mac_draw_string)
 -      (mac_draw_string_16, mac_draw_image_string)
 -      (mac_draw_image_string_16, mac_copy_area, mac_copy_area_with_mask)
 -      (mac_scroll_area): Drawing functions now take frame as destination.
 -      All uses changed.
 -      (mac_draw_string_common): Get port height with FRAME_PIXEL_HEIGHT.
 -      (x_draw_fringe_bitmap): Set clipping area in face->gc.
 -
 -      * macterm.h (mac_clear_area): Add extern.
 -
 -2005-10-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (note_mouse_movement, XTread_socket): Apply 2005-10-14
 -      changes for xterm.c.
 -
 -      * w32term.c (note_mouse_movement, w32_read_socket): Likewise.
 -
 -2005-10-14  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
 -      charset even if that target charcter is an ASCII.
 -
 -      * casefiddle.c (casify_object): Fix for the case that case
 -      conversion change the byte length.
 -
 -2005-10-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (note_mouse_movement): Return 1 if mouse moved; 0 otherwise.
 -      (handle_one_xevent): Only clear help_echo_string; restore it if
 -      note_mouse_movement didn't record any mouse movement.
 -
 -      * xdisp.c (pos_visible_p): Convert w->hscroll to pixels before use.
 -      (remember_mouse_glyph): Clear RECT if mouse is over an image glyph.
 -
 -      * keyboard.c (make_lispy_position): Adjust wx for left margin if
 -      ON_TEXT.
 -      (Fposn_at_x_y): Fix calculation of x coordinate.
 -      (Fposn_at_point): Return nil if point is hscrolled out of view.
 -
 -2005-10-13  Andreas Schwab  <schwab@suse.de>
 -
 -      * sysdep.c (request_sigio, unrequest_sigio): Do nothing in
 -      non-interactive mode.
 -
 -2005-10-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c, w32term.c, macterm.c (note_mouse_movement): Undo last change.
 -
 -2005-10-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (handle_one_xevent): Clear last_mouse_glyph on mouse up/down.
 -
 -2005-10-12  Romain Francoise  <romain@orebokech.com>
 -
 -      * buffer.c (init_buffer): Rename `rc' to `len' for clarity.
 -
 -2005-10-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (remember_mouse_glyph): Use MATRIX_BOTTOM_TEXT_ROW to
 -      get end of text rows.  Obtain header-line/mode-line rows directly.
 -
 -      * xterm.c, w32term.c, macterm.c (note_mouse_movement):
 -      Restore help_echo_string if mouse is moved inside last_mouse_glyph.
 -
 -2005-10-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (remember_mouse_glyph): New generic version based on
 -      glyph_rect and remember_mouse_glyph from xterm.c enhanced to
 -      properly handle all different window areas.
 -
 -      * dispextern.h (remember_mouse_glyph): Add prototype.
 -
 -      * xterm.c (glyph_rect, remember_mouse_glyph): Remove X versions.
 -      (note_mouse_movement, XTmouse_position): Use generic
 -      remember_mouse_glyph, add last_mouse_glyph arg.
 -
 -      * w32term.c (note_mouse_movement): Fix last_mouse_glyph check.
 -      (glyph_rect, remember_mouse_glyph): Remove w32 specific versions.
 -      (note_mouse_movement, w32_mouse_position): Use generic
 -      remember_mouse_glyph, add last_mouse_glyph arg.
 -
 -      * macterm.c (note_mouse_movement): Add call to remember_mouse_glyph.
 -      (glyph_rect, remember_mouse_glyph): Remove mac specific versions.
 -      (XTmouse_position): Adapt to use generic remember_mouse_glyph
 -      instead of pixel_to_glyph_coords.
 -
 -      * window.c (coordinates_in_window): Fix x position for ON_RIGHT_MARGIN.
 -      Fix x position for ON_TEXT when left margin width > 0.
 -
 -2005-10-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (coordinates_in_window): Fix y position for ON_SCROLL_BAR.
 -
 -      * keyboard.c (make_lispy_position): Fix buffer calculations for
 -      mouse click or movement in right fringe and the margins.
 -
 -2005-10-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (fn_jpeg_stdio_src): Don't define it.
 -      (init_jpeg_functions): Don't initialize `fn_jpeg_stdio_src'.
 -      (our_common_init_source): Rename from `our_init_source'.
 -      (our_common_term_source): Rename from `our_term_source'.
 -      (our_memory_fill_input_buffer): Rename from
 -      `our_fill_input_buffer'.
 -      (our_memory_skip_input_data): Rename from `our_skip_input_data'.
 -      (jpeg_memory_src): Use the new names.
 -      (struct jpeg_stdio_mgr): New struct.
 -      (JPEG_STDIO_BUFFER_SIZE): New constant.
 -      (our_stdio_fill_input_buffer, our_stdio_skip_input_data)
 -      (jpeg_file_src): New functions.
 -      (jpeg_load): Use `jpeg_file_src' instead of `fn_jpeg_stdio_src'.
 -
 -2005-10-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (PER_CHAR_METRIC): Remove unused macro.
 -      (fm_font_family_alist): New variable.
 -      (syms_of_macterm): Initialize and staticpro it.
 -      (decode_mac_font_name): Replace '-' in family name with '_' if it
 -      occurs just once.  Lower family name.
 -      (parse_x_font_name): Rename from x_font_name_to_mac_font_name.
 -      All uses changed.  Remove argument MF and code conversion for it.
 -      Add argument SIZE.  Rename argument MF_DECODED to FAMILY, and CS
 -      to CHARSET.  Parse font size.  Lower family name.  Return integer
 -      value for status of parsing.
 -      (init_font_name_table) [USE_ATSUI]: Use decode_mac_font_name.
 -      Don't use Fdowncase because family name is already lowered by
 -      decode_mac_font_name.
 -      (init_font_name_table): Always call decode_mac_font_name.
 -      Add pair of family name and its reference to fm_font_family_alist.
 -      (mac_clear_font_name_table): Clear fm_font_family_alist.
 -      (XLoadQueryFont): Move font size parsing part to parse_x_font_name.
 -      Lookup fm_font_family_alist to get font family reference.
 -      (XLoadQueryFont) [USE_ATSUI]: Don't use Fdowncase because family
 -      name is already lowered by parse_x_font_name.
 -
 -2005-10-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (glyph_rect): Return 0 if position is outside text area.
 -
 -      * keyboard.c (make_lispy_position): Fix buffer position calculation for
 -      mouse click or movement in fringe.
 -
 -2005-10-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * xterm.c (remember_mouse_glyph): New function.
 -      (note_mouse_movement): Use it to remember the current glyph if changed.
 -      (XTmouse_position): Fix calculation of fake glyph under mouse.
 -      Move code to calculate glyph under mouse into remember_mouse_glyph.
 -
 -2005-10-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (USAGE3, standard_args): -nb => -nbi.
 -
 -2005-10-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frame.c (Fredirect_frame_focus): Fix typos in docstring.
 -      (next_frame, prev_frame, set_term_frame_name): Make static.
 -
 -      * window.c (Fwindow_tree): Fix spelling.
 -
 -2005-10-09  Romain Francoise  <romain@orebokech.com>
 -
 -      * window.c (Fwindow_end): Don't try to redisplay if non-interactive.
 -
 -2005-10-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (standard_args): Remove options -i, -itype, --icon-type.
 -      Add options -nb, --no-bitmap-icon.
 -
 -      * xfns.c (Fx_create_frame): Make bitmapIcon have default on.
 -
 -2005-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (MAX_CLIP_RECTS): New define.
 -      (struct _XGC): New member clip_region.
 -      (struct _XGC) [MAC_OSX && USE_ATSUI]: New members n_clip_rects and
 -      clip_rects.
 -
 -      * macterm.c (GC_CLIP_REGION): New macro.
 -      (saved_port_clip_region): New variable.
 -      (mac_begin_clip, mac_end_clip): New functions.
 -      (XDrawLine, mac_erase_rectangle, mac_draw_bitmap, XFillRectangle)
 -      (mac_draw_rectangle, mac_draw_string_common, mac_copy_area)
 -      (mac_copy_area_with_mask, mac_scroll_area): Use them.
 -      (mac_set_clip_rectangle, mac_reset_clipping): Remove functions.
 -      [USE_ATSUI] (atsu_get_text_layout_with_text_ptr)
 -      [MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Specify kATSLineFractDisable.
 -      (mac_draw_string_common) [MAC_OSX && USE_ATSUI]: Clip to clipping
 -      rectangles stored in gc.
 -      (XFreeGC): Dispose of clipping region.
 -      (mac_set_clip_rectangles, mac_reset_clip_rectangles): New functions.
 -      (x_draw_fringe_bitmap, x_set_glyph_string_clipping)
 -      (x_draw_relief_rect, x_draw_box_rect, x_draw_stretch_glyph_string)
 -      (x_draw_glyph_string, x_clip_to_row, x_draw_hollow_cursor)
 -      (x_draw_bar_cursor): Use them.
 -      (x_set_glyph_string_clipping): Use get_glyph_string_clip_rects to
 -      get multiple clipping rectangles.
 -
 -      * macterm.h (mac_term_init): Add types to extern.
 -      (struct mac_output): Remove members mWP and pending_menu_activation.
 -      Put members scroll_bar_foreground_pixel and
 -      scroll_bar_background_pixel in #if 0.
 -      (FRAME_MAC_WINDOW, FRAME_X_WINDOW): Use window_desc.
 -
 -      * xfaces.c (x_create_gc, x_free_gc) [MAC_OS]: Add BLOCK_INPUT.
 -      Add debugging code.
 -
 -2005-10-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (window_tree, Fwindow_tree): Rename fns added 2005-10-04.
 -
 -2005-10-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (redraw_overlapped_rows, redraw_overlapping_rows)
 -      [!HAVE_WINDOW_SYSTEM]: Don't declare them...
 -      (update_window) [!HAVE_WINDOW_SYSTEM]: ...and don't call them.
 -
 -2005-10-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (struct glyph_string): Rename member for_overlaps_p
 -      to for_overlaps.  Now occupy 3 bits.
 -      (OVERLAPS_PRED, OVERLAPS_SUCC, OVERLAPS_BOTH)
 -      (OVERLAPS_ERASED_CURSOR): New defines.
 -      (struct redisplay_interface): Add new OVERLAPS arg to member
 -      fix_overlapping_area.
 -      (x_fix_overlapping_area): Add new OVERLAPS arg.
 -      (get_glyph_string_clip_rects): Add extern.
 -
 -      * dispnew.c (redraw_overlapping_rows):
 -      Call rif->fix_overlapping_area with new OVERLAPS arg as redrawn part.
 -
 -      * xdisp.c: Rename member for_overlaps_p in struct glyph_string to
 -      for_overlaps.
 -      (get_glyph_string_clip_rects): New function created from
 -      get_glyph_string_clip_rect.  Set clipping rectangles according to the
 -      value of for_overlaps.  Enable to store multiple clipping rectangles.
 -      (get_glyph_string_clip_rect): Use get_glyph_string_clip_rects.
 -      (fill_composite_glyph_string, fill_glyph_string, draw_glyphs):
 -      Rename argument OVERLAPS_P to OVERLAPS.  All uses in macros changed.
 -      (x_fix_overlapping_area): Add OVERLAPS arg.  Pass it to draw_glyphs.
 -      (draw_phys_cursor_glyph): Set width of erased cursor to use it for
 -      calculating clipping rectangles later.  Call x_fix_overlapping_area
 -      with new OVERLAPS arg to draw only erased cursor area.
 -      (expose_overlaps): Call x_fix_overlapping_area with new OVERLAPS arg
 -      to draw overlaps in both preceding and succeeding rows.
 -
 -      * xterm.c, w32term.c, macterm.c: Rename member for_overlaps_p in
 -      struct glyph_string to for_overlaps.
 -
 -2005-10-04  Richard M. Stallman  <rms@gnu.org>
 -
 -      * alloc.c (refill_memory_reserve): Conditionalize the body,
 -      not the function's existence.
 -
 -2005-10-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (window_split_tree): New function.
 -      (Fwindow_split_tree): New defun.
 -      (syms_of_window): Defsubr it.
 -
 -2005-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_invert_rectangle): New function.
 -      (XTflash): Use it.
 -
 -2005-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * regex.h (re_char): Don't expose it in the interface.
 -      (re_set_whitespace_regexp): Adjust the arg's type to not use it.
 -
 -      * regex.c (re_char): Move it back here.
 -      (re_set_whitespace_regexp): Change the arg's type to not use it.
 -
 -      * keyboard.c (make_lispy_event): If point has moved between down and up
 -      event, make it a drag, not a click, to mirror what
 -      mouse-drag-region expects.
 -
 -2005-10-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * lisp.h (fatal): Undo previous change.
 -      * term.c (fatal): Undo previous change.
 -
 -2005-10-01  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (face_color_gray_p): Colors close to black count as gray.
 -
 -2005-10-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (try_window): Skip scroll-margin check if ZV is visible.
 -
 -2005-10-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (init_keyboard) [MAC_OSX]: Don't install SIGINT handler.
 -
 -      * macfns.c (start_hourglass): Apply 2005-05-07 change for xfns.c.
 -      (x_create_tip_frame) [GLYPH_DEBUG]: Uncomment debugging code.
 -      (Fx_create_frame, x_create_tip_frame) [USE_ATSUI]:
 -      Try ATSUI-compatible 12pt Monaco font first.
 -
 -      * macgui.h (struct _XCharStruct): New member valid_p.
 -      (STORE_XCHARSTRUCT): Set valid_p.
 -      (struct MacFontStruct) [USE_ATSUI]: New member mac_style.
 -
 -      * macterm.c (mac_draw_string_common, x_per_char_metric)
 -      (mac_compute_glyph_string_overhangs, init_font_name_table)
 -      (XLoadQueryFont, mac_unload_font) [USE_ATSUI]: Add ATSUI support.
 -      (atsu_get_text_layout_with_text_ptr) [USE_ATSUI]: New function.
 -      (x_draw_glyph_string_background)
 -      (x_draw_glyph_string_foreground) [MAC_OS8 && USE_ATSUI]: Don't use
 -      XDrawImageString.  Always draw background and foreground separately.
 -      (x_draw_glyph_string_foreground) [USE_ATSUI]: Don't use 8-bit
 -      functions for one-byte chars when using ATSUI-compatible fonts.
 -      (atsu_font_id_hash) [USE_ATSUI]: New variable.
 -      (syms_of_macterm) [USE_ATSUI]: Initialize and staticpro it.
 -      (XLoadQueryFont): Set min_byte1, max_byte1, min_char_or_byte2, and
 -      max_char_or_byte2 more in detail.
 -      (quit_char_comp, mac_check_for_quit_char) [MAC_OSX]: Remove functions.
 -
 -2005-09-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct type.
 -      * xterm.c (handle_one_xevent, handle_one_xevent): Likewise.
 -
 -      * unexelf.c (fatal): Fix prototype.
 -
 -      * term.c (fatal): Implement using varargs.
 -
 -      * regex.c (re_char): Move typedef ...
 -      * regex.h (re_char): ... here.
 -      (re_iswctype, re_wctype, re_set_whitespace_regexp): New prototypes.
 -
 -      * emacs.c (malloc_set_state): Fix return type.
 -      (endif): Fix type.
 -
 -      * lisp.h (fatal): Add argument types.
 -
 -      * dispextern.h (fatal): Delete prototype.
 -
 -      * systime.h (make_time): Prototype moved from ...
 -      * editfns.c (make_time): ... here.
 -
 -      * editfns.c: Move systime.h include after lisp.h.
 -      * dired.c:
 -      * xsmfns.c:
 -      * process.c: Likewise.
 -
 -      * alloc.c (old_malloc_hook, old_realloc_hook, old_realloc_hook):
 -      Add parameter types.
 -      (__malloc_hook, __realloc_hook, __free_hook): Fix prototypes.
 -      (emacs_blocked_free): Change definition to match __free_hook.
 -      (emacs_blocked_malloc): Change definition to match __malloc_hook.
 -      (emacs_blocked_realloc): Change definition to match __realloc_hook.
 -
 -2005-09-30  Romain Francoise  <romain@orebokech.com>
 -
 -      * minibuf.c (Fread_buffer): Follow convention for reading from the
 -      minibuffer with a default value.  Doc fix.
 -
 -2005-09-29  Juri Linkov  <juri@jurta.org>
 -
 -      * editfns.c (Fmessage, Fmessage_box, Fmessage_or_box):
 -      Rename argument name `string' to `format-string'.
 -      (Fformat): Doc fix.
 -
 -2005-09-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * image.c (gif_load): Fix size of allocated image buffer
 -      for images where a sub-image may be larger than the image's
 -      total height/width specifications.
 -
 -2005-09-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (struct _XCharStruct): Each member now takes short value.
 -
 -2005-09-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xfaces.c (lookup_derived_face): Add parameter type.
 -
 -      * xdisp.c (cursor_row_fully_visible_p): Add parameter type.
 -
 -      * marker.c (verify_bytepos): Add parameter type.
 -
 -      * process.c (get_operating_system_release): Move prototype ...
 -
 -      * systime.h (get_operating_system_release): ... here.
 -
 -      * xterm.c (handle_one_xevent): Refer to union field to match the
 -      type required by the function definition.
 -      (set_vertical_scroll_bar): Move prototype ...
 -
 -      * xterm.h: ... here.
 -
 -      * fns.c (internal_equal, seed_random): Fix prototypes.
 -      (internal_equal): Add missing parameter.
 -
 -2005-09-25  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (update_menu_bindings): Variable deleted.
 -      (syms_of_keyboard): Don't defvar it.
 -      (parse_menu_item): Don't test it.
 -
 -2005-09-23  Richard M. Stallman  <rms@gnu.org>
 -
 -      * editfns.c (Fformat): Explicitly test for end of format string
 -      and don't use `index'.
 -
 -2005-09-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME):
 -      Define BROKEN_GET_CURRENT_DIR_NAME.
 -
 -      * sysdep.c (get_current_dir_name): Also define if
 -      BROKEN_GET_CURRENT_DIR_NAME.
 -
 -      * m/ibmrs6000.h: Test for USG5, not USG5_4.
 -
 -2005-09-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (message_dolog): Add warning about GC and Lisp strings.
 -      (message2): Fix commentary.  Ok to use alloca'ed memory.
 -      Still not ok to use Lisp string data (because of GC).
 -      (set_message): Add comment why GC cannot happen.
 -
 -2005-09-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (xlfdpat_block_match_1): Fix assertion.
 -      (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style
 -      variants for a scalable font multiple times.
 -
 -2005-09-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * process.c (create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]:
 -      Setup slave tty options before forking.
 -
 -2005-09-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_set_geometry): Do a gtk_window_move if program
 -      positions have been set for the frame (as is done for frames in
 -      special-display-buffer-names).
 -
 -2005-09-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Fformat): Don't scan past end of format string that
 -      ends in %.  Reported by Johan Bockg\e,Ae\e(Brd.
 -
 -2005-09-18  Andreas Schwab  <schwab@suse.de>
 -
 -      * window.h (struct window): Remove height_fixed_p, no longer set.
 -
 -      * window.c (make_window): Don't initialize height_fixed_p.
 -      (window_fixed_size_p): Don't use it.
 -
 -2005-09-18  John Paul Wallington  <jpw@pobox.com>
 -
 -      * data.c (Fdefalias): Signal an error if SYMBOL is not a symbol.
 -
 -2005-09-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Undo previous change.
 -
 -      * macfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
 -      New variables.
 -      [TARGET_API_MAC_CARBON] (Fx_file_dialog): Don't allow multiple
 -      file selection.
 -
 -      * sysdep.c [MAC_OS8]: Don't include stdlib.h.  Include sys/param.h.
 -
 -2005-09-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (XMENU_OBJ) [!HAVE_CARBON]: Reinstate variable.
 -      (obj): Use XMENU_OBJ, not a literal xmenu.o.
 -
 -2005-09-16  Romain Francoise  <romain@orebokech.com>
 -
 -      * fileio.c (syms_of_fileio) <write-region-inhibit-fsync>: Doc fix.
 -
 -2005-09-15  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (overlay_arrow_at_row): Add HAVE_WINDOW_SYSTEM conditional.
 -      (display_mode_element): Instead of `lisp_string' and `this',
 -      record `offset' and increment that.
 -      `last_offset' replaces `last'.
 -
 -      * Makefile.in (XMENU_OBJ): Variable deleted.
 -      (obj): Use xmenu.o unconditionally.
 -      (SOME_MACHINE_OBJECTS): Delete xmenu.o.
 -
 -      * emacs.c (main): Don't conditionalize syms_of_xmenu on HAVE_XMENU.
 -
 -2005-09-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_vertically): Don't try to fetch byte BEGV-1.
 -      (reseat_at_next_visible_line_start): Likewise (in xassert).
 -
 -2005-09-14  Romain Francoise  <romain@orebokech.com>
 -
 -      * fileio.c (write_region_inhibit_fsync): New variable.
 -      (Fwrite_region): Use it to skip call to fsync.
 -      (syms_of_fileio): Initialize it.
 -
 -2005-09-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_convert_region_unwind): Argument format changed.
 -      (run_pre_post_conversion_on_str): If pre-write-conversion function
 -      changed the current buffer, delete the new buffer.
 -      (run_pre_write_conversin_on_c_str): Likewise.
 -
 -      * fileio.c (Fexpand_file_name): Check multibyteness of
 -      default_directory.
 -
 -2005-09-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (compose_chars_in_text): Delete it.
 -
 -      * composite.h (compose_chars_in_text): Delete extern.
 -
 -2005-09-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * print.c (print_error_message): Fix last change.
 -
 -2005-09-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * composite.c (compose_chars_in_text): Fix setup of `pend'.
 -      Unconditionally reload `ptr' and `pend' after eval.
 -
 -      * xdisp.c (message3): Pass copy of lisp string to message_dolog.
 -
 -      * print.c (print_error_message): Pass copy of caller name to
 -      message_dolog.
 -
 -      * fileio.c (auto_save_error): Pass copy of lisp string to message2.
 -
 -2005-09-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (display_mode_element): Be sure to make variables THIS
 -      and LISP_STRING point into a string data of ELT.
 -
 -2005-09-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Ftranslate_region_internal): Reload `tt' after
 -      signal_after_change that may have GC'ed.
 -      (Fmessage, Fmessage_box, Fmessage_or_box): Doc fix.
 -
 -      * keymap.c (Fdescribe_buffer_bindings): Reload `translate'
 -      after insert while runs signal_after_change.
 -
 -      * minibuf.c (Fminibuffer_complete_word): Move `completion_string'
 -      declaration to where it is used.
 -
 -      * w32.c (check_windows_init_file): Fix allocation of error buffer.
 -
 -      * xfns.c (x_encode_text): Declare static.  Add FREEP arg.
 -      (x_set_name_internal): Call x_encode_text with new FREEP arg to
 -      know if xfree is needed instead of guessing.
 -
 -      * xterm.h (x_encode_text): Remove prototype.
 -
 -2005-09-11  Chris Prince  <cprince@gmail.com>  (tiny change)
 -
 -      * w32term.c (x_bitmap_icon): Load small icons too.
 -
 -2005-09-10  Romain Francoise  <romain@orebokech.com>
 -
 -      * buffer.c (init_buffer): Grow buffer to add directory separator
 -      and terminal zero.  Fix typos.
 -
 -2005-09-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.c (init_buffer): Fix error message for failed call to
 -      get_current_dir_name.
 -      (get_current_dir_name): Remove prototype.
 -
 -      * xsmfns.c (get_current_dir_name): Remove prototype.
 -
 -      * lisp.h (get_current_dir_name) [!HAVE_GET_CURRENT_DIR_NAME]:
 -      Add prototype.
 -
 -      * sysdep.c [WINDOWSNT]: Add prototype for getwd.
 -      Don't #undef NULL after including blockinput.h.
 -
 -      * config.in: Regenerated.
 -
 -2005-09-10  Giuseppe Scrivano  <gscrivano@gmail.com>
 -
 -      Remove the MAXPATHLEN limitations:
 -
 -      * sysdep.c (get_current_dir_name) [!HAVE_GET_CURRENT_DIR_NAME]:
 -      New function.
 -
 -      * buffer.c (init_buffer): Use it.
 -
 -      * xsmfns.c (smc_save_yourself_CB): Ditto.
 -
 -2005-09-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * doc.c (Fsubstitute_command_keys): Lookup key binding for
 -      commands that are remapped from some other command.
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Clear mode_line_p
 -      flag in disabled rows below the window.
 -
 -      * frame.h (struct frame): New member updated_p.
 -
 -      * xdisp.c (redisplay_internal): Mark updated frames in new updated_p
 -      member.  Remove local `updated' array and associated variables.
 -
 -2005-09-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (handle_display_prop): Respect overlay window property.
 -
 -      * xdisp.c (try_window): Remove superfluous cursor_height calculation.
 -      Fixes crash reported by YAMAMOTO Mitsuharu.
 -
 -2005-09-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (struct xlfdpat_block, struct xlfdpat): New structs.
 -      (xlfdpat_destroy, xlfdpat_create, xlfdpat_exact_p)
 -      (xlfdpat_block_match_1, xlfdpat_match): New functions.
 -      (xlfdpat_block_match): New macro.
 -      (mac_to_x_fontname): Don't use tolower for non-ASCII characters.
 -      (x_font_name_to_mac_font_name): Set coding.dst_multibyte to 0.
 -      (add_font_name_table_entry): Increase font_name_table_size more
 -      rapidly.
 -      (mac_c_string_match): Remove function.
 -      (mac_do_list_fonts): Use XLFD pattern match instead of regular
 -      expression match.
 -
 -      * xfaces.c (xstrlwr): Don't use tolower for non-ASCII characters.
 -
 -2005-09-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Make UPDATED as long as needed.
 -      (move_it_in_display_line_to): Stop after last char on line even
 -      on a windowing terminal, if that's the specified stop position.
 -
 -      * fns.c (Fsort): Doc fix.
 -
 -      * editfns.c (Fpropertize): Don't insist that properties be symbols.
 -
 -2005-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (directory_files_internal_unwind, directory_files_internal)
 -      (file_name_completion): Use a Save_Value object rather than a cons of
 -      two 16bit ints to store the DIR*.
 -      (directory_files_internal, file_name_completion): Handle both EINTR and
 -      EAGAIN consistently after `readdir'.
 -
 -2005-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * intervals.c (update_interval): Add position info in error.
 -
 -      * dispnew.c (window_to_frame_hpos, update_window):
 -      Avoid gcc warning about unused variable `f'.
 -
 -2005-08-31  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (add_menu_item): If unicode_append_menu returns an
 -      error, revert to using AppendMenu.
 -
 -2005-08-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN): Remove argument.
 -      All uses changed.
 -      [MAC_OS] (XPutPixel, XGetPixel): Add efficient versions for common
 -      cases.
 -      (x_create_x_image_and_pixmap) [MAC_OS]: Don't call x_destroy_x_image.
 -      [MAC_OS] (find_image_fsspec) [!MAC_OSX]: Don't use FSRef.
 -      Use posix_pathname_to_fsspec.
 -      [MAC_OS] (xpm_load_image): Fill in background_transparent field
 -      while we have mask.
 -
 -      * macgui.h [!TARGET_API_MAC_CARBON] (GetPixDepth): New define.
 -
 -      * macterm.h (PIX_MASK_DRAW, PIX_MASK_RETAIN): Move defines to image.c.
 -
 -2005-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (update_syntax_table): Properly reproduce the special +1
 -      setting of e_property at the end of the buffer when bumping into the
 -      INTERVALS_AT_ONCE limit.
 -
 -2005-08-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (USAGE1): Fix the description of the -Q option.
 -
 -2005-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (pos_visible_p): Yet another int/Lisp_Object mixup (YAILOM).
 -
 -2005-08-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (resize_mini_window): Fix 2005-08-20 change.
 -      Don't move PT to new window start.
 -
 -2005-08-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (kbd_buffer_get_event) [MAC_OS]: Make events for
 -      ICONIFY/DEICONIFY_EVENT.
 -
 -      * macterm.c (mac_copy_area, mac_copy_area_with_mask):
 -      Restore background color.
 -      (mac_handle_visibility_change): New function.
 -      (x_make_frame_invisible, x_iconify_frame)
 -      (XTread_socket) [!USE_CARBON_EVENTS]: Use it.
 -      [USE_CARBON_EVENTS] (mac_handle_window_event)
 -      (install_window_handler): Handle visibility change events.
 -      (x_make_frame_visible): Don't reposition window if it is iconified
 -      or asked for visible before.  Select and uncollapse window when it
 -      is made visible.
 -      (x_make_frame_invisible): Don't reset x_highlight_frame.
 -      (x_iconify_frame): Likewise.  Make invisible frame visible before
 -      it is iconified.
 -      (read_socket_inev): Move variable outside #if USE_CARBON_EVENTS.
 -      (do_window_update): Don't change visibility of invisible frame.
 -
 -2005-08-22  Juri Linkov  <juri@jurta.org>
 -
 -      * term.c (turn_on_face): Check for TS_set_foreground and
 -      TS_set_background depending on standout_mode.  Simplify.
 -
 -2005-08-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (update_window_fringes): Only put TOP and BOTTOM
 -      bitmaps on fully visible rows.
 -
 -      * fringe.c (update_window_fringes): Replace FORCE_P arg with
 -      KEEP_CURRENT_P arg; if non-zero, don't update current row fringes,
 -      and return 0.
 -
 -      * xdisp.c (redisplay_window): Call update_window_fringes with
 -      KEEP_CURRENT_P non-0 if we are going to refresh fringes later.
 -
 -2005-08-20  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (display_echo_area_1): Get display start pos from w->start.
 -      (resize_mini_window): Set w->start, and PT, so as to display the tail
 -      end of the buffer, if it doesn't all fit.
 -
 -2005-08-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (calc_pixel_width_or_height): Use actual display
 -      resolution when available instead of Vdisplay_pixels_per_inch.
 -
 -2005-08-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pos_visible_p): Adjust X value if window is hscrolled.
 -
 -      * dispnew.c (buffer_posn_from_coords): Check that target row is
 -      within matrix.
 -
 -2005-08-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_wm_set_icon_pixmap): Move GTK specific code to
 -      xg_set_frame_icon and call it.
 -
 -      * gtkutil.c (xg_set_frame_icon): New function.
 -
 -      * gtkutil.h (xg_set_frame_icon): Declare it.
 -
 -2005-08-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (increment_row_positions): Skip non-enabled rows.
 -
 -      * window.c (SAVED_WINDOW_VECTOR_SIZE): Remove dangerous define.
 -      (Fcurrent_window_configuration): Use VECSIZE macro instead.
 -
 -2005-08-15  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (message3_nolog): Clear echo_message_buffer.
 -
 -2005-08-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h (QUIT) [!SYNC_INPUT]: Throw t to Vthrow_on_input.
 -
 -      * process.c (deactivate_process, status_notify, read_process_output)
 -      (update_status, status_convert, decode_status, allocate_pty)
 -      (make_process, remove_process, list_processes_1)
 -      (create_process_1, unwind_request_sigio, read_process_output)
 -      (send_process, keyboard_bit_set): Declare static.
 -      (Fdelete_process): Simplify.  Pass process to status_notify, so we
 -      don't try to read output from it.
 -      (status_notify): New arg deleting_process--don't try to read
 -      output from that process.
 -
 -      * lisp.h (deactivate_process, status_notify, read_process_output):
 -      Remove prototypes.
 -
 -2005-08-14  Richard M. Stallman  <rms@gnu.org>
 -
 -      * image.c (syms_of_image): Init Qxbm, Qpbm before calling
 -      define_image_type.
 -
 -2005-08-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_pixbuf_from_pix_and_mask): New function.
 -      (xg_get_image_for_pixmap): Move some code to
 -      xg_get_pixbuf_from_pix_and_mask, and call it.
 -
 -      * gtkutil.h (xg_get_pixbuf_from_pix_and_mask): Declare.
 -
 -      * xterm.c (x_wm_set_icon_pixmap): Call xg_get_pixbuf_from_pix_and_mask
 -      to get an GTK icon and set it with GTK functions to avoid having GTK
 -      override an icon set with just X functions.
 -
 -2005-08-11  Richard M. Stallman  <rms@gnu.org>
 -
 -      * image.c (syms_of_image): Init image_types here, and call
 -      define_image_type.
 -      (init_image): Not here.
 -
 -2005-08-09  Richard M. Stallman  <rms@gnu.org>
 -
 -      * bytecode.c (BYTE_CODE_QUIT): Throw t to Vthrow_on_input.
 -
 -      * lisp.h (QUIT): Throw t to Vthrow_on_input.
 -
 -2005-08-09  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * floatfns.c (Fexpt): Use floats for negative exponent.
 -
 -2005-08-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_modify_menubar_widgets): Remove semicolon that
 -      should not be there, causing menu display errors with GTK 2.6.9.
 -
 -2005-08-07  Richard M. Stallman  <rms@gnu.org>
 -
 -      * floatfns.c (Fexpt): Undo previous change.
 -
 -      * dispnew.c (Fframe_or_buffer_changed_p): Take an arg
 -      so it can be used with various state vectors.
 -
 -      * emacs.c (endif): Convert -script into -scriptload.
 -      (standard_args): Add -scriptload.  Allow -basic-display with one dash.
 -
 -      * fns.c (syms_of_fns): Add `emacs' to features.
 -
 -      * term.c (set_terminal_modes): If no TS_termcap_modes string,
 -      output newlines to scroll the old screen contents off the screen.
 -
 -2005-08-06  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * floatfns.c (Fexpt): Use floats for negative exponent.
 -      Reported by D Goel.
 -
 -2005-08-02  Richard M. Stallman  <rms@gnu.org>
 -
 -      * frame.c (Fframe_char_width): Doc fix.
 -
 -2005-07-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (syms_of_xdisp) <redisplay-end-trigger-functions>:
 -      Defvar it.
 -
 -2005-07-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (my_set_window_pos, my_show_window): Don't declare.
 -      (my_create_window, my_create_tip_window): Make static.
 -
 -      * w32term.c (my_show_window, my_set_window_pos, my_set_focus)
 -      (my_set_foreground_window, my_destroy_window): Make static.
 -
 -2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      Merge gnulib getopt implementation into Emacs.
 -
 -      * s/cygwin.h (C_SWITCH_SYSTEM): Remove, since gettext.h is
 -      now part of lib-src.
 -
 -2005-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fdefvar): Allow (defvar enable-multibyte-characters).
 -
 -2005-07-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (w32_menu_display_help): Suppress tooltip when
 -      navigating menus with the keyboard.
 -
 -2005-07-23  Richard M. Stallman  <rms@gnu.org>
 -
 -      * insdel.c (syms_of_insdel): staticpro combine_after_change_buffer.
 -
 -      * bytecode.c (MAYBE_GC): Test gc_cons_threshold and
 -      gc_relative_threshold, one by one.
 -
 -      * keyboard.c (read_char): Test gc_cons_threshold.
 -      (syms_of_keyboard): staticpro Qecho_area_clear_hook.
 -
 -      * eval.c (Feval, Ffuncall): Test gc_cons_threshold and
 -      gc_relative_threshold, one by one.
 -
 -      * alloc.c (gc_cons_threshold): Not static.
 -      (gc_cons_combined_threshold): Var deleted.
 -      (gc_relative_threshold): New variable.
 -      (Fgarbage_collect, init_alloc_once): Compute gc_relative_threshold
 -      instead of gc_cons_combined_threshold.
 -
 -      * lisp.h (gc_cons_threshold, gc_relative_threshold): Declare.
 -      (gc_cons_combined_threshold): Declaration deleted.
 -
 -2005-07-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c: Don't include stdlib.h or string.h.
 -      (Fdo_applescript, Fmac_file_name_to_posix)
 -      (Fmac_file_name_to_posix): Doc fixes.
 -      [TARGET_API_MAC_CARBON] (Fmac_get_preference)
 -      (Fmac_code_convert_string): Likewise.
 -      [MAC_OSX] (init_mac_osx_environment): Fall back on terminal mode
 -      if the executable is not contained in a bundle.
 -
 -      * macfns.c: Don't include stdlib.h or string.h.  Include atimer.h.
 -      (gray_width, gray_height): Remove defines.
 -      (gray_bits, gray_bitmap_width, gray_bitmap_height)
 -      (gray_bitmap_bits): Remove variables.
 -      (lispy_function_keys): Remove extern.
 -      (free_frame_menubar): Add extern.
 -      (x_window_to_frame): Remove function.
 -      (unwind_create_tip_frame): Add declaration.
 -      (x_set_name_internal): New function.
 -      (x_set_name, x_set_title): Use it.
 -      (Fx_create_frame, 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_synchronize, Fx_show_tip): Doc fixes.
 -
 -      * macmenu.c (Fx_popup_menu, Fx_popup_dialog): Doc fixes.
 -
 -      * macselect.c (Fx_own_selection_internal): Follow error conventions.
 -      (Fx_get_selection_internal, Fx_selection_owner_p)
 -      (Fx_selection_exists_p): Doc fixes.
 -      (syms_of_macselect) <selection-converter-alist>: Likewise.
 -
 -2005-07-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
 -
 -      * ccl.c (Fregister_ccl_program): Fix typos in docstring.
 -      (Fccl_execute_on_string): Likewise; add usage info.
 -
 -      * composite.c (Fcompose_region_internal)
 -      (Fcompose_string_internal):
 -      Improve argument/docstring consistency.
 -
 -      * minibuf.c (Fminibuffer_prompt_end, Feval_minibuffer):
 -      Fix typos in docstrings.
 -
 -      * textprop.c (Fnext_char_property_change)
 -      (Fprevious_char_property_change): Doc fixes.
 -
 -      * window.c (Fset_window_margins, Fset_window_fringes):
 -      Improve argument/docstring consistency.
 -
 -      * xfaces.c (Finternal_lisp_face_p): Doc fix.
 -
 -2005-07-21  Andreas Schwab  <schwab@suse.de>
 -
 -      * eval.c (restore_stack_limits): Return a value.
 -
 -2005-07-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (Fdefvar): Doc fix.
 -
 -2005-07-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * fileio.c (Fdo_auto_save, do_auto_save_unwind):
 -      Use make_save_value to unwind protect stream.
 -
 -      * lread.c (Fload, load_unwind):
 -      Use make_save_value to unwind protect stream.
 -
 -2005-07-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (Fprog2, Fcalled_interactively_p),
 -      (syms_of_eval) <debug-on-quit>: Doc fixes.
 -      (syms_of_eval) <max-specpdl-size>:
 -      (Finteractive_p): Fix typos in docstrings.
 -
 -2005-07-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * w32fns.c (Vx_hand_shape): Variable removed.
 -      (syms_of_w32fns): Intern and staticpro Qw32_charset_default.
 -
 -2005-07-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (Fstring_as_multibyte): Escape backslashes in the docstring.
 -
 -2005-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.h (Fgenerate_new_buffer_name): Declare (for use in coding.c).
 -
 -2005-07-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * frame.h (struct frame): New member already_hscrolled_p.
 -
 -      * xdisp.c (redisplay_internal): Only try to hscroll each frame once
 -      to avoid redisplay looping hscrolling back and forth ad infinitum.
 -
 -2005-07-18  Juri Linkov  <juri@jurta.org>
 -
 -      * buffer.c (scroll-up-aggressively, scroll-down-aggressively):
 -      * keymap.c (Fminor_mode_key_binding):
 -      * macterm.c (mac-emulate-three-button-mouse):
 -      Delete duplicate duplicate words.
 -
 -2005-07-18  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * minibuf.c (Ftest_completion): Fix odd syntax in test.
 -
 -2005-07-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (x_set_cursor_color): Use XSetBackground and XSetForeground.
 -
 -      * macgui.h (struct _XGC): New struct.
 -      (GC): Use it.
 -      (GCForeground, GCBackground, GCFont): Use X11 mask values.
 -      (XCreateGC, XParseGeometry): Move externs to macterm.h.
 -
 -      * macterm.c (x_bitmap_icon, x_make_frame_visible): Remove declarations.
 -      (XSetFont): Add declaration.
 -      (mac_set_forecolor, mac_set_backcolor, mac_set_colors):
 -      Remove functions.
 -      (GC_FORE_COLOR, GC_BACK_COLOR, GC_FONT, MAC_WINDOW_NORMAL_GC):
 -      New defines.
 -      (XDrawLine, mac_draw_line_to_pixmap, XClearWindow)
 -      (mac_draw_bitmap, XCreatePixmapFromBitmapData, XFillRectangle)
 -      (mac_draw_rectangle, mac_draw_string_common, mac_scroll_area):
 -      Use them.
 -      (mac_erase_rectangle): New function.
 -      (XClearArea, x_draw_fringe_bitmap, x_clear_glyph_string_rect)
 -      (x_draw_stretch_glyph_string): Use it.
 -      (XChangeGC, XCreateGC, XGetGCValues, XSetForeground)
 -      (XSetBackground, XSetFont): Adjust for new GC implementation.
 -      (x_draw_fringe_bitmap, x_draw_box_rect): Use GC to set colors.
 -      (XTset_vertical_scroll_bar): Clear area under scroll bar.
 -
 -      * macterm.h (struct mac_display_info): Change types of
 -      scratch_cursor_gc black_relief.gc, and white_relief.gc to GC.
 -      (XCreateGC, XParseGeometry): Move externs from macgui.h.
 -
 -      * xfaces.c [MAC_OS] (XCreateGC): Remove extern.
 -
 -2005-07-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Fmake_overlay): Doc fix.
 -
 -2005-07-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32proc.c (syms_of_ntproc): staticpro Qhigh, Qlow,
 -      Vw32_valid_locale_ids, and Vw32_valid_codepages.
 -
 -2005-07-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [TARGET_API_MAC_CARBON] (Fmac_code_convert_string):
 -      Use Fstring_as_unibyte instead of string_make_unibyte.
 -
 -2005-07-15  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (select_frame_for_redisplay): Use find_symbol_value.
 -
 -2005-07-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c: Fix redisplay loop in last change.
 -      (IT_POS_VALID_AFTER_MOVE_P): New macro.
 -      (move_it_vertically_backward, move_it_by_lines): Use it.
 -
 -2005-07-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (init_environment): Default HOME directory to user's
 -      appdata directory if possible.
 -
 -2005-07-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (pitx): Fix output format.  Print string charpos.
 -
 -      * lread.c (syms_of_lread): Initialize seen_list.
 -
 -      * search.c (syms_of_search): Staticpro searchbuf.whitespace_regexp.
 -
 -      * syntax.c (syms_of_syntax): Staticpro lisp objects in gl_state.
 -      Staticpro re_match_object.
 -
 -2005-07-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macselect.c (get_scrap_target_type_list): Avoid NULL pointer
 -      dereference.
 -
 -      * macterm.c (mac_window_to_frame): Remove duplicate define.
 -
 -2005-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_convert_region_unwind): ARG is changed to a cons.
 -      (code_convert_region): Adjust for the above change.
 -      (set_conversion_work_buffer): If the work buffer is already in
 -      use, generate a new buffer and return it.  Otherwise return Qnil.
 -      (run_pre_post_conversion_on_str): Adjust for the above change.
 -      (run_pre_write_conversin_on_c_str): Likewise.
 -
 -2005-07-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (start_display): Don't reseat to next visible line start
 -      if current start position is in a string or image.
 -      (move_it_vertically_backward): Be sure to move out of strings and
 -      images when moving it2 forward.
 -      (move_it_by_lines): When moving forward, move to next buffer
 -      position if we end up in a string or image.  When moving backward,
 -      count rows moved over when moving to start of current row in case
 -      row starts in middle of a string or image.  Also move further
 -      backward if we end up in a string or image.
 -      (try_cursor_movement): If overlay string spans multiple lines,
 -      move backward to set cursor on start of an overlay string.
 -      (cursor_row_p): Row is ok if cursor is at newline from string, but
 -      string starts on this line (so we always position cursor at start
 -      of string).
 -
 -      * indent.c (Fvertical_motion): If start position is on an image,
 -      don't move back if we move too far (that's almost certain to happen).
 -
 -      * xdisp.c (cursor_row_fully_visible_p): Allow partially visible
 -      row in minibuffer windows.
 -      (try_window): Don't check margins in minibuffer windows.
 -
 -2005-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c: Don't include stdlib.h or composite.h.
 -      (x_use_underline_position_properties, last_mouse_press_frame)
 -      (x_noop_count, Qvendor_specific_keysyms): Remove unused variables.
 -      (syms_of_macterm, mac_initialize): Don't initialize them.
 -      (waiting_for_input, initial_argv, initial_argc)
 -      (Vcommand_line_args, Vx_no_window_manager, errno, window_scroll)
 -      (set_frame_menubar, path_from_vol_dir_name): Remove externs.
 -      (extra_keyboard_modifiers): Fix type in extern.
 -      (x_window_to_frame, x_window_to_scroll_bar): Remove declarations.
 -      (x_scroll_bar_report_motion): Add argument types to declaration.
 -      (mac_compute_glyph_string_overhangs): Add declaration.
 -      (disable_mouse_highlight): Remove unused variable.
 -      [USE_TOOLKIT_SCROLL_BARS] (construct_scroll_bar_click)
 -      (x_scroll_bar_handle_press, x_scroll_bar_handle_release)
 -      (x_scroll_bar_handle_drag): Remove argument `timestamp'.
 -      All callers changed.
 -      [USE_TOOLKIT_SCROLL_BARS] (construct_scroll_bar_click): Don't set
 -      timestamp.
 -      [USE_CARBON_EVENTS] (mac_handle_mouse_event): Likewise.
 -      (x_scroll_bar_create, XTset_vertical_scroll_bar): Show scroll bar
 -      only when its width is less than the height.
 -      (XTredeem_scroll_bar): Sync with xterm.c.
 -      (font_name_table, font_name_table_size, font_name_count):
 -      Make static.
 -      (drag_and_drop_file_list): Remove variable.  Previous use is now
 -      local to function.
 -      (do_ae_open_documents): Move DRAG_N_DROP event construction part
 -      from XTread_socket.
 -      (XTread_socket): Consolidate setting of event timestamp.
 -      Move DRAG_N_DROP event construction part to do_ae_open_documents.
 -      Support extra_keyboard_modifiers.
 -
 -      * xfaces.c (try_font_list) [MAC_OS]: Try font family name
 -      beginning with that for ASCII.
 -
 -2005-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (gc_cons_combined_threshold, Vgc_cons_percentage): New vars.
 -      (Fgarbage_collect, init_alloc_once): Set gc_cons_combined_threshold.
 -      (syms_of_alloc): Declare gc-cons-percentage.
 -
 -      * eval.c (Feval, Ffuncall):
 -      * keyboard.c (read_char):
 -      * bytecode.c (MAYBE_GC): Use gc_cons_combined_threshold.
 -
 -      * lisp.h (gc_cons_combined_threshold): Declare.
 -
 -2005-07-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * coding.c (Qprocess_argument):
 -      * coding.h (Qprocess_argument): Remove unused var.
 -
 -      * xselect.c (intern): Remove dup. intern and staticpro for QTIMESTAMP.
 -
 -2005-07-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [!TARGET_API_MAC_CARBON]: Include charset.h, coding.h, and
 -      Endian.h.
 -      [!MAC_OSX] (fchmod, fchown): New functions.
 -      (mac_get_code_from_arg): Don't accept Lisp integer as argument.
 -      Use SBYTES and EndianU32_BtoN.
 -      (mac_get_object_from_code): Return 4 byte string even if argument
 -      is 0.  Use make_unibyte_string and EndianU32_NtoB.
 -      (Fmac_get_file_creator, Fmac_get_file_type, Fmac_set_file_creator)
 -      (Fmac_set_file_type): Fix documents and argument declarations.
 -      Don't specify kFSCatInfoNodeFlags.  Support Mac OS Classic.
 -
 -2005-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Frecenter): Yet another int/Lisp_Object mixup (YAILOM).
 -
 -2005-07-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfaces.c (x_update_menu_appearance): Use fontSet resource for
 -      Lucid if X_I18N, font otherwise.
 -
 -2005-07-10  Steven Tamm  <steventamm@mac.com>
 -
 -      * mac.c (Fmac_get_file_type, Fmac_get_file_creator): Add.
 -      (Fmac_set_file_type, Fmac_set_file_creator): Add.
 -      (mac_get_object_from_code, mac_get_code_from_arg): Add.
 -
 -2005-07-10  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lread.c (Qeval_buffer_list, Veval_buffer_list): New vars.
 -      (syms_of_lread): Set up eval-buffer-list.
 -      (Feval_buffer, Feval_region): Bind eval-buffer-list.
 -
 -2005-07-08  Richard M. Stallman  <rms@gnu.org>
 -
 -      * eval.c (Fdefvar): Allow defvaring a constant to itself quoted.
 -
 -2005-07-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (menu_bar_items): Don't GCPRO menu_bar_items_vector here.
 -      (syms_of_keyboard): Initialize and staticpro menu_bar_items_vector.
 -
 -2005-07-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Frecenter): Fix last change (set iarg before use).
 -
 -2005-07-06  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (Frecenter): When arg is inside the scroll margin,
 -      move it out of the margin.
 -
 -2005-07-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c (initialize_w32_display): Detect when the console
 -      dimensions are insane, and default to 80x25 instead.
 -      (w32_use_full_screen_buffer): Default to nil.
 -
 -2005-07-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_draw_vertical_window_border): Use foreground of
 -      VERTICAL_BORDER_FACE_ID for vertical border line.
 -      (mac_encode_char): Call check_ccl_update in advance.
 -      (mac_to_x_fontname, x_font_name_to_mac_font_name)
 -      (init_font_name_table, mac_do_list_fonts, XLoadQueryFont):
 -      Don't assume that font family length is less than 32.
 -      (x_compute_min_glyph_bounds): Make static.
 -      (x_load_font): Never set fonts_changed_p to zero.
 -
 -2005-07-04  Lute Kamstra  <lute@gnu.org>
 -
 -      * Update FSF's address in GPL notices.
 -
 -2005-07-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (try_window): Fix previous change in how it handles
 -      a partially-visible line or one only partly past the margin.
 -
 -      * window.c (window_scroll_pixel_based): Take account
 -      of this_scroll_margin when finding point when scrolling up.
 -
 -2005-06-29  Ralf Angeli  <angeli@iwi.uni-sb.de>
 -
 -      * window.c (window_scroll_pixel_based, window_scroll_line_based):
 -      Handle `scroll-preserve-screen-position' non-nil, non-t specially.
 -      (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
 -
 -2005-07-02  Juri Linkov  <juri@jurta.org>
 -
 -      * w32term.c (w32_draw_vertical_window_border): Use foreground of
 -      VERTICAL_BORDER_FACE_ID for vertical border line.
 -
 -2005-07-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fcopy_file): Rearrange the code that calls fchown and
 -      fchmod so that chmod doesn't get called on MSDOS before the file
 -      is closed.
 -
 -2005-07-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (cleartype_active): New flag for enabling sub-pixel
 -      workaround.
 -      (w32_initialize): Initialize it.
 -      (w32_native_per_char_metric): Allow a couple of extra pixels when
 -      Cleartype is active.
 -
 -      * w32term.c (w32_initialize): Move check for screen reader here
 -      from syms_of_w32term.
 -
 -2005-06-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): bzero compose_status when nbytes
 -      is not zero.
 -
 -2005-07-01  Masatake YAMATO  <jet@gyve.org>
 -
 -      * emacs.c (main): Passing ADD_NO_RANDOMIZE to `personality'.
 -
 -2005-06-30  Juri Linkov  <juri@jurta.org>
 -
 -      * xdisp.c (x_draw_vertical_border): If left fringe is not present
 -      decrease x coord of vertical border by 1 pixel to not occupy text
 -      area of the right window.
 -
 -      * xterm.c (x_draw_vertical_window_border): Use foreground of
 -      VERTICAL_BORDER_FACE_ID for vertical border line.
 -
 -      * term.c (turn_on_face): In standout mode apply specified
 -      fg to bg, and specified bg to fg (this makes the logic of
 -      inversion on terminal consistent with X).
 -
 -2005-06-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (user_variable_p_eh): New function.
 -      (Fuser_variable_p): Use it.  Clarify docstring.
 -      Return t for aliases of user options, nil for alias loops.
 -
 -2005-06-27  Richard M. Stallman  <rms@gnu.org>
 -
 -      * eval.c (Fdefvar): Improve error message.
 -
 -2005-06-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Fix last
 -      change.
 -
 -2005-06-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (Fdefvar): Don't try to set constant symbols.
 -
 -2005-06-25  Richard M. Stallman  <rms@gnu.org>
 -
 -      * macfns.c (Fx_show_tip): Pass new arg to try_window.
 -
 -      * w32fns.c (Fx_show_tip): Pass new arg to try_window.
 -
 -      * xfns.c (Fx_show_tip): Pass new arg to try_window.
 -
 -      * xdisp.c (try_window): New arg CHECK_MARGINS.  Calls changed.
 -      (redisplay_window): Handle try_window reporting point in scroll margin.
 -
 -      * dispextern.h (try_window): Declare new arg.
 -
 -      * fileio.c (Fcopy_file): New arg PRESERVE_UID_GID.
 -      Use fchmod to copy the file modes.
 -      (Frename_file): Don't copy UID and GID here;
 -      instead, specify t for PRESERVE_UID_GID when calling Fcopy_file.
 -
 -      * eval.c (call_debugger): Take full care of extending stack limits
 -      to make space for the debugger, and restore the change afterward.
 -      Bind debug-on-error to nil.
 -      (restore_stack_limits): New subroutine.
 -      (Fsignal): Extend specpdl bound along with eval depth bound,
 -      for calling edebug.  Don't do either one, for calling debugger.
 -      (find_handler_clause): Don't bind debug-on-error here.
 -      Don't unbind anything either.
 -      Temporarily advance max_specpdl_size for calling
 -      internal_with_output_to_temp_buffer.
 -      (grow_specpdl): Don't alter max_specpdl_size before signaling
 -      an error.
 -      (syms_of_eval) <max-specpdl-size>: Doc fix.
 -
 -      * lread.c (read1): 0.0e+NaN should make a "positive" NaN.
 -
 -2005-06-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Frename_file): Undo last change: no need to ifdef away
 -      chown on DOS_NT platforms.
 -
 -      * w32.c (sys_chown): New function.
 -
 -      * s/ms-w32.h (chown): New; define to sys_chown.
 -
 -2005-06-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (syms_of_xdisp) <nobreak-char-display>: Doc fix.
 -      (syms_of_xdisp) <void-text-area-pointer>: Doc fix.
 -
 -      * fileio.c (Frename_file)[!DOS_NT]: Don't call chown on MSDOS/Windows.
 -
 -2005-06-23  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element): Finish reversing the tests of
 -      Vnobreak_char_display.
 -
 -      * xdisp.c (Vnobreak_char_display): Rename from Vshow_nonbreak_escape.
 -      All uses changed.
 -      (Qnobreak_space): Rename from Qno_break_space.  All uses changed.
 -      (syms_of_xdisp): Define nobreak-char-display and nobreak-space.
 -
 -      * fileio.c (Frename_file): Preserve owner and group, if possible,
 -      when copying.
 -
 -2005-06-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * abbrev.c (Funexpand_abbrev):
 -      * category.c (Fmake_category_set):
 -      * dispnew.c (Fsleep_for, Fsit_for):
 -      * editfns.c (Fsubst_char_in_region):
 -      * eval.c (Fdefvar, Fdefconst, Feval, Ffuncall):
 -      * frame.c (make_frame_without_minibuffer):
 -      * lread.c (read_vector):
 -      * macfns.c (check_x_frame):
 -      * process.c (Fstop_process, Fcontinue_process):
 -      * search.c (Freplace_match):
 -      * syntax.c (Fstring_to_syntax):
 -      * w32fns.c (check_x_frame, check_x_display_info):
 -      * xfaces.c (x_supports_face_attributes_p):
 -      * xselect.c (Fx_own_selection_internal): Follow error conventions.
 -
 -      * image.c (fn_png_init_io): Don't define it.
 -      (init_png_functions) [HAVE_NTGUI]: Don't initialize fn_png_init_io.
 -      (png_read_from_file): New function, based on png_read_from_memory.
 -      (png_load): Use it, instead of fn_png_init_io.
 -
 -2005-06-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * search.c (Fmatch_data): Remove evaporate option.
 -      (Fset_match_data): Do not mention evaporate option in doc string.
 -      Add commentary explaining evaporate arg (for internal use only).
 -      (unwind_set_match_data): Add comment on evaporate use.
 -
 -2005-06-22  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Qvertical_border): Rename from `Qvertical_divider'.
 -      (realize_basic_faces, syms_of_xfaces): Update references to it.
 -      * dispextern.h (enum face_id): Rename `VERTICAL_DIVIDER_FACE_ID'
 -      to `VERTICAL_BORDER_FACE_ID'.
 -      * dispnew.c (build_frame_matrix_from_leaf_window): Update references.
 -
 -2005-06-21  Juri Linkov  <juri@jurta.org>
 -
 -      * dispextern.h: Add extern Qframe_set_background_mode.
 -
 -      * xfaces.c: Rename obsolete function Qframe_update_face_colors to
 -      Qframe_set_background_mode.
 -
 -      * frame.c (Fmodify_frame_parameters):
 -      Call frame-set-background-mode after changing the background color
 -      on non-window non-dos branch.
 -
 -2005-06-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Fchar_table_range):
 -      * process.c (Fmake_network_process): Fix spellings.
 -
 -2005-06-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (Fsort): Doc fix.
 -
 -2005-06-20  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Qvertical_divider): New variable.
 -      (realize_basic_faces): Realize its face.
 -      (syms_of_xfaces): Initialize it.
 -
 -      * dispextern.h (enum face_id): Add `VERTICAL_DIVIDER_FACE_ID'.
 -
 -      * dispnew.c (build_frame_matrix_from_leaf_window): Display vertical
 -      window-separator on ttys using `vertical-divider' face by default.
 -
 -2005-06-17  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element):
 -      Reverse test of Vshow_nonbreak_escape.
 -
 -      * term.c (produce_special_glyphs): Use spec_glyph_lookup_face.
 -      (Ftty_no_underline): New function.
 -      (syms_of_term): defsubr it.
 -
 -      * keyboard.c (read_char): Call restore_getcjmp after jump occurs.
 -
 -      * dispnew.c (spec_glyph_lookup_face): New function.
 -      (build_frame_matrix_from_leaf_window): Use it.
 -
 -      * dispextern.h (spec_glyph_lookup_face): Add declaration.
 -
 -      * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
 -
 -2005-06-12  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (read_char): After catching a longjmp,
 -      call restore_getcjmp.
 -
 -2005-06-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xselect.c (lisp_data_to_selection_data): Fix spelling.
 -
 -2005-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_compute_glyph_string_overhangs): Don't set
 -      overhangs unless the given glyph type is noncomposite CHAR_GLYPH.
 -      [USE_CARBON_EVENTS] (mac_convert_event_ref): Convert dead key down
 -      events.
 -      (XTread_socket): Don't pass keyboard events with the option
 -      modifier to the system when Vmac_command_key_is_meta is nil or
 -      Vmac_option_modifier is non-nil.
 -      [USE_CARBON_EVENTS] (read_socket_inev): New variable.
 -      [USE_CARBON_EVENTS] (init_command_handler): Fix argument.
 -      [USE_CARBON_EVENTS] (mac_handle_mouse_event): New Carbon event
 -      handler function.
 -      (install_window_handler) [USE_CARBON_EVENTS]: Install it.
 -      (XTread_socket) [USE_CARBON_EVENTS]: Move mouse wheel event
 -      handler part to mac_handle_mouse_event.
 -
 -2005-06-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * eval.c (Fdefvaralias): Rename arguments SYMBOL and ALIASED to
 -      NEW-ALIAS and BASE-VARIABLE, respectively.
 -
 -2005-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Lisp_Object/int mixup.
 -      (get_phys_cursor_geometry, format_mode_line_unwind_data)
 -      (get_line_height_property, x_produce_glyphs): Remove unused vars.
 -
 -      * coding.c (run_pre_post_conversion_on_str): Remove unused var `buf'.
 -
 -2005-06-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32term.c (x_use_underline_position_properties): New variable.
 -      (x_draw_glyph_string): Remind in a comment to change doc string of
 -      x-use-underline-position-properties if/when underline positioning
 -      is implemented.
 -      (syms_of_w32term): DEFVAR_BOOL x-use-underline-position-properties,
 -      and initialize it to nil.
 -
 -2005-06-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (NEWOPENFILENAME): New struct.
 -      (Fx_file_dialog): Use it to trick the system into giving us up to
 -      date dialogs on systems that are documented to support it.
 -      Do not set OFN_FILEMUSTEXIST flag if looking for a directory.
 -
 -2005-06-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (w32_abort): Use the MB_YESNO dialog instead of
 -      MB_ABORTRETRYIGNORE.  Never return, even if DebugBreak does.
 -
 -2005-06-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Cast 4th arg
 -      to CreateDIBSection to avoid a compiler warning.
 -      (pbm_load): Cast 3rd arg to IMAGE_BACKGROUND to avoid a compiler
 -      warning.
 -      (png_load): Cast return values of fn_png_create_read_struct and
 -      fn_png_create_info_struct, to avoid compiler warnings on W32.
 -      Cast 3rd arg to IMAGE_BACKGROUND and image_background_transparent
 -      to avoid compiler warnings.
 -      (jpeg_load): Cast return value of fn_jpeg_std_error to avoid a
 -      compiler warning on W32.  Cast 3rd arg to IMAGE_BACKGROUND to
 -      avoid a compiler warning.
 -      (tiff_load): Cast return values of fn_TIFFOpen and
 -      fn_TIFFClientOpen to avoid compiler warning on W32.  Cast 3rd arg
 -      to IMAGE_BACKGROUND to avoid a compiler warning.
 -      (gif_load): Cast return values of fn_DGifOpenFileName and
 -      fn_DGifOpen to avoid compiler warnings on W32.  Cast 3rd arg to
 -      IMAGE_BACKGROUND to avoid a compiler warning.
 -      (DrawText) [HAVE_NTGUI || MAC_OS]: If already defined, undef
 -      before redefining.
 -
 -      * w32bdf.c (create_offscreen_bitmap): Cast `bitsp' to `void **' in
 -      the call to CreateDIBSection, to avoid a compiler warning.
 -
 -2005-06-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_file_dialog): Unblock input before falling back to
 -      minibuffer.
 -      * macfns.c (Fx_file_dialog): Likewise.
 -
 -2005-06-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(TEMACS)): Depend on addsection.exe.
 -
 -2005-06-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (syms_of_process) [ADAPTIVE_READ_BUFFERING]:
 -      * w32fns.c (syms_of_w32fns): Fix spellings.
 -
 -2005-06-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Add a new argument
 -      `verbose'; print diagnostic messages only if it is non-zero.
 -      All callers changed to pass a zero value unless DEBUG_DUMP is defined
 -      in the environment.
 -      (copy_executable_and_dump_data): Print section names with %.8s.
 -
 -2005-06-10  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Call clear_mouse_face
 -      when mouse_face is not given.
 -
 -2005-06-09  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * window.c (Fselect_window): Adapt call to Fselect_frame.
 -
 -      * lisp.h: Update EXFUN of Fselect_frame.
 -
 -      * keyboard.c (command_loop_1): Adapt call to Fselect_frame.
 -
 -      * frame.c (Fhandle_switch_frame, Fselect_frame): Delete unused arg
 -      no_enter.
 -      (Fset_mouse_position, Fset_mouse_pixel_position, Ficonify_frame):
 -      Adapt to above change.
 -
 -2005-06-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Fmemq, Fmaphash): Doc fixes.
 -
 -2005-06-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fdisplay_supports_face_attributes_p):
 -      Fix typo in docstring.
 -
 -2005-06-08  Steven Tamm  <steventamm@mac.com>
 -
 -      * unexmacosx.c (copy_data_segment): Copy __la_sym_ptr2 section
 -      used by gcc4 on intel mac.
 -
 -2005-06-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * search.c (Fmatch_data): Add optional RESEAT arg.  Unchain markers
 -      in REUSE list if non-nil; free them if equal to evaporate.
 -      (Fset_match_data): Add optional RESEAT arg.  Unchain markers in LIST
 -      if non-nil; free them if equal to evaporate.  Use XCAR/XCDR.
 -      (restore_search_regs): Rename from restore_match_data.  Uses changed.
 -      (unwind_set_match_data): New function.
 -      (record_unwind_save_match_data): New function like save-match-data.
 -
 -      * lisp.h (Fmatch_data, Fset_match_data): Fix EXFUN.
 -      (record_unwind_save_match_data): Add prototype.
 -      (restore_search_regs): Rename from restore_match_data.
 -
 -      * composite.c (compose_chars_in_text):
 -      * eval.c (do_autoload):
 -      * macmenu.c (set_frame_menubar):
 -      * process.c (read_process_output, exec_sentinel):
 -      * xmenu.c (set_frame_menubar):
 -      * xdisp.c (prepare_menu_bars, update_menu_bar, update_tool_bar):
 -      * w32menu.c (set_frame_menubar):
 -      Use record_unwind_save_match_data.
 -
 -2005-06-08  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element): Alter previous change:
 -      Distinguish Vshow_nonbreak_escape = t or not t.
 -      For t, use escape_glyph once again, as before previous change.
 -      Use space or hyphen for display, instead of the non-ASCII char.
 -      (syms_of_xdisp) <show-nonbreak-escape>: Doc fix.
 -
 -      * process.c (Fstart_process): Don't touch command_channel_p slot.
 -
 -      * process.h (struct process): Delete command_channel_p.
 -
 -2005-06-07  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight):
 -      Check the overlapping of re-rendering area to avoid flickering.
 -      (note_mouse_highlight): Call clear_mouse_face if PART
 -      is not ON_MODE_LINE nor ON_HEADER_LINE.
 -
 -2005-06-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c: Improve commentary for adaptive read buffering.
 -
 -2005-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_create_toolkit_scroll_bar): Use XtNarrowScrollbars
 -      if available.
 -
 -2005-06-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * macmenu.c (menu_quit_handler, install_menu_quit_handler):
 -      New functions for popping down menus on C-g.
 -      (set_frame_menubar, mac_menu_show): Call install_menu_quit_handler.
 -
 -      * macterm.c: Make mac_quit_char_modifiers and mac_quit_char_keycode
 -      non-static.
 -
 -      * config.in: Add HAVE_CANCELMENUTRACKING.
 -
 -2005-06-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32heap.h (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): Remove macros.
 -
 -      * unexw32.c (RVA_TO_PTR): Move here from w32heap.h.
 -
 -      * w32proc.c (RVA_TO_PTR): New macro.
 -
 -      * w32heap.c (RVA_TO_PTR): No need to #undef now.
 -
 -      * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/w32select.$(O)):
 -      Depend on w32heap.h.
 -
 -2005-06-06  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keyboard.c (command_loop_1): Update Vthis_original_command.
 -
 -2005-06-06  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xmenu.c (popup_get_selection): Undo previous change.
 -
 -2005-06-06  Juri Linkov  <juri@jurta.org>
 -
 -      * xdisp.c (Qno_break_space): New variable.
 -      (syms_of_xdisp): Initialize it.
 -      (get_next_display_element): Add no-break space and soft hypen
 -      codes for iso8859-2 and iso8859-5.  Don't add `\' for them.
 -      Use `no-break-space' face for no-break spaces.
 -
 -2005-06-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * window.c (delete_window): Handle the case where a h/vchild has
 -      a h/vchild.
 -
 -2005-06-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (sys_setsockopt): Change arg 4 to `const void *'.  In the
 -      call to pfn_setsockopt, cast optval to `const char *'.
 -
 -2005-06-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (gettimeofday): Use struct _timeb, not struct timeb.
 -      (open_unc_volume): Cast return value of map_w32_filename, to avoid
 -      compiler warnings.
 -
 -      * s/ms-w32.h (fileno): Don't define if already defined.
 -
 -      * emacs.c: Include w32heap.h, to avoid compiler warning about sbrk.
 -
 -      * makefile.w32-in (DOC): Define to point to the generated DOC-X.
 -
 -2005-06-04  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xmenu.c (popup_get_selection): Click not in menu deactivates menu.
 -
 -2005-06-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * macmenu.c (cleanup_popup_menu): New function.
 -      (Fx_popup_menu): Unwind protect cleanup_popup_menu in case
 -      mac_menu_show Quit:s.
 -      (mac_menu_show): Quit on cancel if not popped up on click (i.e.
 -      a dialog).
 -
 -2005-06-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * coding.c (decode_coding_string): Handle CODING_FINISH_INTERRUPT.
 -
 -      * callproc.c (Fcall_process): Don't use alloca to gradually
 -      increase size of buf, as it effectively uses twice the necessary
 -      space on the stack.  Instead, pre-allocate buf of full size, and
 -      gradually increase the read size.
 -
 -      * bytecode.c (BYTE_CODE_QUIT): Check Vthrow_on_input.
 -
 -      * eval.c (unbind_to): Preserve value of Vquit_flag.
 -
 -      * xterm.c (handle_one_xevent): Also ignore mouse motion just
 -      before a button release event.
 -
 -2005-06-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Finternal_lisp_face_equal_p): Really report
 -      on faces in a frame, if the argument FRAME is non-nil.
 -      Improve argument/docstring consistency.
 -
 -2005-06-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (MODE_LINE_NOPROP_LEN): New macro.
 -      (x_consider_frame_title, Fformat_mode_line): Save offset into
 -      mode_line_noprop_buf rather than pointer, in case buffer is relocated.
 -
 -2005-06-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (mapcar1): Maybe exit loop if original sequence was modified.
 -
 -2005-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_to_x_fontname, mac_do_list_fonts): Set XLFD
 -      resolution fields for scalable fonts to 0.
 -
 -      * xfaces.c (build_scalable_font_name): Round pixel size to the
 -      nearest integer.
 -
 -2005-06-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_mode_line): Support nested calls to redisplay
 -      and format-mode-line.  Set mode_line_target to MODE_LINE_DISPLAY.
 -
 -2005-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents):
 -      * xdisp.c (note_mode_line_or_margin_highlight): Lisp_Object/int mixup.
 -
 -2005-05-31  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (mode_line_noprop_buf, mode_line_noprop_buf_end)
 -      (mode_line_noprop_ptr): Rename from frame_title_*.
 -      (store_mode_line_noprop_char): Rename from store_frame_title_char.
 -      (store_mode_line_noprop): Rename from store_frame_title.
 -      (mode_line_target): New enum to specify current output target
 -      for mode line formatting.
 -      (display_mode_element): Test it rather than frame_title_ptr and
 -      mode_line_string_list to determine where output should go.
 -      (mode_line_proptrans_alist, mode_line_string_alist): Make static.
 -      (Vmode_line_unwind_vector): New variable.
 -      (format_mode_line_unwind_data, unwind_format_mode_line):
 -      New functions for unwind protection in mode line formatting.
 -      (x_consider_frame_title): Use them and new local var 'title_start'
 -      to support nested calls to format-mode-line and redisplay.
 -      Set mode_line_target to MODE_LINE_TITLE.
 -      (Fformat_mode_line): Use them and new local var 'string_start' to
 -      support nested calls to format-mode-line and redisplay.
 -      Set mode_line_target to MODE_LINE_NOPROP or MODE_LINE_STRING.
 -      Don't trim trailing dashes.
 -      (decode_mode_spec): Don't make infinite number of trailing dashes
 -      for MODE_LINE_NOPROP and MODE_LINE_STRING targets.
 -      (syms_of_xdisp): Initialize and staticpro mode_line_string_face,
 -      mode_line_string_face_prop, and Vmode_line_unwind_vector.
 -      (init_xdisp): Initialize mode_line_noprop_ptr to start of _buf.
 -      Initialize mode_line_target to MODE_LINE_DISPLAY.
 -
 -2005-05-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Fbuffer_local_value): Call indirect_variable.
 -
 -2005-05-28  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Change the
 -      pointer to a hand cursor when hoovering over a mouse-face.
 -
 -2005-05-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_encode_char): Call check_ccl_update in advance.
 -
 -      * ccl.c: Now an element of Vccl_program_table is a vector of
 -      length 4, not 3.
 -      (ccl_get_compiled_code): New arg idx.  Caller changed.
 -      Adjust for the change of Vccl_program_table.
 -      (setup_ccl_program): Adjust for the change of Vccl_program_table.
 -      (check_ccl_update): New function.
 -      (Fregister_ccl_program): Use ASET to set an element of a vector.
 -      Adjusted for the change of Vccl_program_table.
 -
 -      * ccl.h (struct ccl_program): New member idx.
 -      (check_ccl_update): Extern it.
 -
 -2005-05-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (Vimage_library_alist): Move from image.el.
 -      (syms_of_image): Defvar it.
 -      (lookup_image_type): Use it.
 -
 -      * buffer.c (Fbuffer_local_value): Make argument name match its use
 -      in docstring.
 -
 -2005-05-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (Frecursive_edit): Fix typo in docstring.
 -      (Fposn_at_x_y): Make argument name match its use in docstring.
 -
 -2005-05-26  Lute Kamstra  <lute@gnu.org>
 -
 -      * eval.c (Frun_hooks): Mention run-mode-hooks in docstring.
 -
 -2005-05-24  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Use b and e
 -      as loop sentinels.
 -
 -2005-05-24  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * xmenu.c (Fx_popup_dialog): Add a third boolean argument to
 -      select frame title ("Question"/"Information").
 -      (xdialog_show): Use it.
 -
 -      * macmenu.c (Fx_popup_dialog, mac_dialog_show): As for xmenu.c.
 -
 -      * w32menu.c (Fx_popup_dialog, w32_dialog_show): As for xmenu.c.
 -
 -      * fns.c (Fyes_or_no_p, Fy_or_n_p): Call Fx_popup_dialog with
 -      a third argument (Qnil).
 -
 -      * lisp.h: x-popup-dialog can have three arguments.
 -
 -      * editfns.c (Fmessage_box): Use "Information" for frame title.
 -
 -2005-05-23  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * termcap.c [VMS]: Include <starlet.h>.
 -
 -2005-05-23  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Add code
 -      for mouse-face.  Change the type of the first argument from `window'
 -      to `Lisp_Object'.
 -      (note_mouse_highlight): Call note_mode_line_or_margin_highlight with
 -      window instead of w.
 -
 -2005-05-22  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (send_process): Move misplaced volatile.
 -
 -2005-05-21  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (display_mode_element): If we're processing a list and
 -      padding is specified, put it after the last element.
 -
 -2005-05-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name) [DOS_NT]: Don't try to support
 -      "superroot" on DOS_NT systems.
 -
 -2005-05-21  David Hunter  <hunterd42@comcast.net>  (tiny change)
 -
 -      * process.c (send_process): Restore the SIGPIPE handler if we
 -      catch a SIGPIPE.
 -
 -2005-05-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * image.c (lookup_image, png_read_from_memory): Remove hacks (and
 -      misleading comments).
 -      (DEF_IMGLIB_FN): Use C calling convention for image libraries.
 -
 -2005-05-20  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
 -
 -      * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges):
 -      Correct the right value.
 -
 -2005-05-19  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * keyboard.c (syms_of_keyboard): Remove Lisp variables
 -      post-command-idle-hook and post-command-idle-delay.
 -      (command_loop_1): Don't try to execute post-command-idle-hook.
 -
 -2005-05-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (handle_display_prop): Handle empty replacement.
 -      (handle_single_display_spec): Return -1 for empty replacement.
 -
 -      * keyboard.c (adjust_point_for_property): Skip empty overlay string.
 -
 -      * .gdbinit (pitx): Print more info about iterator.
 -
 -2005-05-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexmacosx.c (unexec_realloc): Move declarations before statements.
 -
 -2005-05-14  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (message3): Call cancel_echoing.
 -
 -      * alloc.c (Fmemory_full_p): New function.
 -      (syms_of_alloc): defsubr it.
 -
 -      * process.c (send_process_trap): Unblock SIGPIPE.
 -      (send_process): Reset SIGPIPE handler before reporting error.
 -
 -2005-05-14  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * emacs.c (syms_of_emacs): Fix doc string for system-type.
 -
 -2005-05-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Ffind_file_name_handler): Handle lambda-exp as handler.
 -      (Finsert_file_contents): If we read 0 bytes from a special file,
 -      unlock the visited file if we locked it.
 -      (Fmake_symbolic_link, Frecent_auto_save_p): Doc fixes.
 -      (Ffile_exists_p, Ffile_symlink_p): Doc fixes.
 -
 -2005-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main) [MAC_OS8]: Call init_atimer before mac_term_init.
 -
 -      * keyboard.c (readable_events) [USE_TOOLKIT_SCROLL_BARS]:
 -      Regard toolkit scroll bar thumb drag events as squeezable and prevent
 -      redisplay from being paused by them.
 -
 -      * mac.c [!MAC_OSX]: Include keyboard.h and syssignal.h.
 -      [!MAC_OSX] (target_ticks): Remove variable.
 -      [!MAC_OSX] (check_alarm, pause, index): Remove functions.
 -      [!MAC_OSX && __MRC__] (sys_strftime): Likewise.
 -      [!MAC_OSX] (select): If fd 0 is not set in rfds and some input
 -      event occurs before timeout, behave as if the function were interrupted.
 -      [!MAC_OSX] (sigblock, sigsetmask, alarm): Simulate SIGALRM
 -      handling using Time Manager routines.
 -      [!MAC_OSX] (mac_atimer_task, mac_atimer_qlink, signal_mask):
 -      New variables.
 -      [!MAC_OSX] (mac_atimer_handler, set_mac_atimer, remove_mac_atimer)
 -      (setitimer): New functions.
 -
 -      * macfns.c, macmenu.c: Don't include signal.h.
 -
 -      * macterm.c [USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
 -      Rename from get_control_part_bound.  All callers changed.
 -      (x_scroll_bar_clear): New function.
 -      (x_clear_frame): Use it.
 -      (XTset_vertical_scroll_bar): Don't call Draw1Control.
 -      (x_scroll_bar_handle_click): Change type of second argument from
 -      int to ControlPartCode.
 -      (check_alarm): Remove declaration.
 -      (XTread_socket) [!TARGET_API_MAC_CARBON]: Don't call it.
 -      (XTread_socket): Use ControlPartCode instead of SInt16.
 -
 -2005-05-13  Nozomu Ando  <nand@mac.com>
 -
 -      * unexmacosx.c: Include assert.h.
 -      (MACOSX_MALLOC_MULT16): New define.
 -      [MACOSX_MALLOC_MULT16] (ptr_in_unexec_regions): Determine whether
 -      ptr is in unexec regions by checking it is multiple of 16.
 -      (unexec_malloc_header_t): New typedef.
 -      (unexec_malloc, unexec_realloc, unexec_free): Store and use
 -      allocated size information in unexec_malloc_header.
 -
 -2005-05-10  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xterm.c (noinclude): Add #undef.
 -
 -      * image.c, xfns.c, xmenu.c: Don't include signal.h.
 -
 -2005-05-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fileio.c (Fexpand_file_name, Frename_file, Fadd_name_to_file)
 -      (Fmake_symbolic_link, Faccess_file, Frecent_auto_save_p):
 -      Doc fixes.
 -
 -      * dired.c (Ffile_name_completion): Make argument name
 -      match its use in docstring.
 -
 -2005-05-08  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * eval.c (Fdefvaralias): Remove any pre-existing
 -      variable-documentation property of the alias.
 -
 -2005-05-07  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * xfns.c (start_hourglass): Do nothing when running on a tty.
 -
 -2005-05-07  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Fchar_table_range): Fix typos in docstring.
 -
 -2005-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fchar_table_range): Yet Another Int/Lisp_Object Mixup.
 -
 -2005-05-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Flocate_file_internal): Doc fix.
 -
 -      * Makefile.in (lisp, shortlisp): Add jka-cmpr-hook.elc.
 -
 -2005-05-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macselect.c (x_own_selection): Accept Lisp string as result of
 -      selection converter function.
 -      (x_clear_frame_selections): Don't call x-lost-selection-functions
 -      if Emacs is not owner of the selection.
 -      (Vmac_services_selection): Put variable and initialization in
 -      #ifdef MAC_OSX.
 -      (syms_of_macselect) [MAC_OSX]: Set default value of
 -      Vmac_services_selection to PRIMARY.
 -
 -      * macterm.c (toolkit_scroll_bar_interaction): Remove unused variable.
 -      (mac_handle_tool_bar_click): Remove unused function and declaration.
 -      [USE_TOOLKIT_SCROLL_BARS] (scroll_bar_timer_callback)
 -      (install_scroll_bar_timer, set_scroll_bar_timer)
 -      (control_part_code_to_scroll_bar_part, construct_scroll_bar_click)
 -      (get_control_part_bound, x_scroll_bar_handle_press)
 -      (x_scroll_bar_handle_release, x_scroll_bar_handle_drag)
 -      (x_set_toolkit_scroll_bar_thumb): New functions and declarations.
 -      [USE_TOOLKIT_SCROLL_BARS] (last_scroll_bar_part, scroll_bar_timer)
 -      (scroll_bar_timer_event_posted_p): New variables.
 -      [USE_TOOLKIT_SCROLL_BARS] (SCROLL_BAR_FIRST_DELAY)
 -      (SCROLL_BAR_CONTINUOUS_DELAY): New macros.
 -      (x_scroll_bar_create): Set control reference with NewControl.
 -      (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
 -      Initialize track_top and track_height to nil.
 -      (x_scroll_bar_set_handle, x_scroll_bar_note_movement):
 -      Put functions in #ifndef USE_TOOLKIT_SCROLL_BARS.
 -      (XTset_vertical_scroll_bar): Don't make space between scroll bar
 -      and associated window.
 -      (XTset_vertical_scroll_bar) [MAC_OSX]: Get scroll bar area width
 -      from window config.
 -      (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      Set track_top and track_height to nil when scroll bar size is changed.
 -      Recalculate them if they are nil.
 -      (XTread_socket) [MAC_OSX]: Use control kind to determine if the
 -      clicked control is a scroll bar.
 -      (XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Use toolkit scroll bar
 -      event handler functions.  Don't add modifiers to scroll bar click
 -      events.  Call scroll bar release handler when window is deactivated.
 -      (mac_initialize): Remove unused code for X toolkit.
 -      (syms_of_macterm) [!USE_TOOLKIT_SCROLL_BARS]:
 -      Initialize Vx_toolkit_scroll_bars to nil.
 -
 -      * macterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      New members track_top and track_height.
 -
 -      * sysselect.h [DARWIN || MAC_OSX]: Temporarily undefine
 -      init_process when including sys/select.h.
 -
 -2005-05-05  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * eval.c (Fdefvaralias): Doc fix.
 -
 -      * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Doc fixes.
 -
 -2005-05-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (init_buffer_once): Set cursor_in_non_selected_windows
 -      default value.
 -      (syms_of_buffer): Add default-cursor-in-non-selected-windows.
 -      Fix type of cursor-in-non-selected-windows.
 -
 -2005-05-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * mac.c: #undef init_process so not to conflict with system headers.
 -
 -2005-05-02  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (syms_of_buffer): Define cursor-in-non-selected-windows.
 -
 -      * buffer.h (struct buffer): Add cursor_in_non_selected_windows slot.
 -
 -      * xdisp.c (Vcursor_in_non_selected_windows)
 -      (Qcursor_in_non_selected_windows): Vars deleted.
 -      (syms_of_xdisp): Don't initialize them.
 -      (get_window_cursor_type): Use cursor_in_non_selected_windows
 -      buffer slot.
 -
 -2005-05-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * macros.c (executing_kbd_macro_index): Rename from
 -      executing_macro_index.  All uses changed.
 -      (executing_kbd_macro_iterations): Rename from
 -      executing_macro_iterations.  All uses changed.
 -      (executing_kbd_macro): Rename from executing_macro.
 -      All uses changed.
 -      (syms_of_macros): Rename Lisp var executing-macro-index to
 -      executing-kbd-macro-index.
 -
 -      * xdisp.c (move_it_in_display_line_to): Fix last change.
 -
 -2005-05-01  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * xmenu.c (Fx_popup_menu): Doc fix.
 -
 -      * charset.c (syms_of_charset): Delete defsubr for Schars_in_region.
 -
 -2005-05-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * emacs.c (USAGE3, USAGE4): Keep strings below 2048 bytes.
 -
 -2005-05-02  Nozomu Ando  <nand@mac.com>
 -
 -      * sysselect.h: Fix typo.
 -
 -2005-05-02  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * charset.c (Fchars_in_region): Remove as obsolete.
 -
 -2005-05-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_in_display_line_to): Stop if we move beyond
 -      TO_CHARPOS.  This may happen if last glyphs was an image or stretch
 -      glyph.
 -
 -2005-05-01  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * dispnew.c (sit_for): Vexecuting_macro -> Vexecuting_kbd_macro.
 -
 -2005-05-01  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xmenu.c [not HAVE_X_TOOLKIT] (xmenu_show):
 -      If user cancels the menu, quit unless FOR_CLICK.
 -
 -      * macros.c (Vexecuting_kbd_macro): Rename from Vexecuting_macro.
 -      All uses changed.
 -      (syms_of_macros): Define only executing-kbd-macro, not executing-macro.
 -      * keyboard.c: Change Vexecuting_macro to Vexecuting_kbd_macro.
 -      * macros.h (Vexecuting_kbd_macro): Declare instead of Vexecuting_macro.
 -      * commands.h (Vexecuting_kbd_macro): Likewise.
 -
 -2005-05-01  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * sysdep.c (get_frame_size) [VMS]: Use a fresh i/o channel.
 -
 -2005-04-30  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Ffind_file_name_handler): Handle the `operations'
 -      property of the file name handler.
 -      (Qoperations): New variable.
 -      (syms_of_fileio): Initialize and staticpro it.
 -
 -      * xdisp.c (set_message_1): Delete xassert.
 -
 -2005-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c: Don't include time.h.  Include sysselect.h after systime.h.
 -
 -      * macfns.c (Fx_server_version): Add BLOCK_INPUT around Gestalt.
 -
 -      * macgui.h [HAVE_CARBON && MAC_OSX]: Don't undefine/define mktime
 -      before/after including Carbon.h if there is a working mktime.
 -
 -2005-04-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * xfaces.c (resolve_face_name): Add arg SIGNAL_P.  Calls changed.
 -      Fix cyclic alias check.  If alias loop is detected, signal
 -      circular-list error if SIGNAL_P, and return Qdefault if !SIGNAL_P.
 -
 -2005-04-28  Lute Kamstra  <lute@gnu.org>
 -
 -      * eval.c (do_autoload): Record only autoloads in the autoload
 -      property of symbols.
 -
 -2005-04-28  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * emacs.c (USAGE1): Add --basic-display and --quick options.
 -
 -2005-04-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * data.c (syms_of_data) Staticpro Qcyclic_variable_indirection.
 -
 -2005-04-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (Fsame_window_p, Fspecial_display_p): Doc fixes.
 -      (syms_of_window): Doc fixes.
 -
 -      * indent.c (Fvertical_motion): Undo previous change.
 -
 -2005-04-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (char_table_range): New function.
 -      (Fchar_table_range): Signal an error if characters in the range
 -      have inconsistent values.  Don't check the parent.
 -
 -2005-04-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_set): Fix previous change.
 -
 -2005-04-24  Richard M. Stallman  <rms@gnu.org>
 -
 -      * indent.c (Fvertical_motion): Bind fontification-functions to nil.
 -
 -2005-04-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * regex.c (re_search_2, re_match_2_internal): Convert second arg
 -      of RE_TRANSLATE to int, to shut up GCC warnings.
 -
 -      * fileio.c (Fcopy_file): Doc fix.
 -      [MSDOS]: Fix call to emacs_open: buffer_file_type not defined and
 -      not needed.
 -
 -2005-04-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in [HAVE_CARBON] (MAC_OBJ): Add macselect.o.
 -      (SOME_MACHINE_OBJECTS): Likewise.
 -      (mac.o): Depend on ccl.h.
 -      (macselect.o): New target.
 -
 -      * emacs.c (main) [MAC_OS8 || MAC_OSX && HAVE_CARBON]:
 -      Call syms_of_macselect.
 -
 -      * frame.c (Fdelete_frame) [MAC_OS]: Call x_clear_frame_selections.
 -
 -      * mac.c [!TARGET_API_MAC_CARBON]: Don't include charset.h or coding.h.
 -      (QCLIPBOARD): Remove variable.
 -      (syms_of_mac): Don't initialize it.
 -      (Fmac_paste_function, Fmac_cut_function, Fx_selection_exists_p):
 -      Remove functions.
 -      (syms_of_mac): Don't defsubr them.
 -      [TARGET_API_MAC_CARBON] (Qmime_charset, QNFD, QNFKD, QNFC, QNFKC)
 -      (QHFS_plus_D, QHFS_plus_C): New variables.
 -      (syms_of_mac) [TARGET_API_MAC_CARBON]: Initialize them.
 -      [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp)
 -      (cfstring_create_normalized): New functions.
 -      [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Likewise.
 -      (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it.
 -
 -      * macterm.c (handling_window_update, terminate_flag):
 -      Remove variables.
 -      (do_window_update, do_ae_quit_application, XTread_socket):
 -      Don't use them.
 -      (WNE_SLEEP_AT_SUSPEND, WNE_SLEEP_AT_RESUME): Don't define.
 -      [USE_CARBON_EVENTS && MAC_OSX] (mac_handle_service_event)
 -      (init_service_handler): Move to macselect.c.  Remove declarations.
 -      [USE_CARBON_EVENTS && MAC_OSX] (init_service_handler): Add extern.
 -      (Qapplication, Qabout): New variables.
 -      (syms_of_mac): Initialize them.
 -      [USE_CARBON_EVENTS && MAC_OSX] (Qpreferences, Qservices, Qpaste)
 -      (Qperform): New variables.
 -      (syms_of_mac) [USE_CARBON_EVENTS && MAC_OSX]: Initialize them.
 -      (do_get_menus) [TARGET_API_MAC_CARBON]: Don't call AppendResMenu.
 -      (do_menu_choice): Unhighlight menu bar also when menu_id is 0.
 -      (mac_store_application_menu_event, init_menu_bar): New functions.
 -      [USE_CARBON_EVENTS] (mac_handle_command_event)
 -      (init_command_handler): New functions.
 -      (mac_handle_window_event): Return noErr on window update event.
 -      (do_ae_quit_application): Call mac_store_application_menu_event.
 -      (mac_initialize) [USE_CARBON_EVENTS]: Call init_command_handler
 -      and init_menu_bar.
 -
 -      * macterm.h (x_clear_frame_selections): Add extern.
 -
 -      * macselect.c: New file for selection processing on Mac OS.
 -
 -2005-04-23  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fcopy_file): New arg MUSTBENEW.
 -      (Frename_file): Pass new arg to Fcopy_file.
 -
 -      * window.c (window_size_fixed): Variable deleted.
 -      (syms_of_window): Initialize window-size-fixed to nil.
 -      But don't DEFVAR window_size_fixed.
 -
 -2005-04-23  Andreas Schwab  <schwab@suse.de>
 -
 -      * m/macppc.h (LD_SWITCH_MACHINE) [LINUX]: Don't define.
 -      (START_FILES, LIB_STANDARD) [LINUX && _ARCH_PPC64]: Override to
 -      use lib64 instead of lib.
 -      (_LP64) [_ARCH_PPC64]: Define if not defined.
 -
 -2005-04-23  David Hunter  <hunterd42@comcast.net>  (tiny change)
 -
 -      * s/ms-w32.h (HAVE_PWD_H): Define.
 -
 -2005-04-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (copy_sub_char_table): Explicitly copy the default value
 -      of the sub-chartable.
 -
 -      * fontset.c (fontset_set): When a sub-chartable is created,
 -      explicitly sets the defalt value.
 -
 -2005-04-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (Fplist_get): Replace by Fsafe_plist_get.
 -      (Fsafe_plist_get): Rename to Fplist_get.
 -      (Fsafe_get): Remove, as Fget now uses safe Fplist_get.
 -      (defsubr): Remove defsubr for Fsafe_plist_get and Fsafe_get.
 -
 -      * lisp.h (Fsafe_plist_get, Fsafe_get): Remove EXFUN.
 -
 -      * xdisp.c (store_mode_line_string, produce_stretch_glyph)
 -      (note_mode_line_or_margin_highlight, note_mouse_highlight):
 -      Use Fplist_get instead of Fsafe_plist_get.
 -
 -      * xfaces.c (resolve_face_name): Use Fget instead of Fsafe_get.
 -
 -2005-04-21  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (dump_glyph_row): Don't display overlay_arrow_p field.
 -
 -2005-04-20  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * sysdep.c: Remove reference to defunct vms-pwd.h.
 -      * dired.c: Likewise.  Also, for pwd.h, use HAVE_PWD_H, not !VMS.
 -      * editfns.c, fileio.c, filelock.c, sysdep.c, xrdb.c: Likewise.
 -
 -      * config.in: Regenerate.
 -
 -2005-04-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * lisp.h (CHAR_TABLE_DEFAULT_SLOT_ASCII): New macro.
 -      (CHAR_TABLE_DEFAULT_SLOT_8_BIT_CONTROL): New macro.
 -      (CHAR_TABLE_DEFAULT_SLOT_8_BIT_GRAPHIC): New macro.
 -
 -      * alloc.c (make_sub_char_table): Argument changed to initial
 -      value of the slots.
 -
 -      * data.c (Faref): Handle special slots used as default values of
 -      ascii, eight-bit-control, eight-bit-control.  Don't ignore a
 -      default value set for a group of characters.
 -      (Faset): Signal an error if IDXVAL is not a valid character code.
 -      Make a sub-chartable with correct initial value.
 -
 -      * fns.c (Fset_char_table_range): Don't set slots used as default
 -      values for ascii, eight-bit-control, eight-bit-graphic.
 -      Don't call Faref with charset-id.
 -      (Fset_char_table_default): Document how to treat normal character
 -      argument.  Handle special slots used as default values of ascii,
 -      eight-bit-control, eight-bit-control.  Make a sub chartable if
 -      necessary.
 -
 -2005-04-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (boyer_moore): Fix previous change.
 -
 -2005-04-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (setup_for_ellipsis): Reset saved_face_id to use default
 -      face unless last visible char and first invisible char have the
 -      same face.  Also use default face if saved_face_id is undefined.
 -
 -2005-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macgui.h (MacFontStruct): Remove member `fontname'.  Add member
 -      `full_name'.
 -      [TARGET_API_MAC_CARBON] (MacFontStruct): Use type int for
 -      mac_scriptcode member.
 -
 -      * macterm.c (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
 -      (syms_of_mac): Don't initialize them.
 -      (Vmac_charset_info_alist): New variable.
 -      (syms_of_mac): Defvar it.
 -      (create_text_encoding_info_alist): New function.
 -      (decode_mac_font_name, mac_to_x_fontname)
 -      (x_font_name_to_mac_font_name, init_font_name_table): Don't hard
 -      code the correspondence among XLFD charsets, Mac script codes, and
 -      Emacs coding systems.  Use Vmac_charset_info_alist and result of
 -      create_text_encoding_info_alist instead.
 -      (init_font_name_table) [TARGET_API_MAC_CARBON]: Use Font Manager
 -      routines also on Mac OS Classic.
 -      (init_font_name_table) [!TARGET_API_MAC_CARBON]:
 -      Use add_font_name_table_entry.
 -      (mac_do_list_fonts): Regard 0 in XLFD scaleble fields as
 -      specified.  Derive unspecified scalable fields from specified one.
 -      (x_list_fonts): Consider Valternate_fontname_alist.
 -      (kDefaultFontSize): Change value from 9 to 12.
 -      (XLoadQueryFont): Get decoded font family, font face, and charset
 -      from x_font_name_to_mac_font_name.  Set full name of loaded font.
 -      (mac_unload_font): Free `full_name' member.
 -      (x_load_font): Don't try XLoadQueryFont if x_list_fonts returns
 -      NULL.  Copy full_name member of struct MacFontStruct to that of
 -      struct font_info.
 -
 -2005-04-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (handle_stop): Set saved_face_id to current face if
 -      selective_display_ellipsis_p so ellipsis will be shown in same
 -      face as preceding text.
 -      (setup_for_ellipsis): Don't set saved_face_id here.
 -      (next_element_from_display_vector): Default to saved_face_id.
 -
 -      * fns.c (Fsafe_get): New function.
 -      (syms_of_fns): Defsubr it.
 -
 -      * lisp.h (Fsafe_get): EXFUN it.
 -
 -      * xfaces.c (resolve_face_name): Use Fsafe_get to avoid redisplay
 -      loops in case of bad face property lists.  Limit number of face
 -      alias lookups to 10 (in case of face alias loops).
 -
 -2005-04-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct glyph_row): New member overlay_arrow_bitmap.
 -      It replaces the corresponding member from struct window, as a
 -      window may now show multiple overlay arrows.
 -      Remove member overlay_arrow_p, superseeded by overlay_arrow_bitmap.
 -
 -      * dispnew.c (row_equal_p, update_window_line, scrolling_window):
 -      Compare overlay_arrow_bitmap than overlay_arrow_p members.
 -
 -      * fringe.c (draw_fringe_bitmap): Use overlay_arrow_bitmap from row
 -      rather than from window.
 -      (update_window_fringes): Compare overlay_arrow_bitmap rather than
 -      overlay_arrow_p members.
 -      (Ffringe_bitmaps_at_pos): Return fringe overlay_arrow_bitmap name
 -      if not default.
 -
 -      * window.h (struct window): Remove member overlay_arrow_bitmap.
 -
 -      * window.c (make_window): Don't initialize overlay_arrow_bitmap.
 -
 -      * xdisp.c (overlay_arrow_string_or_property): Remove PBITMAP arg.
 -      Calls changed.  Don't check for overlay-arrow-bitmap property here.
 -      (overlay_arrow_at_row): Remove PBITMAP arg.  Instead, if left
 -      fringe is present, return Lisp integer for bitmap (or -1 for default).
 -      Fix value of overlay-arrow-bitmap property to be a symbol, use
 -      lookup_fringe_bitmap to parse it.
 -      (display_line): Change call to overlay_arrow_at_row.  Store integer
 -      return value as overlay bitmap in row rather than window.
 -      Only show overlay arrow if row displays text, or if no other overlay
 -      arrow is seen in window (if overlay marker is at point-max).
 -
 -2005-04-18  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * xfaces.c (realize_x_face) [!HAVE_WINDOW_SYSTEM]: Return NULL.
 -
 -2005-04-18  Lute Kamstra  <lute@gnu.org>
 -
 -      * lread.c (Vloads_in_progress): Static.
 -      * fns.c (Vloads_in_progress): Remove extern.
 -      (load_in_progress): Add extern.
 -      (Frequire): Use load_in_progress instead of Vloads_in_progress.
 -
 -2005-04-18  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * xmenu.c (Fx_popup_menu): Initialize error_name to NULL.
 -
 -2005-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XTread_socket): Don't beep on keyboard input even if
 -      no frame is visible.
 -
 -2005-04-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (struct keys): Add support for shifted keys.
 -
 -2005-04-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (with_echo_area_buffer): Delete WHICH < 0 case.
 -      (set_message): Call with_echo_area_buffer with WHICH = 0.
 -      (set_message_1): Erase the echo area buffer first thing.
 -      (echo_area_display): Don't clear echo_message_buffer.
 -
 -2005-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (mac.o): Depend on charset.h and coding.h.
 -
 -      * mac.c: Include charset.h and coding.h.
 -      [TARGET_API_MAC_CARBON] (Qutf_8): Remove extern.
 -      [TARGET_API_MAC_CARBON] (cfstring_create_with_string): New function.
 -      [TARGET_API_MAC_CARBON] (Fmac_get_preference): Use it.
 -
 -      * macfns.c [TARGET_API_MAC_CARBON] (Fx_file_dialog): Likewise.
 -
 -      * image.c [MAC_OSX] (image_load_quartz2d): Likewise.
 -
 -      * macterm.c (x_autoselect_window_p): Remove variable.
 -      (last_window): New variable.
 -      (XTreassert_line_highlight, x_change_line_highlight):
 -      Remove declarations.
 -      (mac_focus_changed, x_detect_focus_change): New functions and
 -      declarations.
 -      (XTextExtents16, front_emacs_window): Remove function.
 -      (mac_focus_frame): New function.
 -      (XTmouse_position, do_menu_choice, do_zoom_window, XTread_socket)
 -      (mac_check_for_quit_char): Use it instead of front_emacs_window.
 -      (x_scroll_bar_report_motion): Obtain window from control owner.
 -      (x_make_frame_invisible): Set window manager size hint.
 -      (do_mouse_moved): Remove function.
 -      (XTread_socket): Move its contents here.  Generate select-window
 -      event on mouse movement if needed.  Use x_detect_focus_change on
 -      activate/deactivate events.  Don't deiconify frame or invalidate
 -      window rectangle when dnd items are dropped.
 -      Don't activate/deactivate root control.
 -      (frame_highlight, frame_unhighlight): Activate/deactivate root
 -      control here.
 -      (syms_of_macterm): Delete DEFVAR_BOOL for x_autoselect_window_p.
 -
 -      * macterm.h (cfstring_create_with_string) [TARGET_API_MAC_CARBON]:
 -      New extern.
 -
 -2005-04-15  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * Makefile.in: Define new macro TOOLTIP_SUPPORT.
 -      (lisp): Use it.
 -      (SOME_MACHINE_LISP): Add tooltip.
 -
 -2005-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c [!TARGET_API_MAC_CARBON]: Include MacLocales.h.
 -      Don't include TextEncodingConverter.h.
 -      (mac_system_script_code, Vmac_system_locale): New variables.
 -      (syms_of_mac): Defvar them.
 -      (mac_get_system_locale): New function.
 -
 -      * macfns.c (x_set_name, x_set_title) [!TARGET_API_MAC_CARBON]:
 -      Use ENCODE_SYSTEM to encode title bar string.
 -      (x_create_tip_frame): Apply 2005-03-18 change for xfns.c.
 -      (Fx_file_dialog) [TARGET_API_MAC_CARBON && !MAC_OSX]:
 -      Use CFStringGetSystemEncoding to get system default string encoding.
 -
 -      * macterm.c [!TARGET_API_MAC_CARBON]: Don't include
 -      TextEncodingConverter.h.
 -
 -2005-04-13  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (syms_of_macterm): Remove redundant definition of
 -      mac-pass-control-to-system.
 -
 -2005-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fset_window_configuration): Be careful when you choose
 -      among several possible points for the new_current_buffer.
 -
 -2005-04-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (poll_for_input) [SYNC_INPUT]: Don't call
 -      poll_for_input_1.  Set interrupt_input_pending to 1 instead.
 -      (Qlanguage_change) [MAC_OS]: New variable.
 -      (syms_of_keyboard) [MAC_OS]: Intern and staticpro it.
 -      (kbd_buffer_get_event) [MAC_OS]: Make event for LANGUAGE_CHANGE_EVENT.
 -
 -      * macterm.c (mac_keyboard_text_encoding)
 -      (current_mac_keyboard_text_encoding): Remove variables.
 -      (XTread_socket): Store language-change event if keyboard script change
 -      is detected.  Don't convert input to `mac_keyboard_text_encoding'.
 -      (syms_of_macterm): Delete DEFVAR_INT for mac-keyboard-text-encoding.
 -
 -      * termhooks.h (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
 -
 -2005-04-10  Richard M. Stallman  <rms@gnu.org>
 -
 -      * emacs.c (standard_args): Rename --bare-bones to --quick.
 -      Add -D aka --basic-display.
 -
 -      * buffer.c (Fmake_indirect_buffer): Clear out some local variables.
 -
 -2005-04-09  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keymap.c (where_is_internal): Convert a string used as event type
 -      into "(any string)".
 -
 -      * lread.c (Vloads_in_progress): Not static.
 -      * fns.c (Vloads_in_progress): Add extern.
 -      (Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil.
 -
 -2005-04-09  Thien-Thi Nguyen  <ttn@surf.glug.org>
 -
 -      * dispnew.c (mirror_line_dance): Avoid crash if W2 is null.
 -
 -2005-04-09  Lute Kamstra  <lute@gnu.org>
 -
 -      * print.c (PRINTPREPARE): Check if the marker PRINTCHARFUN is
 -      within the accessible part of the buffer.
 -
 -2005-04-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * lread.c (readevalloop): Add args START and END as region in
 -      current buffer to read.  Callers changed.
 -      When specified, narrow to this region only when reading,
 -      not during eval.  Track next point to read from during eval.
 -      Also restore point to "real" buffer position before eval.
 -      (Feval_region): Don't save excursion and restriction here, and
 -      don't narrow to region.  Just pass region to readevalloop.
 -      Note: Point is now preserved even when PRINTFLAG is nil.
 -
 -2005-04-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (syms_of_xdisp): Init overlay-arrow-string to "=>".
 -
 -2005-04-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * emacs.c (standard_args): Add -Q, --bare-bones, -bare-bones.
 -
 -2005-04-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (cfdate_to_lisp): Add `const' for variable `epoch_gdate'.
 -      (Fmac_get_preference): Doc fix.
 -
 -      * macfns.c (Fx_create_frame, x_create_tip_frame):
 -      Add "fontset-mac" to fallback font/fontsets.
 -
 -2005-04-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (Fgarbage_collect): Call CHECK_CONS_LIST before and after gc.
 -
 -      * eval.c (Ffuncall): Always call CHECK_CONS_LIST on entry.
 -      Call it again after autoload.
 -
 -2005-04-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * alloc.c (allocate_string_data): Call BLOCK_INPUT before calling
 -      mallopt.
 -
 -      * ralloc.c (r_alloc_init): Ditto.
 -
 -2005-04-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * lisp.h (Vascii_upcase_table, Vascii_canon_table)
 -      (Vascii_eqv_table): Extern them.
 -
 -      * casetab.c (set_case_table): If standard is nonzero, setup
 -      Vascii_upcase_table, Vascii_canon_table, and Vascii_eqv_table.
 -
 -      * search.c (looking_at_1): Use current_buffer->case_canon_table,
 -      not DOWNCASE_TABLE.
 -      (string_match_1): Likewise.
 -      (fast_c_string_match_ignore_case): Use Vascii_canon_table, not
 -      Vascii_downcase_table.
 -      (fast_string_match_ignore_case): Likewise.
 -      (search_buffer): Fix checking of boyer-moore usability.
 -      (boyer_moore): Calculate translate_prev_byte1/2/3 in advance.
 -      No need of tranlating characters in PAT.  Fix calculation of
 -      simple_translate.
 -
 -2005-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c [HAVE_XAW3D]: Include ThreeD.h for XtNbeNiceToColormap.
 -      (x_create_toolkit_scroll_bar): Test XtNbeNiceToColormap before using it.
 -      Use XtNtopShadowPixel and XtNbottomShadowPixel.
 -      (x_set_toolkit_scroll_bar_thumb): Remove ugly old hack that didn't
 -      really work and that breaks with some versions of Xaw3d.
 -
 -2005-03-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (syms_of_coding): Fix previous change.
 -
 -2005-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (search_embedded_absfilename): Fix last change.
 -
 -2005-03-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (syms_of_coding): Suggest to use set-coding-category in
 -      the docstring of coding-category-list.
 -
 -2005-03-31  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (Qmouse_fixup_help_message): New var.
 -      (syms_of_keyboard): Intern and staticpro it.
 -      (show_help_echo): Apply mouse-fixup-help-message to help string.
 -
 -2005-03-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_line): Allow multiple overlay arrows in window.
 -
 -2005-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fexpand_file_name): Use IS_DEVICE_SEP.
 -      (file_name_absolute_p): New fun, extracted from Ffile_name_absolute_p.
 -      (Ffile_name_absolute_p): Use it.
 -      (search_embedded_absfilename): New fun, extracted from
 -      Fsubstitute_in_file_name.  Use file_name_absolute_p.
 -      Free the pw data after use.
 -      (Fsubstitute_in_file_name): Use it.
 -      After cutting a prefix, re-check file-name-handler.
 -
 -2005-03-26  Lennart Borgman  <lennart.borgman.073@student.lu.se>
 -
 -      * w32term.h (x_output): Add focus_state.
 -
 -      * w32term.c (x_focus_changed, w32_detect_focus_change): New functions.
 -      (w32_read_socket) <WM_SETFOCUS>: Call w32_detect_focus_change.
 -
 -2005-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Fminibuffer_complete_and_exit, Fself_insert_and_exit):
 -      Use Fexit_minibuffer.
 -      (Fexit_minibuffer): Mark it as no-return, deactivate the mark.
 -
 -2005-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (Ffile_attributes): Add a missing gcpro.
 -
 -      * alloc.c (make_number): The arg can be bigger than `int'.
 -      * lisp.h (make_number): Make prototype more precise.
 -
 -      * process.c, dired.c (Vfile_name_coding_system)
 -      (Vdefault_file_name_coding_system):
 -      * callproc.c (Vdoc_file_name, Vfile_name_coding_system)
 -      (Vdefault_file_name_coding_system): Remove unused declarations.
 -
 -2005-03-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (create_and_show_popup_menu): Just remove menu and return
 -      if it failed to pop up (Gnome "show pointer on ctrl" option makes
 -      menus fail to pop up).
 -
 -2005-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_next_display_element): Also use `\ ' & `\-' for latin-9.
 -      Just prepend a backslash without replacing the NBSP by an SPC.
 -
 -2005-03-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * xfaces.c (lookup_derived_face): Add arg SIGNAL_P.
 -      * dispextern.h (lookup_derived_face): Fix prototype.
 -      * msdos.c (XMenuActivate): Fix call to lookup_derived_face.
 -
 -      * xdisp.c (handle_single_display_spec): Derive left-fringe and
 -      right-fringe face from fringe face.
 -
 -      * fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
 -      Derive face from fringe face.
 -
 -2005-03-22  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xrdb.c (x_load_resources): Undo previous change (2005-03-18).
 -
 -2005-03-22  David Kastrup  <dak@gnu.org>
 -
 -      * textprop.c (Fnext_char_property_change)
 -      (Fprevious_char_property_change): Allow marker as limit.
 -      (Fnext_single_char_property_change)
 -      (Fprevious_single_char_property_change): Check that limit is a
 -      number in strings.
 -      (Fnext_single_char_property_change): Coerce position to integer.
 -      (Fprevious_single_char_property_change): Same here.
 -
 -2005-03-21  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Define if undefined.
 -
 -2005-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (Fignore_event): Remove.
 -      (syms_of_frame): Don't defsubr it.
 -
 -      * keyboard.c (keys_of_keyboard): Just use `ignore' instead of the
 -      redundant `ignore-event'.
 -
 -2005-03-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * unexec.c (write_segment, unexec): Move these functions to avoid
 -      forward references (which cause errors with "gcc -gcoff").
 -
 -2005-03-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_create_tip_frame): Remove setting of Vx_resource_name so
 -      that it doesn't become "tooltip".  The specbind is enough.
 -
 -      * xrdb.c (x_load_resources): Use different char *helv when I18N
 -      is present.
 -
 -2005-03-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (syms_of_coding): Docstring of coding-category-list fixed.
 -
 -2005-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfaces.c (x_update_menu_appearance) [HAVE_X_I18N]:
 -      Use xic_create_fontsetname even for non-Motif menus.
 -      Don't forget to free the fontsetname.
 -
 -      * xfns.c (xic_create_fontsetname): Add a final catch-all font pattern.
 -
 -2005-03-17  Richard M. Stallman  <rms@gnu.org>
 -
 -      * dispnew.c (mirror_line_dance): Set W2 according to FRAME_FROM.
 -
 -      * fileio.c (Fcopy_file, Frename_file, Fadd_name_to_file)
 -      (Fmake_symbolic_link): Use G to read the new file name.
 -
 -      * callint.c (Finteractive): Document G option.
 -      (Fcall_interactively): Implement G option.
 -
 -      * buffer.c (buffer_lisp_local_variables): New function,
 -      broken out from Fbuffer_local_variables.
 -      (clone_per_buffer_values): Use buffer_lisp_local_variables.
 -
 -2005-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfns.c (xic_create_fontsetname): Add `motif' argument.
 -      Always return a freshly allocated string.
 -      (xic_create_xfontset): Adjust call.
 -
 -      * xfaces.c (x_update_menu_appearance) [USE_MOTIF]:
 -      Use xic_create_fontsetname to create a fontset so utf-8 locales work.
 -      (dump_realized_face): Fix warning.
 -
 -      * emacs.c (Fkill_emacs): YAILOM.
 -
 -      * frame.c (Fignore_event): Fix ancient obscure C-u handling bug.
 -
 -2005-03-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (HASHKEY_TERMINAL): Remove.
 -      (HASHKEY_MAX_NID): New macro.
 -      (xrm_q_get_resource_1): Rename from xrm_q_get_resource.  Add extra
 -      argument.
 -      (xrm_q_get_resource): Call xrm_q_get_resource_1 with extra argument.
 -      (xrm_create_database, xrm_q_put_resource)
 -      (xrm_merge_string_database, xrm_q_get_resource_1)
 -      (xrm_q_get_resource): Change resource database representation so
 -      that it may not use multiple hash tables for a single database.
 -      [TARGET_API_MAC_CARBON] (xrm_cfproperty_list_to_value): YAILOM.
 -
 -2005-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xmenu.c (ENCODE_MENU_STRING) [HAVE_X_I18N]: Use ENCODE_SYSTEM.
 -
 -      * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [!WINDOWSNT]: Use the
 -      locale-coding-system, as was already done for WINDOWSNT.
 -
 -      * keyboard.c (read_char): Only do the 7-bit-meta -> 27-bit-meta
 -      translation for chars in the 0-255 range.
 -
 -2005-03-16  Lute Kamstra  <lute@gnu.org>
 -
 -      * floatfns.c (Ffloor): Doc fix.
 -
 -2005-03-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c: Include macterm.h instead of directly including Carbon.h.
 -      [TARGET_API_MAC_CARBON] (Qstring, Qnumber, Qboolean, Qdate, Qdata)
 -      (Qarray, Qdictionary): New variables.
 -      (syms_of_mac) [TARGET_API_MAC_CARBON]: Initialize them.
 -      [TARGET_API_MAC_CARBON] (Qutf_8): Add extern.
 -      [TARGET_API_MAC_CARBON] (DECODE_UTF_8): New macro.
 -      [TARGET_API_MAC_CARBON] (struct cfdict_context): New struct used
 -      in callback for CFDictionaryApplyFunction.
 -      [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp)
 -      (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp)
 -      (cfobject_desc_to_lisp, cfdictionary_add_to_list)
 -      (cfdictionary_puthash, cfproperty_list_to_lisp): New functions.
 -      [TARGET_API_MAC_CARBON] (Fmac_get_preference): New function.
 -      (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it.
 -      (P, LOOSE_BINDING, SINGLE_COMPONENT, HASHKEY_TERMINAL): New macro.
 -      (skip_white_space, parse_comment, parse_include_file)
 -      (parse_binding, parse_component, parse_resource_name, parse_value)
 -      (parse_resource_line, xrm_create_database, xrm_q_put_resource)
 -      (xrm_merge_string_database, xrm_q_get_resource, xrm_get_resource)
 -      (xrm_cfproperty_list_to_value, xrm_get_preference_database):
 -      New functions.
 -
 -      * macfns.c (mac_get_rdb_resource): Remove function.
 -      (x_get_string_resource): Use xrm_get_resource.
 -
 -      * macgui.h (XrmDatabase): Typedef to Lisp_Object.
 -
 -      * macterm.c (x_list_fonts): FONT-LIST-CACHE is now cadr part of
 -      name_list_element.
 -      (mac_make_rdb): Create resource database from preferences and
 -      argument string.
 -      (mac_term_init): Save resource database to cddr part of
 -      name_list_element.
 -
 -      * macterm.h (xrm_merge_string_database, xrm_get_resource)
 -      (xrm_get_preference_database): Add externs.
 -      [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp)
 -      (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp)
 -      (cfobject_desc_to_lisp, cfproperty_list_to_lisp): Likewise.
 -
 -      * process.c (init_process): Change `#ifdef DARWIN' to `#if
 -      defined (DARWIN) || defined (MAC_OSX)'
 -
 -      * s/darwin.h (DARWIN): Don't define.
 -
 -2005-03-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (Qhyper, Qsuper, Qmeta, Qalt, Qctrl, Qcontrol, Qshift):
 -      Remove unused variables.
 -      (syms_of_macfns): Don't initialize them.  Likewise for
 -      Qface_set_after_frame_default.  Defvar and initialize
 -      Vx_window_horizontal_drag_shape.
 -      (x_set_mouse_color): Change mouse pointer shape.
 -      (mac_window) [!MAC_OSX]: Create root control.
 -      (Fx_create_frame): Remove initializations of mouse pointer shapes.
 -      (hourglass_started): New function (from xfns.c).
 -      (start_hourglass, cancel_hourglass): Put function body in #ifdef
 -      MAC_OSX.
 -      (show_hourglass) [TARGET_API_MAC_CARBON]: Create progress
 -      indicator for each non-tooltip frame if needed, and show it.
 -      (hide_hourglass) [TARGET_API_MAC_CARBON]: Hide progress indicators.
 -
 -      * macgui.h [!TARGET_API_MAC_CARBON]: Include Appearance.h and
 -      Controls.h.  Use ThemeCursor instead of CursHandle.
 -
 -      * macterm.c (activate_scroll_bars, deactivate_scroll_bars):
 -      Remove functions and declarations.
 -      (mac_set_colors): Take argument for saving background color.
 -      All callers changed.
 -      (XDrawLine, XClearArea, mac_draw_bitmap, XFillRectangle)
 -      (mac_draw_rectangle, mac_draw_string_common): Save and Restore
 -      background color.
 -      (x_update_end, mac_do_track_drag): Don't reset background color.
 -      (mac_define_frame_cursor) [!TARGET_API_MAC_CARBON]:
 -      Use SetThemeCursor.
 -      (x_set_window_size) [TARGET_API_MAC_CARBON]: Move progress
 -      indicator control to the upper-right corner of the window.
 -      (arrow_cursor) [!TARGET_API_MAC_CARBON]: Remove variable.
 -      (do_init_managers) [!TARGET_API_MAC_CARBON]: Don't initialize it.
 -      (do_window_update): Update controls after updating content area.
 -      (mac_handle_window_event): Remove unused extern.
 -      (XTread_socket): Check both control handle and control part code
 -      to determine whether a scroll bar is clicked.  Activate/deactivate
 -      root control instead of contained scroll bar controls.
 -      (make_mac_terminal_frame): Use ThemeCursor constants.
 -
 -      * macterm.h (struct mac_output) [TARGET_API_MAC_CARBON]:
 -      New member hourglass_control.
 -      (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): New defines.
 -      (activate_scroll_bars, deactivate_scroll_bars): Remove declarations.
 -
 -2005-03-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (keycode_to_xkeysym_table): Change mapping so that it
 -      coincides with that in Apple X11 except `clear', `enter' on
 -      laptops, and fn + `enter' on laptops.
 -
 -2005-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xmenu.c (ENCODE_MENU_STRING): Explicitly use string_make_unibyte.
 -      (list_of_panes, list_of_items, Fx_popup_menu): Use XCAR/XCDR.
 -      (digest_single_submenu, xmenu_show): Use ENCODE_MENU_STRING.
 -
 -      * xfns.c (xic_defaut_fontset): New constant.
 -      (xic_create_fontsetname): New function.
 -      Extracted from create_frame_xic.  Try to generate a slightly
 -      better fontset.
 -      (xic_create_xfontset): Use it.
 -      (create_frame_xic): Simplify.
 -
 -2005-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fmake_symbolic_link): Fix last change.
 -
 -2005-03-11  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Frename_file, Fadd_name_to_file)
 -      (Fmake_symbolic_link): If NEWNAME or LINKNAME is a directory,
 -      expand the basename of FILE relative to it.
 -
 -2005-03-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Call Fcheck_coding_system
 -      before calling setup_coding_system so that autoloading of a coding
 -      system work.
 -
 -2005-03-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (hourglass_started): New function.
 -
 -      * dispextern.h: Declare hourglass_started.
 -
 -      * keyboard.c (Fexecute_extended_command): Restart hourglass
 -      after call to Fcompleting_read if already started.
 -
 -      * gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the
 -      GTK main loop is entered in xterm.c, thus doing the redraw.
 -
 -2005-03-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pos_visible_p): Fix X value in last line of buffer.
 -
 -2005-03-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * frame.c (x_set_font): Call set_default_ascii_font if an
 -      available font is found.
 -
 -      * fontset.c (set_default_ascii_font): New function.
 -      (syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset) here.
 -
 -      * fontset.h (set_default_ascii_font): Extern it.
 -
 -2005-03-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (CLEAR_IMAGE_CACHE_COUNT): New const.
 -      (clear_image_cache_count): New var.
 -      (redisplay_internal): Don't clear face and image caches in the
 -      middle of redisplay; do it afterwards.
 -
 -      * blockinput.h (TOTALLY_UNBLOCK_INPUT): Avoid dangling else.
 -
 -      * xdisp.c (notice_overwritten_cursor): Check that phys_cursor.vpos
 -      is valid.  If not, clear phys_cursor_on_p and return.
 -
 -2005-03-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * blockinput.h (UNBLOCK_INPUT_TO): Always call UNBLOCK_INPUT.
 -
 -2005-03-06  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (Ftop_level): Let Fthrow deal with UNBLOCK_INPUT.
 -
 -      * eval.c (unwind_to_catch): Use UNBLOCK_INPUT_TO.
 -      (Feval, Ffuncall): Use CHECK_CONS_LIST.
 -
 -      * lisp.h (CHECK_CONS_LIST): New macro (two definitions).
 -
 -      * blockinput.h (UNBLOCK_INPUT_TO): New macro.
 -      (TOTALLY_UNBLOCK_INPUT): Handle a pending signal if any.
 -
 -2005-03-05  Juri Linkov  <juri@jurta.org>
 -
 -      * emacs.c (USAGE1): Replace Info node name "command arguments"
 -      with "emacs invocation".
 -      (USAGE3): Fix usage of `--color=MODE' which actually doesn't
 -      allow arguments `--color' and `MODE' to be separated by space.
 -      Add --no-blinking-cursor, -nbc.
 -      (standard_args): Add -nbc, --no-blinking-cursor.
 -
 -2005-03-04  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * s/vms.h: Define NO_HYPHENS_IN_FILENAMES.
 -      * s/vms4-4.h, s/vms5-5.h: Undefine NO_HYPHENS_IN_FILENAMES.
 -      * fileio.c (Fexpand_file_name) [VMS]:
 -      Use NO_HYPHENS_IN_FILENAMES, not VMS4_4.
 -      * doc.c (munge_doc_file_name) [VMS]: Likewise.
 -      (Fsnarf_documentation): Call munge_doc_file_name.
 -
 -2005-03-04  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * s/vms.h (FILE_SYSTEM_CASE): New macro.
 -      * fileio.c (Fexpand_file_name) [VMS]: Don't upcase the name
 -      "manually"; this is now handled generally via FILE_SYSTEM_CASE.
 -
 -2005-03-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if
 -      defined (MAC_OSX) && defined (HAVE_CARBON)'.
 -
 -      * image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include QuickTime.h.
 -
 -      * mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
 -      [!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent.
 -      (posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions.
 -      (mac_clear_font_name_table): Move extern to macterm.h.
 -
 -      * macfns.c (install_window_handler): Move extern to macterm.h.
 -      (Fx_file_dialog): Check STRINGP (default_filename) to see it is
 -      valid.  Don't check !NILP (dir) because it is already checked with
 -      CHECK_STRING.
 -      (Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for
 -      specifying the default location and obtaining the selected filename.
 -
 -      * macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
 -
 -      * macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that
 -      are included via Carbon.h.
 -
 -      * macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]:
 -      Define USE_CARBON_EVENTS to 1.
 -      (qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare.
 -      (x_free_frame_resources): Call remove_window_handler for
 -      non-tooltip windows.
 -      [TARGET_API_MAC_CARBON]: Don't include headers that are included
 -      via Carbon.h.
 -      [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP)
 -      (mac_do_receive_dragUPP): New variables.
 -      (mac_handle_service_event, init_service_handler): Put declarations
 -      and definitions in #ifdef MAC_OSX.
 -      (install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for
 -      drag-and-drop handler functions and register them.
 -      (remove_window_handler): New function.
 -      (do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]:
 -      Use fsspec_to_posix_pathname.
 -      (main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8.
 -      (XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM.
 -      [MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]:
 -      Set default cursors.
 -      (mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX]: Don't call
 -      init_service_handler or init_quit_char_handler.
 -      (mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess.
 -
 -      * macterm.h (install_window_handler, remove_window_handler)
 -      (posix_pathname_to_fsspec, fsspec_to_posix_pathname)
 -      (mac_clear_font_name_table): New externs.
 -
 -2005-03-03  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * fileio.c (FILE_SYSTEM_CASE): Define macro if not already defined.
 -      (Ffile_name_directory): Use FILE_SYSTEM_CASE unconditionally.
 -      (Fexpand_file_name): Likewise.
 -
 -2005-03-03  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * emacs.c (Fkill_emacs): Use EXIT_SUCCESS;
 -      no longer special-case VMS.  Add bogus return value.
 -
 -2005-03-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (XASSERTS): Define to 0 if not already defined.
 -      (xassert) [!XASSERTS]: Define dummy version.
 -
 -2005-03-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): YABX (yet another bogus xassert).
 -      Reported by David Kastrup.
 -
 -2005-03-01  Ehud Karni  <ehud@unix.mvs.co.il>
 -
 -      * xdisp.c (get_next_display_element): Fix control and escape
 -      glyph from display vector.
 -
 -2005-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Fposn_at_x_y): Check integerness of X and Y.
 -
 -2005-02-27  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (fast_find_position): Rename END to BEG.
 -      (syms_of_xdisp) <menu-bar-update-hook>: Doc fix.
 -
 -2005-02-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to
 -      gtk_window_resize and x_wm_set_size_hint.
 -
 -2005-02-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (OVERLAY_STRING_CHUNK_SIZE): Increase from 3 to 16.
 -
 -      * xdisp.c (init_from_display_pos): Don't read past end of
 -      it->overlay_strings array.
 -
 -2005-02-25  Stephan Stahl  <stahl@eos.franken.de>  (tiny change)
 -
 -      * buffer.c (syms_of_buffer): Fix typo.
 -
 -2005-02-23  Lute Kamstra  <lute@gnu.org>
 -
 -      * buffer.c (Foverlay_buffer): Doc fix.
 -
 -2005-02-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * minibuf.c (Ftry_completion, Fall_completions): Allow both string
 -      and symbol keys in alists and hash tables.
 -
 -      * xdisp.c (fast_find_position): Fix search for start of overlay.
 -
 -2005-02-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (window_scroll_pixel_based): When scrolling backwards,
 -      handle partial visible line at end of window even when we hit PT.
 -
 -2005-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.h: Declare Fcurrent_active_maps, used in doc.c.
 -
 -2005-02-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_vertically_backward): Eliminate two xasserts.
 -      I think those asserts are bogus if buffer contains invisible text
 -      or images.
 -
 -2005-02-21  David Kastrup  <dak@gnu.org>
 -
 -      * gtkutil.c (xg_create_frame_widgets): UNBLOCK_INPUT on error.
 -
 -2005-02-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pos_visible_p): Be sure to move to the specified
 -      position.  Always get the full ascent / descent of the
 -      corresponding row, to return reliable rtop and rbot values.
 -      (back_to_previous_visible_line_start): Fix 2005-01-18 change.
 -      Must look one character back, as back_to_previous_line_start
 -      returns position after the newline.
 -      (move_it_vertically_backward): Fix heuristic for when to move further
 -      back in case line_height * 2/3 is larger than window height.
 -      (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p
 -      as it does not do anything anymore.  Add arg current_matrix_p to
 -      use current matrix rather than desired matrix when set.
 -      (try_cursor_movement): Don't scroll to make cursor row fully
 -      visible if cursor didn't move.  This avoids unexpected recentering
 -      in case of blinking cursor or accepting process output.
 -      Use current matrix to check cursor row visibility.
 -      (redisplay_window): Fix whether to recenter or move to top in case
 -      cursor line is taller than window height.
 -      (find_first_unchanged_at_end_row): Stop search if we reach a row
 -      which not enabled (instead of abort).
 -
 -2005-02-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Allow :color property
 -      to be nil in a :box attribute value list; customize prints that
 -      as lisp value when no box color is specified.
 -
 -      * .gdbinit (pitx, pit): Pretty print display iterator.
 -      (prowx, prow): Pretty print glyph row.
 -      (pcursorx, pcursor): Pretty print a window cursor.
 -      (pwinx, pwin): Pretty print struct window.
 -
 -2005-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (BLOCK_BYTES): Harmless typo.
 -
 -2005-02-17  Andreas Schwab  <schwab@suse.de>
 -
 -      * xfns.c (hack_wm_protocols): Use correct type for last parameter
 -      of XGetWindowProperty to avoid aliasing issues.
 -      (Fx_window_property): Likewise.
 -
 -      * xselect.c (Fx_disown_selection_internal): Use union of struct
 -      input_event and struct selection_input_event to avoid aliasing issues.
 -
 -      * xterm.c (handle_one_xevent): Use union of struct input_event and
 -      struct selection_input_event to avoid aliasing issues.
 -      (SET_SAVED_MENU_EVENT): Adapt reference to inev.
 -
 -2005-02-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (enum it_method): New enum.
 -      (GET_FROM_*): Its members.
 -      (struct it): Change member method from function pointer to enum.
 -
 -      * xdisp.c (check_it, init_from_display_pos, handle_stop)
 -      (setup_for_ellipsis, handle_single_display_spec)
 -      (handle_composition_prop, next_overlay_string)
 -      (get_overlay_strings, reseat_1, reseat_to_string)
 -      (next_element_from_ellipsis, BUFFER_POS_REACHED_P)
 -      (in_display_vector_p, display_line, get_next_display_element):
 -      Change it->method from function pointer to enum.
 -      (get_next_element): New array to map it->method to function.
 -      (get_next_display_element): Use it.
 -      (set_iterator_to_next): Use switch instead of if/else chain.
 -
 -2005-02-15  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>
 -
 -      * w32select.c: Summary: Thorough rework to implement Unicode
 -      clipboard operations and delayed rendering.
 -
 -      Drop last_clipboard_text and related code, keep track of
 -      ownership via clipboard_owner instead.  Drop old #if0 sections.
 -
 -      (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
 -      (clipboard_owner, modifying_clipboard, cfg_coding_system)
 -      (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
 -      (current_coding_system, current_requires_encoding)
 -      (current_num_nls, current_clipboard_type, current_lcid):
 -      New static variables.
 -
 -      (convert_to_handle_as_ascii, convert_to_handle_as_coded)
 -      (render, render_all, run_protected, lisp_error_handler)
 -      (owner_callback, create_owner, setup_config)
 -      (enum_locale_callback, cp_from_locale, coding_from_cp):
 -      New local functions.
 -
 -      (term_w32select, globals_of_w32select): New global functions.
 -
 -      (Fw32_set_clipboard_data): Ignore parameter FRAME, use
 -      clipboard_owner instead.  Use delayed rendering and provide
 -      all text formats.  Provide CF_LOCALE if necessary.
 -
 -      (Fw32_get_clipboard_data): Handle CF_UNICODETEXT and
 -      CF_LOCALE.  Fall back to CF_TEXT, if CF_UNICODETEXT is not
 -      available.  Force DOS line-ends for decoding.
 -
 -      (Fx_selection_exists_p): Handle CF_UNICODETEXT.
 -
 -      (syms_of_w32select): Init and register new variables.
 -
 -      * w32.h: Add prototypes for globals_of_w32select and
 -      term_w32select.  Make the neighboring K&R declarations into
 -      prototypes, too.
 -
 -      * emacs.c: Include w32.h to get function prototypes.
 -      (main): Call globals_of_w32select.
 -
 -      * w32.c (term_ntproc): Call term_w32select.
 -
 -      * s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
 -
 -2005-02-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and
 -      at end of display vector.
 -
 -2005-02-15  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element): Fix escape-glyph criterion
 -      for mode and header lines.
 -
 -      * lread.c (syms_of_lread) <user-init-file>: Doc fix.
 -
 -      * keymap.h (describe_map_tree): Change decl.
 -
 -      * keyboard.c (command_loop_1): Always use safe_run_hooks
 -      to run Qdeferred_action_function.
 -
 -      * keymap.c (describe_map_tree): New arg MENTION_SHADOW.  Calls changed.
 -      (describe_map, describe_vector): Likewise.  When it's 1,
 -      don't omit shadowed bindings, instead mark them as shadowed.
 -
 -      * doc.c (Fsubstitute_command_keys): Compute list of shadowing maps
 -      for describe_map_tree.  Pass 1 for MENTION_SHADOW.
 -
 -      * data.c (Fsetq_default): Allow no arg case.
 -
 -2005-02-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_string): Always return a unibyte string.
 -      If NOCOPY is nonzero and there's no need of encoding, make STR
 -      unibyte directly.
 -
 -      * xselect.c (lisp_data_to_selection_data): If OBJ is a non-ASCII
 -      multibyte string, signal an error instead of aborting.
 -
 -2005-02-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c: If HAVE_FCNTL_H include fcntl.h.
 -
 -2005-02-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (expose_window): Don't fix overlaps for mode lines.
 -
 -2005-02-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL
 -      if it moves outside window or it doesn't display text.
 -
 -2005-02-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * undo.c (Fprimitive_undo): Check that undo function does not
 -      switch buffer.
 -
 -2005-02-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (selection_data_to_lisp_data): For the special case
 -      type == XA_ATOM, data contains array of int, not array of Atom.
 -      (x_property_data_to_lisp, selection_data_to_lisp_data):
 -      Comment update: data must be array of int for format == 32.
 -
 -2005-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * undo.c (Fprimitive_undo): Check veracity of delta,start,end.
 -
 -2005-02-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_change_window_property): Use long array when format is 32.
 -      (Fx_window_property): If format is 32 and long is bigger than 32 bits,
 -      convert long array returned from XGetWindowProperty to an int array.
 -      (x_set_tool_bar_lines): Check that width and height is greater than
 -      zero before clearing area.
 -
 -      * xselect.c (x_reply_selection_request): Pass long array to
 -      XChangeProperty so that 64 bit longs are handeled correctly.
 -      (x_get_window_property): If format is 32 and long is bigger than 32
 -      bits convert data from XGetWindowProperty from long array to int array.
 -      (lisp_data_to_selection_data): When the input is a vector and the
 -      format is 32, allocate a long array even if long is bigger than 32 bits.
 -      (x_fill_property_data): Use char, short and long as the man page
 -      for XChangeProperty specifies.  This way the data returned is OK for
 -      both 32 and 64 bit machines.
 -      (x_handle_dnd_message): Calculate size correctly even for 64 bit
 -      machines.
 -      (Fx_send_client_event): Undo change from 2005-02-05,
 -      x_fill_property_data now handles that case.
 -
 -      * xfns.c (Fx_backspace_delete_keys_p): Add comment about the
 -      reason for the approach in the code.
 -
 -2005-02-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * undo.c (Fprimitive_undo): Record max one dummmy apply element.
 -
 -2005-02-06  Richard M. Stallman  <rms@gnu.org>
 -
 -      * eval.c (Frun_hook_with_args)
 -      (Frun_hook_with_args_until_success)
 -      (Frun_hook_with_args_until_failure): Doc fixes.
 -
 -2005-02-05  Andreas Schwab  <schwab@suse.de>
 -
 -      * sysdep.c (sys_subshell): Properly terminate execlp argument list.
 -
 -2005-02-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
 -      the longs in a XClientMessageEvent correctly when long is 64 bits.
 -
 -2005-02-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
 -      instead of HAVE_X_WINDOWS, for non-X windowed sessions.
 -
 -2005-02-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (menubar_selection_callback): Force out GTK buffered
 -      events so the menu event comes after them.  This is to prevent sit-for
 -      from exiting on buffered events directly after a menu selection,
 -      lisp code for Help => About Emacs uses sit-for.
 -
 -      * gtkutil.c (create_menus): Connect selection-done event instead of
 -      the deactivate event to deactivate_cb.  This will make the last
 -      leave event come before the call to deactivate_cb, so the leave
 -      event does not make sit-for exit after a menu selection.
 -
 -2005-02-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (build_frame_matrix_from_leaf_window)
 -       [!GLYPH_DEBUG]: Fix xassert.
 -
 -      * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
 -
 -      * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
 -
 -2005-02-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
 -      the compiling OS version.
 -
 -      * macfns.c (x_create_tip_frame): Likewise.
 -
 -      * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise.
 -
 -2005-02-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
 -
 -      * xdisp.c (echo_area_display): Clear echo_message_buffer.
 -
 -      * buffer.c (Fbury_buffer): Doc fix.
 -
 -2005-02-02  Steven Tamm  <steventamm@mac.com>
 -
 -      * macfns.c (unwind_create_frame): Fix compile error due to
 -      xassert being uncondition, but predicate is.
 -      * dispnew.c (update_window): Fix compile error due to
 -      xassert being uncondition, but predicate is.
 -
 -2005-02-02  Miles Bader  <miles@gnu.org>
 -
 -      * dispextern.h (xassert): Enable unconditionally.
 -
 -2005-02-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * undo.c (Fprimitive_undo): Fix dummy apply undo entry.
 -
 -2005-02-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * casefiddle.c (casify_object): Enable changing characters of
 -      different byte length.
 -      (casify_region): Fix loop condition, args to replace_range_2, and
 -      update opoint_byte.
 -
 -      * insdel.c (replace_range_2): Fix bugs in adjusting markers and point.
 -
 -2005-02-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (back_to_previous_visible_line_start): Reset iterator
 -      stack before calling handle_display_prop.
 -
 -2005-01-31  Kim F. Storm  <storm@cua.dk>
 -
 -      * undo.c (Qapply): New lisp var.
 -      (syms_of_undo): Intern and staticpro it.
 -      (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and
 -      (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS).
 -
 -      * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
 -
 -2005-01-30  Jesper Harder  <harder@phys.au.dk>
 -
 -      * macterm.c (syms_of_macterm) <mac-reverse-ctrl-meta>
 -      <mac-emulate-three-button-mouse>: Fix docstring indentation.
 -
 -2005-01-29  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * undo.c (syms_of_undo) <undo-outer-limit>: Doc update.
 -      Increase value to 3 Meg.
 -
 -2005-01-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK,
 -      button events are not received otherwise.
 -
 -2005-01-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
 -
 -      * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.
 -
 -2005-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (access_keymap): YAILOM.
 -
 -2005-01-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_phys_cursor_geometry): New function to calculate
 -      phys cursor position and size for hollow cursor.  Position is
 -      aligned with get_glyph_string_clip_rect and ensures that a hollow
 -      cursor is shown, even when the actual glyph is not visible.
 -
 -      * dispextern.h (get_phys_cursor_geometry): Add prototype.
 -
 -      * xterm.c (x_clip_to_row): Ensure y >= 0.
 -      (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
 -
 -      * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
 -
 -      * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
 -
 -2005-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_error_quitter): Add a prototype.  Make it static again.
 -
 -2005-01-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_glyph_string_clip_rect): Always show a cursor
 -      glyph, even when row is only partially visible and actual cursor
 -      position is not visible.
 -
 -2005-01-24  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xterm.c (x_error_quitter): No longer static, and moved after
 -      x_error_handler.
 -
 -2005-01-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_by_lines): If we move forward after going too
 -      far back, cancel move if end position is same as start position.
 -
 -2005-01-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (struct glyph_string): New members clip_head and
 -      clip_tail.
 -
 -      * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
 -      region to the area between clip_head and clip_tail.
 -      (draw_glyphs): Record the area that need to be actually redrawn to
 -      the new variables clip_head and clip_tail when there are
 -      overhangs.  Set values of these variables to the corresponding
 -      members in struct glyph_string.  Refine x coordinates for
 -      notice_overwritten_cursor using clip_head and clip_tail.
 -
 -      * macgui.h (STORE_XCHARSETSTRUCT): New macro.
 -
 -      * macterm.c (mac_compute_glyph_string_overhangs): Implement with
 -      QDTextBounds.
 -      (x_draw_glyph_string): Don't fill the background of the successor
 -      of a glyph with a right overhang if the successor will draw a cursor.
 -      (XLoadQueryFont): Obtain font metrics using QDTextBounds.
 -      (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
 -
 -2005-01-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (window_scroll_pixel_based): Fix scrolling in the wrong
 -      direction if window height was smaller than next-screen-context-lines.
 -      Now always scroll at least one line in the requested direction.
 -      Ensure that we actually do scroll backwards when requested to do so.
 -
 -      * xdisp.c (redisplay_window): Only try to make cursor line fully
 -      visible once (to avoid redisplay loop).
 -
 -2005-01-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fpos_visible_in_window_p): Simplify return value for
 -      partially visible rows.
 -      (window_scroll_pixel_based): Adapt to that change.
 -
 -      * window.c (window_scroll_pixel_based): Force moving to next line
 -      if scrolling doesn't move start point, e.g. if looking at tall image.
 -
 -      * xdisp.c (pos_visible_p): Return 0 if non-interactive.
 -      Clear last_height before calling line_bottom_y to get real height.
 -      Fix calculation of y.
 -
 -2005-01-22  Steven Tamm  <steventamm@mac.com>
 -
 -      * s/darwin.h: Removed PTY_ITERATION from here.
 -      (DARWIN): Define.
 -
 -      * process.c (init_process): Default process-connection-type to
 -      nil on darwin 6 or less, t if it is 7 or higher.  This way the
 -      broken pty behavior is still allowed on darwin 6 for interactive
 -      processes for people that know what they are doing.
 -
 -2005-01-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (auto_window_vscroll_p): New boolean.
 -      (syms_of_window): DEFVAR_BOOL it.
 -      (Fpos_visible_in_window_p): Extend return value to include RTOP
 -      and RBOT values if FULLY is nil.
 -      (window_scroll_pixel_based): Adjust vscroll for partially visible
 -      rows if auto_window_vscroll_p is set.
 -      (Fset_window_vscroll): Do nothing if vscroll is not modified.
 -
 -      * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args
 -      to return number of partially invisible pixels at top and bottom
 -      of the dislay row at POS.
 -
 -      * lisp.h (pos_visible_p): Fix prototype.
 -
 -2005-01-21  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fcopy_file): Doc fix.
 -
 -2005-01-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw.
 -      (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to
 -      start of function for older compilers.
 -
 -2005-01-20  Richard M. Stallman  <rms@gnu.org>
 -
 -      * editfns.c (Fmessage): If arg is "", return "" (as before).
 -
 -      * keymap.c (access_keymap): Protect from bad value of meta_prefix_char.
 -
 -      * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp
 -      variable.
 -
 -2005-01-20  Steven Tamm  <steventamm@mac.com>
 -
 -      * editfns.c (Voperating_system_release): Add.
 -      (init_editfns): Assign new variable operating-system-release
 -      based on call to uname if available.
 -      (get_operating_system_release): Add function to
 -      allow c-level access to operating system release.
 -
 -      * config.h: Regenerated.
 -
 -      * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
 -      (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
 -      using ptys as '7'.
 -
 -2005-01-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean.
 -
 -      * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows.
 -      Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this.
 -
 -      * macterm.c (x_draw_glyph_string_box): Likewise.
 -
 -      * w32term.c (x_draw_glyph_string_box): Likewise.
 -
 -      * indent.c (Fvertical_motion): Temporarily disable selective display.
 -
 -2005-01-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer
 -      image property.
 -
 -      * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair.
 -
 -2005-01-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (fast_find_position): Backtrack to find first row if
 -      charpos is inside a display overlay that spans multiple lines.
 -
 -2005-01-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso2022): Translate invalid codes if
 -      translation-table is specified.
 -
 -2005-01-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28
 -      change.  If handle_display_prop indicates newline is replaced by
 -      image or text, move back to start of relevant overlay or interval
 -      and continue scan from there.  Simplify.
 -
 -2005-01-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (mode_line_string, marginal_area_string):
 -      Fix off-by-one error in search for glyph.
 -
 -2005-01-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
 -
 -2005-01-16  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (mac_to_x_fontname): Remove spurious argument.
 -
 -2005-01-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1.
 -
 -2005-01-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning
 -      fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *.
 -
 -2005-01-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
 -      (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
 -      New flags for readable_events.
 -      (get_filtered_input_pending, readable_filtered_events): Remove.
 -      (tracking_off): Call readable_events and get_input_pending with
 -      flag READABLE_EVENTS_DO_TIMERS_NOW.
 -      (readable_events): Move code from old readable_filtered_events here,
 -      but check new READABLE_EVENTS_* in argument flags instead of previous
 -      two boolean arguments do_timers_now and filter_events.
 -      If we are doing mouse tracking and the mouse moved, return only if
 -      READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
 -      (swallow_events): Call get_input_pending with flag
 -      READABLE_EVENTS_DO_TIMERS_NOW.
 -      (get_input_pending): Move code from old get_filtered_input_pending
 -      here.  Replace boolean arguments do_timers_now, filter_events with
 -      flags, and pass flags to readable_events.  Document new
 -      READABLE_EVENTS_* flags.
 -      (detect_input_pending_ignore_squeezables): New function.
 -      (detect_input_pending_run_timers): Call get_input_pending with flag
 -      READABLE_EVENTS_DO_TIMERS_NOW.
 -      (Finput_pending_p): Call get_input_pending with flags
 -      READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
 -
 -      * dispnew.c (update_window, update_frame_1): Replace calls to
 -      detect_input_pending with detect_input_pending_ignore_squeezables
 -      so that redisplay is not paused if the event queue contains only
 -      mouse movements.
 -
 -      * lisp.h: Declare detect_input_pending_ignore_squeezables.
 -
 -2005-01-15  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (Vmac_use_core_graphics): Declare variable for
 -      mac-allow-anti-aliasing.
 -      (syms_of_macterm): DEFVAR_LISP and initialize it.
 -      (mac_draw_string_common): Use core graphics text rendering if
 -      mac-allow-anti-aliasing is enabled.
 -
 -      * macfns.c (Fx_file_dialog): Save As dialog includes only the
 -      file name in the text box.
 -
 -2005-01-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (x_set_foreground_color, x_set_background_color):
 -      Sync with xfns.c.
 -      (mac_window, x_create_tip_frame): Use XSetWindowBackground.
 -      * macterm.c (XSetBackground, XSetWindowBackground): New functions.
 -      * macterm.h (XSetBackground, XSetWindowBackground): Add externs.
 -
 -2005-01-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE.
 -
 -2005-01-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map
 -      if Voverriding_terminal_local_map is non-nil.
 -
 -      * keyboard.c (syms_of_keyboard): Doc fix.
 -
 -2005-01-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (Fformat_mode_line): Fix last change.  Remove NO_PROPS arg
 -      (specify 0 for FACE instead).  Reorder arg list.  Doc fix.
 -
 -2005-01-12  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): New arg FACE specifies a default
 -      face property for characters that don't specify one.
 -
 -      * fns.c (Frequire): Record in load-history unconditionally.
 -
 -2005-01-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (merge_faces): Rename from merge_into_realized_face.
 -
 -      * xfaces.c (merge_faces): Rename from merge_into_realized_face.
 -      Callers changed.
 -      Add support to merge with lisp face id too (if face_name is t).
 -
 -      * xdisp.c (get_next_display_element, next_element_from_display_vector):
 -      Don't lookup lface_id from display table glyphs here; instead use
 -      merge_faces to merge the lisp face id into current face.
 -
 -2005-01-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct it): New member dpvec_face_id.
 -      (merge_into_realized_face): Add prototype.
 -
 -      * xfaces.c (merge_into_realized_face): New function.  Used to
 -      merge escape-glyph face or face from display table into current face.
 -
 -      * xdisp.c (Vshow_nonbreak_escape): New lisp var.
 -      (syms_of_xdisp): DEFVAR_LISP it.
 -      (escape_glyph_face): Remove var.
 -      (redisplay_window): Don't initialize it.
 -      (setup_for_ellipsis, get_next_display_element):
 -      Set it->dpvec_face_id to -1.
 -      (get_next_display_element): Test Vshow_nonbreak_escape.
 -      Do not setup escape_glyph_face.
 -      Properly merge escape-glyph face or face from display table with
 -      current face for escape and control characters.
 -      Set it->dpvec_face_id to relevant face id instead of adding it to each
 -      element of display vector.
 -      (next_element_from_display_vector): If it->dpvec_face_id is set,
 -      use that instead of lface_id from glyph itself.
 -
 -2005-01-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_output): New member, toolbar_detached.
 -
 -      * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
 -      38.
 -      (xg_tool_bar_detach_callback): Set toolbar_detached to 1.
 -      (xg_tool_bar_attach_callback): Set toolbar_detached to 0.
 -      (xg_create_tool_bar): Initialize toolbar_detached.
 -      (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
 -      toolbar_detached is zero.
 -
 -2005-01-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (create_and_show_popup_menu): Pass zero as button to
 -      gtk_menu_popup if not for_click, so callbacks for the menu are called.
 -
 -      * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
 -      (xg_tool_bar_callback, xg_tool_bar_help_callback)
 -      (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
 -
 -      * xselect.c (x_get_foreign_selection, x_fill_property_data)
 -      (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
 -      XFLOAT_DATA to get extract number from Lisp object.
 -
 -2005-01-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change.
 -      Set stop_charpos to current charpos instead of 0.
 -
 -2005-01-06  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * xdisp.c (Fformat_mode_line): First arg now required.
 -
 -2005-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XLoadQueryFont): Correctly handle 0 size
 -      font widths that are returned from some Japanese fonts.
 -
 -2005-01-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (fringe_faces): Change to Lisp_Object pointer.
 -      (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
 -      (destroy_fringe_bitmap): Set fringe_faces element to nil.
 -      (Fdefine_fringe_bitmap, init_fringe): Change allocation of
 -      fringe_faces array and init elements to nil.
 -      (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
 -      non-persistent face id.
 -      (mark_fringe_data): New function for GC.
 -
 -      * alloc.c (mark_fringe_data): Declare extern.
 -      (Fgarbage_collect): Call mark_fringe_data.
 -
 -      * alloc.c (overrun_check_free): Invalidate freed memory if
 -      XMALLOC_CLEAR_FREE_MEMORY is defined.
 -
 -2005-01-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c: Include sys/param.h.
 -      [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
 -      and function.
 -      [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
 -      of filename string.  Set event callback function when creating
 -      dialog boxes.  Add code conversions for filenames.  Don't dispose
 -      of apple event descriptor record if failed to create it.
 -
 -      * macterm.c: Include sys/param.h.
 -      [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
 -      kEventWindowUpdate.
 -      (install_window_handler) [USE_CARBON_EVENTS]: Register it.
 -      (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
 -      of FSSpec from apple event descriptor record.
 -      (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
 -      size of filename string.
 -      [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
 -      [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
 -      file dialog is in action.
 -      [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
 -      Reject only when there are no filename items.  Set background color
 -      before (un)highlighting the window below the dragged items.
 -      (XTread_socket) [USE_CARBON_EVENTS]: Don't call do_window_update.
 -
 -2005-01-05  Romain Francoise  <romain@orebokech.com>
 -
 -      * term.c (encode_terminal_code): Fix buffer size computation.
 -
 -2005-01-04  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Doc fix.
 -
 -2005-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (refill_memory_reserve): Move.
 -      (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
 -      (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
 -
 -2005-01-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (window_scroll_pixel_based): Don't correct preserve_y
 -      for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
 -
 -2005-01-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
 -      fontp->space_width to FONT_WIDTH so they are valid.
 -
 -      * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
 -      average width.  Set fontp->average_width and fontp->space_width to
 -      their appropriate values.
 -
 -      * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
 -      fontp->average_width, not FONT_WIDTH.  Set FRAME_SPACE_WIDTH to
 -      fontp->space_width.
 -
 -2005-01-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
 -      (x_font_min_bounds, XLoadQueryFont): Use the correct font width
 -      metrics for max and min bounds.
 -      (x_load_font): Correctly calculate average font width metrics.
 -
 -2005-01-02  Richard M. Stallman  <rms@gnu.org>
 -
 -      * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
 -
 -2004-12-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
 -
 -2004-12-31  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (setup_for_ellipsis, get_next_display_element):
 -      Set it->ellipsis_p to 1 or 0.
 -      (display_line): Record whether row ends in mid-ellipsis.
 -      (set_cursor_from_row): If ends in ellipsis, find start of it.
 -      (cursor_row_p): If PT's at the end of the ellipsis the row
 -      ends within, don't display cursor on this row.
 -
 -      * dispextern.h (struct it): New element ellipsis_p.
 -      (struct glyph_row): New element ends_in_ellipsis_p.
 -
 -      * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
 -      position if we're reading from something other than the buffer.
 -
 -      * window.c (window_scroll_pixel_based): Only look at
 -      Vscroll_preserve_screen_position if the old PT can't be kept.
 -      (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
 -
 -2004-12-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_line_height_property): New function extracted from
 -      original calc_line_height_property.
 -      (calc_line_height_property): Rework.  Handle t and (nil . ratio).
 -      (x_produce_glyphs): Use them to handle line-height and
 -      line-spacing according to new height spec.
 -      (Qtotal): Remove.
 -      (syms_of_xdisp): Remove intern and staticpro for Qtotal.
 -
 -2004-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Don't use
 -      current_buffer->buffer_file_coding_system even if REPLACE is
 -      non-nil.  Call Qafter_insert_file_set_coding with the second arg VISIT.
 -
 -      * fontset.h (struct font_info): New members space_width and
 -      average_width.
 -
 -      * frame.h (struct frame): New member space_width.
 -      (FRAME_SPACE_WIDTH): New macro.
 -
 -      * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
 -
 -      * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
 -      fontp->average_width, not FONT_WIDTH.  Set FRAME_SPACE_WIDTH to
 -      fontp->space_width.
 -      (x_load_font): Calculate fontp->space_width and fontp->average_width.
 -      (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
 -
 -      * xdisp.c (x_produce_glyphs): Calculate tab width by
 -      FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
 -
 -2004-12-29  Sanghyuk Suh  <han9kin@mac.com>
 -
 -      * macterm.c (SelectionRange): Add Xcode position apple event struct.
 -      (do_ae_open_documents): Handle Xcode-style file position open events.
 -
 -2004-12-29  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
 -
 -2004-12-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
 -
 -2004-12-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (install_window_handler): Modify extern to return OSErr
 -      value.
 -      (mac_window): Handle return value of install_window_handler.
 -
 -      * macterm.c (reflect_byte): Remove function.
 -      (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
 -      Lookup table instead.
 -      (mac_do_font_lists): Simplify calculation of the longest
 -      nonspecial string.
 -      (init_mac_drag_n_drop): Remove function and declaration.
 -      (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
 -      init_mac_drag_n_drop.
 -      (mac_do_track_drag): New function and declaration.
 -      (install_window_handler): Return OSErr value.
 -      (install_window_handler) [TARGET_API_MAC_CARBON]:
 -      Register handlers for tracking/receiving drag-and-drop items.
 -      (do_ae_open_documents): Generate unibyte strings for filenames.
 -      (mac_do_receive_drag) [TARGET_API_MAC_CARBON]: Likewise.
 -      Reject only non-filename items.  Set event modifiers, and return value.
 -
 -2004-12-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * coding.c (decode_coding): Fix previous change.
 -
 -2004-12-28  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (back_to_previous_visible_line_start):
 -      Don't call handle_display_prop.
 -
 -2004-12-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
 -      (decode_coding_emacs_mule, encode_coding_emacs_mule)
 -      (decode_coding_iso2022, encode_designation_at_bol)
 -      (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
 -      (decode_coding): Constify arguments and local vars.
 -
 -2004-12-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (popup_get_selection): Only pop down dialogs
 -      on C-g and Escape.
 -      (popup_get_selection): Remove parameter down_on_keypress.
 -      (create_and_show_popup_menu, create_and_show_dialog):
 -      Remove parameter down_on_keypress to popup_get_selection.
 -
 -2004-12-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h: Change HAVE_CARBON to MAC_OS.
 -      (struct glyph_string): Likewise.
 -
 -      * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
 -      mac_initialize.
 -
 -      * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
 -      Change TARGET_API_MAC_CARBON to HAVE_CARBON.
 -
 -      * fns.c (vector): Change MAC_OSX to MAC_OS.
 -
 -      * frame.c (x_set_frame_parameters, x_report_frame_params)
 -      (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
 -      (x_set_border_width, Vdefault_frame_scroll_bars):
 -      Change HAVE_CARBON to MAC_OS.
 -
 -      * image.c [MAC_OS]: Include sys/stat.h.
 -      [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
 -      QuickTimeComponents.h.
 -
 -      * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
 -      [!MAC_OSX] (select): Use mac_wait_next_event.
 -      [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
 -      [!MAC_OSX] (select, run_mac_command): Change `#ifdef
 -      TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
 -      (mac_clear_font_name_table): Add extern.
 -      (Fmac_clear_font_name_table): New defun.
 -      (syms_of_mac): Defsubr it.
 -      [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
 -      [MAC_OSX] (select_and_poll_event): New function.
 -      [MAC_OSX] (sys_select): Use it.
 -      [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
 -      [MAC_OSX && SELECT_USE_CFSOCKET]
 -      (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
 -      [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
 -      RunLoop for simultaneously monitoring two kinds of inputs, window
 -      events and process outputs, without periodically polling.
 -
 -      * macfns.c (mac_initialized): Remove extern.
 -      (stricmp): Put in #if 0.  All callers changed to use xstricmp in
 -      xfaces.c.
 -      (strnicmp): Decrement `n' at the end of each loop, not the beginning.
 -      (check_mac): Use the term "Mac native windows" instead of "Mac OS".
 -      (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
 -      (mac_get_rdb_resource): New function (from w32reg.c).
 -      (x_get_string_resource): Use it.
 -      (install_window_handler): Add extern.
 -      (mac_window): New function.
 -      (Fx_create_frame): Use it instead of make_mac_frame.
 -      Set parameter for Qfullscreen.  Call x_wm_set_size_hint.
 -      (Fx_open_connection, Fx_close_connection): New defuns.
 -      (syms_of_macfns): Defsubr them.
 -      (x_create_tip_frame) [TARGET_API_MAC_CARBON]:
 -      Add kWindowNoUpdatesAttribute to the window attribute.
 -      (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
 -      (x_create_tip_frame): Don't call ShowWindow.
 -      (Fx_show_tip): Call ShowWindow.
 -      (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
 -      TARGET_API_MAC_CARBON'.
 -      (mac_frame_parm_handlers): Set handlers for Qfullscreen.
 -      (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
 -
 -      * macgui.h [!MAC_OSX]: Don't include Controls.h.  Include Windows.h.
 -      (Window): Typedef to WindowPtr and move outside `#if
 -      TARGET_API_MAC_CARBON'.
 -      (XSizeHints): New struct.
 -
 -      * macterm.c (x_update_begin, x_update_end)
 -      [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
 -      frame.
 -      (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
 -      [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
 -      (construct_mouse_click): Put in #if 0.
 -      (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
 -      (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
 -      TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
 -      (activate_scroll_bars, deactivate_scroll_bars)
 -      [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
 -      (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
 -      if the position is neither user-specified nor program-specified.
 -      (x_free_frame_resources): Free size_hints.
 -      (x_wm_set_size_hint): Allocate size_hints if needed.  Set size_hints.
 -      (mac_clear_font_name_table): New function.
 -      (mac_do_list_fonts): Initialize font_name_table if needed.
 -      (x_list_fonts): Don't initialize font_name_table.  Add BLOCK_INPUT
 -      around mac_do_list_fonts.
 -      (mac_unload_font): New function.
 -      (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
 -      (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
 -      and definitions with #if TARGET_API_MAC_CARBON.
 -      [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
 -      (install_window_handler): Add decl.
 -      (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
 -      window.  Use UpdateControls.  Get the rectangle that should be
 -      updated and restrict the target of expose_frame to it.
 -      (do_grow_window): Set minimum height/width according to size_hints.
 -      (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
 -      (do_zoom_window): Don't use x_set_window_size.
 -      [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
 -      (install_window_handler): New function.
 -      [!USE_CARBON_EVENTS] (mouse_region): New variable.
 -      [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
 -      (XTread_socket) [USE_CARBON_EVENTS]: Move call to
 -      GetEventDispatcherTarget inside BLOCK_INPUT.
 -      (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
 -      Update mouse_region when mouse is moved.
 -      (make_mac_frame): Remove.
 -      (make_mac_terminal_frame): Put in #ifdef MAC_OS8.
 -      Initialize mouse pointer shapes.  Change values of f->left_pos and
 -      f->top_pos.  Don't use make_mac_frame.  Use NewCWindow.
 -      Don't call ShowWindow.
 -      (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
 -      Vinvocation_name and Vsystem_name.
 -      (mac_make_rdb): New function (from w32term.c).
 -      (mac_term_init): Use it.  Add BLOCK_INPUT.  Error if display has
 -      already been opened.  Don't pass argument to
 -      mac_initialize_display_info.  Don't set dpyinfo->height/width.
 -      Add entries to x_display_list and x_display_name_list.
 -      (x_delete_display): New function.
 -      (mac_initialize): Don't call mac_initialize_display_info.
 -      (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
 -
 -      * macterm.h (check_mac): Add extern.
 -      (struct mac_output): New member size_hints.
 -      (FRAME_SIZE_HINTS): New macro.
 -      (mac_unload_font): Add extern.
 -
 -      * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
 -
 -      * xfaces.c (clear_font_table) [MAC_OS]: Call mac_unload_font.
 -
 -2004-12-27  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
 -      (syms_of_buffer): Don't defsubr it.
 -
 -      * process.c (list_processes_1): Set undo_list instead
 -      of calling Fbuffer_disable_undo.
 -
 -      * xdisp.c (single_display_spec_string_p): Rename from
 -      single_display_prop_string_p.
 -      (single_display_spec_intangible_p): Rename from
 -      single_display_prop_intangible_p.
 -      (handle_single_display_spec): Rename from handle_single_display_prop.
 -      Rewritten to be easier to understand.
 -
 -      Change in load-history format.  Functions now get (defun . NAME),
 -      and variables get just NAME.
 -
 -      * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
 -
 -      * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
 -      (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
 -      (Qdefvar): Var deleted.
 -      (syms_of_eval): Don't initialze it.
 -
 -      * lread.c (syms_of_lread) <load-history>: Doc fix.
 -
 -2004-12-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (popup_get_selection): Pop down on C-g.
 -      (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
 -      pops down menu on C-g.
 -      (xdialog_show): If dialog popped down and no button in the dialog was
 -      pushed, call Fsignal to quit.
 -      (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
 -      Fsignal to quit.
 -
 -      * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
 -
 -      * gtkutil.c (xg_initialize): Install bindings for C-g so that
 -      dialogs and menus pop down.
 -
 -2004-12-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_convert_region): Fix calculation of `ratio'.
 -
 -2004-12-25  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Make the value of
 -      tool-bar-button-margin control margins of images in tool bar.
 -
 -      * alloc.c (check_depth): New variable.
 -      (overrun_check_malloc, overrun_check_realloc): Only add
 -      overhead and write check pattern if check_depth is 1 (to handle
 -      recursive calls).  Increase/decrease check_depth in entry/exit.
 -      (overrun_check_free): Only check for overhead if check_depth is 1.
 -      Increase/decrease check_depth in entry/exit.
 -
 -2004-12-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
 -      before touching input_available_clear_time, to avoid accessing it
 -      from multiple threads.
 -
 -2004-12-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
 -      of JPEG library.
 -
 -2004-12-22  Richard M. Stallman  <rms@gnu.org>
 -
 -      * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
 -
 -      * lisp.h (Vundo_outer_limit): Fix decl.
 -
 -      * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
 -      Uses changed.
 -      (syms_of_undo): Initialize appropriately.
 -      (truncate_undo_list): If it's nil, there's no limit.
 -
 -2004-12-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
 -
 -2004-12-21  Richard M. Stallman  <rms@gnu.org>
 -
 -      * eval.c (unwind_to_catch): Clear immediate_quit.
 -
 -      * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
 -      specially as `\ ' and `\-'.
 -
 -      * keyboard.c (kbd_buffer_store_event_hold):
 -      In the code for while-no-input, handle immediate_quit.
 -
 -      * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
 -      Call that at the very start.
 -      (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
 -      (syms_of_alloc): Don't define undo-limit,
 -      undo-strong-limit and undo-outer-limit here.
 -
 -      * undo.c (truncate_undo_list): Return void.
 -      Take just one argument, the buffer.
 -      Make it current, and inhibit recursive GC.
 -      Access and update the undo list directly; return void.
 -      Refer to the undo...limit variables directly.
 -      Test undo_outer_limit only after counting the whole current command.
 -      When it's exceeded, call the function in undo-outer-limit-function.
 -      (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
 -      (Vundo_outer_limit_function): New variable.
 -      (syms_of_undo): Define undo-limit, undo-strong-limit
 -      and undo-outer-limit here, and undo-outer-limit-function.
 -      Doc fixes.
 -
 -      * lisp.h (truncate_undo_list): Update decl.
 -
 -2004-12-21  Piet van Oostrum  <piet@cs.uu.nl>
 -
 -      * fileio.c (Fread_file_name): Delete duplicates in
 -      file-name-history when history_delete_duplicates is true.
 -
 -2004-12-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_do_list_fonts): Fix memory leak
 -
 -2004-12-20  Richard M. Stallman  <rms@gnu.org>
 -
 -      * regex.c (re_match_2_internal) <symend, wordend>:
 -      Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
 -
 -2004-12-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (endif, x_font_name_to_mac_font_name):
 -      Use maccentraleurroman instead of maccentraleuropean
 -      (mac_c_string_match, mac_do_list_fonts): Speed up font search by
 -      quickly finding a specific font without needing regexps.
 -
 -2004-12-15  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * syssignal.h: Declare main_thread.
 -      (SIGNAL_THREAD_CHECK): New macro.
 -
 -      * keyboard.c (input_available_signal): Move thread checking code
 -      to macro SIGNAL_THREAD_CHECK and call that macro.
 -      (interrupt_signal): Call SIGNAL_THREAD_CHECK.
 -
 -      * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
 -
 -      * emacs.c: Define main_thread.
 -      (main): Initialize main_thread.
 -      (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
 -      (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
 -
 -      * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
 -
 -      * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
 -
 -      * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
 -
 -      * process.c (send_process_trap, sigchld_handler):
 -      Call SIGNAL_THREAD_CHECK.
 -
 -      * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
 -
 -      * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
 -
 -      * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
 -      returning when xg_ignore_gtk_scrollbar is true.
 -
 -2004-12-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (read_char): Save and restore echo_string when
 -      handling input method.
 -
 -2004-12-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * eval.c (syms_of_eval) <quit-flag>: Doc fix.
 -
 -      * keyboard.c (Vthrow_on_input): New variable.
 -      (syms_of_keyboard): Defvar and initialize it.
 -      (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
 -
 -      * lisp.h (QUIT): Check for Vthrow_on_input.
 -      (Vthrow_on_input): Declare it.
 -
 -2004-12-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
 -      vector.
 -
 -2004-12-12  Richard M. Stallman  <rms@gnu.org>
 -
 -      * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
 -
 -      * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
 -      (Ftry_completion): Really use outer `zero'; eliminate inner one.
 -
 -2004-12-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_code): Fix previous change.
 -
 -2004-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (handle_async_input): Remove pthread mutex handling.
 -      (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
 -
 -      * syntax.c (Fforward_word): Avoid non-idempotent side-effects
 -      in macro arguments.
 -
 -      * minibuf.c (Ftry_completion, Fall_completions): Don't use
 -      XFASTINT blindly.
 -
 -      * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
 -
 -2004-12-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * w32term.c (x_calc_absolute_position): Remove calculation of
 -      difference between inner and outer window.  Don't subtract difference
 -      for left and top calculations.
 -
 -      * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
 -      for left and top calculations.  Remove call to x_real_positions.
 -      [Bug report by Drew Adams in November.]
 -      (x_check_expected_move): Do not set change_gravity to 1 when calling
 -      x_set_offset.
 -
 -2004-12-08  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element): Use `escape-glyph' for
 -      control chars and escaped octal codes.
 -      (Qescape_glyph): New variable.
 -      (syms_of_xdisp): Initialize it.
 -      (escape_glyph_face): New variable.
 -      (redisplay_window): Initialize it.
 -
 -2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
 -      (init_image): Use 1 rather than TRUE.  TRUE's not always defined.
 -
 -2004-12-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
 -      reset_malloc_hooks.
 -
 -      * keyboard.c (handle_async_input, input_available_signal):
 -      Add ! defined (SYSTEM_MALLOC) around thread code.
 -
 -      * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
 -
 -2004-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
 -
 -      * config.in: Regenerate.
 -
 -2004-12-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (Fx_popup_menu): Correct documentation about position.
 -      (xmenu_show): Do not call XTranslateCoordinates.  Adjust position
 -      if not given by a mouse click to correspond with x-popup-menu
 -      documentation.
 -
 -      * config.in: Regenerate.
 -
 -      * gtkutil.c: Include signal.h and syssignal.h.
 -      (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
 -
 -      * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
 -      new variables main_thread and alloc_mutex,
 -      define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
 -      emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
 -      If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same
 -      as (UN)BLOCK_INPUT.
 -      (emacs_blocked_free, emacs_blocked_malloc)
 -      (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
 -      (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
 -      (reset_malloc_hooks): New function.
 -
 -      * lisp.h: Declare reset_malloc_hooks.
 -
 -      * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
 -
 -      * keyboard.c: Conditionally include pthread.h.
 -      (handle_async_input, input_available_signalt): If not in the main
 -      thread, block signal, send signal to main thread and return.
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
 -      Set current folder in file chooser if default_filename is a directory.
 -
 -2004-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
 -      Remove redundant correctness checks.
 -      (regex_compile): Fix up error codes for \{..\} expressions.
 -
 -2004-12-05  Richard M. Stallman  <rms@gnu.org>
 -
 -      * regex.c (regex_compile): Fix end-of-pattern case for space.
 -
 -2004-12-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
 -      * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
 -      crashes with invalid characters.
 -      * macmenu.c (add_menu_item): Use it.
 -      * image.c (image_load_quartz2d): Likewise.
 -      * macfns.c (x_set_name, x_set_title): Likewise.
 -      (Fx_file_dialog): Likewise.  Use constant CFRefs instead of
 -      creating them each time for labels.
 -
 -2004-12-02  Richard M. Stallman  <rms@gnu.org>
 -
 -      * config.in (RE_TRANSLATE_P): If make_number is not a macro,
 -      don't use it here.
 -
 -      * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
 -      (interactive_p): Skip Scalled_interactively_p frames
 -      like Sinteractive_p frames.
 -      (unwind_to_catch): Clear handling_signal.
 -
 -      * data.c (Fmake_variable_buffer_local): Doc fix.
 -      (Fmake_local_variable): Doc fix.
 -
 -      * insdel.c (insert_from_string_before_markers)
 -      (insert_from_string): Don't modify buffer on empty insertion.
 -
 -      * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
 -
 -2004-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
 -      menu text as UTF8 fails.
 -
 -2004-12-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c: Add commentary for last change.
 -      (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
 -      sizeof(size_t) != 4.
 -      (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
 -      Use them.  Also clear header and trailer of freed memory.
 -      (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
 -      (string_overrun_cookie): Rename from string_overrun_pattern.
 -      (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
 -
 -2004-12-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h: Declare string_to_multibyte.
 -
 -2004-12-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * w32console.c (w32con_write_glyphs): Decide coding here.
 -      Adjusted for the change of encode_terminal_code.
 -
 -      * term.c (encode_terminal_code): Don't make it "static".
 -
 -2004-11-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
 -      (encode_terminal_code): Argument changed.  Encode all
 -      characters at once, and return a pointer to the result of encoding.
 -      (write_glyphs): Decide coding here.  Adjusted for the above change.
 -      (insert_glyphs): Likewise.
 -      (term_init): Initialize encode_terminal_bufsize to 0.
 -
 -      * coding.c (Vcode_conversion_workbuf_name): New variable.
 -      (syms_of_coding): Initialize and staticpro it.
 -      (set_conversion_work_buffer): New function.
 -      (run_pre_post_conversion_on_str): Use it.
 -      (run_pre_write_conversin_on_c_str): New function.
 -
 -      * coding.h (run_pre_write_conversin_on_c_str): Extern it.
 -
 -2004-11-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c: Don't undef SIGIO
 -      * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
 -      * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
 -      (macfns.o): Don't depend on ccl.h.
 -      * macfns.c (mac_frame_parm_handlers): Set handlers for
 -      Qleft_fringe and Qright_fringe.
 -      * macterm.c (mac_fill_rectangle_to_pixmap)
 -      (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
 -      (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
 -      Put in #if 0.
 -      (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
 -      (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
 -      (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
 -      (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
 -      [!MAC_OS8]: Added ifdef'd out code for os8.  Don't use
 -      XDrawImageString.  Always draw background and foreground separately.
 -      (x_draw_image_foreground): Use clipping instead of computing the
 -      intersection rectangle.
 -      (x_draw_image_glyph_string): Don't draw an image with mask to a
 -      pixmap.
 -      (x_redisplay_interface): Set flush_display_optional member to 0.
 -      (XTread_socket): Correctly reset the TEConverter
 -      object.
 -
 -2004-11-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h: New defines to enable buffer overrun checking.
 -      (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
 -      (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
 -
 -      * alloc.c: Add more checks for buffer overruns.
 -      (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
 -      xmalloc_overrun_check_trailer, overrun_check_malloc)
 -      overrun_check_realloc, overrun_check_free): Add.
 -      (GC_STRING_EXTRA, string_overrun_pattern): Add.
 -      (check_sblock, allocate_string_data, compact_small_strings):
 -      Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
 -      (check_cons_list): Condition on GC_CHECK_CONS_LIST.
 -      (check_string_free_list): Add.
 -      (allocate_string, sweep_strings): Call check_string_free_list.
 -
 -      * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
 -      XMALLOC_OVERRUN_CHECK to avoid crash during load.
 -
 -2004-11-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (concat): Use SAFE_ALLOCA.
 -
 -2004-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * sysdep.c (emacs_write): Don't use QUIT.
 -
 -2004-11-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (init_buffer): Set current_buffer->directory to a
 -      multibyte string made by string_to_multibyte.
 -
 -      * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
 -
 -2004-11-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
 -
 -      * s/gnu-linux.h: Enable no-op gcpros on ia64.
 -      (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
 -
 -      * filelock.c (lock_file_1): Call get_boot_time early.
 -      Increase buffer size.
 -
 -2004-11-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
 -      is not defined.
 -
 -2004-11-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
 -      marker out of doc string.
 -
 -2004-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
 -      which was not mentioned in the log.
 -
 -2004-11-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (update_window_fringes): Prefer truncation bitmaps over
 -      angle bitmaps at top/bottom line.
 -
 -      * xdisp.c: Undo recent changes for restoring saved_face_id.  Instead,
 -      set it when it->method is set to next_element_from_display_vector.
 -      (setup_for_ellipsis): Add LEN argument.  Callers changed.
 -      Set it->saved_face_id.
 -      (get_next_display_element): Use loop instead of recursion.
 -      Set it->saved_face_id.  Combine duplicate code for ctr chars.
 -      (next_element_from_display_vector): Do not set it->saved_face_id.
 -      (next_element_from_ellipsis): Use setup_for_ellipsis.
 -
 -2004-11-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
 -      prevent compiler warnings.
 -
 -2004-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (command_loop_1): Print a message describing the key
 -      the user just pressed when this key has no binding.
 -
 -      * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
 -      (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
 -
 -      * lread.c (readchar): Check QUIT when `getc' is interrupted.
 -
 -2004-11-24  Richard M. Stallman  <rms@gnu.org>
 -
 -      * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
 -
 -      * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
 -
 -2004-11-24  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_in_display_line_to, display_line):
 -      Restore saved_face_id also when truncate-lines or hscrolled.
 -
 -2004-11-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
 -      x-use-old-gtk-file-dialog.
 -
 -      * xfns.c: Define x_use_old_gtk_file_dialog.
 -      (syms_of_xfns): Rename use-old-gtk-file-dialog to x-...  Move it
 -      outside ifdef USE_GTK.
 -
 -2004-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
 -      Don't use XFASTINT blindly.
 -
 -      * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
 -
 -      * indent.c (skip_invisible): Avoid non-idempotent side-effects
 -      in macro arguments.
 -
 -      * keymap.c (Flookup_key): Check INTEGERP before XINT.
 -
 -      * lread.c (oblookup): Don't use XFASTINT blindly.
 -
 -      * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
 -      (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
 -
 -2004-11-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
 -      (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
 -
 -      * xfaces.c (lookup_named_face): Add signal_p arg.  Return -1 if
 -      signal_p is zero and face name is unknown.
 -      (Fx_list_fonts): Don't signal error in lookup_named_face.
 -      (Fface_font): Signal error in lookup_named_face.
 -      (ascii_face_of_lisp_face): Likewise.
 -
 -      * dispextern.h (lookup_named_face): Fix prototype.
 -
 -      * xdisp.c (handle_single_display_prop): Don't signal error in
 -      lookup_named_face for unknown fringe face name.
 -      (highlight_trailing_whitespace): Don't signal error in
 -      lookup_named_face if trailing-whitespace face unknown.
 -      (calc_line_height_property): Don't signal error in
 -      lookup_named_face if specified face name is unknown.
 -
 -      * fringe.c (update_window_fringes): Show top row indicator if
 -      window has header-line.  Don't show arrow at bob and eob
 -      if the boundary indicators are not used.
 -      (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
 -
 -      * window.c (set_window_buffer): Clear display_error_modiff.
 -
 -2004-11-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (update_window_fringes): Provide sensible fall-back
 -      value for non-nil indicate-buffer-boundaries setting.
 -
 -2004-11-22  Markus Rost  <rost@ias.edu>
 -
 -      * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
 -
 -2004-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fdefvar): Warn when var is let-bound but globally void.
 -
 -2004-11-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
 -
 -      * xterm.c (x_clip_to_row): Add area arg.  Callers changed.
 -      (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
 -
 -      * w32term.c (w32_clip_to_row): Add area arg.  Callers changed.
 -      (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
 -
 -      * macterm.c (x_clip_to_row): Add area arg.  Callers changed.
 -      (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
 -
 -      * xdisp.c (move_it_in_display_line_to, display_line):
 -      Restore saved_face_id if overflow-newline-into-fringe is enabled and
 -      line is continued before or in middle of element from display vector.
 -
 -      * indent.c (Fvertical_motion): Fix last change.  Use another
 -      method to detect if iterator moved too far ahead after reseat.
 -
 -      * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro.  Do not
 -      expand matrix width for overflow in zero-width area.
 -      (append_glyph, append_composite_glyph, produce_image_glyph)
 -      (append_stretch_glyph): Use it to avoid loop in redisplay.
 -      (note_mode_line_or_margin_highlight): Don't let help-echo from
 -      string override help-echo from image map.
 -
 -2004-11-20  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
 -      * callint.c (Fcall_interactively): Ditto.
 -
 -2004-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * minibuf.c (Fminibuffer_complete_and_exit):
 -      Fixup the case of the completed value, for case-indep completion.
 -
 -2004-11-20  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lisp.h (Fread_from_minibuffer): Add arg in decl.
 -
 -      * minibuf.c (read_minibuf): New arg KEEP_ALL.  Callers changed.
 -      (Fread_from_minibuffer): New arg KEEP_ALL.  Callers changed.
 -
 -      * search.c (Vsearch_spaces_regexp):
 -      Rename from Vsearch_whitespace_regexp.  All uses changed.
 -
 -2004-11-20  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
 -
 -2004-11-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * search.c (Vsearch_whitespace_regexp): New variable.
 -      (syms_of_search): Defvar it.
 -      (compile_pattern_1): Call re_set_whitespace_regexp with it.
 -      (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
 -      is non-nil.
 -      (struct regexp_cache): New element whitespace_regexp.
 -      (syms_of_search): Initialize whitespace_regexp elements.
 -      (compile_pattern): Compare whitespace_regexp elements.
 -      (compile_pattern_1): Set whitespace_regexp elements.
 -
 -      * regex.c (regex_compile): Substitute whitespace_regexp
 -      for spaces, if it is nonzero.
 -      (whitespace_regexp): New variable.
 -      (re_set_whitespace_regexp): New function.
 -
 -2004-11-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * indent.c (Fvertical_motion): Fix last change.
 -
 -2004-11-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * indent.c (Fvertical_motion): Undo 2004-11-16 change.
 -      Instead, move back again if reseating moves too far ahead.
 -
 -2004-11-17  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * xdisp.c (message3): Call clear_message.
 -
 -2004-11-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
 -
 -2004-11-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
 -
 -      * xmenu.c (x_menu_in_use): Remove.
 -      (x_menu_set_in_use): Also set popup_activated_flag.
 -
 -      * xfns.c (Fx_file_dialog): Call popup_activated instead of
 -      x_menu_in_use.  Call x_menu_set_in_use in Motif version also.
 -
 -      * xterm.h (x_menu_in_use): Remove.
 -
 -2004-11-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keymap.c (Fmap_keymap): New arg SORT-FIRST.
 -      Use map-keymap-internal to implement that.
 -
 -      * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
 -
 -2004-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
 -      a window before using XWINDOW.
 -
 -      * window.c (make_window, Fselect_window, make_dummy_parent)
 -      (save_window_save):
 -      * frame.c (make_frame):
 -      * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
 -
 -      * lisp.h (NILP): Use EQ rather than XFASTINT.
 -
 -2004-11-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (Fdefine_fringe_bitmap): Always set 'h'.  Simplify.
 -
 -      * indent.c (Fvertical_motion): Fix last change.  Only reseat when
 -      moving backwards.
 -
 -2004-11-16  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * dispextern.h: Extern reseat_at_previous_visible_line_start.
 -
 -2004-11-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (display_mode_element): Fix previous change (calculate
 -      end position of substring to display correctly).
 -
 -2004-11-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
 -      Reported by Andrew M. Scott.
 -
 -2004-11-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (Fsafe_plist_get): New defun.
 -      (syms_of_fns): Defsubr it.
 -
 -      * lisp.h (Fsafe_plist_get): Add EXFUN.
 -
 -      * xdisp.c (store_mode_line_string, produce_stretch_glyph):
 -      Use Fsafe_plist_get.
 -      (note_mode_line_or_margin_highlight, note_mouse_highlight):
 -      Fix image map element parsing.  Use Fsafe_plist_get.
 -
 -2004-11-15  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element): Fix previous change.
 -
 -2004-11-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * window.c (shrink_windows): Handle special case of one window left
 -      when trying to shrink the final reminder.  Grow windows if
 -      total_removed is less than total_shrink.
 -
 -      * xmenu.c (pop_down_menu): Remove global variable current_menu,
 -      extract pointer from arg with XSAVE_VALUE.
 -      (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
 -      Construct arg to record_unwind_protect with make_save_value.
 -
 -2004-11-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
 -      (get_next_display_element): Fix previous change to apply only to \n.
 -
 -      * indent.c (Fvertical_motion): Scan to PT from start of line to
 -      make iterator consistent.
 -
 -      * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
 -
 -2004-11-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
 -
 -      * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
 -      Record unwind with clean_up_file_dialog.
 -
 -      * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
 -      Declare.
 -
 -      * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
 -
 -2004-11-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
 -      (xg_file_sel_destroy): Remove.
 -      (xg_file_response_cb, pop_down_file_dialog)
 -      (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
 -      New functions.
 -      (xg_get_file_with_chooser, xg_get_file_with_selection):
 -      Take new arg func, set it to xg_get_file_name_from_chooser/selector.
 -      Move common code to xg_get_file_name.  Return widget created.
 -      (xg_get_file_name): Set name, transient for, modal and destroy
 -      with parent here.  Connect response signal to xg_file_response_cb,
 -      connect delete-event to gtk_true.  Record pop_down_file_dialog
 -      for unwind.  Do event loop and call x_menu_wait_for_event in loop.
 -      (xg_create_widget): Make dialogs modal.
 -
 -      * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
 -      Lisp_Object.
 -      (popup_get_selection): Move unwind protect ...
 -      (create_and_show_popup_menu, create_and_show_dialog): ... to here.
 -      Move destroy of widget to pop_down_menu.
 -      (popup_widget_loop): Move unwind protect ...
 -      (create_and_show_popup_menu, create_and_show_dialog): ... to here.
 -      Move destroy of widget to pop_down_menu.
 -      (pop_down_menu): BLOCK_INPUT and destroy widget/window.
 -      (xmenu_show): Record unwind pop_down_menu.  Move XMenuDestroy,
 -      x_mouse_leave and grabbed = 0 to pop_down_menu.
 -
 -2004-11-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (make_cursor_line_fully_visible_p): New variable.
 -      (syms_of_xdisp): DEFVAR_BOOL it.
 -      (make_cursor_line_fully_visible, try_cursor_movement)
 -      (try_window_id): Use it.
 -
 -2004-11-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct glyph_row): New member extra_line_spacing.
 -      (struct it): New member max_extra_line_spacing.
 -      (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
 -      (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
 -      (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
 -      part of last line is only extra line spacing (so the text on the
 -      line is fully visible).  Use helper macros.
 -      Add W arg (to use them).  All callers changed.
 -      (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
 -      (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
 -
 -      * window.c (window_scroll_pixel_based, Frecenter):
 -      Use move_it_vertically_backward directly.
 -      (Frecenter): Fix calculation of new start pos for negative arg.
 -      Before, the new start pos was sometimes chosen too far back, so
 -      the last line became only partially visible, and thus would be
 -      either only semi-visible or automatically scrolled to the middle
 -      of the window by redisplay.
 -
 -      * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
 -      (move_it_vertically_backward): Don't recure to move further back.
 -      (move_it_vertically): Remove superfluous condition.
 -      (move_it_by_lines): Clear last_height when moved 0 lines.
 -      (resize_mini_window): Use it.max_extra_line_spacing.
 -      (display_tool_bar_line): Clear row->extra_line_spacing.
 -      (try_scrolling): Use move_it_vertically_backward directly.
 -      (redisplay_window): Likewise.
 -      (compute_line_metrics): Set row->extra_line_spacing.
 -      (display_line, display_string): Likewise.
 -      (x_produce_glyphs): Update it->max_extra_line_spacing.
 -
 -      * xmenu.c (pop_down_menu): Return nil.
 -
 -2004-11-12  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_menu_wait_for_event): New function.
 -      (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
 -      to handle timers.
 -      (popup_widget_loop): Add argument do_timers.
 -      (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
 -      do_timers to popup_widget_loop.
 -      (xmenu_show): Call XMenuActivateSetWaitFunction so that
 -      x_menu_wait_for_event is called by XMenuActivate.
 -      (create_and_show_popup_menu): Pass 1 for do_timers to
 -      popup_get_selection.
 -      (pop_down_menu): New function.
 -      (popup_get_selection, popup_widget_loop): Unwind protect to
 -      pop_down_menu.
 -      (popup_widget_loop): Add argument widget.
 -      (create_and_show_popup_menu, create_and_show_dialog): Pass new
 -      argument widget to popup_widget_loop.
 -
 -2004-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
 -
 -2004-11-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
 -      Fix various comments referring to XEvents instead of input events.
 -      (x_queue_event): Fix format strings.
 -      (x_stop_queuing_selection_requests): Likewise.
 -
 -      * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
 -      (pint2hrstr): Add extra braces to silence compiler.
 -
 -      * print.c (print_object): Fix format string.
 -
 -      * lread.c (read1): Fix next_char matching.
 -
 -      * lisp.h (Fdelete): Add EXFUN.
 -      (replace_range_2): Add prototype.
 -
 -      * keyboard.c (read_avail_input): Remove unused variable 'discard'.
 -
 -      * intervals.h (NULL_INTERVAL_P): Add separate version when
 -      ENABLE_CHECKING is not defined to silence compiler.
 -      (compare_string_intervals): Add prototype.
 -
 -      * fringe.c (destroy_fringe_bitmap): Fix return type.
 -      (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
 -
 -      * emacs.c (Fdump_emacs): Fix format string.
 -
 -      * doc.c: Include <ctype.h>.
 -      (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
 -
 -      * data.c (store_symval_forwarding): Remove unused variables.
 -
 -      * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
 -
 -2004-11-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
 -      to ${OLDXMENU}.
 -
 -2004-11-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Fmake_network_process): Remove kludge for interrupted
 -      connects on BSD.  If connect is interrupted, just close socket and
 -      start over rather than sleeping and retry with same socket.
 -
 -2004-11-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * .cvsignore: Add buildobj.lst.
 -
 -      * doc.c: New variable Vbuild_files.
 -      (Fsnarf_documentation): If Vbuild_files is nil, populate it with
 -      file names from buildobj.lst.  Only attach docstrings from files
 -      that are in Vbuild_files.
 -      (syms_of_doc): Defvar Vbuild_files.
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
 -      and w32*.o.
 -      (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
 -      (mostlyclean): Rm buildobj.lst
 -
 -      * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
 -      is linked.
 -
 -2004-11-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (update_window_fringes): Update fringe bitmaps if
 -      cur and row ends_at_zv_p differs.  If bitmaps of a row is updated,
 -      also update previous row to get rid of misc. artifacts.
 -
 -2004-11-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (fast_find_position): Fix start pos if header line present.
 -      (note_mouse_highlight): Clear mouse face if we move out of text area.
 -
 -2004-11-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c: Move #include "systime.h" before <sys/resource.h>.
 -      Don't include <sys/time.h> explicitly.
 -      Include <stdio.h> unconditionally, not just on MacOS.
 -
 -2004-11-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_pattern_regexp): Cancel my previous change;
 -      don't pay attention to '\' before '*'.
 -      (fontset_pattern_regexp): Change the meaning of the second arg.
 -      (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
 -      (check_fontset_name): Try NAME as literal at first, and if it
 -      failes, try NAME as pattern.
 -
 -2004-11-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
 -
 -2004-11-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h (Fmsdos_downcase_filename): Declare.
 -      * dired.c (Fmsdos_downcase_filename): Don't declare here.
 -      * fileio.c: Likewise.
 -
 -2004-11-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
 -      comparisons with integers instead of Lisp_Object address.
 -      (Fmsdos_set_keyboard): Declare argument allkeys.
 -
 -      * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
 -
 -      * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
 -      int/Lisp_Object mixup.
 -
 -      * fileio.c: Ditto.
 -
 -2004-11-06  Steven Tamm  <steventamm@mac.com>
 -
 -      * editfns.c: Need to include sys/time.h before resource.h on darwin.
 -
 -2004-11-06  Richard M. Stallman  <rms@gnu.org>
 -
 -      * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
 -
 -      * xfaces.c (merge_named_face): GCPRO the face_name in the
 -      named_merge_point struct that we make.
 -      (merge_face_heights): Eliminate GCPRO arg.  All callers changed.
 -
 -      * keyboard.c (command_loop_1): Change Vtransient_mark_mode
 -      before deciding whether to inactivate mark.
 -
 -2004-11-06  Lars Brinkhoff  <lars@nocrew.org>
 -
 -      * config.in: Regenerate (add HAVE_GETRUSAGE).
 -      * editfns.c (Fget_internal_run_time): New function.
 -      (syms_of_data): Defsubr it.
 -      * fns.c (sxhash): As far as possible, merge calculation of
 -      hash code for symbols and strings.
 -
 -2004-11-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (syms_of_frame): Fix the example in the doc string.
 -
 -2004-11-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
 -
 -      * xmenu.c (popup_get_selection, create_and_show_popup_menu)
 -      (create_and_show_dialog): Revert change from 2004-10-31.
 -
 -2004-11-05  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
 -
 -2004-11-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * print.c (print_object): Print Lisp_Misc_Save_Value objects.
 -
 -      * fileio.c (Ffile_modes): Doc fix.
 -      (auto_save_1): Check for Ffile_modes nil value.
 -
 -2004-11-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * xselect.c (struct selection_event_queue, selection_queue)
 -      (x_queue_selection_requests, x_queue_event)
 -      (x_start_queuing_selection_requests)
 -      (x_stop_queuing_selection_requests): Add new queue for selection
 -      input events to replace previous XEvent queue in xterm.c.
 -      (queue_selection_requests_unwind): Adapt to new queue.
 -      (x_reply_selection_request): Adapt to new queue.
 -      Unexpect wait_object in case of x errors (memory leak).
 -      (x_handle_selection_request, x_handle_selection_clear): Make static.
 -      (x_handle_selection_event): New function.  May queue selection events.
 -      (wait_for_property_change_unwind): Use save_value instead of cons.
 -      Clear property_change_reply_object.
 -      (wait_for_property_change): Abort if already waiting.
 -      Use save_value instead of cons for unwind data.
 -      (x_handle_property_notify): Skip events already arrived, but don't
 -      free them, as "arrived" field is checked by wait_for_property_change,
 -      and it will be freed by unwind or explicit unexpect_property_change.
 -      (x_get_foreign_selection): Add to new queue.
 -      (receive_incremental_selection): Don't unexpect wait_object when done
 -      as it has already been freed by previous wait_for_property_change.
 -
 -      * xterm.h (x_start_queuing_selection_requests)
 -      (x_stop_queuing_selection_requests, x_handle_selection_request)
 -      (x_handle_selection_clear): Remove prototypes.
 -      (x_handle_selection_event): Add prototype.
 -
 -      * xterm.c (handle_one_xevent): Don't queue X selection events
 -      here, it may be too late if we start queuing after we have already
 -      stored some selection events into the kbd buffer.
 -      (struct selection_event_queue, queue, x_queue_selection_requests)
 -      (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
 -      (x_stop_queuing_selection_requests): Remove/move to xselect.c.
 -      (x_catch_errors_unwind): Block input around final XSync.
 -
 -      * keyboard.h (kbd_buffer_unget_event): Add prototype.
 -
 -      * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
 -      (kbd_buffer_unget_event): New function.
 -      (kbd_buffer_get_event, swallow_events): Combine SELECTION events
 -      and use x_handle_selection_event.
 -      (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
 -
 -2004-11-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (TRACE3): New debug macro.
 -      (x_reply_selection_request): Use it.
 -      (receive_incremental_selection): In call to TRACE0, the name of
 -      a symbol is in xname.
 -
 -2004-11-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * fontset.c (fontset_pattern_regexp): Use unsigned char.
 -
 -2004-11-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * fileio.c (Fnext_read_file_uses_dialog_p): New function.
 -
 -      * gtkutil.h (use_old_gtk_file_dialog): Declare.
 -
 -      * gtkutil.c: Make use_old_gtk_file_dialog non-static.
 -      (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
 -      * xfns.c (syms_of_xfns): ... to here.
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
 -      it doesn't start with /.
 -
 -2004-11-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
 -      treat it as a literal character.
 -
 -2004-11-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (ppt): New function.
 -
 -2004-11-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_window_to_scroll_bar): Only call
 -      xg_get_scroll_id_for_window if toolkit scroll bars are used.
 -
 -      * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
 -      of save.
 -
 -2004-11-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * window.c (Fscroll_right): Fix last change.
 -
 -2004-11-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * Makefile.in (callproc.o): Depend on blockinput.h, atimer.h, systime.h.
 -
 -2004-11-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * callproc.c (Fcall_process): Block input around vfork.
 -
 -2004-11-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
 -      (syms_of_eval): Defsubr it.
 -
 -2004-11-02  Richard M. Stallman  <rms@gnu.org>
 -
 -      * insdel.c (replace_range_2): New function.
 -
 -      * casefiddle.c (casify_region): Handle changes in byte-length
 -      using replace_range_2.
 -
 -      * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
 -
 -      * xdisp.c (back_to_previous_visible_line_start):
 -      Subtract 1 from pos when checking previous newline for invisibility.
 -
 -      * window.c (window_scroll_pixel_based): Update preserve_y
 -      for header line if any.
 -      (Fscroll_left, Fscroll_right): Don't call interactive_p;
 -      use a new second argument instead.
 -
 -      * eval.c (Fcall_interactive_p): New function.
 -      (interactive_p): Don't test INTERACTIVE here.
 -      (Finteractive_p): Doc fix.
 -
 -      * eval.c (Feval): Abort if INPUT_BLOCKED_P.
 -
 -2004-11-02  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
 -
 -      * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
 -      comparing font names.
 -
 -2004-11-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
 -      Fx_file_dialog if only directories should be read.
 -
 -      * lisp.h: Fx_file_dialog takes 5 parameters.
 -
 -      * xfns.c (Fx_file_dialog): Both Motif and GTK version:
 -      Add parameter only_dir_p.
 -      In Motif version, don't put DEFAULT_FILENAME in filter part of the
 -      dialog, just text field part.  Do not add DEFAULT_FILENAME
 -      to list of files if it isn't there.
 -      In GTK version, pass only_dir_p parameter to xg_get_file_name.
 -
 -      * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
 -      Check only_dir_p instead of comparing prompt to "Dired".  When using
 -      a save dialog, add option kNavDontConfirmReplacement, change title
 -      to "Enter name", change text for save button to "Ok".
 -
 -      * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
 -      Check only_dir_p instead of comparing prompt to "Dired".
 -
 -      * gtkutil.c (xg_get_file_with_chooser, xg_get_file_with_selection):
 -      New functions, only defined ifdef HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
 -      and HAVE_GTK_FILE_SELECTION_NEW respectively.
 -      (xg_get_file_name): Add parameter only_dir_p.
 -      Call xg_get_file_with_chooser or xg_get_file_with_selection
 -      depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
 -      (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
 -
 -      * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
 -
 -      * config.in: Rebuild (added HAVE_GTK_FILE_*).
 -
 -2004-11-01  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (connect_wait_mask, num_pending_connects):
 -      Only declare and use them if NON_BLOCKING_CONNECT is defined.
 -      (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
 -      (IF_NON_BLOCKING_CONNECT): New helper macro.
 -      (wait_reading_process_output): Only declare and use local vars
 -      Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
 -
 -2004-11-01  Andy Petrusenco  <Igrek@star-sw.com>  (tiny change)
 -
 -      * w32term.c (x_scroll_run): Delete region objects after use.
 -
 -2004-10-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c: Add prototypes for forward function declarations.
 -      (popup_get_selection): Remove parameter do_timers, remove call to
 -      timer_check.
 -      (create_and_show_popup_menu, create_and_show_dialog):
 -      Remove parameter do_timers from call to popup_get_selection.
 -
 -      * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
 -      tool_bar_items and assign the result to f->tool_bar_items if
 -      not equal.  Move BLOCK/UNBLOCK_INPUT from around call to
 -      tool_bar_items to assignment of result.
 -
 -      * atimer.c (alarm_signal_handler): Do not call set_alarm if
 -      pending_atimers is non-zero.
 -
 -2004-10-31  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
 -
 -2004-10-28  Will  <will@glozer.net>
 -
 -      * macterm.c: Allow user to assign key modifiers to the Mac Option
 -      key via a 'mac-option-modifier' variable.
 -
 -2004-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
 -      Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
 -      (x_handle_selection_request, x_handle_selection_clear)
 -      (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
 -
 -2004-10-28  Richard M. Stallman  <rms@gnu.org>
 -
 -      * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
 -
 -      * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
 -
 -2004-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (scan_sexps_forward): Give precedence to a 2-char
 -      comment-starter over a 1-char one.
 -
 -2004-10-27  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (get_next_display_element): In mode lines,
 -      treat newline and tab like other control characters.
 -
 -      * editfns.c (Fmessage): Doc fix.
 -
 -      * indent.c (vmotion): When moving up, check the newline before.
 -      Make prevline an int, not a Lisp_Object.
 -
 -2004-10-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
 -      Only allocate info and discarded tables once.
 -
 -      * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
 -      (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
 -      (SAFE_FREE): Test it to determine if we need to unwind to free.
 -      Remove size arg.  All users changed.
 -      (SAFE_FREE_LISP) Remove.  All users changed to use SAFE_FREE.
 -
 -2004-10-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c: Put empty line between comment and function body.
 -      (xg_destroy_widgets): Rename from remove_from_container.
 -      Just destroy all widgets in list.  Argument wcont removed.
 -      (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
 -      instead of remove_from_container.
 -      (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
 -      (free_frame_tool_bar): Add comment.
 -
 -      * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
 -      is not NULL before strcmp.
 -
 -2004-10-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * callint.c (Fcall_interactively): Add 'U' code to get the
 -      up-event discarded by a previous 'k' or 'K' argument.
 -
 -2004-10-26  David Kastrup  <dak@gnu.org>
 -
 -      * buffer.c (syms_of_buffer): Fix a few typos.
 -
 -2004-10-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c: Put empty line between comment and function body.
 -      Use two spaces before comment end.
 -
 -2004-10-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_pattern_regexp): Optimize for the case that
 -      PATTERN is full XLFD.
 -
 -2004-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
 -
 -      * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
 -      (regex_compile): Return REG_ERANGEX if appropriate.
 -
 -2004-10-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Ftranslate_region_internal): New function.
 -      (syms_of_editfns): Defsubr it.
 -
 -2004-10-22  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
 -
 -2004-10-21  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <lorentey@elte.hu>
 -
 -      * xterm.h (x_output): New member `xic_base_fontname'.
 -      (FRAME_XIC_BASE_FONTNAME): New macro.
 -      (xic_free_xfontset): Declare.
 -
 -      * xfns.c (xic_create_xfontset): Share fontsets between frames
 -      based on base_fontname.
 -      (xic_free_xfontset): New function.
 -      (free_frame_xic): Use it.
 -      (xic_set_xfontset): Ditto.
 -
 -      * xterm.c (xim_destroy_callback): Ditto.
 -
 -2004-10-20  B. Anyos  <banyos@freemail.hu>  (tiny change)
 -
 -      * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
 -
 -2004-10-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
 -      XSync.
 -
 -      * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
 -      New variables and constant.
 -      (main): Calculate heap_bss_diff.  If we are dumping and the
 -      heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
 -      and exec ourself again.
 -      (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
 -      print a warning.
 -
 -      * lastfile.c: Make my_endbss and my_endbss_static available on all
 -      platforms.
 -
 -      * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
 -      * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
 -
 -2004-10-19  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * data.c (Flocal_variable_if_set_p): Doc fix.
 -
 -2004-10-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (init_environment): Set emacs_dir correctly when running
 -      emacs from the build directory.
 -
 -2004-10-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * editfns.c (Fdelete_and_extract_region):
 -      If region is empty, return null string.
 -
 -2004-10-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
 -      and canon_width.
 -      (xg_frame_cleared): Remove.
 -
 -      * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
 -      (xg_find_top_left_in_fixed): Remove.
 -      (xg_create_scroll_bar): Put an event box widget between
 -      the scroll bar widget and the edit widget.
 -      (xg_show_scroll_bar): Show the parent widget (the event box).
 -      (xg_remove_scroll_bar): Destroy parent (the event box) also.
 -      (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
 -      Move the parent (the event box) widget inside the fixed widget.
 -      Move window clear to xterm.c.
 -
 -      * gtkutil.h (xg_frame_cleared): Remove.
 -
 -      * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
 -      (x_scroll_bar_create, XTset_vertical_scroll_bar):
 -      Remove arguments left and width to xg_update_scrollbar_pos.
 -      (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
 -
 -2004-10-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (display_mode_element): Fix display of wide chars.
 -
 -2004-10-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
 -      gdk_window_clear and move gdk_window_process_all_updates after
 -      clear so events are sent to the X server in correct order.
 -
 -2004-10-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
 -      comparing font names.
 -      (fs_query_fontset): Use fast_string_match for comparing fontset names.
 -      (list_fontsets): Likewise.
 -
 -      * search.c (fast_string_match_ignore_case): New function.
 -
 -      * lisp.h (fast_string_match_ignore_case): Extern it.
 -
 -2004-10-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (overlay_arrow_at_row): Return overlay string rather
 -      than bitmap if there is not left fringe.
 -      (get_overlay_arrow_glyph_row): Also used on windows system.
 -      (display_line): Display overlay string if no left fringe.
 -
 -2004-10-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_font_match): Encode font name being matched.
 -
 -2004-10-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (Fspecial_display_p): Doc fix.
 -
 -2004-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * doc.c (Fsubstitute_command_keys): Fix remap-handling.
 -      Don't ignore menus, because where-is-internal already does it for us.
 -
 -2004-10-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): Only update fringes and vertical
 -      border on window frames.
 -
 -2004-10-14  Andreas Schwab  <schwab@suse.de>
 -
 -      * m/ia64.h (DATA_SEG_BITS): Don't define.
 -
 -2004-10-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.h: Include Xutil.h after keysym.h to work around bug
 -      in some X versions.
 -
 -2004-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (map_char_table): Add missing gcpros.
 -
 -2004-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (get_keymap): An autoload form is not a keymap.
 -
 -      * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
 -
 -2004-10-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * callproc.c (Fcall_process): Simplify handling of display arg.
 -      Resume `display_on_the_fly' once a coding system is determined.
 -
 -      * xdisp.c (redisplay_preserve_echo_area): Fix last change.
 -
 -2004-10-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_preserve_echo_area): Flush display in case
 -      caller, such as call-process, is not going to poll for input.
 -      (calc_line_height_property): Handle case where it->object is nil.
 -
 -      * xterm.c (x_redisplay_interface): Fix flush_display_optional.
 -
 -2004-10-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element):
 -      If unibyte_display_via_language_environment is zero, display 8-bit
 -      chars in octal in unibyte buffer.
 -
 -2004-10-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
 -      are no ordinary bindings.
 -
 -2004-10-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
 -
 -2004-10-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
 -      (x_lower_frame): Add BLOCK_INPUT around SendBehind.
 -      (make_mac_frame): Add BLOCK_INPUT around the making of a
 -      terminal frame.
 -      (mac_initialize): Add BLOCK_INPUT around carbon initialization.
 -      * macgui.h (mktime): Use emacs_mktime.
 -      * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
 -      Make a cancel file-open dialog be like C-g.
 -      * mac.c (mktime): Use emacs_mktime.
 -      (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
 -      (Fmac_paste_function): Add better error handling for carbon cut/paste.
 -
 -2004-10-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (timer_resume_idle): New function to resume idle
 -      timer without resetting timers on the idle list.
 -      (read_char): Use timer_resume_idle.  Remove local var last_idle_start.
 -      (timer_start_idle, timer_stop_idle): Declare static.
 -      (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
 -
 -      * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
 -
 -2004-10-08  Steven Tamm  <steventamm@mac.com>
 -
 -      * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
 -      * macterm.c (mac_check_for_quit_char): Remove warning for using
 -      NULL where 0 should be used.
 -      * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
 -      objc/malloc.h
 -      * mac.c: Include time.h for Tiger compatibility.
 -
 -2004-10-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): Fix flicker on vertical line between
 -      windows.  Update vertical line after drawing window fringes, but
 -      only if actually drawing any bitmaps--or there is no fringe.
 -
 -      * xterm.c (x_update_window_end): Likewise.
 -      * macterm.c (x_update_window_end): Likewise.
 -      * w32term.c (x_update_window_end): Likewise.
 -
 -      * fringe.c (draw_window_fringes): Return value now indicates if
 -      any fringe bitmaps were redrawn (or there are no fringes).
 -
 -      * dispextern.h (draw_window_fringes): Update prototype.
 -
 -2004-10-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (mac_get_window_bounds): Add extern.
 -      (x_real_positions): Use mac_get_window_bounds.
 -
 -      * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
 -      xmenu.c (YAILOM).
 -
 -      * macterm.c [!MAC_OSX]: Include Windows.h.
 -      (front_emacs_window): Rename from mac_front_window.  All uses
 -      changed.  Return the frontmost non-tooltip emacs window.
 -      (mac_get_window_bounds): New function.
 -      (x_calc_absolute_position): Use the difference of width and height
 -      between the inner and outer window.
 -      (x_set_offset): Specify window position by the coordinae of the
 -      outer window.  Adjust the position if the title bar is completely
 -      outside the screen.
 -      (app_is_suspended, app_sleep_time): Remove unused variables.
 -      (do_app_resume, do_app_suspend): Remove their contents because
 -      window-activate/deactivate events will do the job.
 -      (do_zoom_window): Remove unused variables.  Make compliant to the
 -      standard way of zooming.  Set f->left_pos and f->top_pos.
 -      (XTread_socket): Don't use argument `expected'.  Don't use
 -      FrontWindow to determine the clicked window.  Exclude unprocessed
 -      mouseUp cases in the early stage.  Add parentheses to fix operator
 -      precedence.
 -      (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
 -
 -2004-10-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * config.in: Regenerate.
 -
 -      * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
 -      HAVE_EXECSHIELD.
 -
 -2004-10-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
 -      a row if Alt or Meta has been found for that row.  Also stop scanning
 -      for Keysyms for that row.
 -
 -2004-10-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
 -      to list.  Include overlay arrow bitmap in return value.
 -
 -      * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
 -      bars with fractional column width.  If scroll bar separates two
 -      windows, move it towards the window it belongs to.  Only update
 -      the padding area below the scroll bar widget when necessary,
 -      i.e. when scroll bar widget is created, moved, or resized.
 -
 -      * xdisp.c (define_frame_cursor1): Do not change frame cursor
 -      while tracking/dragging mouse.
 -      (x_draw_vertical_border): Do not draw line if frame has scroll bars.
 -
 -      * window.c (coordinates_in_window): Relax check for cursor
 -      on vertial border between mode lines.
 -      (Fset_window_fringes): Do not allow negative widths.
 -      (Fset_window_scroll_bars): Likewise.
 -
 -      * .gdbinit (pp): Shorthand for p ARG + pr.
 -      (ff): New command: flush frame updates (X only).
 -
 -2004-10-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (auto_save_1) Call Ffile_modes for remote files.
 -
 -2004-09-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (send_process): Free composition data.
 -
 -      * fileio.c (Finsert_file_contents): Free composition data.
 -
 -      * coding.c (code_convert_region): Don't skip ASCIIs if there are
 -      compositions to encode.
 -      (encode_coding_string): Likewise.  Free composition data.
 -
 -2004-09-30  Florian Weimer  <fw@deneb.enyo.de>
 -
 -      * coding.c (code_convert_region): Free composition data.
 -
 -2004-09-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c: Remove limit on number of bitmaps.
 -      (fringe_bitmaps, fringe_faces): Change to pointers.
 -      (max_fringe_bitmaps): New var.
 -      (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
 -      (init_fringe): Allocate fringe_bitmaps and fringe_faces.
 -
 -      * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
 -      (struct glyph_row): Reorder fringe_bitmap related fields.
 -      (struct it): Likewise.
 -
 -      * w32term.c (fringe_bmp): Change to pointer.
 -      (max_fringe_bmp): New var.
 -      (w32_define_fringe_bitmap): Expand fringe_bmp.
 -      (w32_draw_fringe_bitmap): Check max_fringe_bmp.
 -      (w32_destroy_fringe_bitmap): Likewise.
 -
 -2004-09-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c: Simplify last change.
 -      (lookup_fringe_bitmap): New function.
 -      (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
 -      (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
 -      Keep standard bitmaps in Vfringe_bitmaps.
 -      (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
 -      (Fset_fringe_bitmap_face): Likewise.
 -
 -      * dispextern.h (lookup_fringe_bitmap): Add prototype.
 -      (valid_fringe_bitmap_p): Remove prototype.
 -
 -      * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
 -
 -2004-09-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
 -      (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
 -
 -      * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
 -
 -      * fringe.c (Vfringe_bitmaps): New variable.
 -      (syms_of_fringe): DEFVAR_LISP it.
 -      (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
 -      Change arg to Lisp_Object and fail if not an integer.
 -      (get_fringe_bitmap_name, resolve_fringe_bitmap)
 -      (destroy_fringe_bitmap): New functions.
 -      (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
 -      Use destroy_fringe_bitmap.  Remove symbol from Vfringe_bitmaps and
 -      clear its fringe property.
 -      (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
 -      Fdestroy_fringe_bitmap.
 -      (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
 -      bitmap symbol; remove WHICH arg.  Add symbol to Vfringe_bitmaps
 -      and set fringe property.  Signal error if no free slots.
 -      (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
 -      (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
 -
 -      * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
 -      symbols with a fringe property.
 -
 -2004-09-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
 -      Doc fix.  Format may now be a symbol or alist, not a cons.
 -
 -      * fringe.c (update_window_fringes): Handle new formats of
 -      indicate-buffer-boundaries (symbol or alist).  No longer
 -      allow a simple cons.
 -      (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
 -
 -2004-09-25  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * config.in: Rebuild.
 -
 -2004-09-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * config.in: Rebuild.
 -
 -      * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
 -
 -2004-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_term_init): Work around a bug in some X servers.
 -
 -2004-09-18  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
 -
 -      * xdisp.c (try_window_reusing_current_matrix):
 -      Handle the case where we reach the old displayed text,
 -      out of sync with the old line boundary.
 -
 -2004-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Finsert_file_contents): Fix case of replacement in a
 -      narrowed buffer.
 -
 -2004-09-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
 -
 -      * xfaces.c (Qface_no_inherit): New var.
 -      (syms_of_xfaces): Intern and staticpro it.
 -      (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
 -      (Finternal_copy_lisp_face, update_face_from_frame_parameter):
 -      Don't increment face_change_count when face has non-nil
 -      face-no-inherit property.
 -
 -2004-09-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
 -      (Fbyte_code): Remove dead code after `wrong_type_argument'.
 -
 -      * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
 -      before doing the mark_stack_check_gcpros since they're not on the stack.
 -
 -2004-09-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Fformat): Handle format strings with multiple text
 -      properties.  Reverse text property list from the format string,
 -      so the positions are in increasing order.
 -
 -2004-09-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
 -      x_uncatch_errors so that possible protocol errors are delivered.
 -
 -2004-09-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
 -      blockinput.h.
 -      (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
 -      charset.h, and coding.h
 -      (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
 -      (term.o): Depend on window.h and keymap.h.
 -      (abbrev.o): Depend on syntax.h.
 -      (callint.o): Depend on keymap.h.
 -      (casefiddle.o): Depend on charset.h and keymap.h.
 -      (category.o): Depend on keymap.h.
 -      (coding.o): Depend on dispextern.h.
 -      (cmds.o): Depend on keyboard.h and keymap.h.
 -      (dispnew.o): Depend on indent.h and intervals.h.
 -      (doc.o): Depend on keymap.h.
 -      (editfns.o): Depend on frame.h.
 -      (emacs.o): Depend on dispextern.h.
 -      (fileio.o): Don't depend on ccl.h.
 -      (filelock.o): Depend on charset.h and coding.h.
 -      (frame.o): Depend on w32term.h and macterm.h.
 -      (insdel.o): Depend on region-cache.h.
 -      (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
 -      (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
 -      (search.o): Depend on $(INTERVALS_SRC).
 -      (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
 -      (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
 -      xterm.h, w32term.h, and macterm.h.
 -      (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
 -      w32term.h, and macterm.h.
 -      (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
 -      region-cache.h, xterm.h, w32term.h, and macterm.h.
 -      (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
 -      (data.o): Depend on frame.h.
 -      (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
 -      (print.o): Depend on termchar.h and $(INTERVALS_SRC).
 -      (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
 -      (intervals.o): Depend on keymap.h.
 -
 -      * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
 -      Add debugging print-out to termscript.
 -
 -2004-09-09  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
 -
 -2004-09-08  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (Fset_window_buffer): Doc fix.
 -
 -      * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
 -
 -2004-09-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * minibuf.c (history_delete_duplicates): New variable.
 -      (read_minibuf): Use it.
 -      (syms_of_minibuf): Create the corresponding lisp variable.
 -
 -2004-09-08  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
 -      overlay just before point.
 -
 -2004-09-07  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.h (struct buffer): Add auto_save_file_format field.
 -      * buffer.c (reset_buffer, init_buffer_once):
 -      Handle auto_save_file_format field.
 -      (syms_of_buffer): Add DEFVAR_PER_BUFFER for
 -      `buffer-auto-save-file-format'.
 -      * fileio.c: Delete declaration for removed Vauto_save_file_format.
 -      (build_annotations): Adapt to replacement of
 -      `auto-save-file-format' with the new buffer-local variable
 -      `buffer-auto-save-file-format'.
 -      (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
 -
 -2004-09-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
 -
 -      * w32fns.c (w32_wnd_proc) <WM_MEASUREITEM, WM_DRAWITEM>:
 -      Handle Unicode menu titles.
 -
 -2004-09-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_cursor_from_row): Fix last change.  Only use 'cursor'
 -      property from text property or overlay strings at point.
 -
 -2004-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xmenu.c (update_submenu_strings): YAILOM.
 -      (set_frame_menubar): Make sure last_i is initialized.
 -
 -2004-09-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32menu.c (_widget_value): Add lname and lkey.
 -      (digest_single_submenu): Set lname and lkey in widget_value
 -      instead of name and key.
 -      (update_submenu_strings): New function.
 -      (set_frame_menubar): Remove call to inhibit_garbage_collection,
 -      call update_submenu_strings.
 -
 -      * w32menu.c (globals_of_w32menu): Check for Unicode API.
 -      (digest_single_submenu, w32_menu_show): Encode menu strings as
 -      UTF-8 if Unicode API is available.
 -      (utf8to16): New function.
 -      (add_menu_item): Use it when calling Unicode API.
 -
 -2004-09-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
 -      in overlay or text-property strings; set cursor on corresponding
 -      glyph rather than at end of the string.
 -
 -2004-09-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c (x_real_positions): Save the current window port and
 -      set a new one before obtaining the global coordinate.
 -      Use FRAME_MAC_WINDOW.
 -      (x_set_name, x_set_title): Encode title to UTF8.
 -      Use SetWindowTitleWithCFString.
 -      (Fx_server_version): Get correct OS version.
 -
 -      * macmenu.c (add_menu_item): Remove unused variable `i'.
 -      Don't let separator items destroy refence constants of other menu items.
 -
 -      * macterm.c (x_update_end): Move SetPortWindowPort to inside
 -      BLOCK_INPUT.
 -      (x_set_offset): Use FRAME_MAC_WINDOW.
 -
 -      * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
 -      nontext_cursor if it is on a scroll bar.
 -
 -      * s/darwin.h (LIBS_CARBON): New define to specify libraries for
 -      Carbon support.
 -      (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
 -      Use LIBS_CARBON.
 -
 -2004-09-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_set_name_internal): New function.  Check if we shall call
 -      xfree before ENCODE_UTF_8.
 -      (x_set_name, x_set_title): Call x_set_name_internal.
 -
 -2004-08-31  NAKAMURA Toshikazu  <nr-tkz@nifty.com>  (tiny change)
 -
 -      * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
 -      reload it.
 -
 -2004-08-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * macmenu.c (_widget_value): Add lname and lkey.
 -      (single_submenu): Set lname and lkey in widget_value
 -      instead of name and key.
 -      (update_submenu_strings): New function.
 -      (set_frame_menubar): Remove call to inhibit_garbage_collection,
 -      call update_submenu_strings.
 -
 -      * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
 -      instead of name and key.
 -      (update_submenu_strings): New function.
 -      (set_frame_menubar): Remove call to inhibit_garbage_collection,
 -      call update_submenu_strings.
 -
 -      * gtkutil.h (_widget_value): Added lname and lkey.
 -
 -2004-08-30  Steven Tamm  <steventamm@mac.com>
 -
 -      * macmenu.c (mac_menu_show): Remove shadowing of menu variable
 -      by using different names for inner loop variables.
 -
 -2004-08-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
 -      from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
 -
 -      * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
 -      tool bar items is 0.
 -
 -2004-08-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
 -      strings in menu items.
 -      (single_submenu): Use ENCODE_MENU_STRING
 -      (mac_menu_show): Use ENCODE_MENU_STRING.  Reset grabbed because
 -      button release isn't passed to event loop
 -      (add_menu_item): Use SetMenuItemWithCFString
 -
 -2004-08-26  Steven Tamm  <steventamm@mac.com>
 -
 -      * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
 -      tool-bar/menu click.
 -      * macfns.c (Fx_file_dialog): Implement using NavServices.
 -
 -2004-08-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
 -
 -      * xfns.c (x_window_to_frame, x_any_window_to_frame)
 -      (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
 -      (x_top_window_to_frame): Return 0 if wdesc is None.
 -
 -2004-08-22  Richard M. Stallman  <rms@gnu.org>
 -
 -      * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
 -      HAVE_TERMIOS]: If there's no char for this signal, drop through
 -      and use system calls.
 -
 -      * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
 -
 -2004-08-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (wait_reading_process_output): Rename from
 -      wait_reading_process_input.  All uses changed.
 -      (wait_reading_process_output_1): Rename from
 -      wait_reading_process_input_1.  All uses changed.
 -
 -      * dispnew.c (Fsleep_for): Remove obsolete code.
 -
 -2004-08-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_chars): Fix for unibyte case.
 -
 -2004-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (char_quoted): Mixup byte/char pos.
 -      (back_comment): Fixup globals in all cases.
 -
 -2004-08-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
 -      passing it to gtk_window_set_title.
 -
 -2004-08-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (wait_reading_process_input): Clean up.
 -      Add wait_for_cell, wait_proc, and just_wait_proc args
 -      to avoid overloading `read_kbd' and `do_display' args.
 -      Change read_kbd arg to int.  All callers changed.
 -
 -      * process.c (process_send_signal): Use CDISABLE.
 -
 -      * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
 -
 -2004-08-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
 -      forward to wait_reading_process_input via DO_DISPLAY arg.
 -      (wait_reading_process_input): If DO_DISPLAY < 0 for a process
 -      object, only process output from that process; also inhibit
 -      running timers if DO_DISPLAY==-2.
 -
 -2004-08-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (process_send_signal): Fix last change--use
 -      _POSIX_VDISABLE instead of CVDISABLE when available.
 -
 -2004-08-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
 -      Set VQUIT and VINTR chars to the standard ones if they are unset.
 -      [AIX]: Don't do that here.  And don't force VINTR to standard
 -      when SIGNALS_VIA_CHARACTERS.
 -
 -      * process.c (process_send_signal)
 -      [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
 -      Do nothing if the character is CVDISABLE.
 -
 -      * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
 -
 -      * intervals.c (move_if_not_intangible):
 -      Force POSITION to be between BEGV and ZV.
 -
 -2004-08-14  John Paul Wallington  <jpw@gnu.org>
 -
 -      * buffer.c (Frestore_buffer_modified_p): Doc fix.
 -
 -      * fileio.c (Fread_file_name): Doc fix.
 -
 -      * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
 -
 -2004-08-09  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
 -
 -2004-08-08  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keyboard.c: Declare Qdisabled_command_function instead of
 -      Qdisabled_command_hook.
 -      (Fcommand_execute): Use Qdisabled_command_function instead of
 -      Qdisabled_command_hook.
 -      (syms_of_keyboard): Ditto.
 -
 -2004-08-07  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keymap.c (Flocal_key_binding, Fglobal_key_binding)
 -      (syms_of_keymap) <key-translation-map>: Doc fixes.
 -
 -2004-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (window_list_1): YAILOM.
 -
 -      * fileio.c (make_temp_name): Handle multibyte prefixes.
 -
 -2004-08-06  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
 -      Doc fix.
 -
 -2004-08-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_string): Adjust coding->consumed, and
 -      etc. with shrinked_bytes.
 -
 -2004-08-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * indent.c (compute_motion): Fix check for full width window
 -      in non-window case.  Do not count left truncation glyph on
 -      window systems.
 -
 -2004-08-02  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * data.c (Finteractive_form): Doc fix.
 -
 -2004-08-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * indent.c (compute_motion): Use actual window width if WIDTH is -1,
 -      properly accounting for continuation glyph on non-window systems.
 -      (Fcompute_motion): Use actual window width if WIDTH is nil, and
 -      actual window width/height if TOPOS is nil, properly accounting for
 -      continuation glyphs on non-window systems, and optional header lines.
 -      (vmotion): Let compute_motion calculate actual window width.
 -
 -      * window.c (window_scroll_line_based): Let compute_motion
 -      calculate actual window width.
 -
 -2004-08-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (read_process_output): Use whole read buffer.
 -      Don't trigger adaptive read buffering on errors.
 -
 -2004-07-31  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
 -
 -      * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
 -
 -      * callint.c (Fcall_interactively): Doc fix.
 -
 -2004-07-30  Richard M. Stallman  <rms@gnu.org>
 -
 -      * abbrev.c (Fexpand_abbrev): Undo previous change.
 -
 -2004-07-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Fformat): Allocate extra (dummy) element in info.
 -
 -2004-07-28  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * eval.c (Fdefvar, Fdefconst): Doc fixes.
 -
 -2004-07-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
 -      we have ensured that the glyph fits on the current line (or returned
 -      MOVE_LINE_CONTINUED otherwise).
 -
 -2004-07-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
 -      is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
 -      if target position is at end of display line but char is not a newline.
 -
 -2004-07-25  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (coordinates_in_window): Return ON_SCROLL_BAR
 -      instead of ON_VERTICAL_BORDER, when on scroll bar.
 -      (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
 -
 -      * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
 -
 -      * window.c (Fcoordinates_in_window_p):
 -      Take account of FRAME_INTERNAL_BORDER_WIDTH.
 -
 -      * alloc.c (check_cons_list): New function (contents commented out).
 -
 -2004-07-24  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * xfaces.c (Fcolor_supported_p): Doc fix.
 -
 -      * frame.c (Fselect_frame, Fset_frame_selected_window)
 -      (Fframe_visible_p, Fraise_frame): Doc fixes.
 -
 -2004-07-24  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keyboard.h (not_single_kboard_state): Declare.
 -
 -      * fileio.c (Fwrite_region): Doc fix.
 -
 -      * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
 -
 -      * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
 -      only when a real abbrev is present.
 -
 -      * xfns.c (x_icon_verify): New function.
 -      (Fx_create_frame): Use it.
 -
 -2004-07-22  Barry Fishman  <barry_fishman@att.net>  (tiny change)
 -
 -      * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
 -
 -2004-07-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.h (struct glyph_matrix): New members nrows_scale_factor
 -      and ncols_scale_factor.
 -
 -      * window.c (make_window): Initialize nrows_scale_factor and
 -      ncols_scale_factor members.
 -
 -      * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
 -      (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
 -      (required_matrix_height): Apply nrows_scale_factor.
 -      (required_matrix_width): Apply ncols_scale_factor.
 -
 -      * xdisp.c (display_line): Increment nrows_scale_factor and set
 -      fonts_changed_p if past last allocated row.
 -      (append_glyph, append_composite_glyph, produce_image_glyph)
 -      (append_stretch_glyph): Increment ncols_scale_factor and set
 -      fonts_changed_p if current area is full.
 -
 -2004-07-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
 -
 -2004-07-19  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
 -      (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
 -      (Fset_window_start, Fscroll_up, Fscroll_down)
 -      (Fother_window_for_scrolling, Fscroll_other_window)
 -      (Fsave_window_excursion, Fset_window_vscroll)
 -      (syms_of_window) <window-size-fixed>: Doc fixes.
 -
 -2004-07-19  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
 -
 -      * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
 -      ENCODE_SYSTEM for filenames.
 -
 -2004-07-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (sys_select): Block input around call to
 -      ReceiveNextEvent to prevent breakage.  Correctly handle
 -      blocking on event queue only by calling ReceiveNextEvent
 -      instead of select (since GUI events aren't on an fd).
 -      (sys_read): Remove function
 -      * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
 -
 -2004-07-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * mac.c (sys_select): Redo sys_select to use alarm-based
 -      polling instead of 1 sec timeouts (like solaris).
 -
 -      * macterm.c (x_make_frame_visible): Comment in polling on
 -      frame creation.
 -
 -      * keyboard.c: Undef SIGIO on Carbon
 -
 -      * atimer.c (alarm_signal_handler): Call alarm handlers after
 -      scheduling.
 -
 -      * eval.c (Feval): Remove quit_char test
 -
 -      * process.c (wait_reading_process_input): Remove clearing
 -      stdin for select call on process input.
 -
 -2004-07-18  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
 -      capitalization error in docstring.
 -
 -2004-07-17  Juanma Barranquero  <lektu@terra.es>
 -
 -      * keyboard.c (not_single_kboard_state): Do nothing unless
 -      MULTI_KBOARD is defined.
 -
 -2004-07-17  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (coordinates_in_window): Inside the window but outside
 -      its box to the L or R, return ON_VERTICAL_BORDER.
 -      (window_list_1): Rotate the list to start with WINDOW.
 -
 -      * print.c (print_preprocess): Test for print_depth at limit
 -      before entering in being_printed.
 -
 -      * keyboard.c (not_single_kboard_state): New function.
 -      (stuff_buffered_input): Now no-op only if no SIGTSTP.
 -
 -      * frame.c (Fdelete_frame): If we're in single_bboard_state on
 -      this kboard, and we delete its last frame, go to any_kboard_state.
 -
 -      * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
 -
 -2004-07-15  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
 -
 -      * w32fns.c (Fx_file_dialog): Encode strings in system coding
 -      system before passing them to OS functions for display.
 -
 -2004-07-15  David Kastrup  <dak@gnu.org>
 -
 -      * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
 -      Apparently fixes an abort condition.
 -
 -2004-07-14  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fileio.c (Fvisited_file_modtime): Return a list of two integers,
 -      instead of a cons.
 -
 -2004-07-14  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <lorentey@elte.hu>
 -
 -      * keyboard.c (echo_dash): Do nothing if there already is a dash
 -      at the end of the echo string.
 -
 -2004-07-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
 -      if GC_MARK_STACK.
 -
 -2004-07-10  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
 -
 -      * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
 -      (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
 -      (Freplace_buffer_in_windows, Fset_window_buffer)
 -      (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
 -      (syms_of_window): Expand docstring of `display-buffer-function'.
 -
 -2004-07-09  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
 -      (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
 -      that time values of the type (HIGH . LOW) are considered obsolete.
 -
 -2004-07-06  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
 -      docstring.
 -
 -      * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
 -
 -2004-07-06  John Paul Wallington  <jpw@gnu.org>
 -
 -      * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
 -
 -      * fns.c (Fclear_string): Signal an error if STRING is not a string.
 -
 -2004-07-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
 -      instead of CGMainDisplayID (only in OSX 10.2 and later).
 -
 -2004-07-04  John Paul Wallington  <jpw@gnu.org>
 -
 -      * fileio.c (read_file_name_completion_ignore_case): New variable.
 -      (syms_of_fileio): Declare and initialise it.
 -      (Fread_file_name): Bind `completion-ignore-case' to respect it.
 -
 -2004-07-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
 -      for event.x and event.y.
 -
 -2004-07-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
 -      after getting a new string by pre-write-conversion.
 -
 -2004-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
 -      (x_calc_absolute_position): Remove unused var `child'.
 -
 -      * xfaces.c (x_supports_face_attributes_p)
 -      (Fdisplay_supports_face_attributes_p): YAILOM.
 -      (tty_supports_face_attributes_p): Remove unused var `i'.
 -
 -      * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
 -      back_unibyte_ok.
 -
 -      * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
 -
 -      * fontset.c (Fset_fontset_font): Remove unused vars `family' and
 -      `registry'.
 -
 -      * Makefile.in (${etc}DOC): Fix file name of make-docfile.
 -
 -2004-06-30  Andreas Schwab  <schwab@suse.de>
 -
 -      * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
 -      (Finit_image_library): Pass LIBRARIES through to
 -      CHECK_LIB_AVAILABLE.  Declare parameters.  Doc fix.
 -      (lookup_image_type): Pass Qnil as second argument to
 -      Finit_image_library.
 -
 -      * lisp.h (Finit_image_library): Declare.
 -
 -2004-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (do_window_activate, do_window_deactivate): Remove.
 -      (XTread_socket): Send mouse button events to the toolbox
 -      dispatcher even when the mouse is grabbed.  Don't process window
 -      activate events for non-Emacs windows.  Replace function calls to
 -      do_window_activate and do_window_deactivate with their contents.
 -      Reset mouse grabbing status when a window is deactivated.
 -
 -2004-06-29  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (mac_get_emulated_btn)
 -      (mac_event_to_emacs_modifiers): Fix emulated mouse button
 -      support to correctly mask out modifiers.
 -
 -2004-06-29  David Kastrup  <dak@gnu.org>
 -
 -      * search.c (Fset_match_data): Allow buffer before end of list
 -      which can happen if set-match-data is using a pre-consed list.
 -
 -2004-06-28  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (XTread_socket): Correctly set the frame position
 -      after the window is moved.
 -
 -2004-06-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
 -      gpix and gmask just before return to avoid memory leak.
 -      (xg_get_image_for_pixmap): Add workaround for monochrome displays
 -      so insensitive and activated icons look ok.
 -
 -2004-06-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (file_dialog_callback): Disable edit control if set
 -      to directories only on CDN_INITDONE message.
 -      (Fx_file_dialog): Default to directories only when prompt starts
 -      with "Dired".
 -
 -2004-06-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (allocate_misc): Update total_free_markers.
 -      (free_misc): New function.
 -      (safe_alloca_unwind, free_marker): Use it.
 -
 -      * lisp.h (free_misc): Add prototype.
 -
 -      * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
 -
 -2004-06-24  Richard M. Stallman  <rms@gnu.org>
 -
 -      * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
 -      (syms_of_emacs): Lisp variables deleted.
 -
 -2004-06-23  David Kastrup  <dak@gnu.org>
 -
 -      * search.c (Freplace_match): Adjust the match-data more thoroughly
 -      when replacing strings in the buffer.
 -      (Fmatch_data): When INTEGERS is non-nil and the last match was in
 -      a buffer, add the buffer as last element to the match data.
 -      (Fset_match_data): If an additional element of the match-data is a
 -      buffer, restore it to last_thing_searched.
 -      (save_search_regs): Save last_thing_searched as part of the match data.
 -      (restore_match_data): Restore it again.
 -
 -2004-06-23  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * keymap.c (Ftext_char_description): Doc fix.
 -      * doc.c (Fsnarf_documentation): Doc fix.
 -
 -2004-06-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
 -
 -      * lisp.h (struct Lisp_Save_Value): New member dogc.
 -      (SAFE_ALLOCA_LISP): Change second arg to number of elements.
 -      Set dogc member in Lisp_Save_Value object so it will be GC'ed.
 -      (SAFE_FREE_LISP): New macro.
 -
 -      * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
 -      (make_save_value): Init new dogc member.
 -      (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
 -
 -      * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
 -      SAFE_FREE_LISP macros.
 -
 -2004-06-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
 -      Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
 -      in that memory area are unknown to GC.  Add comments.
 -
 -      * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
 -
 -2004-06-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * lisp.h (MAX_ALLOCA): Define here.
 -      (safe_alloca_unwind): Add prototype.
 -      (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
 -
 -      * alloc.c (safe_alloca_unwind): New function.
 -
 -      * casefiddle.c (casify_object): Use SAFE_ALLOCA.
 -
 -      * charset.c (Fstring): Use SAFE_ALLOCA.
 -
 -      * coding.c (MAX_ALLOCA): Remove define.
 -
 -      * data.c (MAX_ALLOCA): Remove define.
 -      (Faset): Use SAFE_ALLOCA.
 -
 -      * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
 -
 -      * fns.c (string_make_multibyte, string_to_multibyte)
 -      (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
 -      (MAX_ALLOCA): Remove define.
 -      (Fbase64_encode_region, Fbase64_encode_string)
 -      (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
 -      (Fbase64_encode_region, Fbase64_encode_string): Fix potential
 -      memory leak if encoding fails.
 -
 -      * xdisp.c (add_to_log): Use SAFE_ALLOCA.
 -
 -2004-06-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * print.c (Fwith_output_to_temp_buffer): Doc fix.
 -
 -2004-06-20  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
 -
 -      * search.c (match_limit): Cleaner err msg when no match data available.
 -
 -      * window.c (syms_of_window): Doc fix.
 -
 -      * keyboard.c (command_loop_1): Handle values `only' and `identity'
 -      for Vtransient_mark_mode.
 -
 -      * buffer.c (syms_of_buffer): Doc fix.
 -
 -2004-06-21  David Kastrup  <dak@gnu.org>
 -
 -      * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
 -      and unbinding of `case-fold-search' according to
 -      `completion-ignore-case' around calls of string-match and
 -      predicates, respectively.  Should give satisfactory performance
 -      in all relevant cases.
 -
 -2004-06-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
 -      clip_x/y_origin.
 -
 -      * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
 -
 -      * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
 -
 -      * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
 -      on Mac OSX.
 -
 -2004-06-16  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
 -
 -2004-06-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (Vimage_types): Remove extern.
 -
 -2004-06-16  Miles Bader  <miles@gnu.org>
 -
 -      * image.c (lookup_image_type): Initialize image type if necessary.
 -
 -2004-06-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (try_cursor_movement): Exclude header line from scroll
 -      margin at top of window.
 -      (try_window_reusing_current_matrix): Calculate proper cursor position
 -      after scrolling up with non-zero scroll margin, as the old cursor
 -      position corresponds to value of PT before executing this command.
 -      (try_window_id): Consider scroll margin at bottom of window too;
 -      otherwise we fail to scroll when hl-line-mode is enabled.
 -
 -      * syntax.c (skip_chars): Only recognize [:class:] when it has the
 -      proper format and class is a lower-case word.
 -
 -2004-06-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_get_image_for_pixmap): New function.
 -      (xg_get_gdk_pixmap_and_mask): Remove.
 -      (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
 -      xg_get_gdk_pixmap_and_mask.
 -
 -      * xterm.h (struct x_display_info): Typo in comment fixed.
 -
 -2004-06-14  Juanma Barranquero  <lektu@terra.es>
 -
 -      * dispextern.h (Vimage_types): Make it conditional on
 -      HAVE_WINDOW_SYSTEM.
 -
 -      * image.c (Vimage_types): Move from xdisp.c.
 -      (Vimage_type_cache): New variable.
 -      (define_image_type): New argument indicating whether an image
 -      library was loaded; cache loaded status and return t on success,
 -      nil otherwise.
 -      (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
 -      (w32_delayed_load): New function to load an image library from a
 -      list of possible filenames.
 -      (init_xpm_functions, init_png_functions, init_jpeg_functions)
 -      (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
 -      (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
 -      (Finit_image_library): New function, extracted from `init_image'.
 -      Try to initialize an image library on demand and cache whether we
 -      were successful or not.
 -      (syms_of_image): Initialize `Vimage_types' and
 -      `Vimage_type_cache'.  Add recognized image types to Vimage_types.
 -      Export `init-image-library'.
 -      (init_image): Remove initialization of all image types, except xbm
 -      and pbm.
 -
 -      * xdisp.c (Vimage_types): Delete (moved to image.c).
 -
 -2004-06-14  Andreas Schwab  <schwab@suse.de>
 -
 -      * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
 -      Avoid calling specbind when completion-regexp-list is empty.
 -
 -2004-06-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
 -      (re_wctype, re_iswctype, re_wctype_to_bit):
 -      Non-function definitions moved here from regex.c.
 -
 -      * regex.c (re_wctype, re_iswctype): Function defs longer static.
 -      (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
 -      (re_wctype, re_iswctype, re_wctype_to_bit):
 -      Non-function definitions moved to regex.h.
 -
 -      * window.c (Fselect_window): Doc fix.
 -
 -      * syntax.c: Include regex.h.
 -      (skip_chars): New arg HANDLE_ISO_CLASSES.  Callers changed.
 -      If requested, make a list of classes, then check the scanned
 -      chars for membership in them.
 -      (in_classes): New function.
 -      Doc fix.
 -
 -      * keyboard.c (cmd_error): Don't call any_kboard_state
 -      if inside a recursive edit level.
 -
 -2004-06-13  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <lorentey@elte.hu>
 -
 -      * keyboard.c (command_loop): Call any_kboard_state before
 -      command_loop_2 when at top level.
 -
 -2004-06-13  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (print_object): Always use %ld for printing EMACS_INT.
 -
 -      * keyboard.c (cancel_hourglass_unwind): Return a value.
 -      (modify_event_symbol): Always use %ld for printing EMACS_INT.
 -      (Fexecute_extended_command): Likewise.
 -
 -      * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
 -      avoid clashes.
 -      (SYNTAX): Likewise.
 -      (SYNTAX_WITH_FLAGS): Likewise.
 -      (SYNTAX_MATCH): Likewise.
 -
 -      * syntax.c (char_quoted): Avoid warning about undefined operation.
 -      (find_defun_start): Likewise.
 -      (scan_lists): Likewise.
 -      (INC_FROM): Likewise.
 -      (scan_sexps_forward): Likewise.
 -
 -      * image.c: Include <ctype.h>.
 -
 -      * xfaces.c (face_attr_equal_p): Declare parameters.
 -
 -2004-06-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
 -
 -2004-06-12  Matthew Mundell  <matt@mundell.ukfsn.org>
 -
 -      * eval.c (Fdefun): Signal an error if NAME is not a symbol.
 -
 -2004-06-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
 -      ccl_prog_stack_struct and update it.
 -      (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
 -      (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
 -      ccl->eof_ic on EOF.
 -      (ccl_debug_hook): New function.
 -      (struct ccl_prog_stack): New member eof_ic.
 -      (ccl_driver): Handle EOF in subrountine call correctly.
 -
 -2004-06-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_string): Check CODING_FINISH_INTERRUPT.
 -
 -2004-06-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
 -
 -2004-06-11  Juanma Barranquero  <lektu@terra.es>
 -
 -      * keyboard.c (Fposn_at_point): Doc fix.
 -
 -2004-06-11  David Kastrup  <dak@gnu.org>
 -
 -      * search.c (match_limit): Don't flag an error if match-data
 -      exceeding the allocated search_regs.num_regs gets requested, just
 -      return Qnil.
 -
 -2004-06-08  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
 -
 -2004-06-07  Juanma Barranquero  <lektu@terra.es>
 -
 -      * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
 -      (Fcurrent_time_string, Fcurrent_time_zone)
 -      (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
 -
 -2004-06-07  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (struct named_merge_point): New type.
 -      (push_named_merge_point): New function.
 -      (merge_named_face): New function.
 -      (merge_face_ref, face_at_buffer_position, face_at_string_position):
 -      Use `merge_named_face'.
 -      (merge_face_inheritance): Function removed.
 -      (merge_face_ref): Rename from `merge_face_vector_with_property'.
 -      Add new `err_msgs' and `named_merge_points' args.  Return error
 -      status.  Only print error messages if ERR_MSGS is true.  Don't try to
 -      do :inherit attribute validation.
 -      (merge_face_heights): Handle `unspecified' in both directions.
 -      (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
 -      Call `merge_face_ref' instead of `merge_face_inheritance'.
 -      (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
 -      (compute_char_face, face_at_buffer_position)
 -      (face_at_string_position): Call `merge_face_ref' instead of
 -      `merge_face_vector_with_property'.
 -
 -2004-06-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (find_safe_codings): Check NILP (safe_codings) only at
 -      the necessary places.
 -
 -2004-06-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Fdelete_process): Undo 2004-05-28 change.
 -      Instead, call status_notify also for network process.
 -      (status_message): Use process instead of status as arg.
 -      Give messages "deleted" or "connection broken by remote peer" for
 -      an exited network process.
 -      (status_notify): Change call to status_message.
 -      (read_process_output): Increase readmax to 4096.  Do not increase
 -      buffer size for datagram channels (default is now large enough).
 -
 -2004-06-06  Steven Tamm  <tamm@Steven-Tamms-Computer.local>
 -
 -      * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
 -      problem due to newly defined variable.
 -
 -2004-06-06  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
 -      immediately if non-interactive or not initialized.
 -
 -2004-06-05  Richard M. Stallman  <rms@gnu.org>
 -
 -      * minibuf.c (Fcompleting_read): Doc fix.
 -
 -2004-06-05  Andreas Schwab  <schwab@suse.de>
 -
 -      * macfns.c (x_create_tip_frame): Fix declaration after statement.
 -
 -2004-06-05  Juanma Barranquero  <lektu@terra.es>
 -
 -      * keymap.c (Fdescribe_vector): Fix docstring.
 -      (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
 -
 -2004-06-05  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
 -      attributes have different values than the default face.
 -
 -2004-06-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (x_supports_face_attributes_p): Make this function
 -      conditional on HAVE_WINDOW_SYSTEM.
 -      (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
 -      Don't call x_supports_face_attributes_p if it was not compiled in.
 -
 -2004-06-04  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): New function, mostly
 -      from Ftty_supports_face_attributes_p.
 -      (x_supports_face_attributes_p): New function.
 -      (Ftty_supports_face_attributes_p): Function deleted.
 -      (Fdisplay_supports_face_attributes_p): New function.
 -      (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
 -      (face_attr_equal_p): New function.
 -      (lface_equal_p): Use it.
 -
 -2004-06-03  Juanma Barranquero  <lektu@terra.es>
 -
 -      * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
 -      (Vw32_color_map): Fix typo in docstring.
 -      (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
 -      (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
 -      Make argument names match their use in docstring.
 -
 -2004-06-02  Juanma Barranquero  <lektu@terra.es>
 -
 -      Work around bugs/problems with MinGW builds of graphics libraries
 -      called from MSVC builds of Emacs.
 -
 -      * image.c (lookup_image): Make pointer to img static.
 -      (png_read_from_memory): Disable "global" optimization.
 -
 -2004-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fcondition_case): Fix usage.  Simplify.
 -
 -      * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
 -
 -2004-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macfns.c: Don't include ccl.h.
 -      [MAC_OSX]: Don't include QuickTime/QuickTime.h.
 -      [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
 -      TextUtils.h.
 -      (Fx_create_frame): Sync with xfns.c.  Initialize cursor descriptors.
 -      (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
 -      display height/width.
 -      (compute_tip_xy, Vx_max_tooltip_size): Declare.
 -      (unwind_create_tip_frame, compute_tip_xy): New functions.
 -      (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
 -      (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
 -      and last_show_tip_args.
 -
 -      * macgui.h [!MAC_OSX]: Include Gestalt.h.
 -      (Cursor, No_Cursor): New defines.
 -      [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
 -      [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
 -
 -      * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
 -
 -      * macterm.c: Don't include Gestalt.h.
 -      (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
 -      (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
 -      (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
 -      (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
 -      (mac_copy_area, mac_copy_area_with_mask, x_update_end)
 -      (construct_mouse_click, XTmouse_position)
 -      (x_scroll_bar_report_motion, x_calc_absolute_position)
 -      (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
 -      (XTread_socket, make_mac_frame): Use SetPortWindowPort.
 -      (note_mouse_movement): Clear the mouse face and reset the pointer
 -      shape when the pointer goes outside the frame without grabbing.
 -      (mac_front_window): New function.
 -      (mac_window_to_frame): New macro.
 -      (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
 -      (do_window_activate, do_window_deactivate, do_app_resume)
 -      (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
 -      (do_zoom_window, mac_do_receive_drag, XTread_socket)
 -      (mac_check_for_quit_char): Use mac_front_window and/or
 -      mac_window_to_frame.
 -      (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
 -      scroll-bar click event.
 -      (mac_define_frame_cursor): Change the pointer shape.
 -      (x_free_frame_resources): Reset tip_window to NULL when it is
 -      disposed of.
 -      [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
 -      [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
 -      (do_window_update): Don't do anything if the updated window is the
 -      tooltip window.
 -      (do_mouse_moved): Handle mouse movement events here (previously in
 -      XTread_socket).  Clear the mouse face if
 -      dpyinfo->mouse_face_hidden is set.
 -      (do_os_event, do_events): Remove (now in XTread_socket).
 -      (XTread_socket): Immediately return if interrupt_input_blocked.
 -      Loop until all the events in the queue are processed.
 -      Rearrange codes for mouse grabbing.  Add tooltip support.  Include the
 -      contents of do_os_event and do_events.  Remove mouse movement
 -      handling (now in do_mouse_moved).  Add the case where
 -      Vmouse_highlight has an integer value.
 -      (NewMacWindow): Remove.
 -      (make_mac_frame): Do what NewMacWindow previously did.  Don't do
 -      excess initializations.
 -      (make_mac_terminal_frame): Previous initializations in
 -      make_mac_frame are moved here.
 -      (mac_initialize_display_info):
 -      Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
 -
 -      * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
 -      (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
 -
 -2004-05-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lisp.h (truncate_undo_list): Update decl.
 -
 -      * alloc.c (undo_outer_limit): New variable.
 -      (syms_of_alloc): Defvar it.
 -      (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
 -
 -      * undo.c (truncate_undo_list): New arg LIMITSIZE.
 -
 -      * alloc.c (lisp_align_malloc): Check for base == 0
 -      regardless of HAVE_POSIX_MEMALIGN.
 -      Clean up HAVE_POSIX_MEMALIGN handling of `err'.
 -
 -2004-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c: Undo Kim's recent changes and fix the same bug differently.
 -      (marker_blocks_pending_free): Remove.
 -      (Fgarbage_collect): Sweep after cleaning up undo-lists.
 -      Mark the undo lists after claning them up.
 -      Don't free block in marker_blocks_pending_free.
 -      (mark_buffer): Don't mark undo_list.
 -      (gc_sweep): Sweep hash-tables and strings first.
 -      Do free marker blocks that are empty.
 -
 -2004-05-28  Jim Blandy  <jimb@redhat.com>
 -
 -      * regex.c (print_partial_compiled_pattern): Add missing 'break'
 -      after 'case wordend'.  For symbeg and symend, print to stderr,
 -      like the other cases.
 -
 -2004-05-28  Noah Friedman  <friedman@splode.com>
 -
 -      * process.c (Fdelete_process): Do not call remove_process.
 -
 -2004-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (struct backtrace): Remove.
 -      (Fgarbage_collect): Use the new mark_backtrace.
 -
 -      * eval.c (mark_backtrace): New function.
 -
 -      * minibuf.c (run_exit_minibuf_hook): New function.
 -      (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
 -      (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
 -
 -2004-05-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (back_to_previous_visible_line_start): Skip backwards
 -      over display properties, e.g. images, that replace buffer text.
 -
 -2004-05-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (marker_blocks_pending_free): New var.
 -      (gc_sweep): Store free marker blocks on that list.
 -      (Fgarbage_collect): Free them after undo-list cleanup.
 -
 -      * process.c (wait_reading_process_input): Check connect_wait_mask
 -      before actually accepting connection in case it has already been
 -      accepted due to recursion.
 -
 -2004-05-23  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <lorentey@elte.hu>
 -
 -      * coding.c (Fset_safe_terminal_coding_system_internal):
 -      Set suppress_error in safe_terminal_coding, not terminal_coding.
 -
 -2004-05-22  Richard M. Stallman  <rms@gnu.org>
 -
 -      * alloc.c (Fmake_string): Doc fix.
 -
 -      * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
 -      and the alist pairs too.
 -
 -      * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
 -
 -      * emacs.c (main): Update copyright year.
 -
 -      * fileio.c (Fread_file_name): Expand DIR if not absolute.
 -
 -      * insdel.c (del_range_2, replace_range): Don't write an anchor
 -      if the gap is empty.
 -
 -      * xdisp.c (try_scrolling): If scroll-up-aggressively or
 -      scroll-down-aggressively is small but positive, put point
 -      near the screen edge.
 -
 -2004-05-22  Juanma Barranquero  <lektu@terra.es>
 -
 -      * keymap.c (Fdefine_key): Doc fix.
 -
 -2004-05-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (struct backtrace): Add debug_on_exit member.
 -      (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
 -      Identify those markers as Lisp_Misc_Free objects.  Clear car and cdr of
 -      the removed cons cells.
 -      (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
 -      (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
 -      any cons cells pointing to unallocated stings.
 -      Do not lisp_free any marker blocks, as there may still be pointers
 -      to them from buffer undo lists at this stage of GC.
 -
 -      * keyboard.c (struct backtrace): Add debug_on_exit member.
 -      (Fcommand_execute): Clear it.
 -
 -2004-05-20  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * intervals.c (lookup_char_property): Do not prematurely return nil.
 -
 -2004-05-19  Jim Blandy  <jimb@redhat.com>
 -
 -      Add support for new '\_<' and '\_>' regexp operators, matching the
 -      beginning and end of symbols.
 -
 -      * regex.c (enum syntaxcode): Add Ssymbol.
 -      (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
 -      (re_opcode_t): New opcodes `symbeg' and `symend'.
 -      (print_partial_compiled_pattern): Print the new opcodes properly.
 -      (regex_compile): Parse the new operators.
 -      (analyse_first): Skip sym(beg|end) (they match only the empty string).
 -      (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
 -      \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
 -      (re_match_2_internal): Match symbeg and symend.
 -
 -      * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
 -
 -2004-05-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * .gdbinit (xsymbol): Fix last change.
 -
 -2004-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * .gdbinit (xprintstr): New fun.
 -      (xstring, xprintsym): Use it.
 -
 -      * w32proc.c (create_child): Use INTMASK.
 -
 -      * alloc.c (Fgarbage_collect): Do all the marking before flushing
 -      unmarked elements of the undo list.
 -
 -2004-05-18  David Ponce  <david@dponce.com>
 -
 -      * print.c (print): Reset print_depth before to call print_object.
 -
 -2004-05-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32console.c: Prefix RIF functions with w32con_ to avoid
 -      namespace clash with functions in term.c and w32term.c.
 -
 -      * w32menu.c (add_menu_item, w32_menu_display_help)
 -      [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
 -
 -      * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
 -
 -2004-05-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
 -
 -      * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
 -      with make_number.
 -      (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
 -      with XINT.
 -
 -2004-05-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * blockinput.h (INPUT_BLOCKED_P): New macros.
 -
 -      * keyboard.c (Frecursive_edit): Return immediately if input blocked.
 -      (Ftop_level): Unblock input if blocked.
 -
 -      * buffer.h (GET_OVERLAYS_AT): New macro.
 -      * msdos.c (IT_note_mouse_highlight): Use it.
 -      * textprop.c (get_char_property_and_overlay): Use it.
 -      * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
 -      * xfaces.c (face_at_buffer_position): Use it.
 -
 -      * print.c (print_object): Increase buf size.
 -
 -2004-05-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
 -      (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
 -      Lisp_Object using i member.
 -      (w32_quit_key): Rename from Vw32_quit_key, and make an int.
 -      (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
 -      consistently.
 -
 -      * w32proc.c (create_child): Use make_number instead of masking pid.
 -
 -      * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
 -      (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
 -      Use EQ to compare Lisp_Objects.
 -      (w32_parse_hot_key): Use int for lisp_modifiers consistently.
 -
 -      * w32term.c (w32_num_mouse_buttons): Rename from
 -      Vw32_num_mouse_buttons and make it an int.
 -
 -      * w32.c (init_environment): Use it.
 -
 -      * w32fns.c (w32_wnd_proc): Likewise.
 -
 -      * w32proc.c (w32_pipe_read_delay): Rename from
 -      Vw32_pipe_read_delay and make it an int.
 -
 -      * w32.c (_sys_read_ahead): Use it.
 -
 -      * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
 -
 -      * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
 -
 -      * w32inevt.c (w32_console_mouse_position, do_mouse_event)
 -      (key_event): Don't mix Lisp_Object and int.
 -
 -      * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
 -
 -      * keyboard.c (kbd_buffer_get_event): Don't use event->code and
 -      modifiers in language change event.
 -
 -2004-05-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
 -      Such objects may be freed markers which still exist on an undo list.
 -
 -2004-05-16  Juanma Barranquero  <lektu@terra.es>
 -
 -      * data.c (Fset_default): Make argument names match their use in
 -      docstring.
 -
 -2004-05-15  Andreas Schwab  <schwab@suse.de>
 -
 -      * emacs.c (gdb_array_mark_flag): Define.
 -      * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
 -
 -2004-05-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
 -      __attribute__((__aligned__)), so that USE_LSB_TAG would not become
 -      defined for the MS-DOS build.
 -
 -2004-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
 -
 -2004-05-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
 -
 -2004-05-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
 -      section to frame.c section.
 -      (Fxw_display_color_p, Fx_file_dialog): Declare if
 -      HAVE_WINDOW_SYSTEM defined.
 -
 -      * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
 -
 -      * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
 -
 -      * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
 -      (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
 -      (XTread_socket): Fix int/Lisp_Object mixup.
 -      (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
 -
 -      * macterm.h (struct frame, struct face, struct image)
 -      (display_x_get_resource, Fx_display_color_p)
 -      (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
 -      Add prototypes.
 -
 -2004-05-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (wait_reading_process_input): Make reentrant.
 -      Make Available and Connecting non-static.  Save and restore value
 -      of waiting_for_user_input_p.
 -
 -2004-05-13  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (mark_kboards): Don't mark x and y members
 -      that are overloaded in selection request events.
 -
 -2004-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
 -
 -2004-05-13  Glenn Morris  <gmorris@ast.cam.ac.uk>
 -
 -      * window.c (Fdisplay_buffer, Fsplit_window)
 -      (split-height-threshold): Doc fix.
 -
 -2004-05-13  Juanma Barranquero  <lektu@terra.es>
 -
 -      * xfaces.c (Ftty_supports_face_attributes_p)
 -      (Finternal_copy_lisp_face): Fix typo in docstring.
 -      (Finternal_get_lisp_face_attribute): Fix docstring.
 -
 -2004-05-12  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
 -
 -2004-05-11  Steven Tamm  <steventamm@mac.com>
 -
 -      * macfns.c (Fx_create_frame): Default to using tool-bar by
 -      setting tool-bar-lines to 1 in default-frame-alist.
 -
 -2004-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
 -      (xpm_get_color_table_v, xpm_make_color_table_h)
 -      (xpm_put_color_table_h, xpm_get_color_table_h)
 -      (xpm_str_to_color_key, xpm_load_image, xpm_load)
 -      (syms_of_image): Support XPM on Carbon Emacs.  Does not
 -      depend on libXpm, but only supports XPM version 3 without extensions.
 -
 -2004-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
 -      instead of FRAME_X_P
 -
 -2004-05-11  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.
 -
 -2004-04-29  Jim Blandy  <jimb@redhat.com>
 -
 -      * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
 -      against proper opcode.
 -
 -2004-05-10  Juanma Barranquero  <lektu@terra.es>
 -
 -      * process.c (Fstart_process): Fix docstring.
 -
 -      * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
 -      (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
 -      (Fsplit_char, Fchar_charset): Make argument names match their use
 -      in docstring.
 -
 -2004-05-10  Richard M. Stallman  <rms@gnu.org>
 -
 -      * print.c (print_preprocess): Use being_printed, loop_count and
 -      halftail to detect overdeep nesting and cyclic cdr chains.
 -
 -2004-05-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * lisp.h (Fmake_symbolic_link): Declare.
 -
 -      * fileio.c (Frename_file): Remove extra argument in call to
 -      Fmake_symbolic_link.
 -
 -2004-05-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (calc_line_height_property): Use string position when
 -      object is a string.
 -
 -2004-05-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
 -      inhibit-modification-hooks to t temporarily before calling
 -      Ferase_buffer.
 -
 -      * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
 -      inhibit-modification-hooks to t temporarily before calling
 -      Ferase_buffer.
 -
 -      * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
 -      inhibit-modification-hooks to t temporarily before calling
 -      Ferase_buffer.
 -
 -      * fns.c (count_combining): Delete it.
 -      (concat): Don't check combining bytes.
 -
 -2004-05-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
 -      (globals_of_w32fns): Set it.
 -
 -2004-05-09  Piet van Oostrum  <piet@cs.uu.nl>
 -
 -      * data.c (Fquo): Simplify.
 -
 -2004-05-08  Peter Whaite  <emacs@whaite.ca>  (tiny change)
 -
 -      * data.c (Fquo): If any argument is float, do the computation in
 -      floating point.
 -
 -2004-05-08  Juanma Barranquero  <lektu@terra.es>
 -
 -      * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
 -      (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
 -      Fix spelling of Emacs on docstring.
 -      (Fset_process_coding_system, Fprocess_coding_system)
 -      (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
 -      Make argument names match their use in docstring.
 -      (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
 -      Fix docstring.
 -
 -      * editfns.c (Finsert_buffer_substring): Make argument names match their
 -      use in docstring.
 -
 -      * syntax.c (Fmodify_syntax_entry): Fix docstring.
 -
 -2004-05-07  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
 -      around call to ReceiveEvent to avoid certain crashes.
 -
 -2004-05-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
 -      (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
 -      (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
 -      Save/restore the current graphics port and device handle when
 -      drawing into an offscreen graphics world.
 -
 -      * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
 -      (gif_load): Likewise.
 -
 -2004-05-07  Juanma Barranquero  <lektu@terra.es>
 -
 -      * window.c (Fset_window_buffer): Fix docstring.
 -
 -2004-05-06  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * emacs.c (main) [VMS]: Fix var ref.
 -
 -2004-05-06  Romain Francoise  <romain@orebokech.com>
 -
 -      * data.c (Fsetq_default): Fix docstring.
 -
 -2004-05-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
 -      to avoid name clash.
 -
 -2004-05-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * fileio.c (barf_or_query_if_file_exists): Use lstat.
 -      (Frename_file): Handle renaming of symlinks across file systems.
 -      (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
 -
 -2004-05-04  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (Qtotal): New var.
 -      (syms_of_xdisp): Intern and staticpro it.
 -      (calc_line_height_property): New arg total.  Set it if
 -      line-spacing property has format (total . VALUE).
 -      (x_produce_glyphs): Ignore line-spacing if line-height is 0.
 -      Handle total line-spacing property.
 -
 -2004-05-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
 -      "under" scroll bar when size/position changes.
 -
 -2004-05-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.nt: Remove.
 -
 -2004-05-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
 -      Avoid compiler warnings.
 -
 -      * Makefile.in (region-cache.o): Depend on config.h.
 -
 -2004-05-02  Romain Francoise  <romain@orebokech.com>
 -
 -      * indent.c (compute_motion): Save vpos in prev_vpos when dealing
 -      with continuation lines, too.
 -
 -2004-05-02  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
 -
 -2004-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (calc_line_height_property): YAILOM (yet another
 -      int/Lisp_Object mixup).
 -
 -2004-05-01  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
 -      undo bad effect of pack(4) in some versions of system headers.
 -
 -2004-05-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
 -
 -2004-04-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
 -      (syms_of_buffer) <cursor-type>: Doc fix.
 -
 -      * dispextern.h (struct it): Remove member use_default_face.
 -      Add members override_ascent, override_descent, override_boff.
 -
 -      * xdisp.c (init_iterator): Handle line-spacing float value.
 -      Initialize override_ascent member.
 -      (append_space_for_newline): Reset override_ascent.
 -      Remove use_default_face.
 -      (calc_line_height_property): New function to calculate value of
 -      line-height and line-spacing properties.  Look at overlays, too.
 -      Set override_ascent, override_descent, override_boff members when
 -      using another face than the current face.  Float values are now
 -      relative to the frame default font, by default; accept a cons
 -      of ratio and face name to specify value relative to a specific face.
 -      (x_produce_glyphs): Use calc_line_height_property.
 -      Use override_ascent etc. when set to handle different face heights.
 -      A negative line-spacing property value is interpreted as a total
 -      line height, rather than inter-line spacing.
 -      (note_mouse_highlight): Allocate room for 40 overlays initially.
 -
 -2004-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (Fsubr_name): New fun.
 -      (syms_of_data): Defsubr it.
 -
 -2004-04-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (null_glyph_slice): New var.
 -      (append_glyph, append_composite_glyph, append_stretch_glyph):
 -      Use it to initialize glyph slice.
 -
 -2004-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
 -      (on_hot_spot_p): Make sure we always return a value.
 -      (Flookup_image_map): Remove unused var ix and iy.
 -      (note_mode_line_or_margin_highlight): Remove unused var `image'.
 -
 -2004-04-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (init_environment): If one of the TMP... environment
 -      variables is set to a drive letter without a trailing slash,
 -      append a slash.
 -
 -2004-04-27  Matthew Mundell  <matt@mundell.ukfsn.org>
 -
 -      * editfns.c (lisp_time_argument): Provide externally.
 -
 -      * fileio.c (Fset_file_times): New function.
 -      (syms_of_fileio): Intern and staticpro it.
 -
 -2004-04-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
 -      header line strings.
 -
 -      * dispextern.h (struct it): New member use_default_face.
 -
 -      * xdisp.c (Qline_height): New variable.
 -      (syms_of_xdisp): Intern and staticpro it.
 -      (append_space_for_newline): Partially undo 2004-04-25 change;
 -      add default_face_p arg, and restore callers.
 -      Clear it->use_default_face after use.
 -      (x_produce_glyphs): Set default font for ascii char if
 -      it->use_default_font is set.  Change line-spacing property to set
 -      just extra line spacing.  Handle new line-height property.
 -
 -2004-04-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (print_object): Print non-ascii characters in bool
 -      vector representation as octal escapes.
 -
 -      * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
 -      * print.c (print_object): Use it instead of BITS_PER_CHAR for
 -      bool vectors.
 -      * lread.c (read1): Likewise.
 -      * alloc.c (Fmake_bool_vector): Likewise.
 -      * data.c (Faref, Faset): Likewise.
 -      * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
 -      (mapcar1): Likewise.
 -
 -2004-04-26  Steven Tamm  <tamm@Steven-Tamms-Computer.local>
 -
 -      * lread.c (init_lread): Fix typo in HAVE_CARBON test logic.
 -
 -2004-04-26  Miles Bader  <miles@gnu.org>
 -
 -      * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
 -
 -2004-04-26  Juanma Barranquero  <lektu@terra.es>
 -
 -      * buffer.c (Fpop_to_buffer): Fix docstring.
 -
 -2004-04-26  Steven Tamm  <steventamm@mac.com>
 -
 -      * lread.c (init_lread): Don't display missing lisp directory
 -      warnings with Carbon Emacs because self-contained bundled Emacs
 -      may be built without correct installation path.
 -
 -2004-04-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
 -
 -      * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
 -
 -      * xdisp.c (append_space_for_newline): Rename from append_space.
 -      Remove DEFAULT_FACE_P arg; always use current face.  Callers changed.
 -      (x_produce_glyphs): Handle line-spacing property on newline char.
 -      If value is t, adjust ascent and descent to fit current row height.
 -      If value is an integer or float, set extra_line_spacing to integer
 -      value, or to float value x current line height.
 -
 -2004-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Finternal_char_font): If POSITION is nil, return
 -      font for displaying CH with the default face.
 -
 -2004-04-23  Juanma Barranquero  <lektu@terra.es>
 -
 -      * makefile.w32-in: Add "-*- makefile -*-" mode tag.
 -
 -2004-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
 -      Don't make assumptions about the relative place of i and val.
 -      (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
 -
 -2004-04-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct glyph_slice): New struct.
 -      (struct glyph): New member slice.
 -      (GLYPH_SLICE_EQUAL_P): New macro.
 -      (GLYPH_EQUAL_P): Use it.
 -      (struct glyph_string): New member slice.
 -      (struct it_slice): New struct.
 -      (struct it): New member slice, add member to stack too.
 -      New member constrain_row_ascent_descent_p.
 -      (image_ascent): Add prototype.
 -
 -      * dispnew.c (buffer_posn_from_coords): Return full image width
 -      and height even for image slices (posn is relative to full image).
 -      (marginal_area_string): Adjust x0,y0 for image slice.
 -
 -      * image.c (image_ascent): Add slice arg; calculate ascent for
 -      image slice (or full image).
 -
 -      * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
 -      (syms_of_keyboard): Defsubr them.
 -
 -      * lisp.h (pos_visible_p): Fix prototype.
 -
 -      * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
 -      (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
 -      (x_draw_image_foreground, x_draw_image_relief)
 -      (x_draw_image_foreground_1, x_draw_image_glyph_string):
 -      Draw sliced images.
 -
 -      * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
 -      (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
 -      (x_draw_image_foreground, x_draw_image_relief)
 -      (w32_draw_image_foreground_1, x_draw_image_glyph_string):
 -      Draw sliced images.
 -
 -      * w32term.h (image_ascent): Remove prototype.
 -
 -      * window.c (Fpos_visible_in_window_p): Return pixel position if
 -      PARTIALLY arg is non-nil.  Simplify.  Doc fix.
 -      (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
 -      to return/set vscroll in pixels.
 -
 -      * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
 -
 -      * xdisp.c (Qslice): New variable.
 -      (syms_of_xdisp): Intern and staticpro it.
 -      (pos_visible_p): Return pixel position in new x and y args.
 -      (init_iterator): Reset it->slice info.
 -      (handle_display_prop): Parse (slice ...) property.
 -      (push_it, pop_it): Save/restore slice info.
 -      (make_cursor_line_fully_visible): Fix 2004-04-14 change.  Do not
 -      force repositioning of tall row if window is vscrolled, as that
 -      would reset vscroll.
 -      (append_space): Set it->constrain_row_ascent_descent_p to avoid
 -      increasing row height if row is non-empty.
 -      (fill_image_glyph_string): Copy slice info.
 -      (take_vertical_position_into_account): Simplify.
 -      (produce_image_glyph): Handle iterator slice info, setup glyph
 -      slice info.  Do not force minimum line height.
 -      (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
 -      do not increase height (ascent/descent) of non-empty row when
 -      adding normal character glyph; instead reduce glyph ascent/descent
 -      appropriately; if row is higher than current glyph, adjust glyph
 -      descent/ascent to reposition glyph within the existing row.
 -      Likewise, when char is newline, only set ascent/descent if row is
 -      currently empty.
 -      (note_mouse_highlight): Handle hotspots with sliced image.
 -
 -      * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
 -      (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
 -      (x_draw_image_foreground, x_draw_image_relief)
 -      (x_draw_image_foreground_1, x_draw_image_glyph_string):
 -      Draw sliced images.
 -
 -      * xterm.h (image_ascent): Remove prototype.
 -
 -2004-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
 -
 -2004-04-20  John Paul Wallington  <jpw@gnu.org>
 -
 -      * fns.c (Fassoc, Feql): Fix indentation.
 -
 -      * fontset.c (regularize_fontname): Rename from regulalize_fontname.
 -
 -2004-04-19  John Paul Wallington  <jpw@gnu.org>
 -
 -      * fns.c (Feql): New function.
 -      (syms_of_fns): Defsubr it.
 -
 -2004-04-18  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32select.c (Fw32_set_clipboard_data): Get sequence number
 -      after closing the clipboard.
 -
 -2004-04-16  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.c (Fbuffer_base_buffer): Doc fix.
 -
 -2004-04-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * keymap.c (Fkey_description): Add optional PREFIX arg.
 -      Combine prefix with KEYS to make up the full key sequence to describe.
 -      Correlate meta_prefix_char and following (simple) key to describe
 -      as meta modifier.  All callers changed.
 -      (describe_map): Rename arg `keys' to `prefix'.  Remove local
 -      `elt_prefix' var.  Use Fkey_description with prefix instead of
 -      elt_prefix combined with Fsingle_key_description.
 -      (describe_vector): Declare static.  Replace arg `elt_prefix' with
 -      `prefix'.  Add KEYMAP_P arg.  Add local var `elt_prefix'; use it
 -      if !KEYMAP_P.  Use Fkey_description with prefix instead of
 -      Fsingle_key_description.
 -
 -      * keymap.h (Fkey_description): Fix prototype.
 -      (describe_vector): Remove prototype.
 -
 -      * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
 -
 -      * image.c (PNG_BG_COLOR_SHIFT): Remove.
 -      (png_load): Fix calculation of transparent background color on X
 -      and W32 platforms.
 -
 -2004-04-16  Juanma Barranquero  <lektu@terra.es>
 -
 -      * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
 -      not too large before computing how much to scroll.
 -
 -2004-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
 -
 -2004-04-14  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
 -      Add hyperlink to Elisp manual to the docstring.
 -
 -2004-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * callint.c (fix_command): Use XDCR.
 -
 -2004-04-14  Nick Roberts  <nick@nick.uklinux.net>
 -
 -      * window.c (Fget_lru_window): Doc fix.
 -
 -2004-04-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Fformat): Fix allocation size of precision array.
 -
 -      * dispnew.c (update_window): Only set changed_p if
 -      scrolling_window actually did scroll.
 -      (scrolling_window): Only return 1 if we actually did scroll.
 -
 -      * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
 -      height to glyph height when cursor row is not fully visible.
 -      (make_cursor_line_fully_visible): Add FORCE_P arg to return
 -      failure in case row is higher than window.  Callers changed.
 -      (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
 -      Try to scroll partially visible, higher-than-window cursor row.
 -      (redisplay_window): Always try to scroll partially visible,
 -      higher-than-window cursor row - both initially and again with
 -      centering_position = 0.
 -      Clear desired matrix before retrying with centering_position = 0.
 -
 -2004-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (scan_lists): Simplify backward string scan.
 -      Fix off-by-one boundary check for string and comment fences.
 -
 -2004-04-13  Joe Buehler  <jbuehler@hekimian.com>
 -
 -      * sheap.c, unexcw.c: New files.
 -
 -2004-04-12  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
 -      base buffer has been killed.  Correct the error message if the
 -      base buffer does not exist.
 -
 -2004-04-12  Joe Buehler  <jbuehler@hekimian.com>
 -
 -      * s/cygwin.h: Changes for Cygwin unexec() support, changes in
 -      Cygwin itself.  Add support for Xaw3d scrollbars.
 -
 -      * puresize.h: Set up PURE_P() for Cygwin unexec() support.
 -
 -      * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
 -
 -      * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
 -      before Cygwin unexec.
 -
 -      * Makefile.in: Link changes for Cygwin unexec() support.
 -
 -2004-04-12  Andreas Schwab  <schwab@suse.de>
 -
 -      * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
 -
 -2004-04-11  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
 -      IGNORE argument equals NAME.  Doc fix.
 -
 -2004-04-11  Masatake YAMATO  <jet@gyve.org>
 -
 -      * buffer.c (fix_start_end_in_overlays): Make overlays
 -      empty if they are backwards.
 -
 -2004-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfaces.c (face_color_supported_p): Fix compilation without X11.
 -
 -2004-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * doc.c (Fsnarf_documentation): Ignore new file name entries.
 -
 -2004-04-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
 -      (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
 -
 -      * w32term.c (w32_read_socket): Set mouse_face_hidden after
 -      clearing highlight.
 -
 -      * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
 -
 -      * xterm.c (handle_one_xevent): Set mouse_face_hidden after
 -      clearing highlight.
 -
 -      * indent.c (vmotion): Do not reserve one column for continuation
 -      marks on window frames.
 -
 -2004-04-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
 -      from GCC.
 -
 -2004-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * .gdbinit-union: Remove.
 -
 -      * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
 -      (xgetptr, xgetint, xgettype): New funs.  Use them everywhere.
 -      ($nonvalbits): Remove.
 -      ($valmask): Set it by calling xreload to avoid redundancy.
 -
 -      * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
 -      (gdb_emacs_intbits): Remove.
 -
 -2004-03-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
 -
 -2004-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fformat): Fix initialization of the array info.
 -
 -2004-03-30  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (x_mouse_click_focus_ignore_position): New var.
 -      (syms_of_xterm): DEFVAR_BOOL it.
 -      (ignore_next_mouse_click_timeout): New var.
 -      (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
 -      Use it to filter mouse clicks following focus event.
 -
 -2004-03-29  David Ponce  <david@dponce.com>
 -
 -      * callint.c (Fcall_interactively): Fix last change.
 -
 -2004-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fcommandp): Simplify.
 -
 -      * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
 -      Extend to handle all kinds of functions.
 -
 -      * lisp.h (Finteractive_form): Declare.
 -
 -      * callint.c (Fcall_interactively): Use it.
 -
 -2004-03-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
 -      to catch errors in calc_pixel_width_or_height during redisplay.
 -
 -2004-03-26  Masatake YAMATO  <jet@gyve.org>
 -
 -      * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
 -
 -      * lisp.h (fix_start_end_in_overlays): Likewise.
 -
 -      * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
 -
 -      * editfns.c (Ftranspose_regions): Likewise.
 -
 -2004-03-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
 -
 -2004-03-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * s/sol2-6.h: Delete previous change.
 -
 -2004-03-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
 -      to_charpos corresponds to newline in right fringe.  Use local
 -      BUFFER_POS_REACHED_P macro.
 -
 -2004-03-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
 -      to compile on non-window system.
 -
 -2004-03-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (calc_pixel_width_or_height): Add prototype.
 -
 -      * image.c (Qcenter): Move to xdisp.c.
 -
 -      * xdisp.c (Qcenter): Declare here.
 -      (syms_of_xdisp): Intern and staticpro it.
 -      (handle_single_display_prop): Allow space display property on all
 -      platforms.
 -      (display_mode_line): Set mode_line_p before displaying line.
 -      (calc_pixel_width_or_height): Declare extern.  Add separate :align-to
 -      handling.  Remove complex cases for fringes and scroll-bars.
 -      Add left, right, and center alignment positions.  Add text (area)
 -      width/height.  Return width or height for image specs.
 -      (produce_stretch_glyph): Improve handling of :align-to.  Is now
 -      relative to left of text area by default, but other base offsets
 -      can be specified -- also for text lines.
 -
 -      * term.c (produce_glyphs): Handle IT_STRETCH.
 -      (produce_stretch_glyph): New function to handle space width and
 -      align-to display properties on non-window systems.
 -
 -2004-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fread_file_name): Set completion-ignore-case for
 -      case-insensitive systems.
 -
 -2004-03-14  Masatake YAMATO  <jet@gyve.org>
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
 -      when keymap and cursor are setup.
 -
 -2004-03-14  Steven Tamm  <steventamm@mac.com>
 -
 -      * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
 -
 -2004-03-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (x_find_image_file): Add prototype.
 -
 -      * image.c (x_find_image_file): Make extern.
 -
 -      * xfns.c (x_find_image_file): Remove prototype.
 -
 -2004-03-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
 -
 -      * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
 -
 -2004-03-12  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fns.c (internal_equal): New arg PROPS controls comparing
 -      text properties.  All callers changed.
 -      (Fequal_including_properties): New function.
 -      (syms_of_fns): defsubr it.
 -
 -2004-03-12  Kim F. Storm  <storm@cua.dk>
 -
 -      Fix image support on MAC.  From YAMAMOTO Mitsuharu.
 -
 -      * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
 -      (image_background, image_background_transparent): Fix prototypes.
 -
 -      * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
 -
 -      * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
 -      (x_query_font, x_find_ccl_program, x_set_window_size)
 -      (x_make_frame_visible, mac_initialize, XCreatePixmap)
 -      (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
 -      (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
 -
 -      * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
 -      (x_query_font, x_find_ccl_program, x_set_window_size)
 -      (x_make_frame_visible, mac_initialize, XCreatePixmap)
 -      (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
 -      (mac_draw_line_to_pixmap): Add prototypes.
 -
 -2004-03-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * macterm.c (XTread_socket): Fix mouse click on tool bar.
 -
 -2004-03-11  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h: Move image related prototypes from xfns.c section
 -      to image.c.  Condition them by HAVE_WINDOW_SYSTEM rather than
 -      HAVE_X_WINDOWS.
 -
 -      * Makefile.in (XOBJ): Consolidate into one list.  Add image.o.
 -      Move gtkutil.o to new GTK_OBJ list.
 -      (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
 -      (GTK_OBJ) [USE_GTK]: New declaration.
 -      (obj): Add $(GTK_OBJ) to list.
 -
 -2004-03-11  Steven Tamm  <steventamm@mac.com>
 -
 -      * image.c [MAC_OSX]: Include sys/stat.h.
 -
 -      * macfns.c (syms_of_macfns): Remove definitions of things now
 -      defined in image.c.
 -
 -2004-03-11  Kim F. Storm  <storm@cua.dk>
 -
 -      The following changes consolidates the identical/similar image
 -      support code previously found in xfns.c, w32fns.c, and macfns.c
 -      into a new file image.c.
 -
 -      * makefile.w32-in (OBJ1): Add image.o.
 -      ($(BLD)/image.$(O)): Add dependencies.
 -
 -      * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
 -      (image.o): Add dependencies.
 -
 -      * image.c: New file with consolidated image support code.
 -      (COLOR_TABLE_SUPPORT): New define to control whether
 -      color table support is available (X only).
 -      (Bitmap_Record): Common name for x_bitmap_record,
 -      w32_bitmap_record, and mac_bitmap_record.
 -      (XImagePtr): Common name for pointer to XImage or equivalent.
 -      (XImagePtr_or_DC): New type to simplify code sharing; equivalent
 -      to XImagePtr on X+MAC, and to HDC on W32.
 -      (GET_PIXEL): Wrapper for XGetPixel or equivalent.
 -      (NO_PIXMAP): Common name for "None" or equivalent.
 -      (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
 -      (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
 -      (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
 -      (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
 -      Define with suitable equivalents on W32 and MAC for code sharing.
 -      (XDrawLine): Define on MAC for code sharing.
 -      (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
 -      (IF_LIB_AVAILABLE): Macro to simplify code sharing.
 -      (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
 -      (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 -      (x_reference_bitmap, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, x_destroy_bitmap)
 -      (x_destroy_all_bitmaps, x_create_bitmap_mask)
 -      (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
 -      (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
 -      (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
 -      (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
 -      (define_image_type, lookup_image_type, valid_image_p)
 -      (image_error, enum image_value_type, struct image_keyword)
 -      (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
 -      (make_image, free_image, prepare_image_for_display, image_ascent)
 -      (four_corners_best, image_background, image_background_transparent)
 -      (x_clear_image_1, x_clear_image, x_alloc_image_color)
 -      (make_image_cache, free_image_cache, clear_image_cache)
 -      (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
 -      (forall_images_in_image_cache, x_create_x_image_and_pixmap)
 -      (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
 -      (find_image_fsspec, image_load_qt_1, image_load_quicktime)
 -      (init_image_func_pointer, image_load_quartz2d)
 -      (struct ct_color, init_color_table, free_color_table)
 -      (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
 -      (cross_disabled_images, x_to_xcolors, x_from_xcolors)
 -      (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
 -      (x_disable_image, x_build_heuristic_mask)
 -      (XBM support, XPM support, PBM support, PNG support, JPEG support)
 -      (TIFF support, GIF support, Ghostscript support): Consolidate image
 -      code from xfns.c, w32fns.c, and macfns.c.
 -      (syms_of_image): Consolidate image related symbol setup here.
 -      (init_image): Consolidate image related initializations here.
 -
 -      * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
 -      and init_image.  Remove call to init_xfns.
 -
 -      * macterm.h (struct mac_bitmap_record): Add file member.
 -      Not currently used, but simplifies code sharing.
 -
 -      * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
 -      (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 -      (x_reference_bitmap, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, x_destroy_bitmap)
 -      (x_destroy_all_bitmaps, x_create_bitmap_mask)
 -      (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
 -      (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
 -      (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
 -      (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
 -      (define_image_type, lookup_image_type, valid_image_p)
 -      (image_error, enum image_value_type, struct image_keyword)
 -      (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
 -      (make_image, free_image, prepare_image_for_display, image_ascent)
 -      (four_corners_best, image_background, image_background_transparent)
 -      (x_clear_image_1, x_clear_image, x_alloc_image_color)
 -      (make_image_cache, free_image_cache, clear_image_cache)
 -      (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
 -      (forall_images_in_image_cache, x_create_x_image_and_pixmap)
 -      (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
 -      (find_image_fsspec, image_load_qt_1, image_load_quicktime)
 -      (init_image_func_pointer, image_load_quartz2d)
 -      (struct ct_color, init_color_table, free_color_table)
 -      (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
 -      (cross_disabled_images, x_to_xcolors, x_from_xcolors)
 -      (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
 -      (x_disable_image, x_build_heuristic_mask)
 -      (XBM support, XPM support, PBM support, PNG support, JPEG support)
 -      (TIFF support, GIF support, Ghostscript support): Merge with image
 -      code from xfns.c and macfns.c into image.c.
 -      (syms_of_xfns): Move image related symbols to image.c.
 -      (init_external_image_libraries, init_xfns): Remove; initialization
 -      moved to init_image in image.c.
 -
 -      * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
 -      (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 -      (x_reference_bitmap, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, x_destroy_bitmap)
 -      (x_destroy_all_bitmaps, x_create_bitmap_mask)
 -      (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
 -      (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
 -      (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
 -      (define_image_type, lookup_image_type, valid_image_p)
 -      (image_error, enum image_value_type, struct image_keyword)
 -      (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
 -      (make_image, free_image, prepare_image_for_display, image_ascent)
 -      (four_corners_best, image_background, image_background_transparent)
 -      (x_clear_image_1, x_clear_image, x_alloc_image_color)
 -      (make_image_cache, free_image_cache, clear_image_cache)
 -      (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
 -      (forall_images_in_image_cache, x_create_x_image_and_pixmap)
 -      (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
 -      (struct ct_color, init_color_table, free_color_table)
 -      (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
 -      (cross_disabled_images, x_to_xcolors, x_from_xcolors)
 -      (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
 -      (x_disable_image, x_build_heuristic_mask)
 -      (XBM support, XPM support, PBM support, PNG support, JPEG support)
 -      (TIFF support, GIF support, Ghostscript support): Merge with image
 -      code from xfns.c and macfns.c into image.c.
 -      (syms_of_xfns): Move image related symbols to image.c.
 -      (init_external_image_libraries, init_xfns): Remove; initialization
 -      moved to init_image in image.c.
 -
 -      * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
 -      (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 -      (x_reference_bitmap, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, x_destroy_bitmap)
 -      (x_destroy_all_bitmaps, x_create_bitmap_mask)
 -      (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
 -      (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
 -      (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
 -      (define_image_type, lookup_image_type, valid_image_p)
 -      (image_error, enum image_value_type, struct image_keyword)
 -      (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
 -      (make_image, free_image, prepare_image_for_display, image_ascent)
 -      (four_corners_best, image_background, image_background_transparent)
 -      (x_clear_image_1, x_clear_image, x_alloc_image_color)
 -      (make_image_cache, free_image_cache, clear_image_cache)
 -      (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
 -      (forall_images_in_image_cache, x_create_x_image_and_pixmap)
 -      (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
 -      (struct ct_color, init_color_table, free_color_table)
 -      (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
 -      (cross_disabled_images, x_to_xcolors, x_from_xcolors)
 -      (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
 -      (x_disable_image, x_build_heuristic_mask)
 -      (XBM support, XPM support, PBM support, PNG support, JPEG support)
 -      (TIFF support, GIF support, Ghostscript support): Merge with
 -      w32fns.c and macfns.c image code into image.c.
 -      (syms_of_xfns): Move image related symbols to image.c.
 -      (init_xfns): Remove; initialization moved to init_image in image.c.
 -
 -      * lisp.h (syms_of_image, init_image): Add protoypes.
 -      (init_xfns): Remove prototype.
 -
 -      * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 -      (x_reference_bitmap, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, x_destroy_bitmap)
 -      (x_create_bitmap_mask): Move prototypes from dispextern.h.
 -      (gamma_correct) [MAC_OS]: Add prototype.
 -
 -      * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 -      (x_reference_bitmap, x_create_bitmap_from_data)
 -      (x_create_bitmap_from_file, x_destroy_bitmap)
 -      (x_create_bitmap_mask): Move prototypes to dispextern.h.
 -
 -2004-03-09  Kenichi Handa  <handa@etlken2>
 -
 -      * coding.c (decode_coding_emacs_mule): Handle insufficent source
 -      correctly.
 -
 -2004-03-04  Richard M. Stallman  <rms@gnu.org>
 -
 -      * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
 -
 -      * window.c (Fdisplay_buffer): Doc fix.
 -
 -      * buffer.c (Fpop_to_buffer): Doc fix.
 -
 -2004-03-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
 -
 -2004-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
 -
 -2004-03-02  Richard M. Stallman  <rms@gnu.org>
 -
 -      * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
 -
 -2004-03-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * doc.c (Fsubstitute_command_keys): Fix counding bytes.
 -
 -2004-03-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.h (struct window): New member overlay_arrow_bitmap.
 -
 -      * window.c (make_window): Initialize overlay_arrow_bitmap.
 -
 -      * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
 -      implement and integrate multiple overlay arrows with redisplay.
 -      (syms_of_xdisp): DEFVAR_LISP and initialize it.
 -      (last_arrow_position, last_arrow_string): Replace by properties.
 -      (Qlast_arrow_position, Qlast_arrow_string)
 -      (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
 -      (syms_of_xdisp): Intern and staticpro them.
 -      (overlay_arrow_string_or_property, update_overlay_arrows)
 -      (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
 -      (overlay_arrow_at_row): New functions for multiple overlay arrows.
 -      (redisplay_internal): Use them instead of directly accessing
 -      Voverlay_arrow_position etc. for multiple overlay arrows.
 -      (mark_window_display_accurate): Use update_overlay_arrows.
 -      (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
 -      (try_window_id): Use overlay_arrows_changed_p.
 -      (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
 -      (display_line): Use overlay_arrow_at_row to check multiple
 -      overlay arrows, and get relevant overlay-arrow-string and
 -      overlay-arrow-bitmap.  Set w->overlay_arrow_bitmap accordingly.
 -      (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
 -      (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
 -
 -      * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
 -      (update_window_fringes): Remove unused code.
 -
 -2004-03-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
 -
 -2004-03-01  Juanma Barranquero  <lektu@terra.es>
 -
 -      * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
 -
 -      * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
 -
 -2004-03-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_display_color_cells): Use number of planes to calculate
 -      how many colors can be displayed.
 -
 -2004-03-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
 -      correctly.
 -
 -2004-02-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (update_window): Update header line also if there are
 -      no other changes in window (move code after set_cursor label).
 -
 -      * lisp.h (mark_window_display_accurate): Remove prototype.
 -
 -      * window.c (window_loop, Fforce_window_update): Force mode line
 -      updates by setting prevent_redisplay_optimizations_p and
 -      update_mode_lines.
 -
 -2004-02-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_window): Fix indentation.
 -
 -      * xterm.c (x_calc_absolute_position): Call x_real_positions
 -      to get WM window sizes and use those to calculate position.
 -      (x_set_offset): Remove code commented out.
 -
 -2004-02-28  Miles Bader  <miles@gnu.org>
 -
 -      * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
 -
 -2004-02-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (kbd_buffer_store_event_hold): New function to store
 -      an event into kbd fifo, but with special handling of quit event;
 -      a quit event is saved for later, and further events are discarded
 -      until the saved quit event has been processed.
 -      (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
 -      (gen_help_event): Store help event in kbd fifo.
 -      (NREAD_INPUT_EVENTS): Remove.
 -      (read_avail_input): Adapt to new read_socket_hook interface.
 -      Remove allocation and initialization of local input_event buffer,
 -      as read_socket_hook stores events directly in fifo.  Allocate and
 -      initialize local hold_quit event to handle postponed quit event
 -      (and store it if set by kbd_buffer_store_event_hold).
 -
 -      * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
 -      (gen_help_event): Fix prototype.
 -
 -      * macterm.c (XTread_socket): Remove bufp_r and
 -      numcharsp args.  Add hold_quit arg.
 -      Rework to use just one, local, inev input_event.  Store inev
 -      directly in fifo using kbd_buffer_store_event_hold.
 -
 -      * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
 -      (read_input_waiting): Adapt to new read_socket_hook interface.
 -      Remove allocation and initialization of local input_event buffer,
 -      as read_socket_hook stores events directly in fifo.  Allocate and
 -      initialize local hold_quit event to handle postponed quit event
 -      (and store it if set by kbd_buffer_store_event_hold).
 -
 -      * term.c (read_socket_hook): Fix arg list.
 -
 -      * termhooks.h (read_socket_hook): Fix prototype.
 -
 -      * w32inevt.c (w32_console_read_socket): Remove bufp_r and
 -      numcharsp args.  Add hold_quit arg.
 -      Rework to use just one, local, inev input_event.  Store inev
 -      directly in fifo using kbd_buffer_store_event_hold.
 -
 -      * w32inevt.h (w32_console_mouse_position): Fix prototype.
 -
 -      * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
 -      Add hold_quit arg.  Rework to use just one, local, inev
 -      input_event.  Store inev directly in fifo using
 -      kbd_buffer_store_event_hold.  Update count in one place.
 -      Postpone call to gen_help_event until inev is stored; use new
 -      local do_help for this.
 -      Remove local emacs_event in handing of ButtonPress event; just use
 -      inev instead (so no reason to copy it later).
 -
 -      * xsmfns.c (x_session_check_input): Remove numchars arg.
 -
 -      * xterm.c (x_focus_changed, x_detect_focus_change):
 -      Remove numchars arg.  Always store event into bufp arg.
 -      Return nothing.  Callers changed accordingly.
 -      (glyph_rect): Simplify.
 -      (STORE_KEYSYM_FOR_DEBUG): New macro.
 -      (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
 -      (current_bufp, current_numcharsp) [USE_GTK]: Remove.
 -      (current_hold_quit) [USE_GTK]: Add.
 -      (event_handler_gdk): Adapt to new handle_one_xevent.
 -      (handle_one_xevent): Remove bufp_r and numcharsp args.
 -      Add hold_quit arg.  Rework to use just one, local, inev
 -      input_event.  Store inev directly in fifo using
 -      kbd_buffer_store_event_hold.  Update count in one place.
 -      Postpone call to gen_help_event until inev is stored; use new
 -      local do_help for this.
 -      Simplify handling of keysyms (consolidate common code).  Fix bug
 -      where count was updated with nchars instead of nbytes.
 -      Remove local emacs_event in handing of ButtonPress event; just use
 -      inev instead (so no reason to copy it later).
 -      Remove `out' label.  Rename label `ret' to `done'; add various
 -      `goto done' to clarify code flow in deeply nested blocks.
 -      (x_dispatch_event): Simplify as handle_one_xevent now calls
 -      kbd_buffer_store_event itself.
 -      (XTread_socket): Remove bufp_r and numcharsp args.  Add hold_quit
 -      arg.  Call handle_one_xevent with new arglist.  Store event from
 -      x_session_check_input in fifo.
 -      [USE_GTK]: Setup current_hold_quit.
 -      Decrement handling_signal before unblocking input.
 -      (x_initialize) [USE_GTK]: Initialize current_count.
 -
 -      * xterm.h (x_session_check_input): Fix prototype.
 -
 -2004-02-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
 -
 -      * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
 -      macgui.h).
 -
 -      * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
 -
 -      * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
 -      (mktime, DEBUG, Z, free, malloc, realloc, max, min)
 -      (init_process) [MAC_OSX]: Avoid conflicts with Carbon/Carbon.h.
 -      [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
 -      (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
 -      (Bitmap): Remove typedef.
 -      (Pixmap): Change int to GWorldPtr.
 -
 -      * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
 -
 -      * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
 -      (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
 -      New #define to extract 16-bit depth color components from unsigned
 -      long representation.
 -      (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
 -      colors used for masks.
 -      (struct mac_display_info): Add color_p.  Remove n_cbits.
 -
 -      * macfns.c: Include sys/types.h and sys/stat.h.
 -      [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
 -      Include QuickTime/QuickTime.h.
 -      (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
 -      (XSetForeground, mac_draw_line_to_pixmap): Add externs for
 -      functions defined in macterm.c.
 -      (XImagePtr): New typedef.  Corresponds to XImage * in xfns.c.
 -      (ZPixmap): New #define for compatibility with xfns.c.
 -      (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
 -      (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
 -      (find_image_fsspec, image_load_qt_1, image_load_quicktime):
 -      New functions.
 -      (four_corners_best, x_create_x_image_and_pixmap)
 -      (x_destroy_x_image, unwind_create_frame, x_disable_image)
 -      (x_edge_detection, init_color_table, colors_in_color_table)
 -      (lookup_rgb_color, lookup_pixel_color, postprocess_image)
 -      (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
 -      (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
 -      (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
 -      (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
 -      long mixup.
 -      (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
 -      (x_decode_color): Don't use n_cbits (in struct mac_display_info).
 -      (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
 -      (x_set_cursor_type, Fxw_color_values, valid_image_p)
 -      (image_value_type, parse_image_spec, image_ascent, x_clear_image)
 -      (x_alloc_image_color, clear_image_cache, lookup_image)
 -      (x_find_image_file, xbm_read_bitmap_file_data)
 -      (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
 -      (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
 -      (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
 -      (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
 -      (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
 -      (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
 -      (x_make_gc): Sync with xfns.c.  Enclose unused `border_tile' with
 -      #if 0.
 -      (x_free_gcs): Sync with xfns.c.  Enclose unused `border_tile' with
 -      #if 0.  Free white_relief.gc and black_relief.gc.
 -      (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
 -      New functions (from xfns.c).
 -      (Fx_create_frame): Record unwind_create_frame.
 -      (Fxw_display_color_p): Use dpyinfo->color_p.
 -      (Fx_display_grayscale_p, Fx_display_planes): Don't use
 -      dpyinfo->n_cbits.
 -      (Fx_display_color_cells): Use dpyinfo->n_planes;
 -      (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
 -      (Qheuristic, cross_disabled_images, emboss_matrix)
 -      (laplace_matrix): New variables (from xfns.c).
 -      (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
 -      (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
 -      (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
 -      (image_background_transparent): New function (from xfns.c).
 -      Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
 -      (image_load_quicktime): Add declaration.
 -      [MAC_OSX] (image_load_quartz2d): Likewise.
 -      [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
 -      [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
 -      [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
 -      (xbm_load_image_from_file, x_laplace_read_row)
 -      (x_laplace_write_row, pbm_read_file): Remove functions.
 -      [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
 -      (xpm_load): Sync with xfns.c (although XPM is not supported yet).
 -      (colors_in_color_table): Sync with xfns.c (although not used).
 -      (lookup_rgb_color): Don't lookup color table.  Just do gamma
 -      correction.
 -      (COLOR_INTENSITY): New #define (from xfns.c).
 -      (x_disable_image): New function (from xfns.c).
 -      Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
 -      (x_build_heuristic_mask): Sync with xfns.c.
 -      Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
 -      (HAVE_PBM): Remove #ifdef.
 -      (pbm_load): Sync with xfns.c.  Set img->width and img->height
 -      before IMAGE_BACKGROUND.
 -      (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
 -      (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
 -      Don't enclose with #if HAVE_PNG.
 -      [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
 -      symbol _CGImageCreateWithPNGDataProvider is defined.
 -      Otherwise use image_load_quicktime.
 -      [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
 -      [HAVE_PNG] (png_load): Sync with xfns.c.
 -      Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
 -      (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
 -      HAVE_JPEG.
 -      (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
 -      (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
 -      [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
 -      [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
 -      [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
 -      (tiff_image_p, tiff_load): Don't enclose declarations with #if
 -      HAVE_TIFF.
 -      (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
 -      (tiff_image_p): Don't enclose with #if HAVE_TIFF.
 -      [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
 -      [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
 -      New functions (from xfns.c).
 -      [HAVE_TIFF] (tiff_load): Sync with xfns.c.
 -      (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
 -      (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
 -      Don't enclose with #if HAVE_GIF.
 -      [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
 -      animated gif.  Otherwise use image_load_quicktime.
 -      [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
 -      gif_DrawText to avoid conflict with QuickdrawText.h.
 -      [HAVE_GIF] (gif_load): Sync with xfns.c.
 -      (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
 -      [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
 -      Ghostscript is not supported yet).
 -      (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
 -      QCmatrix, QCcolor_adjustment, and QCmask.  Add DEFVAR_BOOL
 -      cross_disabled_images (from xfns.c).  Remove #if 0 for supported
 -      image types.  Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
 -      HAVE_PNG.  Add defsubr for Simage_size and Simage_mask_p.
 -      (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
 -      HAVE_PNG.  Call EnterMovies to support animated gifs.
 -      Call init_image_func_pointer to bind a symbol
 -      _CGImageCreateWithPNGDataProvider if it is defined.
 -
 -      * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
 -      (x_draw_bar_cursor): Sync declaration with xterm.c.
 -      (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
 -      (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
 -      graphics).
 -      (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
 -      (mac_draw_line_to_pixmap, XCreatePixmap)
 -      (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
 -      (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
 -      New functions.
 -      (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
 -      Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
 -      Cast bits to char *.
 -      (reflect_byte): New function (from w32fns.c).
 -      (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
 -      due to byte alignment.
 -      (mac_scroll_area) [TARGET_API_MAC_CARBON]:
 -      Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
 -      (XSetForeground): Remove static (now used in macfns.c).
 -      (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
 -      (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
 -      (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
 -      (x_draw_glyph_string_box, x_draw_image_foreground)
 -      (x_draw_image_foreground_1, x_draw_image_glyph_string)
 -      (x_draw_stretch_glyph_string, x_draw_glyph_string)
 -      (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
 -      Sync with xterm.c.
 -      (x_draw_relief_rect): Sync with xterm.c.  Make 1 pixel shorter
 -      than the xterm.c version when a strictly horizontal or vertical
 -      line is drawn.
 -      (XTset_terminal_window): Add static.
 -      (x_make_frame_visible): Add UNBLOCK_INPUT.
 -      (x_free_frame_resources): New funcion (from xterm.c).
 -      (XTread_socket): Call handle_tool_bar_click if mouse up/down event
 -      occurs in tool bar area.
 -      (mac_initialize_display_info): Remove dpyinfo->n_cbits.
 -      Set dpyinfo->color_p.  Determine dpyinfo->n_planes using HasDepth.
 -      Initialize image cache.
 -      (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
 -      Enclose unused functions with #if 0.
 -      (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
 -      (decode_mac_font_name): New function to apply code conversions
 -      from a mac font name to an XLFD font name according to its script code.
 -      (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
 -      font name to a mac font name according to REGISTRY and ENCODING fields.
 -      (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
 -      whose name starts with `.'.
 -      (init_font_name_table): Use decode_mac_font_name.  Add both
 -      jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
 -      of a font is smJapanese.
 -      (mac_do_list_fonts): New function to list fonts that match a given
 -      pattern.
 -      (x_list_fonts, XLoadQueryFont): Use it.
 -      (XLoadQueryFont): Set rbearing field for each variable width
 -      character to avoid needless redraw.
 -      (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
 -
 -2004-02-26  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
 -      as read_socket_hook handler on X aborts if buffer is too small
 -      and W32 handler doesn't always check buffer limit.
 -
 -      * xdisp.c (handle_single_display_prop): Handle left-fringe and
 -      right-fringe similar to a display margin image.  Specifically,
 -      the characters having the fringe prop are no longer shown, and
 -      we use IT_IMAGE/next_element_from_image with image_id = -1 to
 -      do this.  Set fringe bitmap face_id in it->face_id.
 -      (produce_image_glyph): Handle image_id < 0 as "no image" case, but
 -      still realize it->face (i.e. the fringe bitmap face).
 -
 -2004-02-25  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (check_it): Check string/string_pos consistency.
 -      (init_iterator): Initialize string-related fields properly.
 -
 -2004-02-11  Miles Bader  <miles@gnu.org>
 -
 -      * xdisp.c (produce_image_glyph): Force negative descents to zero.
 -
 -2004-02-10  Miles Bader  <miles@gnu.org>
 -
 -      * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
 -      BLOCK_INPUT can be nested, so it doesn't make much sense.
 -
 -2004-02-24  Michael Mauger  <mmaug@yahoo.com>
 -
 -      * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
 -      (xbm_read_bitmap_data): Use unsigned char for image data.
 -
 -2004-02-23  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * abbrev.c (Finsert_abbrev_table_description): Doc fix.
 -
 -2004-02-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
 -      correctly over other bitmaps.
 -
 -2004-02-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * emacs.c (USAGE1): Split into two halves.
 -      (USAGE2): Second half of the old USAGE1.
 -      (USAGE3): Rename from USAGE2.
 -      (USAGE4): Rename from USAGE3.
 -
 -2004-02-21  Juri Linkov  <juri@jurta.org>
 -
 -      * emacs.c (USAGE1): Add --no-desktop.  Move --display from USAGE2.
 -      Fix --multibyte.  Move --help, --version to USAGE2.  Add alias
 -      --file.  Fix -f, -l.  Sort options.  Untabify.
 -      (USAGE2): Add -hb.  Fix --name, --title.  Sort options.  Untabify.
 -
 -2004-02-19  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * category.c (Fdefine_category, Fcategory_docstring)
 -      (Fget_unused_category, Fset_category_table)
 -      (Fcategory_set_mnemonics): Doc fixes.
 -
 -2004-02-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
 -      The following changes are relative to the 2004-01-21 revision.
 -      (NREAD_INPUT_EVENTS): Define as max number of input events to read
 -      in one call to read_socket_hook.  Value is 8.
 -      (read_avail_input): Separate and rework handling of read_socket_hook
 -      and non-read_socket_hook cases.  Use smaller input_event buffer
 -      in read_socket_hook case, and repeat if full buffer is read.
 -      Use new local variable 'discard' to skip input after C-g.
 -      In non-read_socket_hook case, just use a single input_event, and
 -      call kbd_buffer_store_event on the fly for each character.
 -
 -2004-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (union Lisp_Object): Give a more precise type for `type'.
 -      Remove unused `gu' alternative.
 -
 -2004-02-19  Andreas Schwab  <schwab@suse.de>
 -
 -      * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
 -      warning.
 -
 -2004-02-18  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_window_cursor_type, display_and_set_cursor):
 -      Fix last change.
 -
 -2004-02-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (fast_find_position): Fix return value of new version;
 -      it was inverted compared to the 21.1 version.
 -      (get_window_cursor_type): Don't look at glyph if NULL.
 -      (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
 -
 -      * keyboard.c: Rework previous change; it didn't consider that the
 -      buf array was allocated on the stack.
 -      (prev_read): Remove variable.
 -      (read_avail_input_buf): New static event buffer array.
 -      (in_read_avail_input): New static variable to handle re-entrancy.
 -      (read_avail_input): Change buf to pinter to read_avail_input_buf.
 -      Use in_read_avail_input to handle re-entrance; when re-entered,
 -      fully initialize and use tmp_buf array instead of read_avail_input_buf.
 -      Do not initialize read_avail_input_buf in full here; instead assume it
 -      is always cleared on entry.  To ensure that, we clear (just) the
 -      entries that were used before we return.
 -      (init_keyboard): Initialize read_avail_input_buf here.
 -
 -2004-02-16  Jesper Harder  <harder@ifa.au.dk>
 -
 -      * cmds.c (Fend_of_line): Doc fix.
 -
 -2004-02-16  Dmitry Antipov  <dmitry.antipov@mail.ru>  (tiny change)
 -
 -      * keyboard.c (prev_read): New static variable.
 -      (read_avail_input): Use it to zero out only those slots in buf[]
 -      that were used last time we were called.
 -
 -2004-02-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (obj): Move fringe.o from here...
 -      (XOBJ, MAC_OBJ): ...to here.
 -
 -2004-02-16  Stephen Eglen  <stephen@gnu.org>
 -
 -      * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
 -
 -2004-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * data.c (Fbyteorder):
 -      * fringe.c (Fdefine_fringe_bitmap):
 -      * xdisp.c (handle_single_display_prop):
 -      * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
 -
 -2004-02-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
 -
 -2004-02-15  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (Vmac_emulate_three_button_mouse): New variable for
 -      controlling emulation of a three button mouse with option and
 -      command keys.
 -      (Qreverse, mac_get_enumlated_btn): Handle the emulation.
 -      (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
 -
 -2004-02-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
 -
 -      * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
 -      Perform byte-swapping.
 -
 -2004-02-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct draw_fringe_bitmap_params): Change member
 -      bits from char to short to facilitate wider bitmaps.
 -      (struct redisplay_interface): Fix prototype of define_fringe_bitmap
 -      member.
 -
 -      * fringe.c (struct fringe_bitmap): Change member bits from char to
 -      short to facilitate 16 bits wide bitmaps.  Modify all standard
 -      bitmaps accordingly.
 -      (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
 -      (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
 -      (draw_fringe_bitmap): Ditto.
 -      (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
 -      (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
 -      handle up to 16 bits wide bitmaps.
 -      (Fdefine_fringe_bitmap): Doc fix.  Handle wider bitmaps.
 -      (Ffringe_bitmaps_at_pos): Add missing arg declarations.
 -
 -      * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
 -      (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
 -      need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
 -
 -      * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
 -      so it is no longer necessary to expand them here.
 -
 -      * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
 -
 -2004-02-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fwindow_fringes): Doc fix.
 -
 -2004-02-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xselect.c (x_get_foreign_selection): Add new optional parameter
 -      time_stamp.
 -      (Fx_get_selection_internal): Ditto, pass time_stamp to
 -      x_get_foreign_selection.
 -
 -      * data.c (Fbyteorder): New function.
 -
 -2004-02-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * atimer.c: Move include stdio.h to same place as in other files.
 -
 -      * region-cache.c: Ditto.
 -
 -      * sysdep.c: Ditto.
 -
 -      * xfaces.c: Ditto.
 -
 -2004-02-09  Sam Steingold  <sds@gnu.org>
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
 -
 -2004-02-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * fringe.c: New file.  Move original fringe related declarations
 -      and code from dispextern.h and xdisp.c here.
 -      Rework code to support user defined fringe bitmaps, redefining
 -      standard bitmaps, ability to overlay user defined bitmap with
 -      overlay arrow bitmap, and add faces to bitmaps.
 -      (Voverflow_newline_into_fringe): Declare here.
 -      (enum fringe_bitmap_align): New enum.
 -      (..._bits): All bitmaps are now defined without bitswapping; that
 -      is now done in init_fringe_once (if necessary).
 -      (standard_bitmaps): New array with specifications for the
 -      standard fringe bitmaps.
 -      (fringe_faces): New array.
 -      (valid_fringe_bitmap_id_p): New function.
 -      (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
 -      (draw_fringe_bitmap): New function which draws fringe bitmap,
 -      possibly overlaying bitmap with cursor in right fringe or the
 -      overlay arrow in the left fringe.
 -      (update_window_fringes): Do not handle overlay arrow here.
 -      Compare and copy fringe bitmap faces.
 -      (init_fringe_bitmap): New function.
 -      (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
 -      define and destroy user defined fringe bitmaps.
 -      (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
 -      (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
 -      (syms_of_fringe): New function.  Defsubr new DEFUNs.
 -      DEFVAR_LISP Voverflow_newline_into_fringe.
 -      (init_fringe_once, init_fringe): New functions.
 -      (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
 -
 -      * Makefile.in (obj): Add fringe.o.
 -      (fringe.o): New dependencies.
 -
 -      * dispextern.h (FRINGE_ID_BITS): New definition for number of
 -      bits allocated to hold a fringe number.  Increase number of bits
 -      from 4 to 8 to allow user defined fringe bitmaps.
 -      (struct glyph_row, struct it): New members left_user_fringe_bitmap,
 -      left_user_fringe_face_id, right_user_fringe_bitmap,
 -      right_user_fringe_face_id.
 -      (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
 -      Move to new file fringe.c.
 -      (MAX_FRINGE_BITMAPS): Define here.
 -      (struct draw_fringe_bitmap_params): New members bits, cursor_p,
 -      and overlay_p.  Change member which to int.
 -      (struct redisplay_interface): New members define_fringe_bitmap
 -      and destroy_fringe_bitmap.
 -      (valid_fringe_bitmap_id_p): Add prototype.
 -      (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
 -
 -      * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
 -      arrows.
 -      (update_frame): Do flush_display if force_flush_display_p to
 -      ensure display (specifically fringes) are updated in a timely
 -      manner when resizing the frame by dragging the mouse.
 -      (update_window_line): Update row if overlay arrow changed.
 -      (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
 -      or overlay arrow changed.
 -
 -      * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
 -      syms_of_fringe, and init_fringe.
 -
 -      * frame.h (struct frame): New member force_flush_display_p.
 -
 -      * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
 -      Add prototypes.
 -
 -      * macterm.c (mac_draw_bitmap): Add overlay_p arg.
 -      (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
 -      thanks to YAMAMOTO Mitsuharu for advice on how to do this.
 -      Use cursor color for displaying cursor in fringe.
 -      (x_redisplay_interface): Add null handlers for
 -      define_fringe_bitmap and destroy_fringe_bitmap functions.
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
 -      xterm.c to handle overlayed fringe bitmaps and to use cursor color
 -      for displaying cursor in fringe.
 -      (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
 -      specific functions to define and destroy fringe bitmaps in fringe_bmp.
 -      (w32_redisplay_interface): Add them to redisplay_interface.
 -      (w32_term_init): Call w32_init_fringe instead of explicitly
 -      defining fringe bitmaps in fringe_bmp array.
 -      (x_delete_display): Call w32_reset_fringes instead of explicitly
 -      destroying fringe bitmaps in fringe_bmp array.
 -
 -      * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
 -      (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
 -      (continued_bits, continuation_bits, ov_bits, first_line_bits)
 -      (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
 -      (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
 -      (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
 -      (draw_window_fringes, compute_fringe_widths, update_window_fringes):
 -      Move fringe handling vars and code to new file fringe.c.
 -      (handle_display_prop): Handle left-fringe and right-fringe
 -      display properties; store user fringe bitmaps in iterator.
 -      (move_it_in_display_line_to): Handle cursor in fringe at eob.
 -      (clear_garbaged_frames): Set force_flush_display_p if resized.
 -      (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
 -      (display_line): Handle cursor in fringe at eob.
 -      (display_line): Set row user fringe bitmaps from iterator.
 -
 -      * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
 -      Use cursor color for displaying cursor in fringe.
 -      (x_redisplay_interface): Add null handlers for
 -      define_fringe_bitmap and destroy_fringe_bitmap functions.
 -
 -2004-02-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * macfns.c (Fx_change_window_property): Make doc string and
 -      parameters same as for X version.
 -
 -      * w32fns.c (Fx_change_window_property): Ditto.
 -
 -2004-02-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (hscroll_window_tree): Position cursor near to right
 -      margin in hscrolled window when jumping to end of line (rather
 -      than centering cursor).
 -
 -      * process.c (wait_reading_process_input): Don't do adaptive read
 -      buffering if waiting for a specific process.
 -
 -2004-02-05  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * minibuf.c (Fminibufferp, Fread_from_minibuffer)
 -      (Fread_minibuffer, Feval_minibuffer)
 -      (Fread_string, Fread_no_blanks_input)
 -      (Fcompleting_read): Doc fixes.
 -      (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
 -      completion-regexp-list.  Define Qcase_fold_search and staticpro it.
 -      (read_minibuf): Fix initial comment.
 -      (Ftry_completion, Fall_completions, Ftest_completion): Bind
 -      case-fold-search to the value of completion-ignore-case when
 -      checking completion-regexp-list.
 -      (Fdisplay_completion_list): Make it handle arguments that are
 -      symbols.  Doc fix.
 -
 -2004-02-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h: Add declaration of free_frame_menubar.
 -
 -      * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
 -      (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
 -      (Fx_change_window_property): Add declaration of parameters type and
 -      format.  Remove unused variable cons.
 -
 -      * xselect.c: Include stdio.h.
 -
 -2004-02-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (Fset_char_table_range): Fix previous change.
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix docstring.
 -
 -2004-02-04  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * editfns.c (Fchar_after, Fchar_before): Doc fixes.
 -
 -2004-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Vmouse_events): Rename from Vmenu_events.
 -      (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
 -
 -2004-02-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (Fset_char_table_range): Handle charsets ascii,
 -      eight-bit-control, and eight-bit-graphic correctly.
 -
 -2004-02-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
 -
 -      * w32fns.c (x_to_w32_font): Likewise.
 -
 -2004-02-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h: Add x_handle_dnd_message, x_check_property_data,
 -      x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
 -
 -      * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
 -      ClientMessages.
 -
 -      * xselect.c: Include termhooks.h and X11/Xproto.h.
 -      (x_check_property_data, x_fill_property_data)
 -      (x_property_data_to_lisp, mouse_position_for_drop)
 -      (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
 -      (Fx_send_client_event): Move here from xfns.c.
 -      (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
 -
 -      * xfns.c (x-send-client-message): Move to xselect.c.
 -      (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
 -      OUTER_P.
 -      (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
 -      VECTOR_RET_P.  Handle AnyPropertyType.  Call x_property_data_to_lisp
 -      if vector_ret_p is true.
 -      (syms_of_xfns): Sx_send_client_message moved to xselect.c.
 -
 -2004-02-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
 -      basename of FILE relative to it, not FILE itself.
 -
 -2004-02-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_restore_composition): Check invalid
 -      composition data more rigidly.
 -
 -2004-01-30  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fileio.c (Fread_file_name_internal): Correctly handle the case
 -      where insert-default-directory is nil.
 -      (Fread_file_name): Always return an empty string if the user exits
 -      with an empty minibuffer.  Adapt the docstring accordingly.
 -      (syms_of_fileio): Adapt the docstring of insert-default-directory
 -      to the change in Fread_file_name.
 -
 -2004-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * alloca.c [!alloca]: Fix the prototype for xfree.
 -
 -2004-01-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (string_char_to_byte): Optimize for ASCII only string.
 -      (string_byte_to_char): Likewise.
 -
 -2004-01-28  Peter Runestig  <peter@runestig.com>
 -
 -      * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
 -
 -2004-01-27  Steven Tamm  <steventamm@mac.com>
 -
 -      * unexmacosx.c (unexec_copy): Do not copy more than was
 -      requested to prevent overwriting during unexec.
 -
 -2004-01-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * process.c (sigchld_handler): Add comment about not calling malloc.
 -
 -      * process.h: Add extern to synch_process_termsig.
 -
 -2004-01-27  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (make_mac_frame, make_mac_terminal_frame):
 -      Move setting of scroll bars from make_mac_frame to
 -      make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
 -
 -2004-01-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * search.c (Freplace_match): Handle nonexistent
 -      back-references properly.
 -
 -2004-01-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (decode_any_window): New function.
 -      (Fwindow_height, Fwindow_width, Fwindow_edges)
 -      (Fwindow_pixel_edges, Fwindow_inside_edges)
 -      (Fwindow_inside_pixel_edges): Use decode_any_window.
 -
 -2004-01-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * process.h: synch_process_termsig new variable.
 -
 -      * callproc.c: Define synch_process_termsig.
 -      (Fcall_process): Initiate synch_process_termsig to zero and
 -      check if non-zero and get signal name after subprocess has ended.
 -
 -      * process.c (sigchld_handler): Set synch_process_termsig
 -      if terminated by a signal.  synch_process_death setting removed.
 -
 -      * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
 -
 -2004-01-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (print_preprocess): Declare size as EMACS_INT to not
 -      lose bits.
 -      (print_object): Likewise.
 -      * alloc.c (Fpurecopy): Likewise.
 -
 -2004-01-25  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * window.c (Fwindow_minibuffer_p): Doc fix.
 -
 -2004-01-24  Jonathan Yavner  <jyavner@member.fsf.org>
 -
 -      * editfns.c (Fformat): Make both passes accept the same set of flags.
 -
 -2004-01-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * fns.c (Fmd5): If OBJECT is a buffer different from the current
 -      one, set buffer to OBJECT temporarily.
 -
 -2004-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (kbd_buffer_gcpro): Remove.
 -      (kbd_buffer_store_event, clear_event, Fdiscard_input)
 -      (stuff_buffered_input, init_keyboard, syms_of_keyboard):
 -      Don't initialize and/or maintain the variable any more.  It was made
 -      redundant by my commit of 2003-06-15.
 -
 -      * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
 -
 -2004-01-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * lisp.h: Add undef DECL_ALIGN.
 -
 -2004-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (wait_reading_process_input) [SYNC_INPUT]:
 -      Check interrupt_input_pending explicitly.
 -
 -      * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
 -
 -      * keyboard.c (handle_async_input): New fun,
 -      extracted from input_available_signal.
 -      (input_available_signal, reinvoke_input_signal): Use it.
 -
 -2004-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
 -
 -      * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
 -      manipulation macros for when tags are in the lower bits.
 -      (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
 -      (DECL_ALIGN): New macro.
 -      (DEFUN): Use it.
 -
 -      * lisp.h [ENABLE_CHECKING]: Don't force union type.
 -
 -      * s/darwin.h (__attribute__): Remove outdated workaround.
 -
 -      * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
 -
 -      * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
 -      Don't check range of malloc address.
 -      (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
 -
 -      * process.c (wait_reading_process_input): Lisp_Object/int mixup.
 -
 -      * dired.c (Ffile_attributes): Lisp_Object/int mixup.
 -
 -2004-01-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_font_pattern): Fix previous change.
 -
 -2004-01-16  Miles Bader  <miles@gnu.ai.mit.edu>
 -
 -      * xdisp.c (Voverflow_newline_into_fringe)
 -      (move_it_in_display_line_to, redisplay_internal)
 -      (update_window_fringes, redisplay_window, display_line, window):
 -      Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
 -      that it compiles without a window-system.
 -      * dispnew.c (direct_output_for_insert, update_window): Likewise.
 -
 -2004-01-16  Kim F. Storm  <storm@cua.dk>
 -
 -      * buffer.h (struct buffer): New member indicate_buffer_boundaries.
 -
 -      * buffer.c (init_buffer_once): Set buffer_defaults and
 -      buffer_local_flags for indicate_buffer_boundaries.
 -      (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
 -      default- variable for it.
 -
 -      * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
 -      right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
 -      New members exact_window_width_line_p and cursor_in_fringe_p for
 -      overflowing newlines into right fringe.
 -      New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
 -      and indicate_bottom_line_p for buffer boundaries and scrolling.
 -      (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
 -      FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
 -      HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
 -      and HOLLOW_SQUARE_BITMAP.
 -      (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
 -      Add prototypes.
 -
 -      * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
 -      instead of related indicator fields.
 -      Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
 -      (direct_output_for_insert): Handle exact width lines like
 -      contined lines.  Call update_window_fringes.
 -      (update_window): Call update_window_fringes.
 -      (scrolling_window): Don't skip desired rows with changed bitmaps.
 -      Check if fringe bitmaps changes when assigning scrolled rows.
 -
 -      * xdisp.c (Voverflow_newline_into_fringe): New variable.
 -      (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
 -      (move_it_in_display_line_to): Overflow newline into fringe for
 -      rows that are exactly as wide as the window.
 -      (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
 -      (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
 -      (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
 -      (fringe_bitmaps): Add new bitmaps.
 -      (draw_fringe_bitmap): Make extern.  Remove WHICH arg.
 -      Select proper bitmap for cursor in fringe when appropriate.
 -      Handle alignment of bitmap to top or bottom of row.
 -      (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
 -      done by update_window_fringes.
 -      (update_window_fringes, draw_window_fringes): New functions.
 -      (redisplay_internal): Call update_window_fringes in case only
 -      cursor row is updated.
 -      (redisplay_window): Call update_window_fringes.
 -      Explicitly call draw_window_fringes if redisplay was done using
 -      the current matrix or the overlay arrow is in the window.
 -      (try_window_reusing_current_matrix): Mark scrolled rows for
 -      fringe update (to update buffer-boundaries / scrolling icons).
 -      (find_last_unchanged_at_beg_row): Handle exact width lines line
 -      continued lines.
 -      (display_line): Overflow newline into fringe for rows that are
 -      exactly as wide as the window.  Don't append space for newline
 -      in this case.
 -      (notice_overwritten_cursor): Explicitly clear cursor bitmap
 -      in fringe as if it had been overwritten.
 -      (erase_phys_cursor): Erase cursor bitmap in fringe.
 -      (syms_of_xdisp): Mark show-trailing-whitespace and
 -      void-text-area-pointer as user options.
 -      DEFVAR_LISP Voverflow_newline_into_fringe.  Enable by default.
 -
 -      * xterm.c (x_update_window_end): Call draw_window_fringes.
 -      (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
 -      in row instead of actually drawing fringe bitmaps.
 -      (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
 -      (x_draw_window_cursor): Draw cursor in fringe.
 -
 -      * w32term.c (x_update_window_end): Call draw_window_fringes.
 -      (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
 -      in row instead of actually drawing fringe bitmaps.
 -      (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
 -      (w32_draw_window_cursor): Draw cursor in fringe.
 -
 -      * macterm.c (x_update_window_end): Call draw_window_fringes.
 -      (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
 -      in row instead of actually drawing fringe bitmaps.
 -      (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
 -      (mac_draw_window_cursor): Draw cursor in fringe.
 -
 -2004-01-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Don't handle characters that are part
 -      of an old style (XLookupString) compose sequence.
 -
 -2004-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * search.c (Freplace_match): Use make_multibyte_string or
 -      make_unibyte_string according to the buffer multibyteness.
 -
 -2004-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (struct interval_block, struct string_block)
 -      (struct symbol_block, struct marker_block, live_string_p)
 -      (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
 -      Better preserve alignment for objects in blocks.
 -      (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
 -
 -      * lread.c (defvar_per_buffer): Remove dead declaration.
 -
 -      * macterm.c (do_check_ram_size): Don't hardcode the lisp address
 -      space size.
 -
 -2004-01-12  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
 -      if a key press should pop down.  Only pop down if a key is pressed
 -      outside the menu/dialog.
 -      (create_and_show_popup_menu): Pass 0 for down_on_keypress to
 -      popup_get_selection.
 -      (create_and_show_dialog): Pass 1 for down_on_keypress to
 -      popup_get_selection.
 -
 -2004-01-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * alloc.c (allocate_vectorlike): Surround calls to mallopt with
 -      BLOCK/UNBLOCK_INPUT.
 -
 -2004-01-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
 -      specified.
 -
 -2004-01-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fformat): Fix '&' to '&&'.
 -
 -2004-01-08  Andreas Schwab  <schwab@suse.de>
 -
 -      * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
 -      size if PSEUDOVECTOR_FLAG is set.
 -
 -2004-01-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fdeclare_equiv_charset): Fix docstring.
 -
 -      * fontset.c (fontset_ref_via_base): Fix previous change.
 -
 -2004-01-07  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (read_process_output): Only activate adaptive
 -      buffering if we read less than 256 bytes at a time.
 -
 -2004-01-06  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (buffer_posn_from_coords): Return both buffer/string
 -      object and image object.  Return glyph width and height.
 -      (mode_line_string, marginal_area_string): Ditto.
 -
 -      * dispextern.h (buffer_posn_from_coords, mode_line_string)
 -      (marginal_area_string): Fix prototypes.
 -
 -      * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
 -      POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN.  All uses changed.
 -      (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
 -
 -      * keyboard.c (make_lispy_position): Use modified mode_line_string,
 -      buffer_posn_from_coords, and marginal_area_string functions to
 -      include both string object and image object in the lispy position.
 -      Also add actual glyph width and height to position.
 -      (read_key_sequence): Use real buffer position from mouse
 -      event to find keymap property even when click is in marginal area.
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Use modified
 -      mode_line_string and marginal_area_string functions to handle
 -      both string object and image object properties.
 -
 -2004-01-06  Andreas Schwab  <schwab@suse.de>
 -
 -      * syntax.c (skip_chars): Treat '-' at end of string as ordinary
 -      character.
 -
 -2004-01-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * macterm.c (emacs_options, x_initialized, same_x_server):
 -      Remove unused (and duplicated) definitions.
 -
 -2004-01-02  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.h (struct Lisp_Process): New members for adaptive read
 -      buffering: adaptive_read_buffering, read_output_delay, and
 -      read_output_skip.
 -
 -      * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
 -      (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
 -      (READ_OUTPUT_DELAY_MAX_MAX): New constants.
 -      (process_output_delay_count, process_output_skip): New vars.
 -      (Vprocess_adaptive_read_buffering): New variable.
 -      (make_process): Initialize adaptive read buffering members.
 -      (Fstart_process): Set adaptive_read_buffering member.
 -      (deactivate_process): Cleanup adaptive read buffering.
 -      (wait_reading_process_input): Temporarily omit delayed
 -      subprocesses from the set of file descriptors to read from;
 -      adjust the select timeout if we skipped any subprocesses.
 -      (read_process_output): Increase adaptive read buffering delay if
 -      we read less than a full buffer; reduce delay when we read a
 -      full buffer.
 -      (send_process): Simplify using local Lisp_Process var.
 -      Reset adaptive read buffering delay after write.
 -      (init_process): Initialize process_output_delay_count and
 -      process_output_skip.
 -      (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
 -
 -2004-01-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_text_out): Use s->font, for consistency with callers.
 -
 -2003-12-30  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * print.c (Ferror_message_string): Add hyperlink in the docstring
 -      to the definition of `signal' in the Elisp manual.
 -      * eval.c (Fsignal): Ditto.
 -
 -2003-12-29  James Clark  <jjc@jclark.com>
 -
 -      * fns.c (internal_equal): Return t for two NaN arguments.
 -
 -2003-12-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * data.c (store_symval_forwarding): Handle setting
 -      default-fill-column, etc., by changing the value in
 -      buffers that use the default.
 -
 -      * minibuf.c (Fset_minibuffer_window): Doc fix.
 -
 -      * fileio.c (choose_write_coding_system): Ignore auto_saving
 -      if using the visited file for auto saves.
 -      (Fwrite_region): Don't update SAVE_MODIFF
 -      if auto-saving in visited file.
 -
 -2003-12-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (face_font_available_p): Extern it.
 -
 -      * fontset.c (Voverriding_fontspec_alist): New variable.
 -      (lookup_overriding_fontspec): New function.
 -      (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
 -      (fontset_font_pattern): Likewise.
 -      (regulalize_fontname): New function.
 -      (Fset_fontset_font): Call regulalize_fontname.
 -      (Fset_overriding_fontspec_internal): New function.
 -      (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
 -      Defsubr Sset_overriding_fontspec_internal.
 -
 -      * xfaces.c (face_font_available_p): New function.
 -
 -2003-12-28  Richard M. Stallman  <rms@gnu.org>
 -
 -      * buffer.c (Fother_buffer): Don't crash if BUF is nil
 -      or if its name is nil.
 -
 -      * buffer.c (Fkill_buffer): Don't delete auto-save file
 -      if it's the same as the visited file.
 -
 -2003-12-28  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * coding.c (Fcheck_coding_system): Doc fix.
 -
 -2003-12-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * Makefile.in (eval.o): Depend on dispextern.h.
 -
 -      * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
 -      image glyph using image's ascent.
 -      (mode_line_string): Return image glyph as object clicked on.
 -      Adjust y0 for image glyph using image's ascent.
 -
 -      * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
 -      (struct glyph): New members, ascent and descent.  Used to save
 -      this glyph's ascent and descent, instead of having.
 -      (struct glyph): Declare member face_id using FACE_ID_BITS.
 -      (find_hot_spot): Add prototype.
 -
 -      * keyboard.c (Qimage): Remove extern (now in lisp.h).
 -      (QCmap): Declare extern.
 -      (make_lispy_position): When position is inside image hot-spot,
 -      use hot-spot element's id as posn element.
 -
 -      * lisp.h (IMAGEP): New macro to test for image object type.
 -      (Qimage): Declare extern.
 -
 -      * macfns.c (Qimage): Remove extern (now in lisp.h).
 -      (valid_image_p, parse_image_spec): Use IMAGEP macro.
 -
 -      * macterm.c (Qface, Qmouse_face): Remove unused externs.
 -
 -      * w32fns.c (Qimage): Remove extern (now in lisp.h).
 -      (valid_image_p, parse_image_spec): Use IMAGEP macro.
 -
 -      * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
 -
 -      * w32term.c (Qface, Qmouse_face): Remove unused externs.
 -
 -      * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
 -      pointer types.
 -      (Qrelative_width, Qalign_to): Remove unused variables.
 -      (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
 -      (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for image
 -      maps.
 -      (x_y_to_hpos_vpos): Return glyph relative coordinates through new
 -      dx and dy args.  Remove buffer_only_p arg (always 0).  Simplify
 -      code accordingly.
 -      (get_glyph_string_clip_rect): Draw cursor using glyph's rather
 -      than row's ascent and height, to get sensible height on tall rows.
 -      (build_desired_tool_bar_string): Remove Qimage extern.
 -      (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
 -      (produce_image_glyph): Adjust it.ascent to minimum row ascent if
 -      image glyph is alone on the last line.
 -      (append_glyph, append_composite_glyph, produce_image_glyph)
 -      (append_stretch_glyph): Set glyph's ascent and descent.
 -      (on_hot_spot_p): New function to check if position is inside an
 -      rectangular, circular, or polygon-shaped image hot-spot,
 -      (find_hot_spot): New function to search for image hot-spot.
 -      (Flookup_image_map): New defun to search for image hot-spot.
 -      (define_frame_cursor1): New aux function to determine frame
 -      pointer.
 -      (note_mode_line_or_margin_highlight, note_mouse_highlight): Handle
 -      `pointer' text property and :pointer image property to control
 -      frame pointer shape.  Detect image hot-spots for pointer and
 -      help_echo properties.  Use define_frame_cursor1.
 -      (note_mouse_highlight): Use Vvoid_text_area_pointer.
 -      (syms_of_xdisp): Defsubr new defun.  Intern and staticpro new
 -      variables.  DEFVAR_LISP Vvoid_text_area_pointer instead of
 -      Vshow_text_cursor_in_void.
 -
 -      * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
 -
 -      * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
 -      (Qimage): Remove extern (now in lisp.h).
 -      (valid_image_p, parse_image_spec): Use IMAGEP macro.
 -
 -      * xmenu.c (show_help_event): Remove unused code.
 -
 -      * xterm.c (Qface, Qmouse_face): Remove unused externs.
 -      (x_draw_hollow_cursor): Draw cursor using glyph's rather than
 -      row's ascent and descent, to get a sensible height on tall rows.
 -
 -2003-12-25  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * minibuf.c (Fcompleting_read): Undo previous change.
 -
 -2003-12-25  Lars Hansen  <larsh@math.ku.dk>
 -
 -      * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
 -      Arguments GCPRO'ed in call to file name handler.
 -
 -2003-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * termcap.c (tgetst1): Scan for "%pN"; if all
 -      N are continuous in [1,9], remove all "%pN".
 -
 -2003-12-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
 -
 -      * xfaces.c (lface_fully_specified_p): Take into account that
 -      MAC OS always have unspecified stipple.
 -
 -2003-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * tparam.c (tparam1): Add handling for `%pN', which
 -      means use param N for the next substitution.
 -
 -2003-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * xfaces.c (Fcolor_gray_p): Fix omission bug:
 -      In case `frame' is nil, consult the selected frame.
 -      (Fcolor_supported_p): Likewise.
 -
 -2003-12-23  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
 -      Doc fixes.
 -
 -      * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
 -      and an integer.  Adapt the introductory comment accordingly.
 -      (Fread_from_minibuffer): Delete code moved into read_minibuf.
 -      Doc fix.
 -      (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
 -      read_minibuf.
 -      (Fcompleting_read): Delete code moved into read_minibuf.
 -      (Ftest_completion): Make it handle obarrays and hash tables correctly.
 -
 -2003-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
 -      encoding sequence.
 -
 -2003-12-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (syms_of_composite): Don't make the compostion hash
 -      table week.
 -
 -2003-11-30  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
 -      * textprop.c (Fget_char_property_and_overlay): New function.
 -      (syms_of_textprop): Defsubr it.
 -
 -2003-11-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
 -      to compile on terminal configuration.
 -
 -      * fileio.c (Fread_file_name): Check use_file_dialog also before
 -      calling Fx_file_dialog.
 -
 -      * fns.c (use_file_dialog): New variable.
 -      (syms_of_fns): DEFVAR_BOOL use-file-dialog.
 -
 -2003-11-29  Kim F. Storm  <storm@cua.dk>
 -
 -      * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
 -      (syms_of_msdos): Don't intern and staticpro them.
 -
 -2003-11-27  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
 -      coordinates relative to glyph at posn.  If glyph is an image,
 -      return that as object at posn.  Callers changed.
 -      (mode_line_string, marginal_area_string): Calculate and return
 -      pixel coordinates relative to glyph.  Callers changed.
 -
 -      * dispextern.h (buffer_posn_from_coords, mode_line_string)
 -      (marginal_area_string): Fix prototypes.
 -      (window_box_left_offset, window_box_right_offset): Add prototypes.
 -
 -      * frame.h (get_specified_cursor_type, get_window_cursor_type):
 -      Remove prototypes.
 -
 -      * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
 -
 -      * keyboard.c (make_lispy_position): Add x and y coordinates
 -      relative to the current glyph as 7th element of position.
 -      If glyph is an image, return it in the object element.
 -      (read_key_sequence): Skip checks for keymap property in cases
 -      where POSN_STRING is not a string (e.g. an image).
 -
 -      * xdisp.c (Vdisplay_pixels_per_inch): New variable.
 -      (Vshow_text_cursor_in_void): New variable.
 -      (glyph_to_pixel_coords): Don't use negative hpos.
 -      (x_y_to_hpos_vpos): Fix for partially visible first glyph.
 -      (append_stretch_glyph): Change ascent arg to be actual value
 -      in pixels rather than ratio to height.  Callers changed.
 -      (calc_pixel_width_or_height): New aux function, implementing
 -      pixel based artihmetic for glyph widths and heights.
 -      (produce_stretch_glyph): Use calc_pixel_width_or_height for
 -      :width, :height, :align-to, and :ascent, thus allowing these to
 -      be specified in pixels as well as multiples of characters.
 -      Don't produce stretch glyphs with zero width or height.
 -      (get_specified_cursor_type): Declare static.
 -      (get_window_cursor_type): Declare static.  Add glyph arg to be
 -      able to know when cursor is on an image; always substitute
 -      hollow-box cursor for filled-box cursor on images, to avoid
 -      negative images and flicker when blinking the cursor.
 -      (display_and_set_cursor): Pass glyph to get_window_cursor_type.
 -      (note_mode_line_or_margin_highlight): Use non-text cursor rather
 -      than vertical scroll-bar cursor in display margins.
 -      (note_mouse_highlight): Use non-text cursor rather than text
 -      cursor in fringes and over images in the text area.
 -      Use non-text cursor when mouse pointer is outside editable text,
 -      i.e. in the void after end-of-line or end-of-buffer; this was
 -      already done for W32, but is now standard for all systems --
 -      user can toggle show-text-cursor-in-void to get old behaviour.
 -      (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
 -      Vdisplay_pixels_per_inch.
 -
 -2003-11-25  Andreas Schwab  <schwab@suse.de>
 -
 -      * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
 -      EMACS_INT to not lose bits.
 -      (Ffillarray): Don't set bits beyond the size of a bool vector.
 -
 -2003-11-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
 -      define this defun on systems that cannot use stderr as lvalue.
 -
 -2003-11-24  Gerd Moellmann  <gerd@gnu.org>
 -
 -      * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
 -      [__FreeBSD_version >= 500042]: Define as -znocombreloc because
 -      ld's default is incompatible with unexec.
 -
 -2003-11-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
 -      (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
 -      (Fforce_window_update): New defun.
 -      (syms_of_window): Defsubr it.
 -      (Fset_window_margins, Fset_window_fringes): Doc fix.
 -
 -      * print.c (Fredirect_debugging_output): New defun.
 -      (syms_of_print): Defsubr it.
 -
 -2003-11-22  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Fset_char_table_parent): Doc fix.
 -
 -2003-11-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (buffer_posn_from_coords): Return actual row/column
 -      for glyph clicked on, rather than (unused) pixel positions.
 -      (mode_line_string, marginal_area_string): Change X and Y args to
 -      pointers for returning actual row/column for glyph clicked on.
 -      Simplify and optimize loops.
 -
 -      * dispextern.h (mode_line_string, marginal_area_string):
 -      Update prototypes.
 -
 -      * keyboard.c (make_lispy_position): New function for generating
 -      mouse click positions from frame and pixel coordinates.
 -      Enhanced to return buffer position and actual row/column for
 -      events outside the text area using updated mode_line_string and
 -      marginal_area_string functions.
 -      Return left-fringe and right-fringe clicks as such, rather than
 -      clicks in text area.
 -      (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
 -      pixel_to_glyph_coords, as we never use the results.
 -      (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
 -      WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
 -      Eliminate unused code in WHEEL_EVENT handling.
 -      (make_lispy_movement): Use make_lispy_position.
 -
 -      * window.c (coordinates_in_window): Remove redundant tests.
 -      Fix returned X pixel value for left-margin.
 -
 -      * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
 -      mode_line_string and marginal_area_string parameters.
 -
 -2003-11-22  Lars Hansen  <larsh@math.ku.dk>
 -
 -      * w32.c (struct the_group, getgrgid): Add.
 -      * mac.c (struct my_group, getgrgid): Add.
 -
 -2003-11-21  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
 -
 -2003-11-21  Lars Hansen  <larsh@math.ku.dk>
 -
 -      * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
 -      include in call to file name handler.  Optionally translate numeric
 -      UID and GID to strings.  Update docstring.
 -      (directory_files_internal): Add parameter ID-FORMAT.
 -      (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
 -      include in call to file name handler and call to
 -      directory_files_internal.  Update Docstring.
 -      (Fdirectory_files): Add dummy parameter in call to
 -      directory_files_internal.
 -      * lisp.h (Qinteger): Add.
 -      (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
 -      (Ffile_attributes): Add parameter.
 -      * data.c (Qinteger): Export.
 -
 -2003-11-21  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Freverse, Fnreverse): Doc fixes.
 -
 -2003-11-19  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (init_iterator): Initialize it->start to position
 -      before reseating (in case start position is invisible).
 -      (init_to_row_start): Set it->start to row-start.
 -      (redisplay_window): Accept optional_new_start if start position
 -      is invisible (in which case IT_CHARPOS overshoots PT).
 -      (display_line): Setup row->start from it->start (rather than
 -      it->current which is wrong if first char on line is invisible).
 -      When done, reseat it->start to it->current (= start of next row).
 -      (expose_area): Fix exposure of text area when first char (e.g. TAB)
 -      is only partially visible.
 -
 -      * dispextern.h (struct it): New member start.
 -
 -2003-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (make_float, Fcons): Clear the markbit at init time.
 -      (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
 -      of block_index outside of the macro call.
 -      (Fgarbage_collect): Remove null code.
 -
 -      * m/amdx86-64.h: Don't redefine XPNTR.
 -
 -      * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
 -      of VALMASK.
 -
 -      * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
 -      (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
 -      (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
 -
 -      * lisp.h (VALMASK): Only define for non-union type.
 -      (MARKBIT): Remove.
 -      (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
 -      (XTYPE): Define unconditionally.
 -      (XSETTYPE): Remove one more remnant.
 -      (EQ): Define differently for the union and non-union cases.
 -      (INTMASK): New bit mask.
 -      (struct Lisp_Marker): Move down to prepare for upcoming patch.
 -      (GC_EQ): Delegate to EQ.
 -
 -      * coding.c (coding_restore_composition): Lisp_Object/int mixup.
 -
 -2003-11-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_window_to_scroll_bar): Move check of display to
 -      where window_id is compared.
 -
 -2003-11-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispextern.h (struct it): New member first_vpos.
 -
 -      * xdisp.c (start_display): Set it->first_vpos.
 -      (try_window_id): Use first_vpos to start display in first _text_
 -      line if no reusable lines at start of window with header line.
 -
 -2003-11-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * w32fns.c (XPutPixel):
 -      * w32bdf.c (w32_init_bdf_font):
 -      * sunfns.c (sel_read):
 -      * process.c (Fmake_network_process):
 -      * frame.c (store_frame_param):
 -      * fontset.c (Fset_fontset_font):
 -      * emacs.c (shut_down_emacs):
 -      * ccl.c (ccl_driver): Remove period at end of error message.
 -
 -      * config.in: Regenerate.
 -
 -      * xfns.c (x_window_to_frame, x_any_window_to_frame)
 -      (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
 -      (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
 -      (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
 -      (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
 -
 -      * xterm.h (struct x_display_info): New field xg_cursor for GTK.
 -
 -      * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
 -      (XTmouse_position, handle_one_xevent): Pass Display* to
 -      x_window_to_scroll_bar.
 -      (x_window_to_scroll_bar): Take a Display* argument.
 -      Check that display for frame is equal to Display* argument.
 -      (event_handler_gdk): Remove current_dpyinfo.  Get dpyinfo from
 -      x_display_info_for_display instead.  Use Display in xev instead
 -      of GDK_DISPLAY.
 -      (x_dispatch_event): Call x_display_info_for_display.
 -      (XTread_socket): Move GTK part out of loop.  current_dpyinfo removed.
 -      (x_connection_closed): Call xg_display_close for GTK.
 -      (x_term_init): Call xg_display_open for additional displays.
 -      Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
 -      for GTK.
 -
 -      * xmenu.c (single_menu_item, mouse_position_for_popup)
 -      (x_activate_menubar): Formatting adjustments.
 -
 -      * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
 -      adjustments.
 -
 -      * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
 -      (xg_display_close, xg_create_default_cursor)
 -      (xg_get_gdk_pixmap_and_mask): New functions for multiple display
 -      handling.
 -      (xg_left_ptr_cursor): Remove.
 -      (xg_set_cursor): Change cursor to GdkCursor*.  Do not create
 -      cursor here.
 -      (xg_win_to_widget): Take Display* argument, call
 -      gdk_xid_table_lookup_for_display.
 -      (xg_create_frame_widgets, xg_get_file_name, create_menus)
 -      (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
 -      (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
 -      in FRAME_X_DISPLAY_INFO.
 -      (xg_get_scroll_id_for_window): Take Display* argument.
 -      (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
 -      (xg_initialize): Remove xg_left_ptr_cursor.
 -
 -      * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
 -      Display* argument.
 -      (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
 -
 -2003-11-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_detect_focus_change): Do not change focus frame for
 -      Enter/LeaveNotify if the current focus frame has explicit focus.
 -
 -2003-11-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * dispnew.c (update_text_area): Fix redisplay error when hscroll
 -      is active and first glyph is only partially visible.
 -
 -2003-11-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (select_frame_for_redisplay): New function.
 -      (redisplay_internal): Record also selected_frame for
 -      unwind_redisplay.  Call select_frame_for_redisplay before
 -      redrawing each frame.
 -      (unwind_redisplay): Argument changed to a cons.
 -
 -2003-11-12  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Fstring_to_multibyte): Doc fix.
 -
 -2003-11-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
 -
 -2003-11-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_window): Set XtNx and XtNy in shell widget for
 -      program specified positions.
 -
 -2003-11-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
 -
 -2003-11-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (lisp): Add kannada.el.
 -      (shortlisp): Likewise.
 -
 -2003-11-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_allocate_composition_data):
 -      Reset coding->composing to COMPOSITION_NO.
 -      (coding_restore_composition): Detect invalid composition data.
 -      Give Fstring and Fvector a Lispy integer, not C int.
 -
 -2003-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * floatfns.c (Flogb): Don't use VALMASK.
 -
 -      * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
 -      * m/ia64.h (VALBITS, XINT, XUINT): Remove.
 -
 -      * lisp.h (XINT): Move the cast to clarify what is going on.
 -      (GCTYPEMASK, XSETTYPE): Remove.
 -      (XGCTYPE): Make it an alias of XTYPE.
 -
 -2003-11-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_term_init): Fix formatting.
 -
 -2003-11-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.h (xg_have_tear_offs): Declare.
 -      (xg_keep_popup, xg_did_tearoff): Remove.
 -
 -      * gtkutil.c: Remove variable xg_did_tearoff.
 -      (xg_have_tear_offs): New function.
 -      (tearoff_remove): Just decrease xg_detached_menus.
 -      (tearoff_activate): Increase xg_detached_menus and call
 -      tearoff_remove when tearoff is removed.
 -      (xg_keep_popup): Remove function.
 -      (create_menus): Give add_tearoff_p as argument to recursive
 -      call to create_menus.
 -      (xg_create_widget): Use variables instead of multiple
 -      strcmp.  Tell create_menus to create tear off only for
 -      menu bar menus.
 -      (xg_update_menubar): Change title for a detached menu also.
 -      (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
 -      of deep_p.
 -      (xg_initialize): Initialize xg_detached_menus, remove
 -      initialization of xg_did_tearoff.
 -
 -      * xmenu.c (set_frame_menubar): For GTK, set deep_p if
 -      xg_have_tear_offs returns non-zero.
 -      (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
 -      call to xg_keep_popup.
 -
 -2003-11-01  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * macterm.c (XTread_socket): Handle menubar selection and grow
 -      window only for mouseDown events.
 -
 -2003-10-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_term_init): For GTK part, increase x_initialized
 -      to check for more than one display.  Use error instead of return 0.
 -
 -2003-10-31  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
 -      (copy_dysymtab): Call it.
 -
 -2003-10-31  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * eval.c (Fdefvaralias): Doc fix.
 -
 -2003-10-26  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * data.c (Fsetplist): Doc fix.
 -
 -2003-10-14  Lute Kamstra  <lute@gnu.org>
 -
 -      * window.c (Fset_window_fringes): Clarify docstring.
 -
 -2003-10-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (Fset_window_margins): Simplify arg checking.
 -
 -2003-10-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
 -      (print_partial_compiled_pattern): Replace assert with a printout.
 -      (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
 -
 -      * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
 -
 -      * window.c (Fset_window_margins): Allow only integers as args.
 -      (syms_of_window) <special-display-buffer-names,
 -      special-display-regexps>: Doc fixes.
 -
 -2003-10-13  Lute Kamstra  <lute@gnu.org>
 -
 -      * window.c (Fset_window_fringes): Elaborate docstring.
 -
 -2003-10-12  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
 -
 -      * s/darwin.h (GC_MARK_STACK): Define.
 -
 -2003-10-12  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * window.c (shrink_windows): New function.
 -      (size_window): Call shrink_windows to calculate window sizes when
 -      shrinking frame with more than one window.
 -
 -2003-10-12  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (compute_fringe_widths): Doc fix.
 -
 -2003-10-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
 -
 -2003-10-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Qcoding_system_define_form): New variable.
 -      (syms_of_coding): Intern and staticpro it.
 -      (Fcheck_coding_system): Try to autoload the definition of
 -      CODING-SYSTEM.
 -
 -2003-10-05  Luc Teirlinck  <teirllm@auburn.edu>
 -
 -      * fns.c (Frequire): Doc fix.
 -
 -2003-10-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_send_client_event): New function as a base for
 -      manipulating extended window manager hints.
 -      (Fx_send_client_event): Remove unused variable s.
 -
 -      * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
 -      that function is removed.
 -
 -      * xterm.c (x_set_offset): Use move_offset_left/top instead of
 -      x/y_pixels_outer_diff.
 -      (x_check_expected_move): Calculate move_offset_left/top.
 -
 -      * xterm.h (struct x_output): New members: move_offset_top/left.
 -
 -      * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
 -      call x_set_offset directly.
 -
 -      * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
 -
 -      * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
 -
 -      * xterm.c (x_delete_display): Free font names and font_encoder
 -      in dpyinfo->font_table.
 -
 -      * xfns.c (Fx_close_connection): Only call XFreeFont here.
 -      Move xfree of font names to x_delete_display.
 -
 -      * xterm.h (struct x_display_info): New member, wm_type.
 -      (struct x_output): New members, expected_top/left and
 -      check_expected_move.
 -
 -      * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
 -      is received.
 -      (handle_one_xevent): Rename x_check_expected_move from
 -      x_check_fullscreen_move.
 -      (x_set_offset): Only add WM decoration sizes to modified_top/left
 -      for X_WMTYPE_A.  Set check_expected_move when WM type is unknown.
 -      (x_check_expected_move): Rename from x_check_fullscreen_move.
 -      Removed fullscreen specific code.  Use check_expected_move,
 -      expected_left/top instead.  Also, set wm_type.
 -      (x_term_init): Initialize wm_type to unknown.
 -
 -      * frame.c (x_fullscreen_move): Remove addition of WM decoration
 -      sizes to move_x/y.
 -
 -2003-10-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * macterm.c (x_load_font): Clear all members of FONTP before start
 -      filling them.
 -
 -2003-10-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
 -      before calling find_ccl_program_func.  Call find_ccl_program_func
 -      only when fontp->font_encoder is not NULL.
 -
 -      * xterm.c (x_load_font): Clear all members of FONTP before start
 -      filling them.
 -
 -2003-10-03  John Paul Wallington  <jpw@gnu.org>
 -
 -      * keymap.c (map_keymap): Don't abort when binding is a vector.
 -
 -2003-10-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (emacs.o, coding.o, bytecode.o):
 -      Sync dependencies with Makefile.in.
 -      (alloca.o): Remove.
 -
 -      * w32fns.c (w32_load_system_font): Clear all members of FONTP before
 -      filling them.
 -
 -      * w32bdf.c (w32_load_bdf_font): Likewise.
 -
 -2003-09-30  Richard M. Stallman  <rms@gnu.org>
 -
 -      * term.c (set_tty_color_mode): Calculate current_mode_spec
 -      regardless of value of VAL.
 -
 -      * intervals.c (graft_intervals_into_buffer):
 -      Set BUF_INTERVALS (buffer)->up_obj when appropriate.
 -      Handle over_used when splitting UNDER.
 -
 -2003-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * regex.c (regex_compile): Free the stack when returning from function.
 -
 -2003-09-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Finternal_char_font): Change return value to
 -      cons (FONT-NAME . GLYPH-CODE).
 -
 -2003-09-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (tty_setup_colors): Treat any negative argument as -1.
 -
 -2003-09-27  Gaute B Strokkenes  <biggaute@uwc.net>  (tiny change)
 -
 -      * process.c (send_process): Delete unused temp_buf.
 -
 -2003-09-26  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (x_bitmap_mask): Declare.
 -
 -2003-09-25  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in (fns.o): Depend on md5.h.
 -
 -2003-09-25  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (set_window_buffer): Fix redisplay problems when
 -      switching between buffers with different display margin widths.
 -
 -2003-09-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (set_socket_option): Fix :bindtodevice option.
 -      (Fset_network_process_option): Update process contact list when
 -      setting option succeeds.
 -      (Fmake_network_process): Doc fix.
 -
 -2003-09-23  Dave Love  <fx@gnu.org>
 -
 -      * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
 -
 -2003-09-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (set_tty_color_mode): Use INTEGERP to test whether a
 -      color mode is an integer number (it could be -1).
 -
 -2003-09-22  Richard M. Stallman  <rms@gnu.org>
 -
 -      * intervals.c (graft_intervals_into_buffer): Correct the main loop
 -      in the case where OVER is longer than UNDER.
 -
 -2003-09-22  Masatake YAMATO  <jet@gyve.org>
 -
 -      * window.c (Fset_window_scroll_bars): Validate the value of
 -      `vertical_type'.
 -
 -2003-09-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * frame.c (Vdefault_frame_scroll_bars): New variable.
 -      (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
 -      (syms_of_frame): DEFVAR_LISP it, and initialize according to
 -      window-system default scroll bar position.
 -
 -      * window.c (Fwindow_scroll_bars): Doc fix.
 -
 -2003-09-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_set_offset): Take window manager decorations into account.
 -
 -2003-09-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * atimer.h: Don't include lisp.h.
 -      (P_): Define it here (as well as elsewhere).
 -
 -      * print.c (Fprin1_to_string): Move the PRINTPREPARE
 -      later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
 -
 -      * data.c (Fvariable_binding_locus): New function.
 -      (syms_of_data): defsubr it.
 -      (Flocal_variable_p): Delete duplicate call to indirect_variable.
 -
 -2003-09-18  Dave Love  <fx@gnu.org>
 -
 -      * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
 -
 -      * process.c (Fnetwork_interface_info): Fix type error.
 -      (Fnetwork_interface_list): Doc fix.
 -      (read_process_output, read_process_output): Delete unused var.
 -
 -2003-09-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
 -      Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
 -      (Fnetwork_interface_info): Check that ifreq struct has required
 -      fields before accessing them; this requires that those fields are
 -      defined as macros, which may be too restrictive on some platforms,
 -      but it is better than failing on other platforms.
 -      (syms_of_process): Only defsubr above fns when included.
 -
 -2003-09-17  Dave Love  <fx@gnu.org>
 -
 -      * unexalpha.c: Don't include varargs.h.
 -
 -2003-09-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c (Fset_process_sentinel): Add sentinel to childp plist
 -      for network process.
 -      (socket_options): Add `:' prefix to option names.  Add optbit field.
 -      (set_socket_option): Remove no_error arg and special handling of s < 0.
 -      Return 1<<optbit for known option, 0 for unknown.
 -      Do not interpret 0 as false for boolean option (only nil).
 -      Pass failed option and value to report_file_error.
 -      (Fset_network_process_options): Replace by Fset_network_process_option.
 -      (Fset_network_process_option): New function to set just one option.
 -      (Fmake_network_process): Allow :coding arg to be a cons.
 -      Allow :server arg to be an integer specifying backlog size.
 -      Remove :options arg, and allow options to be specified directly
 -      as :KEY, VALUE pairs.  Parse these options before binding socket.
 -      As before, :reuseaddr t is default for a server process, but this
 -      can now be disabled by specifying :reuseaddr nil.
 -      (Fnetwork_interface_info): Rename from Fget_network_interface_info.
 -      (init_process): Availability of network options is now checked with
 -      simpler syntax (featurep 'make-network-process :OPTION); use loop to
 -      setup features.
 -      (syms_of_process): Fix defsubr's for the replaced functions.
 -
 -2003-09-16  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in: Depend on coding.h.
 -
 -2003-09-14  Kim F. Storm  <storm@cua.dk>
 -
 -      * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
 -      (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
 -      (syms_of_process): Defsubr them.
 -
 -      * config.in: Regenerate.
 -
 -2003-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
 -      * m/news-r6.h (XUNMARK): Remove.
 -      * m/mips.h (XUNMARK): Remove.
 -      * m/mips-siemens.h (XUNMARK): Remove.
 -      * m/iris4d.h (XUNMARK): Remove.
 -      * m/hp800.h (XMARKBIT, XUNMARK): Remove.
 -
 -2003-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (VALBITS): Don't remove 1 for the markbit.
 -      (union Lisp_Object): Use unsigned int for types.  Remove markbit.
 -      (MARKBIT): Remove 1 from VALBITS so we still use same old val.
 -      (XTYPE): Use unsigned right-shift.
 -      (XMARKBIT, XMARK, XUNMARK): Remove.
 -
 -      * alloc.c (init_intervals, init_symbol, init_marker):
 -      Don't preallocate anything.
 -      (Fgarbage_collect, mark_object): Ignore the markbit.
 -
 -      * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
 -
 -2003-09-08  Lute Kamstra  <lute@gnu.org>
 -
 -      * xdisp.c (pint2hrstr): New function.
 -      (decode_mode_spec): Add `%i' and `%I' specs.
 -      * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
 -      for `mode-line-format'.
 -
 -2003-09-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
 -      avoid warning.
 -
 -2003-09-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
 -
 -2003-09-03  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
 -      change (superseded by 2002-08-30 change); the default blink-off
 -      cursor is now again "no cursor".
 -
 -2003-09-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * makefile.w32-in (alloca.o): Remove.
 -      (coding.o): Depend on intervals.h
 -      (emacs.o, bytecode.o): Depend on window.h
 -
 -2003-09-01  Dave Love  <fx@gnu.org>
 -
 -      * Makefile.in (alloca.o): Remove commands.
 -      (coding.o): Depend on intervals.h composite.h window.h.
 -      (emacs.o): Depend on window.h keyboard.h keymap.h.
 -      (gtkutil.o): Depend on keyboard.h charset.h coding.h.
 -      (bytecode.o): Depend on window.h.
 -
 -2003-08-31  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_per_char_metric): Allow cached metrics to be
 -      returned even when font_type is unknown.
 -
 -      * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
 -
 -2003-08-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_term_init): Initialize new fields in x_display_info.
 -
 -      * xterm.h (struct x_display_info): Add red/green/blue_bits and
 -      *_offset.
 -
 -      * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
 -      calculate pixel value.
 -
 -2003-08-29  Gerd Moellmann  <gerd.moellmann@t-online.de>
 -
 -      * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
 -      Don't tell redisplay display is accurate when it's actually been
 -      paused for pending input.
 -
 -2003-08-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * dispnew.c (adjust_glyph_matrix): Call window_box
 -      whenever W is nonzero.
 -
 -      * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fkill_local_variable, Fmake_variable_frame_local)
 -      (Flocal_variable_p, Flocal_variable_if_set_p):
 -      Use indirect_variable to trace thru variable aliases.
 -
 -      * config.in: Updated.
 -
 -      * callint.c (Fcall_interactively): Save and restore
 -      Vthis_command, Vthis_original_command, real_this_command,
 -      and current_kboard->Vlast_command.
 -
 -      * abbrev.c (Fexpand_abbrev): Insert before deleting.
 -
 -2003-08-29  Gerd Moellmann  <gerd@gnu.org>
 -
 -      * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
 -
 -2003-08-28  David Abrahams  <dave@boost-consulting.com>  (tiny change)
 -
 -      * coding.c (decode_coding_iso2022): Initialize local variable c2.
 -      (decode_coding_sjis_big5): Likewise.
 -
 -2003-08-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32.c (sys_pipe): Protect against file descriptor overflow.
 -
 -      * w32fns.c (syms_of_w32fns): Remove non-existent functions.
 -
 -      * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
 -
 -2003-08-26  Terje Rosten  <terjeros@phys.ntnu.no>
 -
 -      * xfns.c (Vgtk_version_string): New variable.
 -      (syms_of_xfns): DEFVAR_LISP it.  Provide gtk.
 -
 -2003-08-24  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (term_init): Remove `const' from buffer_size's declaration.
 -
 -      * Makefile.in (msdos.o): Depend on intervals.h.
 -
 -      * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
 -
 -2003-08-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): New fields: client_leader_window
 -      and Xatom_wm_client_leader.
 -
 -      * xterm.c (x_initialize): Move call to x_session_initialize to ...
 -      (x_term_init): ... here.  Initialize client_leader fields in dpyinfo.
 -
 -      * xsmfns.c (create_client_leader_window): New function.
 -      (x_session_initialize): Call create_client_leader_window, take
 -      dpyinfo as argument.
 -
 -      * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
 -
 -      * Makefile.in (xsmfns.o): Add more depenedencies.
 -
 -2003-08-21  Dave Love  <fx@gnu.org>
 -
 -      * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
 -
 -2003-08-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (term_init): Fix previous change; don't rely on the
 -      length of `buffer' if TERMINFO is defined.
 -
 -2003-08-20  Dave Love  <fx@gnu.org>
 -
 -      * atimer.h: Include lisp.h.
 -
 -      * lisp.h (EMACS_LISP_H): New.
 -      (popup_activated_flag): Don't declare.
 -
 -      * alloca.c: Some merging with gnulib.  Change logic and doc
 -      concerning (x)malloc/(x)free -- no longer Emacs-specific.
 -      [DO_BLOCK_INPUT]: Don't include lisp.h.
 -      (xmalloc, xfree): Declare.
 -      (malloc): Don't declare.
 -
 -      * Makefile.in (LWLIB_OPTIONS): Remove (unused).
 -      (alloca.o): Remove obsolete stuff concerning alloca.s.  Depend on
 -      atimer.h, blockinput.h.
 -
 -      * alloc.c (lisp_align_malloc): Change type of `aligned'.
 -
 -      * alloca.s: Remove.
 -
 -2003-08-19  Gerd Moellmann  <gerd@gnu.org>
 -
 -      * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
 -      use -lncurses.
 -
 -      * term.c (term_init): Use a buffer of size 4096 for tgetent since
 -      FreeBSD returns something longer than 2044.  Abort if the end of
 -      the buffer is overwritten.
 -
 -2003-08-19  Miles Bader  <miles@gnu.org>
 -
 -      * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
 -
 -2003-08-19  Gerd Moellmann  <gerd@gnu.org>
 -
 -      * alloc.c (lisp_align_malloc): Check for memory full when
 -      allocating ablocks, which also avoids freeing a pointer into an
 -      ablocks structure.
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1100000.
 -
 -      * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
 -
 -2003-08-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * editfns.c (Fencode_time): Doc fix.
 -
 -2003-08-16  David Ponce  <david@dponce.com>
 -
 -      * fileio.c (Fwrite_region): Fix conditional expression to issue
 -      the right message.
 -
 -2003-08-16  Juri Linkov  <juri@jurta.org>
 -
 -      * syntax.c (Fforward_word): Argument changed to optional.
 -      Set default value to 1.
 -
 -2003-08-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
 -      what autoscaled.
 -      (best_matching_font): Once we find a better scalable font, set
 -      non_scalable_has_exact_height_p to 1.
 -      (try_font_list): Call try_alternative_families to try any family
 -      with the given registry.
 -
 -2003-08-09  Andreas Schwab  <schwab@suse.de>
 -
 -      * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
 -
 -      * print.c (print_string): Fix printing of multibyte string with
 -      nontrivial printcharfun.
 -
 -2003-07-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
 -
 -      * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
 -
 -2003-07-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (read_process_output): Return the actually read bytes
 -      instead of the result of decoding.
 -
 -2003-07-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * xterm.h (struct x_bitmap_record): New member have_mask.
 -
 -      * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
 -      to 0.
 -      (x_create_bitmap_from_file): Likewise.
 -      (x_destroy_bitmap): Check have_mask member before freeing a mask.
 -      (x_destroy_all_bitmaps): Likewise.
 -      (x_create_bitmap_mask): Set have_mask member to 1.
 -
 -2003-07-30  Richard M. Stallman  <rms@gnu.org>
 -
 -      * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
 -
 -2003-07-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_mark_data): Update calls to mark_object.
 -
 -2003-07-29  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
 -      Conditionalize XIM code on HAVE_XIM.
 -
 -      * fns.c (Fclear_string): New function.
 -      (syms_of_fns): defsubr it.
 -
 -2003-07-28  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
 -
 -      * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
 -
 -2003-07-22  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
 -
 -      * buffer.c (delete_all_overlays): New function.
 -      * buffer.h (delete_all_overlays): Declare.
 -      * coding.c (run_pre_post_conversion_on_str):
 -      * print.c (temp_output_buffer_setup):
 -      * fileio.c (Finsert_file_contents):
 -      * minibuf.c (get_minibuffer): Use it.
 -
 -2003-07-22  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * unexmacosx.c (unexec_regions_sort_compare):
 -      (unexec_regions_merge): New functions.  Sort and merge unexec
 -      regions before dumping them.
 -
 -2003-07-22  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
 -
 -2003-07-21  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
 -      (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
 -      MARKBIT as the gcmarkbit for strings.
 -
 -2003-07-21  Richard M. Stallman  <rms@gnu.org>
 -
 -      * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
 -
 -      * fns.c (Flocale_info): Rename from Flanginfo.  Doc fixes.
 -      (syms_of_fns): Corresponding change.
 -
 -      * alloc.c (syms_of_alloc): Doc fixes.
 -
 -2003-07-20  Han Boetes  <han@mijncomputer.nl>  (tiny change)
 -
 -      * s/netbsd.h: Use -Wl syntax.
 -
 -2003-07-17  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xterm.c (xim_initialize): Redo 6/24 change.
 -
 -2003-07-15  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * buffer.c (copy_overlays): Use EMACS_INT for positions.
 -      (Fswitch_to_buffer): Don't signal an error when switching to the same
 -      buffer in a dedicated window.
 -
 -      * alloc.c: Use bitmaps for cons, as was done for floats.
 -      (init_float, init_cons): Let the normal code allocate the first block.
 -      (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
 -      (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
 -      New macros.
 -      (struct cons_block): Move conses to the beginning.  Add gcmarkbits.
 -      (Fcons): Use lisp_align_malloc and CONS_UNMARK.
 -      (live_cons_p): Check the pointer is not past the `conses' array.
 -      (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
 -      (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
 -      (survives_gc_p): Use CONS_MARKED_P and simplify.
 -      (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
 -
 -2003-07-13  Paul Eggert  <eggert@twinsun.com>
 -
 -      GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
 -      puts it into BSS instead, at least on Solaris 8 and 9.
 -      This is a valid optimization, and it may occur on other platforms,
 -      so Emacs should not assume that initializing a static variable to
 -      zero puts it into data.
 -      * alloc.c (pure, staticvec):
 -      Initialize these arrays to nonzero, so that they're not
 -      put into BSS by that optimization.
 -
 -2003-07-13  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING.  Update users.
 -      (lisp_align_malloc): Use posix_memalign is available.
 -      (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
 -      (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
 -      for consistency.  Update users.
 -
 -2003-07-13  Richard M. Stallman  <rms@gnu.org>
 -
 -      * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
 -
 -2003-07-13  Terje Rosten  <terjeros@phys.ntnu.no>
 -
 -      * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap): Modify to add mask,
 -      and use the Gtk+ function gtk_window_icon_from_file if available.
 -
 -      * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
 -      handle mask of bitmaps.
 -      (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
 -      mask property.
 -      (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
 -
 -      * xterm.h (xg_set_icon): New function.
 -
 -2003-07-12  Paul Eggert  <eggert@twinsun.com>
 -
 -      * unexelf.c (unexec): Consider a section to precede the .bss
 -      section if its addresses overlap that of .bss.
 -
 -2003-07-12  Richard M. Stallman  <rms@gnu.org>
 -
 -      * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
 -
 -      * config.in (HAVE_CRTIN): Add #undef.
 -      (INLINE): Really inline only if OPTIMIZE is defined.
 -
 -      * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
 -      END_FILES_1.
 -      (START_FILES_1, END_FILES_1): New macros (conditional).
 -      (LD_SWITCH_SYSTEM_TEMACS): Define.
 -
 -      * s/openbsd.h: Don't include bsd4-3.h.
 -      (TERMINFO): Define.
 -      (LIBS_TERMCAP): Define.
 -      (LD_SWITCH_SYSTEM): Define (two definitions).
 -
 -      * xfns.c: Include libpng/png.h instead of png.h.
 -
 -2003-07-11  Andreas Schwab  <schwab@suse.de>
 -
 -      * buffer.c (modify_overlay): Update prototype.
 -      * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
 -      Likewise.
 -
 -2003-07-09  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
 -      (struct interval): Move to intervals.h.
 -      (struct Lisp_Marker): Use EMACS_INT for position info.
 -      (forward_point): Remove prototype of defunct function.
 -      (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
 -      (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
 -      (syms_of_textprop, set_text_properties): Remove prototypes that are
 -      already in intervals.h.
 -
 -      * intervals.h (struct interval): Move from lisp.h.
 -      Use EMACS_INT for position and size info.
 -
 -      * coding.c: Include intervals.h for Fset_text_properties.
 -
 -      * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
 -      position and length information.
 -
 -2003-07-09  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
 -      position and length information.
 -
 -2003-07-09  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      Change overlays_after and overlays_before so the overlays themselves
 -      are linked into lists, rather than using cons cells.  After all each
 -      Lisp_Misc already occupies 5 words, so we can add a `next' field to
 -      Lisp_Overlay for free and save up one cons cell per overlay (not
 -      to mention one indirection when traversing the list of overlay).
 -
 -      * lisp.h (struct Lisp_Overlay): New field `next'.
 -
 -      * buffer.h (struct buffer): Change overlays_before and overlays_after
 -      from Lisp lists of overlays to pointers to overlays.
 -
 -      * buffer.c (overlay_strings, recenter_overlay_lists):
 -      Fix typo in eassert in last commit.
 -      (unchain_overlay): New function.
 -      (add_overlay_mod_hooklist): Use AREF.
 -      (copy_overlays, reset_buffer, overlays_at, overlays_in)
 -      (overlay_touches_p, overlay_strings, recenter_overlay_lists)
 -      (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
 -      (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
 -      (report_overlay_modification, evaporate_overlays, init_buffer_once):
 -      Adjust to new type of overlays_(before|after).
 -
 -      * alloc.c (mark_object): Mark the new `next' field of overlays.
 -      (mark_buffer): Manually mark the overlays_(after|before) fields.
 -
 -      * coding.c (run_pre_post_conversion_on_str):
 -      * editfns.c (overlays_around):
 -      * xdisp.c (load_overlay_strings):
 -      * fileio.c (Finsert_file_contents):
 -      * indent.c (current_column):
 -      * insdel.c (signal_before_change, signal_after_change):
 -      * intervals.c (set_point_both):
 -      * print.c (temp_output_buffer_setup): Use new type for
 -      overlays_(before|after).
 -
 -2003-07-08  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * buffer.c (report_overlay_modification): Don't run hooks while
 -      traversing the list of overlays.
 -
 -      * buffer.h (struct buffer): Use an int for overlay_center.
 -      (overlays_at, evaporate_overlays, recenter_overlay_lists)
 -      (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
 -
 -      * buffer.c (reset_buffer, recenter_overlay_lists)
 -      (adjust_overlays_for_insert, adjust_overlays_for_delete)
 -      (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
 -      (evaporate_overlays, init_buffer_once): Update use of overlay_center.
 -      (overlays_at, evaporate_overlays, recenter_overlay_lists)
 -      (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
 -
 -      * xdisp.c (fast_find_position): Remove unused var.
 -
 -      * cmds.c (Qexpand_abbrev): New sym.
 -      (syms_of_cmds): Initialize it.
 -      (internal_self_insert): Use it to call expand-abbrev.
 -
 -2003-07-09  Kim F. Storm  <storm@cua.dk>
 -
 -      * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
 -      was configured with --without-xim.
 -      (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
 -
 -2003-07-07  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
 -
 -      * alloc.c (Fgarbage_collect): Doc fix.
 -
 -2003-07-07  Nozomu Ando  <nand@mac.com>
 -
 -      * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
 -
 -2003-07-06  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * minibuf.c (read_minibuf): UNGCPRO before returning.
 -      (Ftry_completion, Fall_completions): Doc fix.
 -
 -      * alloc.c (live_float_p): Check that p is not past the `floats' array,
 -      now that `floats' is not the last element of the struct any more.
 -
 -2003-07-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (ClipboardSequence_Proc): New type.
 -
 -      * w32fns.c (clipboard_sequence_fn): New variable.
 -      (globals_of_w32fns): Initialize it.
 -
 -      * w32select.c (last_clipboard_sequence_number): New variable.
 -      (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
 -      number if possible.
 -
 -2003-07-06  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * m/amdx86-64.h (MARKBIT):
 -      * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
 -      MARKBIT and ARRAY_MARK_FLAG any more.
 -
 -      * m/hp800.h (XSETMARKBIT):
 -      * m/sr2k.h (XSETMARKBIT):
 -      * lisp.h (XSETMARKBIT): Remove unused macro.
 -
 -      * lisp.h (mark_object): Change prototype.
 -
 -      * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
 -      (last_marked): Change accordingly.
 -      (mark_interval, mark_maybe_object, mark_maybe_pointer)
 -      (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
 -      (mark_buffer): Update calls to mark_object.
 -
 -      * bytecode.c (mark_byte_stack):
 -      * fns.c (sweep_weak_table):
 -      * keyboard.c (mark_kboards): Update calls to mark_object.
 -
 -2003-07-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * alloc.c (struct ablock): Only include padding when there is some.
 -
 -2003-07-04  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * alloc.c (ALIGN): Add casts to simplify usage.
 -      (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
 -      (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
 -      (struct ablock, struct ablocks): New types.
 -      (free_ablock): New global var.
 -      (lisp_align_malloc, lisp_align_free): New functions.
 -      (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
 -      (struct float_block): Reorder and add gcmarkbits.
 -      (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
 -      (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
 -      (init_float, make_float): Use lisp_align_malloc.
 -      (free_float, live_float_p): Don't use `type' any more.
 -      (make_float): Use FLOAT_UNMARK to access to mark bit.
 -      (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
 -      Use FLOAT_MARKED_P to access the mark bit.
 -      (pure_alloc): Simplify use of ALIGN.
 -      (mark_object): Use FLOAT_MARK to access the mark bit.
 -      (gc_sweep): Use new macros to access the float's mark bit.
 -      (init_alloc_once): Init free_ablock.
 -
 -      * lisp.h (struct Lisp_Float): Remove unused field `type'.
 -
 -2003-06-27  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
 -      (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
 -      (allocate_buffer): Move.
 -      (string_bytes): Don't mask markbit of `size_byte'.
 -      (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
 -      (mark_object, mark_buffer, survives_gc_p, gc_sweep):
 -      Use the `size' field of buffers (rather than the `name' field) for
 -      the mark bit, as is done for all other vectorlike objects.
 -      Use the new macros to access the mark bit of vectorlike objects.
 -
 -2003-06-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increment base size.
 -
 -      * xdisp.c (fast_find_position): Enable Gerd's new definition.
 -
 -      * xterm.c (xim_initialize): Undo previous change.
 -
 -2003-06-26  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * alloc.c (survives_gc_p): Simplify.
 -
 -      * buffer.c (set_buffer_internal_1): Test CONSP for lists.
 -
 -      * window.c (Fset_window_dedicated_p): Simplify.
 -      (display_buffer_1): Don't raise the win from which minibuf was entered.
 -      (temp_output_buffer_show): Don't assume BEG == 1.  Simplify.
 -      (Fminibuffer_selected_window): Simplify.
 -
 -      * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
 -
 -      * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
 -      (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
 -
 -      * insdel.c (check_markers, adjust_markers_for_delete)
 -      (adjust_markers_for_insert, adjust_markers_for_replace)
 -      (prepare_to_modify_buffer, RESTORE_VALUE):
 -      * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
 -      (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
 -      (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
 -      * alloc.c (Fmake_marker, free_marker, gc_sweep):
 -      * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
 -      * editfns.c (save_excursion_restore, transpose_markers):
 -      * window.c (delete_window):
 -      * xdisp.c (message_dolog): Update for new types.
 -
 -2003-06-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
 -      (realize_default_face): Use default_face_done_p for the force_p
 -      argument to set_lface_from_font_name.  Set default_face_done_p to one.
 -
 -      * frame.c (make_frame): Initialize default_face_done_p.
 -
 -      * frame.h (struct frame): Add default_face_done_p.
 -
 -      * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
 -      will be defined.
 -
 -2003-06-25  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * alloc.c (make_interval, Fmake_symbol, allocate_misc):
 -      Initialize the new field `gcmarkbit'.
 -      (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
 -      (mark_interval_tree): Don't mark the tree separately from the nodes.
 -      (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
 -      (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
 -      (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
 -
 -      * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
 -      (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
 -      (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
 -      (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
 -      (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
 -
 -2003-06-24  Dave Love  <fx@gnu.org>
 -
 -      * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
 -
 -      * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux.  Merge changes
 -      from gnulib.
 -
 -2003-06-21  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fwrite_region): Alternate messages
 -      for append and partial write.
 -
 -      * keyboard.c (read_key_sequence): When converting upcase fn key to
 -      downcase, update fkey and keytran so `backspace' gets translated.
 -
 -      * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
 -
 -      * process.c (wait_reading_process_input): Don't signal SIGIO
 -      in batch mode.
 -
 -2003-06-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
 -      composite.h.
 -
 -      * xselect.c: Don't include charset.h, coding.h, composite.h.
 -      (Qforeign_selection): New variable.
 -      (syms_of_xselect): Intern and static it.
 -      (selection_data_to_lisp_data): Return a unibyte string made from
 -      data with `foreign-selection' text property.
 -
 -2003-06-15  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * termhooks.h (EVENT_INIT): New macro.
 -
 -      * keyboard.c (mark_kboards): Move from alloc.c.  Mark kbd_buffer.
 -
 -      * alloc.c (mark_kboards): Move to keyboard.c.
 -
 -      * keyboard.c (record_asynch_buffer_change, read_avail_input):
 -      * xterm.c (x_dispatch_event):
 -      * xmenu.c (find_and_call_menu_selection):
 -      * xdisp.c (handle_tool_bar_click):
 -      * w32menu.c (menubar_selection_callback):
 -      * sysdep.c (kbd_input_ast, read_input_waiting):
 -      * msdos.c (dos_rawgetc):
 -      * macterm.c (mac_check_for_quit_char):
 -      * macmenu.c (menubar_selection_callback):
 -      * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
 -      data to kbd_buffer_store_event.
 -
 -2003-06-15  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (x_fix_overlapping_area): Always use area relative X
 -      to fix redisplay problem with tall characters (such as \e,AC\e(B).
 -
 -2003-06-13  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@gmx.net>
 -
 -      * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
 -
 -2003-06-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Fwrite_region): Save and restore restriction.
 -
 -2003-06-12  Dave Love  <fx@gnu.org>
 -
 -      * alloca.c (alloca): Declare arg as size_t.
 -
 -      * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
 -      Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
 -
 -2003-06-11  Dave Love  <fx@gnu.org>
 -
 -      * search.c (shrink_regexp_cache): Use xrealloc.
 -      (syms_of_search): Use xmalloc.
 -
 -2003-06-10  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
 -      Adjust phys_cursor.x to be relative to window box, rather than
 -      text area before checking -- to ensure cursor is redrawn when
 -      exposing window.
 -      Note: This also fixes a similar (older) bug if display margins
 -      are present.
 -
 -2003-06-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encoding_buffer_size): If coding->type is
 -      coding_type_ccl, double magnification on CRLF encoding.
 -
 -2003-06-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
 -      (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
 -
 -      * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
 -      Mac too.
 -
 -2003-06-05  Dave Love  <fx@gnu.org>
 -
 -      * strftime.c: Merge changes from gnulib.
 -
 -      * mktime.c (__mktime_internal): Merge changes from gnulib
 -      involving year 69 and dst2.
 -
 -      Changes to merge with gnulib version and be consistent with the
 -      autoconf test:
 -
 -      * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
 -      Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
 -      [HAVE_LOCALE_H]: Include locale.h.
 -      (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
 -
 -2003-06-05  Kim F. Storm  <storm@cua.dk>
 -
 -      * window.c (coordinates_in_window): Convert X and Y to window
 -      relative coordinates inside mode-line and header-line parts.
 -      Convert X and Y to margin area relative coordinates inside left
 -      and right display margin parts.
 -
 -2003-06-05  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (add_system_logical_colors_to_map): New function.
 -      (Fx_open_connection): Use it.
 -
 -2003-06-04  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * process.c (allocate_pty): Revert part of the previous patch.
 -      (Faccept_process_output): Simplify.
 -
 -2003-06-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
 -
 -      * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
 -      (lispy_mouse_wheel_names): Remove.
 -      (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
 -      Always define drag_and_drop_syms.
 -
 -      * macterm.c (XTread_socket): Map mouse wheel events to Emacs
 -      WHEEL_EVENT events.
 -
 -2003-06-03  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * xdisp.c (update_tool_bar): Add missing UNGCPRO.
 -
 -      * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
 -
 -2003-06-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
 -      menu item label.
 -
 -2003-06-03  Richard M. Stallman  <rms@gnu.org>
 -
 -      * window.c (Fwindow_edges): Doc fix.
 -      (Fwindow_pixel_edges, Fwindow_inside_edges)
 -      (Fwindow_inside_pixel_edges): New functions.
 -      (syms_of_window): defsubr them.
 -
 -      * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
 -      (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
 -
 -2003-06-02  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * dispnew.c (Fsit_for): Don't lie about the number of args.
 -
 -2003-06-02  Dave Love  <fx@gnu.org>
 -
 -      * callproc.c: Use HAVE_FCNTL_H, not USG5.
 -      (syms_of_callproc) <process-environment>: Doc fix.
 -
 -      * doc.c: Use HAVE_FCNTL_H, not USG5.
 -
 -      * xfaces.c (font_rescale_ratio): Fix for K&R.
 -
 -      * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
 -
 -      * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
 -
 -      * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
 -
 -      * gtkutil.c: Include keyboard.h, charset.h, coding.h.
 -      (xg_create_frame_widgets): Use ENCODE_UTF_8.
 -
 -      * xterm.c (Qutf_8): Move to coding.c
 -
 -      * xmenu.c (ENCODE_MENU_STRING): New.
 -      (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
 -      Use it.
 -
 -      * coding.h (ENCODE_UTF_8): New.
 -      (Qutf_8): Declare.
 -
 -      * coding.c (Qutf_8): New.
 -      (syms_of_coding): Intern it.
 -
 -      * fns.c: Doc fixes.
 -
 -2003-06-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix previous change.
 -
 -2003-06-01  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * lread.c (openp): Make sure STR is a string.
 -
 -2003-06-01  David Ponce  <david@dponce.com>
 -
 -      * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
 -      Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
 -
 -      * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
 -      (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
 -      (discard_mouse_events): Discard WHEEL_EVENT events too.
 -      (lispy_wheel_names, wheel_syms): New.
 -      (syms_of_keyboard): Init and staticpro `wheel_syms'.  Init and
 -      staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
 -      (make_lispy_event): Add WHEEL_EVENT handler.
 -
 -      * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
 -      (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
 -      WHEEL_EVENT events.
 -
 -2003-05-31  John Paul Wallington  <jpw@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
 -      timer are in lisp/emacs-lisp.
 -
 -2003-05-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
 -      region when a buffer is changed to unibyte.
 -
 -      * charset.h (VALID_LEADING_CODE_P): New macro.
 -      (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
 -
 -      * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
 -      is nonzero, accept multibyte form of eight-bit-control chars.
 -      (decode_composition_emacs_mule): Likewise.
 -      (decode_coding_emacs_mule): Likewise.
 -      (encode_coding_emacs_mule): If coding->flags is nonzero, produce
 -      multibyte form of eight-bit-control chars.
 -
 -      * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
 -      (Finsert_file_contents): If coding-system-for-read is bound to
 -      Qauto_save_coding, use the coding system emacs-mule with special
 -      setting for recovering a file.
 -      (choose_write_coding_system): On auto saving, use the coding
 -      system emacs-mule with special setting for auto saving.
 -      (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
 -
 -2003-05-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
 -      properly before calling ccl_driver.
 -
 -      * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
 -
 -      * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
 -      (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
 -      (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
 -
 -2003-05-29  Glenn Morris  <gmorris@ast.cam.ac.uk>
 -
 -      * xfaces.c (realize_default_face): Do not abort if lface is
 -      non-existent - reverts change from 2003-05-19.
 -
 -2003-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso2022): Pay attention to the byte
 -      sequence of CTEXT extended segment, and retain those bytes as is.
 -
 -2003-05-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
 -      of CODING_REPLACEMENT_CHARACTER.
 -      (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
 -      CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
 -      check this flag on encoding.
 -      (encode_coding_sjis_big5):
 -      Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
 -      (Fset_terminal_coding_system_internal):
 -      Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
 -      instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
 -
 -      * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
 -      CODING_INHIBIT_CHARACTER_SUBSTITUTION.
 -      (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
 -
 -2003-05-28  Richard M. Stallman  <rms@gnu.org>
 -
 -      * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
 -
 -      * eval.c (unbind_to): Move init of this_binding to separate statement.
 -
 -2003-05-28  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (expose_window): Fix error in calculation of
 -      window relative coordinates of area to redisplay.
 -
 -2003-05-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
 -
 -2003-05-27  David Ponce  <david@dponce.com>
 -
 -      Handle W32 mouse wheel events as mouse click events, like in X.
 -
 -      * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
 -      MOUSE_WHEEL_EVENT anymore.
 -
 -      * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
 -      Scrolling down/up the mouse wheel is respectively mapped to mouse
 -      button 4 and 5.
 -      (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
 -      MOUSE_CLICK_EVENT events.  Forward w32 MSH_MOUSEWHEEL events as
 -      WM_MOUSEWHEEL events.
 -
 -2003-05-27  Andreas Schwab  <schwab@suse.de>
 -
 -      * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
 -
 -      * xdisp.c (try_window_id): Avoid aborting if PT is inside a
 -      partially visible line.
 -
 -      * alloc.c (Fgarbage_collect): Fix last change.
 -
 -2003-05-26  John Paul Wallington  <jpw@gnu.org>
 -
 -      * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
 -
 -2003-05-25  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * window.c (Fset_window_buffer): Add type of `keep_margins'.
 -      (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
 -
 -      * window.h (window_box_text_cols): Declare.
 -
 -      * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
 -      (x_draw_vertical_border): Remove unused var `f'.
 -
 -      * xfaces.c (build_scalable_font_name): Remove `unused var
 -      pixel_size' warning.
 -
 -      * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
 -
 -      * unexelf.c (unexec): Remove `unused var n' warning.
 -
 -      * strftime.c (my_strftime_localtime_r): Remove `defined but
 -      unused' warning.
 -
 -      * process.c (allocate_pty): Remove `unused var stb' and
 -      `cp might be used uninitialized' warnings.
 -
 -      * dispnew.c (mode_line_string): Remove unused var `f'.
 -
 -      * coding.c (find_safe_codings): Remove unused var `i'.
 -
 -      * bytecode.c (Fbyte_code): Remove `unused val' warning.
 -
 -      * buffer.c (Fkill_buffer): Remove unused var `list'.
 -
 -      * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
 -
 -2003-05-25  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (make_frame): Condition want_fullscreen with
 -      HAVE_WINDOW_SYSTEM.
 -
 -2003-05-25  Juanma Barranquero  <lektu@terra.es>
 -
 -      * window.c (Fset_window_scroll_bars): Fix typo in argument name.
 -      (Fwindow_scroll_bars): Fix typo in docstring.
 -
 -2003-05-24  Kim F. Storm  <storm@cua.dk>
 -
 -      The following changes serve several purposes:
 -
 -      1) Swap the position of fringes and display margins in windows, i.e.
 -      the fringes are now displayed between the margins and the text area
 -      (by default).
 -
 -      2) Allow fringe and scroll bar parameters to be set per-buffer and
 -      per-window (like display margins).  Such settings are now stored
 -      in window configurations, preserved when frames are resized, and
 -      copied when windows are split vertically or horizontally.
 -      Several bugs related to display margins have been fixed.
 -
 -      3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
 -
 -      4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
 -      rather than FRAME_WIDTH (FRAME_FONT (f)).
 -
 -      5) Introduce a consistent naming of variables, members and macros
 -      depending on whether their value is measured in pixels or in
 -      canonical columns/lines.  Pixel dimensions are named *_width and
 -      *_height, while canonical columns/lines are named *_cols and
 -      *_lines.  Pixel positions are named *_x and *_y, while column/line
 -      positions are named *_col and *_line.
 -
 -      6) Consolidate more of the X, W32, and MAC gui code by moving
 -      common data into struct frame, and generalize it for the non-gui
 -      case by using suitable defaults.
 -
 -      7) Cleanup and consolidate the macros controlling frame and window
 -      layout into frame.h and window.h, and generalize the use of the
 -      various window_box_* functions (enhanced to handle the new fringe
 -      position and the per-window fringe and scroll bar settings).
 -
 -      * frame.h (struct frame): Rename members height to text_lines,
 -      width to text_cols, window_height to total_lines, window_width to
 -      total_cols, new_height to new_text_lines, new_width to
 -      new_text_cols.  All uses changed.
 -      (struct frame): New members which consolidate common members of
 -      x_output, w32_output, and mac_output structures: left_pos,
 -      top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
 -      win_gravity, size_hint_flags, border_width, internal_border_width,
 -      line_height, fringe_cols, left_fringe_width, right_fringe_width,
 -      want_fullscreen.  All uses changed.
 -      (struct frame): New member column_width contaning the canonical
 -      column width, analogue to line_height.  All uses changed.
 -      (struct frame): Rename members scroll_bar_pixel_width to
 -      config_scroll_bar_width, and scroll_bar_cols to
 -      config_scroll_bar_cols.  All uses changed.
 -      (struct frame): New member scroll_bar_actual_width which
 -      consolidates and renames the vertical_scroll_bar_extra member of
 -      x_output, w32_output, and mac_output structures.  All uses changed.
 -      (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
 -      from x/w32/macterm.h files.  All uses changed.  Also change code
 -      which referred to f->output_data...->pixel_height.
 -      (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
 -      from x/w32/macterm.h files.  All uses changed.  Also change code
 -      which referred to f->output_data...->pixel_width.
 -      (FRAME_LINES): Rename from FRAME_HEIGHT.  All uses changed.
 -      Also change code which referred to f->height.
 -      (FRAME_COLS): Rename from FRAME_WIDTH.  All uses changed.
 -      Also change code which referred to f->width.
 -      (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
 -      to update new_text_lines and new_text_cols members directly.
 -      (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
 -      FRAME_SCROLL_BAR_PIXEL_WIDTH.  All uses changed.
 -      (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
 -      FRAME_SCROLL_BAR_COLS.  All uses changed.
 -      (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
 -      Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
 -      FRAME_RIGHT_SCROLL_BAR_WIDTH, resp.  All uses changed.
 -      (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
 -      (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
 -      (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
 -      (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
 -      (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
 -      (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
 -      (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
 -      (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
 -      Unconditionally return line_height member (it now has proper value
 -      also for non-window frames).
 -      (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT.  Unconditionally
 -      return new column_width member (rather than the default font width).
 -      (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
 -      (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
 -      from x/w32/macterm.h files.  Unconditionally return corresponding
 -      member of frame structure (they now have proper values also for
 -      non-window frames).
 -      (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
 -      Calculate return value from left and right widths.
 -      (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
 -      internal_border_width member (has proper value for non-window frame).
 -      (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
 -      (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
 -      (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
 -      (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
 -      (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
 -      consolidated from xterm.h, macterm.h, and w32term.h.
 -      (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
 -      consolidated from xterm.h, macterm.h, and w32term.h.
 -      (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
 -      CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
 -      (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
 -      CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
 -      (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
 -      consolidated from x/mac/w32term.h.
 -      (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
 -      consolidated from x/mac/w32term.h.
 -      (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
 -      PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
 -      (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
 -      PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
 -
 -      * window.h (struct window): Rename members left to left_col,
 -      top to top_line, height to total_lines, width to total_cols,
 -      left_margin_width to left_margin_cols, right_margin_width to
 -      right_margin_cols, orig_height to orig_total_lines, orig_top to
 -      orig_top_line.  All uses changed.
 -      (struct window): New members left_fringe_width, right_fringe_width,
 -      fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
 -      (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
 -      New macros primarily used to simplify other macros.
 -      (WINDOW_TOTAL_COLS): New macro.  Change relevant code that
 -      referred to XINT (w->width).
 -      (WINDOW_TOTAL_LINES): New macro.  Change relevant code that
 -      referred to XINT (w->height).
 -      (WINDOW_TOTAL_WIDTH): New macro.  Change relevant code that
 -      referred to XINT (w->width) * canon_x_unit.
 -      (WINDOW_TOTAL_HEIGHT): New macro.  Change relevant code that
 -      referred to XINT (w->height) * canon_y_unit.
 -      (WINDOW_LEFT_EDGE_COL): New macro.  Change relevant code that
 -      referred to XINT (w->left).
 -      (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE.  Change
 -      all uses and code that referred to XINT (w->left) + XINT (w->width).
 -      (WINDOW_TOP_EDGE_LINE): New macro.  Change relevant code that
 -      referred to XINT (w->top).
 -      (WINDOW_BOTTOM_EDGE_LINE): New macro.  Change relevant code that
 -      referred to XINT (w->top) + XINT (w->height).
 -      (WINDOW_LEFT_EDGE_X): New macro.  Change relevant code that
 -      referred to XINT (w->left) * canon_x_unit.
 -      (WINDOW_RIGHT_EDGE_X): New macro.  Change relevant code that
 -      referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
 -      (WINDOW_TOP_EDGE_Y): New macro.  Change relevant code that
 -      referred to XINT (w->top) * canon_y_unit.
 -      (WINDOW_BOTTOM_EDGE_Y): New macro.  Change relevant code that
 -      referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
 -      (WINDOW_LEFTMOST_P): New macro.
 -      (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
 -      All uses changed.
 -      (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
 -      All uses changed.
 -      (WINDOW_BOX_LEFT_EDGE_X): Rename from
 -      WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
 -      Do not exclude left fringe width.
 -      (WINDOW_BOX_RIGHT_EDGE_X): Rename from
 -      WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
 -      Do not exclude fringe widths.
 -      (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
 -      (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
 -      Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
 -      FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
 -      FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
 -      (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
 -      (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
 -      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
 -      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
 -      (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
 -      New macros.  Change code which referenced corresponding
 -      FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
 -      FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
 -      FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
 -      FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
 -      allow per-window scroll-bar settings.
 -      (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
 -      (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro.  Change code that
 -      referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
 -      (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro.  Change code
 -      that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
 -      FRAME_SCROLL_BAR_WIDTH.
 -      (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
 -      (WINDOW_SCROLL_BAR_AREA_X): New macros.
 -      (WINDOW_HEADER_LINE_HEIGHT): Rename from
 -      WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
 -      (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
 -      WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
 -      (WINDOW_BOX_TEXT_HEIGHT): Rename from
 -      WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
 -      (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
 -      (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
 -      (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
 -      (WINDOW_LEFT_MARGIN_WIDTH): Rename from
 -      WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
 -      (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
 -      WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
 -      (window_from_coordinates): Update prototype.
 -      (Fset_window_buffer): Update EXFUN.
 -      (set_window_buffer): Update prototype.
 -
 -      * dispextern.h (struct glyph_matrix): Rename members window_left_x
 -      to window_left_col, window_top_y to window_top_line.  All uses
 -      changed.
 -      (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
 -      use FRAME_INTERNAL_BORDER_WIDTH macro instead as
 -      internal_border_width is now set to 0 for non-window frames.
 -      (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
 -      (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
 -      (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
 -      (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
 -      (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
 -      (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
 -      (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
 -      (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
 -      (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
 -      Move to window.h and renamed [see window.h changes].
 -      (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
 -      (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
 -      (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
 -      Use WINDOW_TOTAL_LINES.
 -      (frame_update_line_height): Remove prototype.
 -
 -      * buffer.h (struct buffer): Rename members measured in columns:
 -      left_margin_width to left_margin_cols, right_margin_width to
 -      right_margin_cols.  All uses changed.
 -      New members left_fringe_width, right_fringe_width,
 -      fringes_outside_margins for per-buffer fringe settings.
 -      New members scroll_bar_width and vertical_scroll_bar_type for
 -      per-buffer scroll bar settings.
 -
 -      * buffer.c (init_buffer_once): Set buffer_defaults and
 -      buffer_local_flags for new buffer-local variables
 -      left_fringe_width, right_fringe_width, fringes_outside_margins,
 -      scroll_bar_width, and vertical_scroll_bar_type.
 -      (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
 -      default-* variables for them.
 -
 -      * dispnew.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (mode_line_string): No need to adjust width for mode lines, as it
 -      is already adjusted by the caller.
 -      (marginal_area_string): Handle fringes inside/outside margins.
 -
 -      * frame.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (make_frame): Initialize left_fringe_width, right_fringe_width,
 -      fringe_cols, scroll_bar_actual_width, border_width,
 -      internal_border_width, column_width, line_height, x_pixels_diff,
 -      y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
 -      members with values suitable for a non-window frames.
 -
 -      * gtkutil.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * indent.c: Make (few) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * keyboard.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (make_lispy_event): Use window positions returned from
 -      window_from_coordinates when constructing the lisp event for
 -      MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
 -      (incorrect) values locally.
 -      (make_lispy_movement): Use window positions returned from
 -      window_from_coordinates when constructing the lisp event, rather
 -      than calculating (incorrect) values locally.
 -
 -      * scroll.c: Make (some) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
 -      scroll-bars.
 -
 -      * sysdep.c: Make (few) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * term.c: Make (some) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * widget.c: Make (few) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * window.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (make_window): Initialize new members
 -      left_margin_cols, right_margin_cols, left_fringe_width,
 -      right_fringe_width, fringes_outside_margins, scroll_bar_width,
 -      and vertical_scroll_bar_type.
 -      (coordinates_in_window): Adapt to new fringe/margin positions
 -      and per-window fringes and scroll-bars.
 -      Fix bug related to incorrectly adjusting coordinates by
 -      frame's internal_border_width (the effect normally negible since
 -      the internal_border_width is typically 0 or 1 pixel, but very
 -      noticeable for an internal_border_width of e.g. 25 pixels).
 -      Upon successful return (other than ON_NOTHING), the coordinates
 -      are now always properly converted to window relative for the
 -      given display element.
 -      (window_from_coordinates): Add new parameters wx and wy to
 -      return the window relative x and y position in the returned
 -      window and part.  A null arg means, don't return the position.
 -      All callers changed.
 -      (adjust_window_margins): New function which may reduce the width
 -      of the display margins if a window's text area is too small after
 -      resizing or splitting windows.
 -      (size_window): Fix bug that did not account for display margin
 -      widths when checking the minimum width of a window; use
 -      adjust_window_margins.
 -      (set_window_buffer): Call Fset_window_fringes and
 -      Fset_window_scroll_bars to setup per-window elements.
 -      Add new arg KEEP_MARGINS_P.  Non-nil means to keep window's
 -      existing display margin, fringe widths, and scroll bar settings
 -      (e.g. after splitting a window or resizing the frame).
 -      All callers changed.
 -      (Fset_window_buffer): New arg KEEP_MARGINS.  All callers changed.
 -      (Fsplit_window): Duplicate original window's display margin,
 -      fringe, and scroll-bar settings; then call Fset_window_buffer with
 -      KEEP_MARGINS non-nil.  This fixes a bug which caused a split
 -      window to only preserve the display margins in one of the windows.
 -      When splitting horizontally, call adjust_window_margins on both
 -      windows to ensure that the text area of the new windows is non too
 -      narrow.  This fixes a bug which could cause Emacs to trap if the
 -      width of the split window was less than the width of the display
 -      margins.
 -      (window_box_text_cols): Rename from window_internal_width.
 -      All uses changed.  Adapt to per-window fringes and scroll bars.
 -      Fix bug that caused vertical separator to be subtracted also on
 -      window frames.  Fix another bug that did not reduce the returned
 -      value by the columns used for display margins.
 -      (window_scroll_line_based): Fix bug related to scrolling too much
 -      when display margins are present (implicitly fixed by the fix to
 -      window_box_text_cols).
 -      (scroll_left, scroll_right): Fix bug related to scrolling too far
 -      by default when display margins are present (implicitly fixed by
 -      the fix to window_box_text_cols).
 -      (struct saved_window): Rename members left to left_col, top to
 -      top_line, width to total_cols, height to total_lines, orig_top to
 -      orig_top_line, orig_height to orig_total_lines.  All uses changed.
 -      New members left_margin_cols, right_margin_cols,
 -      left_fringe_width, right_fringe_width, fringes_outside_margins,
 -      scroll_bar_width, and vertical_scroll_bar_type for saving
 -      per-window display elements.
 -      (Fset_window_configuration): Restore display margins, fringes,
 -      and scroll bar settings.  This fixes a bug which caused display
 -      margins to be discarded when saving and restoring a window
 -      configuration.
 -      (save_window_save): Save display margins, fringes, and scroll bar
 -      settings.  This fixes a bug which caused display margins to be
 -      discarded when saving and restoring a window configuration.
 -      (Fset_window_margins): Do nothing if display margins are not
 -      really changed.  Otherwise, call adjust_window_margins to ensure
 -      the text area doesn't get too narrow.  This fixes a bug which
 -      could cause Emacs to trap if setting display margins wider than
 -      the width of the window.
 -      (Fset_window_fringes): New defun to allow user to specifically set
 -      this window's fringe widths and position vs. display margins.
 -      (Fwindow_fringes): New defun to return window's actual fringe settings.
 -      (Fset_window_scroll_bars): New defun to allow user to specifically
 -      set this window's scroll bar width and position.
 -      (Fwindow_scroll_bars): New defun to return window's actual scroll
 -      bar settings.
 -      (compare_window_configurations): Also compare display margins,
 -      fringes, and scroll bar settings.
 -      (syms_of_window): Defsubr new defuns for fringe and scroll bars.
 -
 -      * xdisp.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (window_box_width): Adapt to per-window fringes and scroll bars,
 -      and new fringe vs. display margin position.  Note that returned
 -      value is no longer guaranteed to be a whole multiple of the frame
 -      column width, since per-window fringes may now be any width.
 -      (window_box_left_offset): New function like window_box_left, but
 -      value is relative to left border of window (rather than frame).
 -      (window_box_right_offset): New function like window_box_right,
 -      but value is relative to left border of window.
 -      (window_box_left): Adapt to per-window fringes and scroll bars,
 -      and new fringe vs. display margin position.  Simplify by using
 -      WINDOW_LEFT_EDGE_X and window_box_left_offset.
 -      (window_box): Allow null args for unnecessary return values;
 -      change/simplify relevant callers.
 -      (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
 -      and new fringe vs. display margin position.
 -      Use window_box_left_offset and window_box_right_offset
 -      (get_glyph_string_clip_rect): Adapt to per-window fringes and
 -      scroll bars, and new fringe vs. display margin position.
 -      Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
 -      (draw_fringe_bitmap): Rework to handle per-window fringes and new
 -      fringe vs. display margin position.
 -      (hscroll_window_tree): Use window_box_width instead of window_box.
 -      (redisplay_window): Adapt to per-window scroll bars.
 -      (draw_glyphs): Rework to handle per-window fringes and scroll
 -      bars, and new fringe vs. display margin position.
 -      Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
 -      (x_clear_end_of_line): Adapt to per-window fringes and scroll
 -      bars, and new fringe vs. display margin position.  Fix bug which
 -      increased total width of full_width rows by width of scroll bars
 -      although window's total width already includes that.
 -      (x_fix_overlapping_area): Simplify using window_box_left_offset.
 -      (expose_area): Simplify using window_box_left_offset.
 -      (x_draw_vertical_border): Handle per-window scroll bar settings,
 -      mixing windows with left, right and no scroll bars.
 -
 -      * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
 -      where it's used in x_list_fonts (for clarity).
 -      (frame_update_line_height): Remove unused function; functionality
 -      is now done directly when setting the default font in x_set_font.
 -
 -      * xfns.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * xmenu.c: Make (some) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * xterm.h (struct x_output): Move members left_pos, top_pos,
 -      border_width, pixel_height, pixel_width, line_height,
 -      internal_border_width, vertical_scroll_bar_extra,
 -      left_fringe_width, right_fringe_width, fringe_cols,
 -      fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
 -      x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
 -      (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
 -      (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
 -      (PIXEL_WIDTH, PIXEL_HEIGHT)
 -      (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
 -      (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
 -      frame.h and renamed [see frame.h changes].
 -      (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
 -      (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
 -      (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
 -      and renamed [see frame.h changes].
 -
 -      * xterm.c: Make (several) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
 -      (scroll_run): Adapt to new fringe position.
 -      (glyph_rect): Use window coordinates returned from
 -      window_from_coordinates rather than frame_to_window_pixel_xy.
 -      (XTset_vertical_scroll_bar): Adapt to per-window fringes and
 -      scroll-bars.
 -      (handle_one_xevent): Simplify a USE_GTK conditional.
 -      (x_clip_to_row): Remove superfluous whole_line_p arg and code
 -      (fringes are now inside margins, i.e. always in the clipping area).
 -      All callers changed.
 -      (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
 -      directly, then call compute_fringe_widths.  Don't call
 -      frame_update_line_height.
 -
 -      * w32term.h (struct w32_output): Move members left_pos, top_pos,
 -      border_width, pixel_height, pixel_width, line_height,
 -      internal_border_width, vertical_scroll_bar_extra,
 -      left_fringe_width, right_fringe_width, fringe_cols,
 -      fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
 -      x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
 -      (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
 -      (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
 -      (PIXEL_WIDTH, PIXEL_HEIGHT)
 -      (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
 -      (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
 -      frame.h and renamed [see frame.h changes].
 -      (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
 -      (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
 -      (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
 -      and renamed [see frame.h changes].
 -
 -      * w32term.c: Make (several) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
 -      (glyph_rect): Use window coordinates returned from
 -      window_from_coordinates rather than frame_to_window_pixel_xy.
 -      (XTset_vertical_scroll_bar): Adapt to per-window fringes and
 -      scroll-bars.
 -      (w32_clip_to_row): Remove superfluous whole_line_p arg and code
 -      (fringes are now inside margins, i.e. always in the clipping area).
 -      All callers changed.
 -      (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
 -      directly, then call compute_fringe_widths.  Don't call
 -      frame_update_line_height.
 -
 -      * w32console.c: Make (few) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * w32fns.c: Make (many) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * w32menu.c: Make (few) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * macterm.h (struct mac_output): Move members left_pos, top_pos,
 -      border_width, pixel_height, pixel_width, line_height,
 -      internal_border_width, vertical_scroll_bar_extra,
 -      left_fringe_width, right_fringe_width, fringe_cols,
 -      fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
 -      x_pixels_diff, y_pixels_diff to struct frame (frame.h).
 -      (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
 -      (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
 -      (PIXEL_WIDTH, PIXEL_HEIGHT)
 -      (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
 -      (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
 -      frame.h and renamed [see frame.h changes].
 -      (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
 -      (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
 -      (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
 -      and renamed [see frame.h changes].
 -
 -      * macterm.c: Make (several) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
 -      (glyph_rect): Use window coordinates returned from
 -      window_from_coordinates rather than frame_to_window_pixel_xy.
 -      (XTset_vertical_scroll_bar): Adapt to per-window fringes and
 -      scroll-bars.
 -      (x_clip_to_row): Remove superfluous whole_line_p arg and code
 -      (fringes are now inside margins, i.e. always in the clipping area).
 -      All callers changed.
 -      (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
 -      directly, then call compute_fringe_widths.  Don't call
 -      frame_update_line_height.
 -
 -      * macfns.c: Make (several) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
 -
 -      * macmenu.c: Make (few) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -
 -      * msdos.h (struct x_output): Remove members left_pos, top_pos,
 -      and line_height, and use corresponding new members in struct
 -      frame.  All uses changed.
 -      (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
 -      superseeded by corresponding macros in frame.h.
 -
 -      * msdos.c: Make (several) trivial substitutions for renamed and
 -      new macros in dispextern.h, frame.h and window.h.
 -      (IT_note_mouse_highlight): Use updated window coordinates returned
 -      by window_from_coordinates, rather than adjusting them locally.
 -      (internal_terminal_init): No need to initialize line_height here;
 -      it now defaults to 1.
 -
 -2003-05-24  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keyboard.c (read_key_sequence): Adjust fkey and keytran when
 -      dropping `down' events.
 -
 -2003-05-24  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (find_safe_codings): Fix last change.
 -
 -2003-05-24  Istvan Marko  <mi@imarko.dhs.org>  (tiny change)
 -
 -      * xfns.c (x_window): Fix typo from 2003-05-21 change.
 -
 -2003-05-23  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * xdisp.c (display_mode_element): Increase max depth.
 -      Simplify the error handling code.  Use a different error string
 -      for the case where we hit the depth limit.
 -
 -      * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
 -
 -      * buffer.c (reset_buffer_local_variables): Remove redundant setting.
 -
 -2003-05-21  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * intervals.c (get_local_map): Don't get char-property of previous
 -      point any more: get_pos_property already does it and better.
 -
 -2003-05-21  Dave Love  <fx@gnu.org>
 -
 -      [Merged from unicode branch.]
 -
 -      * 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.
 -
 -2003-05-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * unexw32.c (_start): Remove _fmode initialization.
 -
 -      * emacs.c (main) [WINDOWSNT]: Move it here.
 -
 -2003-05-20  Dave Love  <fx@gnu.org>
 -
 -      * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
 -
 -2003-05-19  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
 -      as value for QCfont attribute.
 -      (realize_default_face): lface should already exist; crash if not.
 -      Specify 0 for FORCE_P when calling set_lface_from_font_name.
 -
 -      * frame.c (Fignore_event): Doc fix.
 -
 -2003-05-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_string): Handle post-read-conversion
 -      even if the coding doesn't require decoding.
 -
 -2003-05-18  Richard M. Stallman  <rms@gnu.org>
 -
 -      * callproc.c (Fcall_process_region): Doc fix.
 -
 -2003-05-17  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * lread.c (Fload): Print a message if package is obsolete.
 -
 -      * window.c (Fselect_window): Add optional `norecord' arg.
 -      (select_window_1): Fold into Fselect_window.
 -      (select_window_norecord): New function.
 -      (temp_output_buffer_show): Use it.  Preserve current buffer.
 -
 -      * window.h (Fselect_window): Update declaration.
 -
 -      * window.c (delete_window, Fother_window, Fset_window_configuration):
 -      * minibuf.c (read_minibuf):
 -      * macterm.c (x_new_focus_frame):
 -      * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
 -      * callint.c (Fcall_interactively):
 -      * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
 -
 -      * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
 -
 -2003-05-17  David Kastrup  <dak@gnu.org>
 -
 -      * process.c (read_process_output): Back out change from 2003-03-09.
 -
 -2003-05-17  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * editfns.c (get_pos_property): Don't assume that `object' = nil.
 -
 -      * textprop.c (text_property_stickiness): New arg `buffer'.
 -
 -      * intervals.h (text_property_stickiness): New arg `buffer'.
 -      (get_pos_property): Declare.
 -
 -      * intervals.c (get_local_map): Use get_pos_property, to obey
 -      stickiness and empty overlays.
 -      (create_root_interval, graft_intervals_into_buffer): Use BEG.
 -      (merge_properties, intervals_equal, merge_properties_sticky):
 -      Use XCAR, XCDR.
 -      (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
 -
 -2003-05-17  Richard M. Stallman  <rms@gnu.org>
 -
 -      * minibuf.c (read_minibuf): If buffer is empty, record the default
 -      in the history.
 -      (Fminibuffer_complete_word): When deleting the overlap, take account
 -      of its real position.
 -
 -      * fns.c (map_char_table): Fix previous change.
 -
 -      * syntax.c (find_defun_start):
 -      When open_paren_in_column_0_is_defun_start,
 -      return beginning of buffer.
 -
 -      * lisp.h (map_char_table): Declare added arg.
 -
 -      * fns.c (map_char_table): New arg TABLE gets the master table.
 -      All calls changed.
 -      Process default and inheritance, resorting to Faref if necessary.
 -
 -      * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
 -      (Faccessible_keymaps): Pass new arg to map_char_table.
 -
 -      * fontset.c (Ffontset_info): Pass new arg to map_char_table.
 -
 -      * casetab.c (set_case_table): Pass new arg to map_char_table.
 -
 -      * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
 -
 -      * lisp.h (specbinding_func): New typedef.
 -      (struct specbinding): Use specbinding_func, to put the `volatile'
 -      in the right place.
 -
 -      * alloc.c (Fgarbage_collect): Cast pointers into specpdl
 -      to avoid GCC warning.
 -
 -2003-05-16  Ralph Schleicher  <rs@nunatak.allgaeu.org>
 -
 -      * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
 -
 -2003-05-15  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keyboard.c (apply_modifiers): Don't fill the other cache.
 -
 -2003-05-14  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
 -
 -      * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
 -      (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
 -      (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
 -      (Fset_window_configuration, Fcurrent_window_configuration)
 -      (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
 -      (Fpos_visible_in_window_p, mark_window_cursors_off)
 -      (window_internal_height, window_internal_width, Frecenter)
 -      (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
 -      (replace_buffer_in_all_windows, init_window_once, init_window)
 -      (syms_of_window, keys_of_window): Move from lisp.h.
 -      * lisp.h: Move window.c declarations to window.h.
 -
 -      * bytecode.c: Include window.h.
 -      * emacs.c: Include window.h.
 -
 -      * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
 -      (keyremap): Add `parent' field.
 -      (keyremap_step): Use it.  Remove `parent' argument.
 -      (read_key_sequence): Setup and use the new `parent' field.
 -
 -2003-05-11  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keyboard.c (adjust_point_for_property): Ensure termination.
 -
 -2003-05-10  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keyboard.c (follow_key): Remove dead variable `did_meta'.
 -      (access_keymap_keyremap, keyremap_step): New funs, extracted from the
 -      duplicated handling of function-key-map and key-translation-map
 -      in read_key_sequence.
 -      (read_key_sequence): Use them.
 -
 -      * keyboard.c (adjust_point_for_property): Try harder to move point
 -      to the non-sticky end of an invisible property.
 -
 -      * xdisp.c (single_display_prop_intangible_p): Make `space' display
 -      property intangible as well.
 -
 -2003-05-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * xmenu.c (single_menu_item): Change last parameter to void* to
 -      avoid warning.
 -
 -2003-05-09  Richard M. Stallman  <rms@gnu.org>
 -
 -      * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
 -      Bind Qinhibit_modification_hooks to t so there will be no GC.
 -      Rename local `tem' to `save_deactivate_mark'.
 -
 -      * eval.c (specpdl_ptr): Declare volatile.
 -      (unbind_to): Copy the whole binding and decrement specpdl_ptr
 -      before doing the work of unbinding it.
 -
 -      * lisp.h (struct specbinding): Declare elements volatile.
 -      (specpdl_ptr): Declare volatile.
 -
 -      * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
 -
 -      * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
 -      for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
 -
 -2003-05-08  Dave Love  <fx@gnu.org>
 -
 -      * coding.c (Vlast_coding_system_used): Doc fix.
 -
 -2003-05-07  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
 -      when system does not support them.
 -
 -2003-05-05  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * fileio.c (Qwrite_region_annotate_functions): New var.
 -      (build_annotations): Use it to process the global part of the hook.
 -      (syms_of_fileio): Init and staticpro it.
 -
 -      * keyboard.c (safe_run_hooks_error): Display a message instead of
 -      silently ignoring the error.
 -
 -2003-05-03  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keyboard.c (input_available_signal): Mark static.
 -      (menu_bar_items): Use map_keymap.
 -      (menu_bar_one_keymap): Remove.
 -      (menu_bar_item): Adjust arglist (for use in map_keymap).
 -      Properly hide a second binding when not both are keymaps.
 -
 -      * xmenu.c (struct skp): New struct, to pass args through map_keymap.
 -      (single_keymap_panes): Use it and map_keymap.
 -      (single_menu_item): Use skp as well.
 -
 -      * keymap.h (map_keymap_function_t): New type.
 -      (map_keymap): Declare.
 -
 -      * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
 -      (map_keymap_call, Fmap_keymap): New functions.
 -      (syms_of_keymap): Defsubr map-keymap.
 -
 -2003-05-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (create_dialog, make_widget_for_menu_item)
 -      (make_menu_item, create_menus, xg_update_menu_item): Don't call
 -      ..._with_mnemonic functions for menu items.
 -
 -2003-05-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_system_accept_latin_extra_p): Delete this
 -      function.
 -      (find_safe_codings): Pay attention to
 -      the property tranlsation-table-for-encode of each codings.
 -      (syms_of_coding): Give Qtranslation_table the extra slot number 2.
 -
 -2003-05-01  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
 -
 -2003-04-30  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * eval.c (unbind_to): Don't handle symbol = Qnil any more.
 -
 -      * lisp.h (CHECK): Wrap args in parenthesis.
 -      (specbind): Fix doc: symbol = Qnil is not supported any more.
 -
 -      * bytecode.c (Fbyte_code) <unwind-protect>:
 -      Use Fprogn rather than 0 and Qnil.
 -
 -      * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
 -      `double', and `triple' modifiers as well.
 -
 -2003-04-30  Richard M. Stallman  <rms@gnu.org>
 -
 -      * keyboard.c (echo_char): Don't clear out a dash that follows a space.
 -
 -      * alloc.c (abort_on_gc): New variable.
 -      (Fgarbage_collect): Abort if abort_on_gc is set.
 -
 -      * lisp.h (abort_on_gc): Add decl.
 -
 -      * eval.c (Fsignal): Clear abort_on_gc.
 -
 -      * editfns.c (Fformat): Set abort_on_gc during first scan of format.
 -      Reinit FORMAT_START and END before second scan.
 -
 -      * xdisp.c (move_it_vertically_backward): Do the final big else
 -      even if nlines is 0.
 -
 -      * xdisp.c (redisplay_internal): Finish the per-frame loop
 -      even if redisplay is suspended by input.
 -
 -2003-04-24  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * macterm.c (x_list_fonts): Return all fonts that match if
 -      maxnames = -1.
 -
 -2003-04-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_chars): Fix previous change.
 -
 -2003-04-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (skip_chars): Make the code faster by using the common
 -      technique of *p, *stop, and *endp.
 -
 -2003-04-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
 -      tool_bar_items so GTK tool bar expose callback does not access items
 -      being updated.
 -
 -2003-04-19  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * eval.c (Fapply): Undo last change and add a comment about why.
 -
 -2003-04-18  Miles Bader  <miles@gnu.org>
 -
 -      * data.c (Faset): Calculate nbytes earlier, to satisfy the now
 -      pickier PARSE_MULTIBYTE_SEQ.
 -
 -2003-04-17  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
 -      Use XCDR, XCAR, CONSP.
 -      (Fdefmacro): Fix docstring.  Use XCAR, XCDR.
 -      (Fapply): Remove unnecessary GCPRO.
 -
 -      * doc.c (Fsubstitute_command_keys): Remove spurious casts.
 -
 -      * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
 -
 -      * buffer.h: Don't hardcode BEG==1.
 -
 -      * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
 -
 -2003-04-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (try_window, try_window_reusing_current_matrix):
 -      When at end of window, set window_end_pos to Z-ZV.
 -
 -      * buffer.c (Foverlay_recenter): Doc fix.
 -
 -2003-04-14  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * dispnew.c (Fsit_For): Support XEmacs-style arg list.
 -
 -2003-04-14  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * macterm.c (mac_check_for_quit_char): Don't check more often than
 -      once a second.
 -
 -2003-04-11  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
 -      specially, so that they can't hide an implicit switch-frame event.
 -      (make_lispy_event): Handle SELECT_WINDOW_EVENT.
 -      (head_table): Use switch-frame as event_kind for select-window.
 -      (keys_of_keyboard): Don't bind [select-window] in special-event-map.
 -
 -      * editfns.c (Fformat): Lisp_Object/int mixup.
 -      (format2): Remove unused var numargs.
 -
 -2003-04-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
 -      (Qafter_insert_file_set_coding): New variable.
 -      (syms_of_fileio): Initialize and staticpro it.  Delete declaration
 -      for after-insert-file-adjust-coding-function.
 -      (Finsert_file_contents): Call Qafter_insert_file_set_coding
 -      instead of Vafter_insert_file_adjust_coding_function.
 -
 -2003-04-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * lisp.h (temp_echo_area_glyphs): Adjust prototype.
 -
 -      * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
 -      string.  Callers changed.
 -
 -2003-04-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
 -      (syms_of_fileio): Declare it as a lisp variable.
 -      (Finsert_file_contents):
 -      Call Vafter_insert_file_adjust_coding_function before calling
 -      decode-format.
 -
 -2003-04-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
 -      get GtkAdjustment as widget now is a GtkRange.
 -
 -      * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
 -      GtkRange to avoid memory leak.
 -
 -2003-04-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Vface_font_rescale_alist): New variable.
 -      (struct font_name): New member rescale_ratio.
 -      (font_rescale_ratio): New function.
 -      (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
 -      (better_font_p): On comparing point sized, pay attention to
 -      recale_ratio member of fonts.
 -      (build_scalable_font_name): Reflect font->rescale_ratio in the
 -      font name.
 -      (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
 -
 -      * lread.c (read1): Before calling index, check if the 2nd
 -      arguemnt is in ASCII range.
 -
 -2003-04-08  Richard M. Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Ffile_symlink_p): Doc fix.
 -
 -      * editfns.c (Fformat): Translate positions of text properties
 -      in the format string to apply them to the result.
 -
 -      * fileio.c (Finsert_file_contents): Doc fix.
 -      (syms_of_fileio) <after-insert-file-functions>: Doc fix.
 -
 -2003-04-08  Ivan Zakharyaschev  <imz@altlinux.org>  (tiny change)
 -
 -      * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
 -
 -2003-04-08  Steven Tamm  <steventamm@mac.com>
 -
 -      * mac.c (init_mac_osx_environment): Switch libexec and bin so
 -      that self-contained application finds libexec files.
 -
 -2003-04-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (code_convert_region_unwind):
 -      Set Vlast_coding_system_used to the argument.
 -      (code_convert_region): If post-read-conversion function changed
 -      the value of last-coding-sytem, keep the new value in
 -      coding->symbol so that it won't be overridden.
 -      (run_pre_post_conversion_on_str): Likewise.
 -      (coding_system_accept_latin_extra_p): New function.
 -      (find_safe_codings): Pay attention to characters registered in
 -      latin-extra-code-table.
 -
 -2003-04-07  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * Makefile.in (md5.o): Add missing dependency info.
 -
 -2003-04-06  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
 -
 -      * marker.c (verify_bytepos): New function.
 -
 -      * intervals.c (set_intervals_multibyte_1): When becoming
 -      multibyte, adjust right and left child sizes to a whole set of
 -      characters.  If an interval gets zero total-length, delete it.
 -      If an interval consists of just its children, delete one of them.
 -
 -      * intervals.h (CHECK_TOTAL_LENGTH): New macro.
 -      * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
 -
 -      * alloc.c (VALIDATE_LISP_STORAGE): Macro deleted.
 -      All calls deleted.
 -      (lisp_malloc): Do the work here directly.
 -
 -2003-04-06  Gareth Jones  <emacs@referential.org.uk>  (tiny change)
 -
 -      * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
 -      char tables.
 -
 -2003-04-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Fformat): Use a copy of FORMAT string so that we can
 -      destructively change "%S" to "%s".
 -
 -2003-04-03  Miles Bader  <miles@gnu.org>
 -
 -      * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
 -      always set.
 -
 -2003-04-01  Dave Love  <fx@gnu.org>
 -
 -      * xfns.c (xpm_lookup_color): Grok "opaque".
 -
 -2003-03-31  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
 -      parent window ID.
 -
 -      * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
 -
 -      * macterm.h (struct mac_output): Define x_pixels_diff and
 -      y_pixels_diff.
 -
 -2003-03-31  Juanma Barranquero  <lektu@terra.es>
 -
 -      * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
 -      blockinput.h and files included from it.
 -
 -2003-03-31  Kim F. Storm  <storm@cua.dk>
 -
 -      The following changes consolidates the common code related to
 -      frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
 -      files into frame.c.
 -
 -      * frame.c: Include blockinput.h.
 -      (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
 -      (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
 -      (Qauto_raise, Qauto_lower, ...): Define all frame parameter
 -      related vars here.
 -      (struct frame_parm_table, frame_parms): New table for describing
 -      frame parameters and their associated Q-variable.
 -      The order of the parameters corresponds to the sequence of the
 -      frame_parm_handlers table in redisplay_interface.
 -      (x_fullscreen_move, x_set_frame_parameters)
 -      (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
 -      (x_set_screen_gamma, x_set_font, x_set_fringe_width)
 -      (x_set_border_width, x_set_internal_border_width, x_set_visibility)
 -      (x_set_autoraise, x_set_autolower, x_set_unsplittable)
 -      (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
 -      Generic functions for processing of frame parameters.
 -      (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
 -      (display_x_get_resource, x_get_resource_string): Functions for
 -      generic access to X resources.
 -      (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
 -      (x_default_parameter, Fx_parse_geometry): Functions for generic
 -      access to frame parameters.
 -      (x_figure_window_size): Generic calculation of frame size.
 -      Fixed to add space needed for tool bar.  Also setup size_hint_flags.
 -      (syms_of_frame): Intern and staticpro frame parameter variables.
 -      Defvar_lisp Vx_resource_class and Vx_resource_name here.
 -      Defsubr Sx_get_resource and Sx_parse_geometry.
 -
 -      * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
 -      parameter related vars defined in frame.c.
 -      (EMACS_CLASS): Define here.
 -      (enum FULLSCREEN_*): Define here.
 -      (x_set_scroll_bar_default_width, x_wm_set_icon_position)
 -      (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
 -      (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
 -      (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
 -      (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
 -      (x_set_visibility, x_set_autoraise, x_set_autolower)
 -      (x_set_unsplittable, x_set_vertical_scroll_bars)
 -      (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
 -      (x_figure_window_size): Add prototypes.
 -
 -      * dispextern.h (frame_parm_handler): New typedef.
 -      (struct redisplay_interface): New member frame_parm_handlers.
 -      (enum resource_types): Move declaration here.
 -      (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
 -      (x_default_parameter): Add prototypes.
 -
 -      * window.c: Remove extern decl for frame parameter vars.
 -      (change_window_heights): New generic function;
 -      replaces x_change_window_heights.  All users changed.
 -
 -      * window.h (change_window_heights): Add prototype.
 -
 -      * xfaces.c: Remove extern decl for frame parameter vars.
 -
 -      * xterm.h (EMACS_CLASS): Remove.  Use generic define.
 -      (struct w32_display_info): Fix type of xrdb member.
 -      (enum FULLSCREEN_*): Remove.
 -      Remove prototypes for generic functions (in frame.h).
 -
 -      * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
 -      parameters now defined in frame.h and frame.c.
 -      (Vx_resource_name): Remove.  Use generic var.
 -      (enum x_frame_parms): Remove (bogus, unused enum).
 -      (check_x_display_info): Make non-static (for frame.c).
 -      (struct x_frame_parm_table, x_frame_parms): Remove.
 -      (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
 -      (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
 -      (x_set_border_width, x_set_internal_border_width, x_set_visibility)
 -      (x_change_window_heights, x_set_autoraise, x_set_autolower)
 -      (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
 -      (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
 -      (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
 -      Remove.  Use generic functions instead.
 -      (enum resource_types): Remove.
 -      (x_set_scroll_bar_default_width): New global function (for frame.c).
 -      (Fx_create_frame): Depend on x_figure_window_size to add space for
 -      toolbar and setup size_hint_flags.
 -      (x_frame_parm_handlers): New table for redisplay_interface.
 -      (syms_of_xfns): Don't intern/staticpro removed vars.
 -
 -      * xterm.c: Remove unnecessary extern declarations.
 -      (x_fullscreen_adjust): Remove.  Use generic instead.
 -      (x_redisplay_interface): Add x_frame_parm_handlers member.
 -
 -      * w32gui.h (XrmDatabase): New (dummy) typedef.
 -
 -      * w32term.h (EMACS_CLASS): Remove.  Use generic define.
 -      (struct w32_display_info): Fix type of xrdb member.
 -      (enum FULLSCREEN_*): Remove.
 -      (x_fullscreen_adjust): Remove prototype.
 -
 -      * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
 -      parameters now defined in frame.h and frame.c.
 -      (Vx_resource_name): Remove.  Use generic var.
 -      (enum x_frame_parms): Remove (bogus, unused enum).
 -      (check_x_display_info): Make non-static (for frame.c).
 -      (struct x_frame_parm_table, x_frame_parms): Remove.
 -      (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
 -      (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
 -      (x_set_border_width, x_set_internal_border_width, x_set_visibility)
 -      (x_change_window_heights, x_set_autoraise, x_set_autolower)
 -      (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
 -      (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
 -      (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
 -      Remove.  Use generic functions instead.
 -      (enum resource_types): Remove.
 -      (x_set_scroll_bar_default_width): New global function (for frame.c).
 -      (Fx_create_frame): Depend on x_figure_window_size to add space for
 -      toolbar and setup size_hint_flags.
 -      (w32_frame_parm_handlers): New table for redisplay_interface.
 -      (syms_of_w32fns): Don't intern/staticpro removed vars.
 -
 -      * w32term.c: Remove unnecessary extern declarations.
 -      (x_fullscreen_adjust): Remove.  Use generic instead.
 -      (x_redisplay_interface): Add w32_frame_parm_handlers member.
 -
 -      * w32reg.c (x_get_string_resource): Use XrmDatabase.
 -
 -      * macgui.h (XrmDatabase): New (dummy) typedef.
 -
 -      * macterm.h (EMACS_CLASS): Remove.
 -      (struct mac_display_info): Add xrdb member.
 -      (struct mac_output): Add want_fullscreen member.
 -
 -      * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
 -      parameters now defined in frame.h and frame.c.
 -      (Vx_resource_name): Remove.  Use generic var.
 -      (check_x_display_info): Make non-static (for frame.c).
 -      (struct x_frame_parm_table, x_frame_parms): Remove.
 -      (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
 -      (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
 -      (x_set_border_width, x_set_internal_border_width, x_set_visibility)
 -      (x_change_window_heights, x_set_autoraise, x_set_autolower)
 -      (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
 -      (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
 -      (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
 -      Remove.  Use generic functions instead.
 -      (enum resource_types): Remove.
 -      (x_set_scroll_bar_default_width): New global function (for frame.c).
 -      (mac_frame_parm_handlers): New table for redisplay_interface.
 -      (syms_of_macfns): Don't intern/staticpro removed vars.
 -
 -      * macterm.c: Remove unnecessary extern declarations.
 -      (x_redisplay_interface): Add mac_frame_parm_handlers member.
 -
 -      * Makefile.in (frame.o): Add dependency on blockinput.h and files
 -      included from it (atimer.h and systime.h).
 -
 -2003-03-30  Andreas Schwab  <schwab@suse.de>
 -
 -      * xdisp.c (x_insert_glyphs): Fix swapped width and height
 -      parameters for shift_glyphs_for_insert.
 -
 -      * macterm.c (x_redisplay_interface): Add missing entry for
 -      draw_vertical_window_border.
 -
 -2003-03-29  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@gmx.net>
 -
 -      * fileio.c (Fexpand_file_name): In the no-handler case, after
 -      expanding, look again for a handler and invoke it.  This is needed
 -      for filenames like "/foo/../user@host:/bar/../baz" -- the first
 -      expansion produces "/user@host:/bar/../baz" which needs to be
 -      expanded again for the finame result "/user@host:/baz".
 -
 -2003-03-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
 -      of area to be redrawn for better performance.
 -
 -2003-03-28  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * xterm.c (take_vertical_position_into_account): Remove.
 -      (xt_action_hook): Call set_vertical_scroll_bar if needed.
 -      (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
 -      (xm_scroll_callback, x_create_toolkit_scroll_bar)
 -      (x_set_toolkit_scroll_bar_thumb): Simplify.
 -      (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
 -      (XTread_socket): Remove unused var.
 -      (x_make_frame_invisible): Replace goto with else.
 -
 -      * xdisp.c (set_vertical_scroll_bar): New fun.
 -      (redisplay_window): Use it.
 -
 -2003-03-26  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (update_tool_bar): Recompute tool bar if
 -      update_mode_lines is set.  Set w->update_mode_line
 -      only if the tool bar contents actually change.
 -      (update_menu_bar): Undo previous change.
 -
 -2003-03-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
 -      (xg_frame_set_char_size): Calculate scroll bar width before frame
 -      width.  Call SET_FRAME_GARBAGED and cancel_mouse_face.
 -      (xg_separator_p): Check for all documented separator types.
 -      (xg_update_scrollbar_pos): Variable gheight not needed, use height.
 -      (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
 -
 -      * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
 -      so tool bar gets updated.
 -
 -2003-03-26  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * data.c (store_symval_forwarding): Re-instate part of the code
 -      that was deleted with too much enthusiasm.
 -
 -2003-03-25  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * data.c (store_symval_forwarding): Delete special read-only
 -      hack for type == -1, since we now use ->constant instead.
 -      (Fkill_local_variable): Don't use XBUFFER if it can be nil.
 -
 -      * buffer.c (overlays_in): Declare static.
 -      (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
 -      `constant' field rather than the variable's `type' field.
 -
 -2003-03-24  Andrew Choi  <akochoi@shaw.ca>
 -
 -      * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
 -
 -      * dispextern.h [HAVE_CARBON]: Include Carbon.h.
 -
 -      * fns.c [MAC_OSX]: Do not redefine vector.
 -
 -      * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
 -
 -      * macgui.h: Remove definition of No_Cursor.
 -
 -      * macterm.h: Include Carbon.h.  Replace (struct Cursor *) by Cursor.
 -
 -      * xdisp.c: Define No_Cursor.
 -      (x_write_glyphs, notice_overwritten_cursor)
 -      (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
 -      (note_mouse_highlight): Remove Mac-specific code.
 -      (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
 -
 -2003-03-24  John Paul Wallington  <jpw@gnu.org>
 -
 -      * xdisp.c (redisplay_window): If mini window's buffer is not
 -      empty, then redisplay it like other windows.
 -
 -2003-03-23  Kim F. Storm  <storm@cua.dk>
 -
 -      * w32term.c (w32_draw_window_cursor): Fix last change.
 -
 -2003-03-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (make_string_from_bytes, make_specified_string):
 -      Add `const' for the arg CONTENTS.
 -
 -      * lisp.h (make_string_from_bytes, make_specified_string):
 -      Prototypes adjusted.
 -
 -2003-03-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif.
 -
 -      * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
 -      (XG_SB_RANGE): New define.
 -
 -      * gtkutil.c (xg_fixed_handle_expose): New function.
 -      (xg_create_frame_widgets): Call xg_fixed_handle_expose for
 -      expose events.
 -      (xg_update_scrollbar_pos): Take two more arguments, left and width
 -      of scroll bar including borders.
 -      Clear left and right part outside scroll bar separately as some
 -      themes have bars that are not an even number of pixels.
 -      Don't set reallocate_redraws, don't call
 -      gdk_window_process_all_updates.
 -      (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
 -      so no need to change it.  Calculate size and value with XG_SB_RANGE.
 -
 -      * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
 -      Pass left and width of scroll bar including borders to
 -      xg_update_scrollbar_pos.
 -
 -2003-03-22  Thien-Thi Nguyen  <ttn@gnu.org>
 -
 -      * Makefile.in: Make sure space precedes end-of-line backslashes.
 -
 -2003-03-22  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
 -      Add generic versions here.  Remove system specific versions
 -      defined elsewhere.
 -
 -      * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
 -      Add prototypes.
 -
 -      * xterm.h (STORE_NATIVE_RECT): New macro.
 -
 -2003-03-21  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (get_glyph_string_clip_rect):
 -      Use FRAME_INTERNAL_BORDER_WIDTH.
 -
 -      * dispextern.h (struct redisplay_interface): Add active_p
 -      argument to draw_window_cursor member.  All uses changed.
 -
 -2003-03-21  Kim F. Storm  <storm@cua.dk>
 -
 -      The following changes consolidate code related to writing and
 -      inserting glyphs, exposing frame, the tool bar, the mouse face,
 -      the output cursor, and help echo from xterm.c, w32term.c and
 -      macterm.c into xdisp.c.  It also generalizes the use of the
 -      window_part enum instead of using numeric values throughout.
 -
 -      * xdisp.c: Consolidate gui-independent code here.
 -      Include keymap.h.
 -      (Qhelp_echo): Import.
 -      (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
 -      (help_echo_string, help_echo_window, help_echo_object)
 -      (previous_help_echo_string, help_echo_pos): Declare here.
 -      (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
 -      (estimate_mode_line_height): Define here.  Handle windowing
 -      systems directly (without using estimate_mode_line_height_hook).
 -      (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
 -      (update_window_cursor, update_cursor_in_window_tree)
 -      (fast_find_position, fast_find_string_pos)
 -      (note_mode_line_highlight, note_mode_line_or_margin_highlight)
 -      (expose_area, expose_line, expose_overlaps, expose_window)
 -      (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
 -      declared static as they are only used locally in xdisp.c.
 -      (draw_glyphs): Rename from x_draw_glyphs and make static.
 -      (tool_bar_item_info, notice_overwritten_cursor): Make static.
 -      (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
 -      (set_output_cursor, x_cursor_to, handle_tool_bar_click)
 -      (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
 -      (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
 -      (display_and_set_cursor, x_update_cursor, x_clear_cursor)
 -      (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
 -      (note_mouse_highlight, x_clear_window_mouse_face)
 -      (cancel_mouse_face, x_draw_vertical_border, expose_frame)
 -      (x_intersect_rectangles): New generic functions for use by xdisp.c
 -      and GUI front-ends.
 -      (syms_of_xdisp): Initialize and staticpro help_echo* variables.
 -      Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
 -
 -      * dispextern.h (Display_Info): Generic typedef for *_display_info.
 -      (NativeRectangle): Generic typedef for rectangle type.
 -      (enum window_part): Move here from window.c.
 -      (struct redisplay_interface): New members flush_display_optional,
 -      define_frame_cursor, clear_frame_area, draw_window_cursor,
 -      draw_vertical_window_border, shift_glyphs_for_insert.
 -      Rename member clear_mouse_face to clear_window_mouse_face.
 -      (estimate_mode_line_height_hook): Remove hook.
 -      (auto_raise_tool_bar_buttons_p): Don't declare extern.
 -      (tool_bar_item_info): Remove prototype.
 -      (help_echo_string, help_echo_window, help_echo_object)
 -      (previous_help_echo_string, help_echo_pos)
 -      (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
 -      (x_stretch_cursor_p, output_cursor): Declare extern.
 -      (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
 -      (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
 -      (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
 -      (display_and_set_cursor, set_output_cursor, x_cursor_to)
 -      (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
 -      (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
 -      (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
 -      (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
 -      (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
 -      Add prototypes.
 -      (mode_line_string, marginal_area_string): Fix prototypes.
 -
 -      * window.c (enum window_part): Move to dispextern.h.
 -      (coordinates_in_window): Use enum window_part member names
 -      instead of numbers to describe return value.
 -      (struct check_window_data): Change part member to window_part.
 -      (check_window_containing): Return window_part unaltered.
 -      (window_from_coordinates): Change part arg from int to enum
 -      window_part.  Allow part arg to be null.  All users changed.
 -
 -      * window.h (window_from_coordinates): Fix prototype.
 -
 -      * term.c (estimate_mode_line_height): Move to xdisp.c.
 -
 -      * keyboard.c (make_lispy_event): Use enum window_part.
 -
 -      * dispnew.c (mode_line_string, marginal_area_string): Use enum
 -      window_part instead of int in arg list.  Users changed.
 -
 -      * xterm.h (No_Cursor): Declare as None for X.
 -      (struct mac_output): Replace member cross_cursor by hand_cursor.
 -
 -      * xterm.c: Remove consolidated defines and code.
 -      (BETWEEN): Remove unused macro.
 -      (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
 -      (x_define_frame_cursor, x_clear_frame_area)
 -      (x_draw_window_cursor): New X-specific functions for RIF.
 -      (x_redisplay_interface): Add new members.
 -
 -      * xfns.c: Setup and use hand_cursor instead of cross_cursor.
 -
 -      * w32term.h (struct w32_output): Remove cross_cursor member.
 -
 -      * w32term.c: Remove consolidated defines and code.
 -      (BETWEEN): Remove unused macro.
 -      (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
 -      (w32_define_frame_cursor, w32_clear_frame_area)
 -      (w32_draw_window_cursor): New W32-specific functions for RIF.
 -      (w32_redisplay_interface): Add new members.
 -
 -      * w32gui.h (No_Cursor): Define as 0 for W32.
 -      (XRectangle): Add X compatible rectangle type.
 -      (NativeRectangle): Declare as RECT for W32.
 -      (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
 -
 -      * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
 -
 -      * w32console.c: Remove consolidated defines and code.
 -
 -      * msdos.h (Display_Info): Add generic typedef.
 -
 -      * msdos.c: Remove consolidated defines and code.
 -      (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
 -
 -      * macterm.h (struct mac_output): Replace member cross_cursor by
 -      hand_cursor.
 -      (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
 -
 -      * macterm.c: Remove consolidated defines and code.
 -      (BETWEEN): Remove unused macro.
 -      (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
 -      (mac_define_frame_cursor, mac_clear_frame_area)
 -      (mac_draw_window_cursor): New Mac-specific functions for RIF.
 -      (x_redisplay_interface): Add new members.
 -
 -      * macgui.h (No_Cursor): Define as 0 for Mac.
 -      (XRectangle): Add X compatible rectangle type.
 -      (NativeRectangle): Declare as Rect for Mac.
 -      (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
 -
 -      * macfns.c (x_set_mouse_color): Setup hand_cursor.
 -      (x_set_cursor_color): Use x_display_and_set_cursor.
 -
 -      * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
 -      included from it.  Add dependency on keymap.h.
 -
 -      * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
 -
 -2003-03-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Fexpand_file_name): Fix previous change.
 -
 -2003-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Ffile_name_directory): Reconstruct file name by
 -      make_specified_string.
 -      (Ffile_name_nondirectory, Ffile_name_as_directory)
 -      (Fdirectory_file_name, Fexpand_file_name)
 -      (Fsubstitute_in_file_name): Likewise.
 -      (Fread_file_name): Compare decoded homedir with DIR and
 -      DEFAULT_FILENAME.
 -
 -      * alloc.c (make_specified_string): If NCHARS is negative, count
 -      the number of characters.
 -
 -2003-03-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
 -      all widgets.
 -
 -      * gtkutil.h: Removed xg_ignore_next_thumb.
 -
 -2003-03-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Vchar_coding_system_table): Remove this variable.
 -      (Vcoding_system_safe_chars): New variable.
 -      (intersection): Remove this function.
 -      (find_safe_codings): Don't use Vchar_coding_system_table, but try
 -      all codings in SAFE_CODINGS.
 -      (Ffind_coding_systems_region_internal): Adjust for the change of
 -      find_safe_codings.  Get generic coding systems from
 -      Vcoding_system_safe_chars.
 -      (Fdefine_coding_system_internal): New function.
 -      (syms_of_coding): Defsubr Sdefine_coding_system_internal.
 -      Initialize and staticpro Vcoding_system_safe_chars.
 -
 -2003-03-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
 -      equal old values before updating.
 -
 -      * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
 -
 -      * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
 -
 -2003-03-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
 -      (xg_resize_widgets): Don't call foreach(handle_fixed_child).
 -      (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
 -      (scroll_bar_button_cb): Set bar->dragging to nil on button release.
 -      (xg_create_scroll_bar): Pass bar to button event callback.
 -      (xg_find_top_left_in_fixed): New function.
 -      (xg_update_scrollbar_pos): Don't call gdk_window_clear on
 -      whole scroll bar area.  Get old position with
 -      xg_find_top_left_in_fixed, calculate and only clear needed areas.
 -      (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
 -      dragging is in progress.  Calculate whole as for Motif.
 -      Remove code that saved last values.  Call gtk_range functions to
 -      set scroll bar sizes.
 -
 -      * gtkutil.h: Removed xg_ignore_next_thumb.
 -
 -2003-03-17  Juanma Barranquero  <lektu@terra.es>
 -
 -      * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
 -      and files included from it.
 -
 -2003-03-18  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keymap.c (accessible_keymaps_1): Break cycles but without preventing
 -      multiple occurrences of the same keymap under different prefixes.
 -      (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
 -
 -2003-03-16  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32gui.h: Use HDC for Display.
 -
 -      * w32term.c (w32_encode_char): Prevent double-byte chars from
 -      crashing Emacs.
 -
 -      * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
 -      as binary.
 -
 -2003-03-16  Juanma Barranquero  <lektu@terra.es>
 -
 -      * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
 -
 -2003-03-16  Kim F. Storm  <storm@cua.dk>
 -
 -      The following changes consolidate some of the gui-independent
 -      parts of the processing and drawing of "glyph strings" from
 -      xterm.c, w32term.c, and macterm.c into xdisp.c.
 -
 -      * dispextern.h (struct glyph): Reduce face_id member from 22 to
 -      21 bits (this reduces number of faces from 4M to 2M).
 -      Replace W32 specific w32_font_type member (2 bits) by generic
 -      font_type member (3 bits) for portability.
 -      (FONT_TYPE_UNKNOWN): New define, default for font_type member.
 -      (enum draw_glyphs_face): Define here.
 -      (struct glyph_string): Define here.  Merge W32 and X versions.
 -      (struct redisplay_interface): New members per_char_metric,
 -      encode_char, compute_glyph_string_overhangs, draw_glyph_string.
 -      (VCENTER_BASELINE_OFFSET): Define here.
 -      (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
 -      (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
 -
 -      * xdisp.c: Consolidate gui-independent "glyph string" code here.
 -      (dump_glyph_string): Moved here.
 -      (init_glyph_string, append_glyph_string_lists, append_glyph_string)
 -      (prepend_glyph_string_lists, get_glyph_face_and_encoding)
 -      (fill_composite_glyph_string, fill_glyph_string)
 -      (fill_image_glyph_string, fill_stretch_glyph_string)
 -      (left_overwritten, left_overwriting, right_overwritten)
 -      (right_overwriting, get_char_face_and_encoding)
 -      (set_glyph_string_background_width, compute_overhangs_and_x)
 -      (append_glyph, append_composite_glyph, produce_image_glyph)
 -      (take_vertical_position_into_account, append_stretch_glyph)
 -      (produce_stretch_glyph): New generic functions (based on X version).
 -      Call platform specific functions through rif.
 -      (INIT_GLYPH_STRING): New macro, hides W32 details.
 -      (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
 -      (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
 -      (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
 -      (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
 -      (notice_overwritten_cursor):
 -      Generic functions exported to platform modules.  Users changed.
 -
 -      * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
 -      (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
 -      (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
 -      New macros for consolidated code.
 -
 -      * xterm.c: Remove consolidated defines and code.
 -      (x_per_char_metric, x_encode_char)
 -      (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
 -      (x_redisplay_interface): Add new members.
 -
 -      * w32gui.h (Display): Add dummy typedef for consolidation.
 -      (XChar2b): Define alias for wchar_t for consolidation.
 -      (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
 -
 -      * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
 -      (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
 -      New macros for consolidation.
 -
 -      * w32term.c: Remove consolidated defines and code.
 -      (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
 -      to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
 -      (w32_per_char_metric): Change font_type arg to int for RIF.
 -      (w32_encode_char): Return int according to RIF requirements.
 -      (w32_compute_glyph_string_overhangs): Adapt to RIF.
 -      (w32_get_glyph_overhangs): New function for RIF.  Uses generic
 -      x_get_glyph_overhangs.
 -      (w32_redisplay_interface): Add new members.
 -
 -      * macgui.h (XChar2b): Move typedef here for consolidation.
 -      (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
++2008-03-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -      * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
 -      (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
 -      consolidation.
 -
 -      * macterm.c: Remove consolidated defines and code.
 -      (mac_per_char_metric): New function for RIF.
 -      (mac_encode_char): Adapt to new RIF requirements.
 -      (mac_compute_glyph_string_overhangs): Adapt for RIF.
 -      (x_redisplay_interface): Add new members.
 -
 -2003-03-15  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * keymap.c (Vmenu_events): New var.
 -      (syms_of_keymap): Initialize it.
 -      (where_is_internal): Check more carefully what is a menu event.
 -
 -2003-03-14  Richard M. Stallman  <rms@gnu.org>
 -
 -      * lread.c (read1): After #!, exit loop on eof.
 -
 -2003-03-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.h: Add declaration for xg_frame_cleared.
 -
 -      * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
 -
 -      * gtkutil.c (struct xg_last_sb_pos): New structure.
 -      (handle_fixed_child): New function.
 -      (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
 -      and force a redraw on them.
 -      (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
 -      (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
 -      so we can avoid unneeded redraws.
 -      (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
 -      and force a redraw on the scroll bar.
 -      (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
 -      if xg_last_sb_pos shows the positions are up to date.
 -      (xg_frame_cleared): New function.
 -
 -2003-03-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fdetect_coding_region): Fix docstring.
 -      (Fdetect_coding_string): Fix docstring.
 -
 -2003-03-13  Andreas Schwab  <schwab@suse.de>
 -
 -      * gtkutil.c: Add prototype for create_menus.
 -
 -      * data.c (long_to_cons): Fix type of top.
 -
 -      * xselect.c (selection_data_to_lisp_data): Use int instead of
 -      long for an integer of size 4.
 -
 -      * gtkutil.c (xg_update_frame_menubar): Add missing return value.
 -      (xg_tool_bar_help_callback): Likewise.
 -
 -2003-03-12  Andreas Schwab  <schwab@suse.de>
 -
 -      * xterm.c (x_term_init) [USE_GTK]: Fix typo.
 -
 -2003-03-12  Kim F. Storm  <storm@cua.dk>
 -
 -      The following changes consolidate the fringe handling from
 -      xterm.c, w32term.c, and macterm.c into xdisp.c.
 -
 -      * xdisp.c: Consolidate fringe handling code here.
 -      (left_bits, right_bits, continued_bits, continuation_bits)
 -      (ov_bits, zv_bits): Define fringe bitmaps.
 -      (fringe_bitmaps): New array holding fringe bitmaps.
 -      (draw_fringe_bitmap): Draw a specific bitmap; call display
 -      specific drawing routine via rif->draw_fringe_bitmap.
 -      (draw_row_fringe_bitmaps): Generic replacement for
 -      x_draw_row_fringe_bitmaps; all callers changed.
 -      (compute_fringe_widths): Generic replacement for
 -      x_compute_fringe_widths; all callers changed.
 -
 -      * dispextern.h (enum fringe_bitmap_type): Define here.
 -      (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
 -      (fringe_bitmaps): Declare extern.
 -      (struct redisplay_interface): New member draw_fringe_bitmap.
 -      (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
 -
 -      * xterm.c: Remove generic fringe code.
 -      (x_draw_fringe_bitmap): Only perform actual fringe drawing.
 -      (x_redisplay_interface): Add x_draw_fringe_bitmap member.
 -
 -      * w32term.c: Remove generic fringe code.
 -      (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
 -      (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
 -
 -      * macterm.c: Remove generic fringe code.
 -      (x_draw_fringe_bitmap): Only perform actual fringe drawing.
 -      (x_redisplay_interface): Add x_draw_fringe_bitmap member.
 -
 -2003-03-11  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * print.c (Fprin1_to_string): Return unibyte string if possible.
 -
 -2003-03-09  David Kastrup  <dak@gnu.org>
 -
 -      * process.c (read_process_output): We have allocated enough space
 -      for readmax and carryover, so actually use the alloted space.
 -
 -2003-03-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
 -      toolkit scrollbar click.
 -
 -      * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
 -      for USE_GTK.
 -      (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
 -      also.
 -      (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
 -      scrollbar and control is pressed, call x_scroll_bar_handle_click.
 -
 -      * gtkutil.h (xg_get_scroll_id_for_window): Declare.
 -
 -      * gtkutil.c (xg_get_scroll_id_for_window): New function.
 -      (xg_tool_bar_item_expose_callback): New function.
 -      (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
 -      (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
 -      on the tool bar widget.
 -      (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
 -      to expose on the tool bar item widgets.
 -
 -2003-03-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
 -      struct image* when deciding to update (struct image* may have been
 -      deleted from the image cache).
 -
 -      * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
 -      the event isn't for a frame (i.e. for dialogs).
 -
 -2003-03-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
 -      composition components reaches the limit, terminate composing.
 -      (COMPOSITION_OK): New macro.
 -      (detect_coding_iso2022): Use it if an escape sequence for
 -      composition is found.
 -      (coding_restore_composition): Adjust the number of composition
 -      components if it is not sane.
++      * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
 -2003-03-06  Juanma Barranquero  <lektu@terra.es>
 +2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * w32term.h (struct w32_display_info): Add xrdb member to support
 -      passing resources via -xrm on Windows.
 +      * xdisp.c (next_overlay_string): Don't set
 +      overlay_strings_at_end_processed_p if we're currently reading from
 +      a display string.
  
 -      * w32term.c (w32_make_rdb): New function.
 -      (w32_term_init): Use it to initialize xrdb member of w32_display_info
 -      struct.  Delete leftover code.
 +2008-02-29  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
 -      for resources passed on the command line.
 +      * xdisp.c (get_overlay_strings_1): Fix typo.
  
 -      * w32reg.c (w32_get_rdb_resource): New function.
 -      (x_get_string_resource): Use it, so resources passed with -xrm
 -      supercede the ones in the registry.
 +2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
  
 -2003-03-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * xdisp.c (get_overlay_strings_1): Add missing argument type.
  
 -      * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
 -      instead of x_top_window_to_frame.
 +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.
  
 -2003-03-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * xdisp.c (get_next_display_element, next_element_from_display_vector):
 +      Adapt to new glyph type and new glyph code encoding.
  
 -      * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
 -      when restarting Emacs.
 +      * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
  
 -2003-03-03  Richard M. Stallman  <rms@gnu.org>
 +      * indent.c (current_column, current_column_1, Fmove_to_column)
 +      (compute_motion): Adapt to new glyph code encoding.
  
 -      * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
 -      to run kill-buffer-query-functions.
 -      (Qkill_buffer_query_functions): New var.
 -      (syms_of_buffer): Init and staticpro it.
 +      * msdos.c (IT_write_glyphs): Adapt to new glyph type.
  
 -2003-03-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-27  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
 +      * process.c (wait_reading_process_output): Check for window
 +      changes caused by timers.
 +      Suggested by Johan Bockg\e,Ae\e(Brd.
  
 -2003-02-25  Kim F. Storm  <storm@cua.dk>
 +2008-02-27  Glenn Morris  <rgm@gnu.org>
  
 -      * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
 -      If centering point failed to make whole line visible and vscroll
 -      is non-zero, disable vscroll and try centering point again.
 +      * emacs.c (USAGE1): Add `--disable-font-backend'.
  
 -      * lread.c (read1): Accept `single space' syntax like (? x).
 +2008-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-25  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
 +      is made to the buffer.
  
 -      * keyboard.c (cancel_hourglass_unwind): Surround with
 -      #ifdef HAVE_X_WINDOWS.
 +2008-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-25  Kenichi Handa  <handa@m17n.org>
 +      * 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.
  
 -      * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
 -      process only when "subprocesses" is defined.
 +2008-02-26  Chong Yidong  <cyd@stupidchicken.com>
  
 -2003-02-24  Stefan Monnier  <monnier@cs.yale.edu>
 +      * editfns.c (Fformat): Doc fix.
  
 -      * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
 +2008-02-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -2003-02-24  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      * callint.c (fix_command): Declare as static void and move before
 -      Fcall_interactively.
 +2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
 -      (syms_of_xdisp): Don't initialize Qwhen.
 +      * buffer.c (Fbuffer_swap_text): New function.
 +      (syms_of_buffer): Defsubr it.
  
 -2003-02-23  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-25  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * keyboard.c (cancel_hourglass_unwind): New function.
 -      (command_loop_1): Cancel hourglass with unwind-protect.
 +      * keyboard.c (command_loop_1): Revert 2006-10-09 change.
  
 -2003-02-23  Richard M. Stallman  <rms@gnu.org>
 +2008-02-25  Jason Rumney  <jasonr@gnu.org>
  
 -      * callint.c (fix_command): New subroutine, from Fcall_interactively.
 -      Detect (when ... (region-beginning)) etc.
 -      (Fcall_interactively): Call fix_command.
 -      (Qif, Qwhen): New variables.
 -      (syms_of_callint): Init and staticpro them.
 +      * w32font.c (w32font_draw): Draw one character at a time when padding.
  
 -      * regex.c (print_partial_compiled_pattern): Output to stderr.
 +2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-23  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@uni-duisburg.de>
 +      * 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.
  
 -      * dired.c (directory_files_internal): Don't expand directory.
 -      (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
 -      instead.  From Lars Hansen <larsh@math.ku.dk>.
 +2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-02-22  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
 +      1-pixel width.
  
 -      * fns.c (string_to_multibyte): Remove unused var i.
 -      (Flanginfo): Fix int/Lisp_Object mixup.
 -      (void_call2): New fun.
 -      (Fmap_char_table): Use it in place of call2.
 +2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
 +      * 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.
  
 -      * macros.c (Fstart_kbd_macro): Remove redundant assignment.
 +      * dispextern.h (struct glyph_string): New member padding_p.
  
 -      * keymap.c (copy_keymap_1): Make it static.
 +      * w32font.c (w32font_draw): Pay attention to s->padding_p.
  
 -      * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
 +      * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
  
 -2003-02-22  David Ponce  <david@dponce.com>
 +      * xfont.c (xfont_draw): Pay attention to s->padding_p.
  
 -      * lread.c (Fload): Don't check STRING_MULTIBYTE.
 +      * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
  
 -2003-02-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * font.c: If the font driver doesn't have `shape' function, return Qnil.
  
 -      * process.h: Removed subtty field from struct Lisp_Process.
 +2008-02-25  Jason Rumney  <jasonr@gnu.org>
  
 -      * process.c (create_process): Remove setting of subtty.
 -      (emacs_get_tty_pgrp): New function.
 -      (Fprocess_running_child_p, process_send_signal):
 -      Call emacs_get_tty_pgrp instead of ioctl.
 -      (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
 +      * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
  
 -2003-02-21  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@uni-duisburg.de>
 +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.
  
 -      * keymap.c (Fdefine_key): Doc fix.
 +2008-02-24  Jason Rumney  <jasonr@gnu.org>
  
 -2003-02-21  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
 +      * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
 +      a font into it unless we have to.
  
 -      * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
 -      POLLING_PROBLEM_IN_SELECT.
 +2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
 -      Delete #undef of POLLING_PROBLEM_IN_SELECT.
 +      * intervals.h (INT_LISPLIKE): Remove.  It may misfire.
 +      (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
  
 -      * s/hpux10-20.h: New file.
 +2008-02-18  Jason Rumney  <jasonr@gnu.org>
  
 -      * process.c (wait_reading_process_input):
 -      Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
 +      * w32fns.c (Fw32_shell_execute): Encode parameters.
  
 -2003-02-20  Kenichi Handa  <handa@m17n.org>
 +2008-02-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fontset.c (check_fontset_name): If NAME is nil, return the
 -      default fontset.
 -      (override_font_info): New function.
 -      (Fset_fontset_font): Document that NAME nil means the default fontset.
 -      (Ffontset_info): If FONTSET is not the default fontset, merge
 -      FONTSET onto the copy of the default fontset, and work on that
 -      copy.  Document that NAME nil means the default fontset.
 -      (Ffontset_font): Document that NAME nil means the default fontset.
 +      * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
  
 -      * process.c (setup_process_coding_systems): If the process's
 -      in/out descriptor is -1, do nothing.
 +2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2003-02-19  Andreas Schwab  <schwab@suse.de>
 +      * unexhp9k800.c (read_header): Replace `legal' with `valid'.
  
 -      * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
 -      Add prototypes.
 +2008-02-24  Ulrich Neumerkel  <ulrich@complang.tuwien.ac.at>  (tiny change)
  
 -2003-02-19  Kenichi Handa  <handa@m17n.org>
 +      * xterm.c (x_set_offset): Don't change the gravity if
 +      CHANGE_GRAVITY is -1.
  
 -      * xfaces.c (try_alternative_families): Try all scalable fonts if
 -      Vscalable_fonts_allowed is not Qt.
 +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.
  
 -2003-02-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * lisp.h (Fdelete_terminal): Declare.
  
 -      * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
 +      * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
 +      (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
 +      wrong_type_argument.
  
 -2003-02-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-22  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
 -      names.
 +      * Makefile.in (lisp): Remove devanagari.el, kannada.el,
 +      malayalam.el, and tamil.el.  Add sinhala.el.
  
 -      * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
 -      (sorted_font_list): Move allocation of struct font_name to
 -      x_face_list_fonts.
 -      (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
 -      (Fx_list_fonts): Set maxnames to -1 to get all font names.
 +2008-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-18  Kim F. Storm  <storm@cua.dk>
 +      * xterm.c (x_connection_closed): Consolidate identical tests.
 +      (x_delete_terminal): Don't crash if called via x_connection_closed.
  
 -      * lread.c (read1): Fix last change.
 -      "`" is not always special.  Allow "?" after a character constant.
 +2008-02-21  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-02-18  Andrew Choi  <akochoi@shaw.ca>
 +      * xdisp.c (decode_mode_spec): New arg string.
 +      (display_mode_element): Adjust for the above change.
  
 -      * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
 +2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-18  Andreas Schwab  <schwab@suse.de>
 +      * callint.c (Fcall_interactively): Use AREF.
  
 -      * window.c (window_scroll_pixel_based): Move outside a
 -      multi-glyph character before setting new window start.
 +2008-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xdisp.c (in_display_vector_p): New function.
 -      * dispextern.h (in_display_vector_p): Declare.
 +      * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
  
 -2003-02-18  Kim F. Storm  <storm@cua.dk>
 +2008-02-18  Jan Dj\e$(Q)Z\e(Brv  <jan.h.d@swipnet.se>
  
 -      * lread.c (read1): Fix and relax read syntax.
 -      Recognize "[", ";", "#", and "?" after a dotted-pair dot.
 -      Only recognize "," after dotted-pair dot if inside backquote.
 -      Never include "`" or "," (inside backquote) in a symbol.
 -      Allow dotted-pair dot after a character constant.
 -      Allow "`" and "," (inside backquote) after a character constant.
 +      * xfns.c (Fx_show_tip): Set string to " " if empty.
  
 -2003-02-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-17  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * gtkutil.c (xg_tool_bar_expose_callback): New function.
 -      (xg_create_tool_bar): Force style of tool bar to be horizontal with
 -      icons.  Set name of tool bar to emacs-toolbar.
 -      (update_frame_tool_bar): Connect expose event to
 -      xg_tool_bar_expose_callback.
 +      * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
 +      with Qt.
  
 -2003-02-17  Richard M. Stallman  <rms@gnu.org>
 +2008-02-17  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (this_command_key_count_reset): New variable.
 -      Initiatize to 0 where this_command_key_count is set.
 -      (read_char): Save and restore this_command_key_count_reset
 -      around input method code.
 -      (read_char): If this_command_key_count_reset, echo reread commands.
 -      (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
 +      * ftfont.c (ftfont_shape): Return Lispy number.
  
 -2003-02-17  Kenichi Handa  <handa@m17n.org>
 +      * 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.
  
 -      * fns.c (string_to_multibyte): Always return a multibyte string.
 +      * xdisp.c (handle_composition_prop): Set it->c to the fist
 +      characte 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.
  
 -2003-02-16  Jason Rumney  <jasonr@gnu.org>
 +      * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
  
 -      * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
 -      Negative max_fonts parameter means list all.
 +      * xterm.h (struct x_display_info): New member font.
  
 -2003-02-14  Dave Love  <fx@gnu.org>
 +      * 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.
  
 -      * fns.c (Flanginfo): Doc fix.
 +      * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
  
 -2003-02-13  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * lread.c (read_escape): Interpret \s as a SPACE character, except
 -      for \s-X in a character constant which still is the super modifier.
 -      (read1): Signal an `invalid read syntax' error if a character
 -      constant is immediately followed by a digit or symbol character.
 +      * xftfont.c (xftfont_default_fid): Delete it.
 +      (xftfont_open): Set xfont->fid to 0.
  
 -      * search.c (Fmatch_data): Doc fix.  Explicitly state that
 -      match-data is undefined if last search failed.
 +      * 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.
  
 -      * keymap.c (Fcommand_remapping): Rename from Fremap_command.
 -      All uses changed.
 +      * 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.
  
 -2003-02-12  Juanma Barranquero  <lektu@terra.es>
 +2008-02-16  Glenn Morris  <rgm@gnu.org>
  
 -      * eval.c (Fdefmacro): Fix typo.
 +      * fontset.c (Finternal_char_font): Fix compilation warning.
  
 -2003-02-12  Kim F. Storm  <storm@cua.dk>
 +2008-02-16  Eli Zaretskii  <eliz@gnu.org>
  
 -      * macros.c (Fstart_kbd_macro): If appending, and last keyboard
 -      macro is a string, convert meta modifiers in string when copying
 -      the string into a vector.
 +      * 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.
  
 -2003-02-11  Kim F. Storm  <storm@cua.dk>
 +      * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
 +      warnings.
  
 -      * keymap.c (Fremap_command): Return nil if arg is not a symbol.
 +2008-02-15  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2003-02-11  Kenichi Handa  <handa@m17n.org>
 +      * .gdbinit: Don't set `args', it breaks gdb --args.
  
 -      * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
 +2008-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-10  Kim F. Storm  <storm@cua.dk>
 +      * fileio.c (Finsert_file_contents): Adjust offsets when replacing
 +      within a narrowed buffer.
  
 -      * process.c: Doc fixes.
 -      (syms_of_process): Add `:' prefix to QCfilter_multibyte.
 +2008-02-14  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-02-10  Kenichi Handa  <handa@m17n.org>
 +      * coding.c (decode_coding_object, encode_coding_object):
 +      Preserve Vdeactivate_mark.  Delete unnecessary call of Fcurrent_buffer.
  
 -      * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
 +2008-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * process.c (QCfilter_multibyte): New variable.
 -      (setup_process_coding_systems): New function.
 -      (Fset_process_buffer, Fset_process_filter):
 -      Call setup_process_coding_systems.
 -      (Fstart_process): Initialize the member `filter_multibyte' of
 -      struct Lisp_Process.
 -      (create_process): Call setup_process_coding_systems.
 -      (Fmake_network_process): New keyward `:filter-multibyte'.
 -      Initialize the member `filter_multibyte' of struct Lisp_Process.
 -      Call setup_process_coding_systems.
 -      (server_accept_connection): Call setup_process_coding_systems.
 -      (read_process_output): If the process has a filter, decide the
 -      multibyteness of a string to given to the filter by
 -      `filter_multibyte' member of the process.  If the process doesn't
 -      have a filter and the result of conversion is unibyte, use
 -      Fstring_to_multibyte (not Fstring_make_multibyte) to get the
 -      multibyte form.
 -      (Fset_process_coding_system): Call setup_process_coding_systems.
 -      (Fset_process_filter_multibyte): New function.
 -      (Fprocess_filter_multibyte_p): New function.
 -      (syms_of_process): Intern and staticpro QCfilter_multibyte.
 -      Defsubr Sset_process_filter_multibyte and
 -      Sprocess_filter_multibyte_p.
 +      * 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.
  
 -      * process.h (struct Lisp_Process): New member filter_multibyte.
 +      * 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.
  
 -      * lisp.h (setup_process_coding_systems): Add prototype.
 +      * casefiddle.c (casify_region): Only call after-change and composition
 +      functions on the part of the region that was changed.
  
 -      * buffer.c (Fset_buffer_multibyte): If the current buffer has a
 -      process, update coding systems for the process.
 +      * keyboard.c (read_avail_input):
 +      * frame.c (Fdelete_frame): Call Fdelete_terminal.
  
 -2003-02-09  Kenichi Handa  <handa@m17n.org>
 +2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * fns.c (string_to_multibyte): New function.
 -      (Fstring_to_multibyte): New function.
 -      (syms_of_fns): Defsubr it.
 +      * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
 +      (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
  
 -2003-02-08  Andreas Schwab  <schwab@suse.de>
 +2008-02-11  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
 -      instead of the substitution.
 +      * 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.
  
 -2003-02-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-11  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
 +      * Makefile.in (${lispsource}international/charprop.el):
 +      Delete this target.
  
 -      * xmenu.c (menu_position_func): Adjust menu popup position so that
 -      the menu is fully visible.
 +      * search.c (boyer_moore): Fix incorrect synching of the trunk and
 +      emacs-unicode-2.
  
 -2003-02-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
 -      (x_make_frame_invisible, x_wm_set_icon_position):
 -      Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
 +      * terminal.c (Fdelete_terminal): Clean up the `force' path.
  
 -      * xfns.c (x_set_name, x_set_title): Ditto.
 +2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-02-04  Richard M. Stallman  <rms@gnu.org>
 +      * frame.c (Qnoelisp): New symbol.
 +      (syms_of_frame): Initialize it.
 +      (Fdelete_frame): Use it to distinguish a mere `force' passed from
 +      someharmles Elisp code, from a strong `force' from x_connection_closed.
 +      * frame.h (Qnoelisp): Declare.
 +      * xterm.c (x_connection_closed): Pass `noelisp'.
  
 -      * keyboard.c (echo_now): Update before_command_echo_length.
 -      (Freset_this_command_lengths): Reset this_command_key_count etc.
 -      immediately rather than arranging to do it later.
 -      (before_command_key_count_1, before_command_echo_length_1)
 -      (before_command_restore_flag): Vars deleted.
 -      (add_command_key): Don't handle before_command_restore_flag.
 -      (read_char, record_menu_key): Don't update before_command_key_count or
 -      before_command_echo_length.
 -      (read_char): Don't handle before_command_restore_flag.
 +      * 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'.
  
 -      * keyboard.c (command_loop_1): Don't call adjust_point_for_property
 -      in direct-output clauses if it wouldn't be called in the ordinary case.
 +2008-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2003-02-04  Kim F. Storm  <storm@cua.dk>
 +      * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
  
 -      * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
 +      * Makefile.in (GNUC): Remove support for gcc-1.x.
  
 -2003-02-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-10  Richard Stallman  <rms@gnu.org>
  
 -      * gtkutil.c (remove_from_container): Copying list is not needed.
 -      (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
 -      (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
 -      on list returned from gtk_container_get_children to avoid memory leak.
 +      * lisp.h (ASET): Use AREF, not ASLOT.
  
 -2003-02-01  Jason Rumney  <jasonr@gnu.org>
 +2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
 -      local malloc.
 -      [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
 -      definitions in xpm.h.
 -      (init_xpm_functions): New function.
 -      (xpm_load): Sync with xfns.c.  Adapt for Windows version of libXpm.
 -      (init_external_image_libraries): Try to load libXpm.dll.
 +      * lisp.h (ASET): Check bounds.
  
 -      * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
 -      timestamp.
 +2008-02-10  Glenn Morris  <rgm@gnu.org>
  
 -2003-01-31  Dave Love  <fx@gnu.org>
 +      * buffer.c (mode-name): Doc fix.
  
 -      * syntax.c (Fskip_chars_forward)
 -      (open-paren-in-column-0-is-defun-start): Doc fix.
 +2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2003-01-31  Joe Buehler  <jhpb@draco.hekimian.com>
 +      * src/Makefile.in:
 +      * src/emacs.c:
 +      * src/gmalloc.c:
 +      * src/keyboard.c:
 +      * src/lisp.h:
 +      * src/m/ibm370aix.h:
 +      * src/process.c:
 +      * src/regex.c:
 +      * src/s/hpux.h:
 +      * src/sysdep.c:
 +      * src/sysselect.h:
 +      * src/systty.h:
 +      * src/unexec.c:
 +      * src/w32term.c:
 +      * src/xsmfns.c:
 +      * src/xterm.c: Remove code that deals with obsolete variables.
  
 -      * fileio.c: Support // at start of name for Cygwin (just added proper
 -      preprocessor tests).
 +      * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
  
 -      * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
 +      * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
 +      nothing else needs it anymore.
  
 -      * Makefile.in: Use @EXEEXT@ for Cygwin.
 +2008-02-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
 +      * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
 +      instead of unibyte_char_to_multibyte.
  
 -      * s/cygwin.h: Added for Cygwin port.
 +2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2003-01-31  Juanma Barranquero  <lektu@terra.es>
 +      * s/gnu-linux.h: Remove commented out code.
  
 -      * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
 -      when including gif_lib.h.
 -      (init_gif_functions, init_tiff_functions): New functions.
 -      (gif_load, tiff_load): Sync with xfns.c version.  Adjust colors for
 -      Windows.  Disable color table lookups.  Call library functions
 -      through pointers determined at runtime.
 -      (init_external_image_libraries): Try to load libungif.dll and
 -      libtiff.dll.
 +      * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
  
 -2003-01-31  Kenichi Handa  <handa@m17n.org>
 +      * 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.
  
 -      * xdisp.c (SKIP_GLYPHS): New macro.
 -      (set_cursor_from_row): Skip all glyphs that comes from overlay string.
 +2008-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2003-01-30  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * keymap.c (Fkey_description): Move side effect outside of macro call.
  
 -      * gtkutil.c (free_frame_tool_bar): Remove debug printf.
 +      * xfaces.c (Finternal_make_lisp_face):
 +      * keyboard.c (add_command_key, parse_menu_item): Use ASET.
  
 -2003-01-30  Dave Love  <fx@gnu.org>
 +      * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
 +      (syms_of_fontset): Use ASET.
  
 -      * alloc.c (Vgc_elapsed, gcs_done): New variables.
 -      (Fgarbage_collect): Use them.
 -      (init_alloc, syms_of_alloc): Set them up.
 +      * fns.c (concat): Move side effect outside of macro call.
 +      (hash_clear): Use ASET.
  
 -2003-01-30  Juanma Barranquero  <lektu@terra.es>
 +2008-02-08  Richard Stallman  <rms@gnu.org>
  
 -      * w32fns.c (init_external_image_libraries): Add missing operator.
 +      * 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.
  
 -2003-01-29  Jason Rumney  <jasonr@gnu.org>
 +2008-02-07  Timo Savola  <timo.savola@iki.fi>
  
 -      * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
 -      an alternative name for jpeg.dll.
 +      * 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.
  
 -2003-01-29  Kenichi Handa  <handa@m17n.org>
 +      * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
 +      (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
 +      (enum xembed_modifier, enum xembed_accelerator): New.
 +      (xembed_set_info, xembed_send_message): Declare.
 +      (FRAME_X_EMBEDDED_P): New.
  
 -      * xdisp.c (set_cursor_from_row): Pay attention to string display
 -      properties.
 +      * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
 +      gtk_plug_new.
  
 -2003-01-28  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>
 +      * 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.
  
 -      * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
 -      <escape>.
 -      (keycode_to_xkeysym_table): Reformat and add more comments.
 -      (XTread_socket): Drop special case for backspace.
 +      * emacs.c (USAGE3): Add --parent-id
 +      (standard_args): Ditto.
  
 -2003-01-28  Andrew Choi  <akochoi@shaw.ca>
 +2008-02-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
 -      values in old-style RGB specs.
 +      * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
  
 -2003-01-27  Juanma Barranquero  <lektu@terra.es>
 +2008-02-07  Jim Meyering  <meyering@redhat.com>
  
 -      * w32fns.c (init_external_image_libraries): Try alternate names for the
 -      jpeg dll.
 +      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.
  
 -2003-01-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-07  Jim Meyering  <meyering@redhat.com>
  
 -      * gtkutil.c (create_dialog, xg_separator_p)
 -      (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
 -      before calling strcmp or strlen.
 +      * lread.c [lint]: Don't include <sys/inode.h>.
  
 -2003-01-26  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
 -      and handle image load failure.
 +      * 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.
  
 -2003-01-26  Jason Rumney  <jasonr@gnu.org>
 +2008-02-07  Kenichi Handa  <handa@m17n.org>
  
 -      * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
 -      New functions.
 -      (jpeg_load): Sync with xfns.c version.  Adjust colors for Windows.
 -      Disable color table lookups.  Call jpeg library functions
 -      through pointers determined at runtime.
 -      (init_external_image_libraries): Try to load jpeg.dll.
 +      * ftxfont.c (ftxfont_open): Don't set
 +      dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
  
 -2003-01-25  Richard M. Stallman  <rms@gnu.org>
 +      * ftfont.c (ftfont_open): Fix previous change.
  
 -      * lisp.h: Declare format2 instead of format1.
 +2008-02-06  Jason Rumney  <jasonr@gnu.org>
  
 -      * fileio.c (barf_or_query_if_file_exists):
 -      Call format2 instead of format1.
 +      * 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.
  
 -      * editfns.c (format2): New function, replaces format1
 -      but takes exactly two Lisp Objects as format args.
 +      * w32font.h (struct w32font_info): Add ascii_metrics.
 +      Remove owning_frame.
  
 -      * buffer.c (Fkill_buffer): Call format2 instead of format1.
 +2008-02-06  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-25  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
 +      to negative value.
  
 -      * xterm.h: Change to return value of x_dispatch_event to int.
 +      * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
  
 -      * xterm.c (x_filter_event): New function.
 -      (event_handler_gdk, XTread_socket): Call x_filter_event.
 -      (x_dispatch_event): Change to return value of finish.
 -      (event_handler_gdk): Use return value from x_dispatch_event.
 +      * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
  
 -      * xfns.c (x_window): Call create_frame_xic for GTK version to
 -      initialize input methods.
 +      * charset.c (syms_of_charset): Set QCtest and Qeq.
  
 -      * gtkutil.h: Add (void) prototypes.
 +2008-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * gtkutil.c (create_menus): Remove code that puts the help menu to
 -      the right.
 +      * process.c (Fstart_process):
 +      * callproc.c (Fcall_process): Handle the case where
 +      Funhandled_file_name_directory returns nil.
  
 -2003-01-25  Jason Rumney  <jasonr@gnu.org>
 +      * 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_Oject mixups.
  
 -      * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
 -      [HAVE_PNG]: Sync with xfns.c version.
 -      (png_load): Adjust colors for Windows.  Use Windows
 -      bitmaps.  Disable color table lookups.
 -      (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
 -      (init_png_functions): New function.
 -      (png_read_from_memory, png_load): Call png library functions
 -      through pointers determined at runtime.
 -      (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
 -      (init_external_image_libraries): New function.
 -      (init_xfns): Call it.
 +      * composite.h (Fcompose_region_internal, Fcompose_string_internal):
 +      Declare.
  
 -2003-01-24  Andreas Schwab  <schwab@suse.de>
 +      * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
  
 -      * minibuf.c (Fminibuffer_message): Verify type of parameter.
 +2008-02-05  Jason Rumney  <jasonr@gnu.org>
  
 -2003-01-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
 +      Set smallest_font_height and smallest_char_width in display info.
  
 -      * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
 -      of static initializer.
 +2008-02-05  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-24  Dave Love  <fx@gnu.org>
 +      * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
  
 -      * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
 -      architectures.
 +2008-02-05  Miles Bader  <miles@gnu.org>
  
 -      * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
 -      Use __alignof__.
 +      * 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.
  
 -2003-01-24  Kenichi Handa  <handa@m17n.org>
 +2008-02-04  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
 -      It it is nonzero, don't pretend that an invisible area doesn't exist.
 -      (command_loop_1): Call adjust_point_for_property with proper
 -      second arg.
 +      * fontset.c (Ffontset_info): Handle the case of inhibitting the
 +      fallback fonts.
 +      (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
  
 -2003-01-22  Jason Rumney  <jasonr@gnu.org>
 +2008-02-04  Jason Rumney  <jasonr@gnu.org>
  
 -      Sync changes with xterm.c and xfns.c.
 +      * w32font.c (w32font_open_internal): Use font_unparse_fcname to
 +      set full_name.
 +      (w32font_open_internal): Use xmalloc, xrealloc, xfree.
  
 -      * w32term.c (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Implement overstriking.
 +2008-02-03  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
 -      phys_cursor's hpos is overwritten.  This is still not completely
 -      correct, as it doesn't really make sense to use hpos at all to
 -      get the cursor glyph (as that is relative to the width of the
 -      characters on the line, which may have changed during the update).
 +      * makefile.w32-in (OBJ1): Include font.o here.
 +      (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
  
 -      * w32term.c (notice_overwritten_cursor): Handle the special case
 -      of the cursor being in the first blank non-text line at the
 -      end of a window.
 +2008-02-02  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
 -      (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
 -      Compute from the x position returned by x_draw_glyphs.
 +      * makefile.w32-in (temacs): Bump EMHEAP to 21.
  
 -      (x_display_and_set_cursor): Don't set phys_cursor_width here,
 -      except for NO_CURSOR and system caret, to make phys_cursor_width
 -      contain what its name suggests.
 -      (notice_overwritten_cursor): Consider the cursor image erased if
 -      the output area intersects the cursor image in y-direction.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32term.c (note_mode_line_or_margin_highlight): Rename from
 -      note_mode_line_highlight and extend.
 +      * s/cygwin.h: Define VIRT_ADDR_VARIES.
  
 -      * w32term.c (last_window): New variable.
 -      (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
 -      (note_mouse_movement): Remove reimplemented code in #if 0.
 +      * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
  
 -      * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
 -      not update_mode_lines, and always set it to 1.
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -2003-01-21  Jason Rumney  <jasonr@gnu.org>
 +      * Makefile.in (shortlisp, lisp): Update for rename of
 +      ../lisp/language/myanmar.el.
  
 -      * w32fns.c (IDC_HAND): Define it if system headers don't.
 +2008-02-01  Chong Yidong  <cyd@stupidchicken.com>
  
 -2003-01-21  KOBAYASHI Yasuhiro  <kobayays@otsukakj.co.jp>
 +      * 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.
  
 -      * w32term.h (struct w32_output): New member hand_cursor.
 -      (WM_EMACS_SETCURSOR): New message definition.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
 -      function w32_define_cursor.
 -      (note_mouse_highlight): Initialize, setup cursor accoding to mouse
 -      position, change member name output_data.x to output_data.w32 and
 -      add function w32_define_cursor.
 -      (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
 -      and change member name output_data.x to output_data.w32.
 -      (w32_initialize_display_info):
 -      Setup dpyinfo->vertical_scroll_bar_cursor.
 +      * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
 +      input in the default locale.  Handle non-Unicode multibyte input.
  
 -      * w32fns.c (Vx_hand_shape): New variable.
 -      (w32_wnd_proc): Add message entries for WM_SETCURSOR and
 -      WM_EMACS_SETCURSOR.
 -      (x-create-frame): Setup Cursor types.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-21  David Ponce  <david@dponce.com>
 +      * 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.
  
 -      * w32term.c (w32_encode_char): For DIM=1 charset, set
 -      ccl->reg[2] to -1 before calling ccl_driver.
 -      (Sync. with xterm.c x_encode_char change by Kenichi Handa
 -      <handa@m17n.org> on 2002-09-30.)
 -      (w32_draw_relief_rect): Declare all args.
 -      (w32_define_cursor): New.
 +      * Makefile.in (lisp, shortlisp): Add cham.el.
  
 -      * w32fns.c (w32_load_cursor): New function.
 -      (w32_init_class): Use it.
 -      (x_put_x_image): Declare all args.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-21  Richard Dawe  <rich@phekda.freeserve.co.uk>
 +      * font.h (FONTP): Make it return 1 also for a font-object.
  
 -      * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
 +      * .gdbinit (xfontset): New function.
  
 -2003-01-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * font.c (font_find_for_lface): Check if the character C is
 +      supported or not only for the first font.
  
 -      * gtkutil.c: Must include stdio.h before termhooks.h.
 +      * 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.
  
 -2003-01-21  Dave Love  <fx@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * alloc.c (Fgc_status): Print zombie list.
 -      (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
 -      Fix assignment of zombies.
 -      (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
 -      Don't take car of non-cons.
 -
 -      * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
 -
 -      * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
 -
 -2003-01-20  David Ponce  <david@dponce.com>
 -
 -      * w32menu.c (digest_single_submenu): Declare all args.
 -
 -      Sync with 2002-12-23  Richard M. Stallman  <rms@gnu.org>
 -      changes in xmenu.c:
 -
 -      (parse_single_submenu): Use individual keymap's prompt
 -      string as pane name, if there is one.
 -      (set_frame_menubar): Save menu_items_n_panes from each call to
 -      parse_single_submenu and use it when calling digest_single_submenu.
 -
 -2003-01-20  Steven Tamm  <steventamm@mac.com>
 -
 -      * macterm.c (XTread_socket): Check for valid, visible window
 -      before sending a scroll-wheel event.
 -
 -2003-01-20  Richard M. Stallman  <rms@gnu.org>
 -
 -      * xdisp.c (redisplay_window): If mini window's buffer is not
 -      a minibuffer, then redisplay it like other windows.
 -
 -2003-01-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_create_frame_widgets): Check if there is an
 -      external tool bar before setting tool bar height.
 -
 -2003-01-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Surround popup_activated
 -      with #ifdef:s for non-toolkit version.
 -
 -      * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK.
 -      (gtkutil.o): New file.
 -      (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
 -      (LIBW): Set to @GTK_LIBS@ if USE_GTK.
 -
 -      * gtkutil.c: New file for GTK version.
 -
 -      * gtkutil.h: New file for GTK version.
 -
 -      * xterm.h: Add xt_or_gtk_widget.
 -      Include gtk files for USE_GTK.
 -      (struct x_output): Add toolbar_height.
 -      (struct x_output): Add GTK widgets and Gdk size_hints.
 -      (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
 -      (FRAME_OUTER_WINDOW): New macros for USE_GTK.
 -      (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
 -
 -      * xterm.c: Include gtkutil.h for USE_GTK.
 -      (free_frame_menubar): Declare extern void for USE_GTK.
 -      (note_mouse_highlight): Check popup_activated for USE_GTK.
 -      (xt_action_hook): Don't compile if USE_GTK.
 -      (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
 -      (xg_scroll_callback): New function.
 -      (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
 -      (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
 -      for USE_GTK.
 -      (x_scroll_bar_create): Call xg_update_scrollbar_pos and
 -      xg_show_scroll_bar for USE_GTK.
 -      (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
 -      (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
 -      (event_handler_gdk): New function for USE_GTK.
 -      (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
 -      (handle_one_xevent): Make sure widget is mapped before
 -      calling x_real_positions for USE_GTK.
 -      (XTread_socket): Add GTK event loop for USE_GTK.
 -      (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
 -      (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
 -      (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
 -      (x_iconify_frame): Add code for USE_GTK.
 -      (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
 -      (x_wm_set_size_hint): Only compile if not USE_GTK.  GTK version
 -      is in gtkutil.c.
 -      (x_term_init): Add initialization for GTK.
 -      (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
 +      * font.c (font_load_for_face): Handle the case that the font in
 +      face->lface is a string.
  
 -      * xmenu.c: Include gtkutil.h for USE_GTK.
 -      (Fx_popup_menu): Use current position if x and y are nil.
 -      (single_menu_item, single_menu_item, Fx_popup_dialog):
 -      Check for USE_GTK.
 -      (popup_widget_loop): New function for USE_GTK.
 -      (x_activate_menubar): Add code for USE_GTK.
 -      (popup_activate_callback, popup_deactivate_callback)
 -      (menu_highlight_callback, menubar_selection_callback):
 -      Add USE_GTK versions.
 -      (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
 -      (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
 -      (free_frame_menubar): Only compile if not USE_GTK.  GTK version
 -      is in gtkutil.c.
 -      (popup_selection_callback): New version for USE_GTK.
 -      (create_and_show_popup_menu): New fuction, one USE_GTK version and
 -      one USE_X_TOOLKIT version.
 -      (xmenu_show): Call create_and_show_popup_menu.
 -      (dialog_selection_callback): New version for USE_GTK.
 -      (create_and_show_dialog): New fuction, one USE_GTK version and
 -      one USE_X_TOOLKIT version.
 -      (xdialog_show): Call create_and_show_dialog.
 -
 -      * xfns.c: Include gtkutil for USE_GTK.
 -      (x_window_to_frame, x_any_window_to_frame)
 -      (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
 -      (x_top_window_to_frame): Add code for USE_GTK.
 -      (x_set_background_color): Call xg_set_background_color for GTK.
 -      (x_set_menu_bar_lines): Check for USE_GTK.
 -      (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
 -      (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
 -      (x_window): Call xg_create_frame_widgets for USE_GTK.
 -      (Fx_create_frame): Check for USE_GTK.
 -      (Fx_file_dialog): New implementation for USE_GTK.
 -
 -      * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
 -      (update_menu_bar): Add check for USE_GTK.
 -      (update_tool_bar): Add check for USE_GTK and external tool bar.
 -      (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
 -      (redisplay_internal): Add check for USE_GTK and popup_activated.
 -      (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
 -      (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
 -      (display_menu_bar): Add check for USE_GTK
 -
 -      * lisp.h (Vx_resource_name): Declare extern.
 -
 -      * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
 -      for USE_GTK.
 -      (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
 -
 -      * frame.h (struct frame): Add external_tool_bar.  Check for USE_GTK.
 -      (FRAME_EXTERNAL_TOOL_BAR): New macro.
 -      (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
 -
 -      * fileio.c (Fread_file_name): Add check for USE_GTK.
 -
 -      * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
 -      Add check for USE_GTK.
 -
 -      * config.in: Added HAVE_GTK.
 -
 -      * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
 -
 -2003-01-18  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * charset.h (Funibyte_char_to_multibyte): Export.
 -
 -2003-01-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (mouse_position_for_popup): New function.
 -      (Fx_popup_menu): Call mouse_position_for_popup for X and
 -      mouse_position_hook for others.
 -
 -2003-01-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * editfns.c (Finsert): Mention `string-make-multibyte' and
 -      `string-as-multibyte' in doc string.
 -
 -2003-01-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * editfns.c (Fformat): Convert an unibyte char argument that is
 -      formatted by "%c" to multibyte if the total result must be a
 -      multibyte string.
 +      * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
  
 -2003-01-16  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * process.c (set-process-filter): Document unibyte/multibyte-ness
 -      of string argument.
 +      * 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.
  
 -2003-01-16  Kenichi Handa  <handa@m17n.org>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
 +      * coding.c (decode_coding_object, encode_coding_object): Adjust
 +      marker positions after conversion.
  
 -      * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
 -      (re_search_2): Likewise.
 +      * lisp.h (struct Lisp_Marker): New member need_adjustment.
  
 -2003-01-15  Kenichi Handa  <handa@m17n.org>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xdisp.c (message_dolog): Fix bug of the case that *Message*
 -      buffer is unibyte.
 +      * font.c (font_find_for_lface): Fix the handling of the return
 +      value of font_has_char.
 +      (Ffont_shape_text): Fix previous change.
  
 -2003-01-15  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +      * 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.
  
 -      * fns.c (Fsubstring): Clarify doc string.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * textprop.c (Ftext_properties_at, Fnext_char_property_change)
 -      (Fprevious_char_property_change)
 -      (Fnext_single_char_property_change)
 -      (Fprevious_single_char_property_change, Fnext_property_change)
 -      (Fnext_single_property_change, Fprevious_property_change)
 -      (Fprevious_single_property_change, Fadd_text_properties)
 -      (Fput_text_property, Fset_text_properties)
 -      (Fremove_text_properties, Fremove_list_of_text_properties)
 -      (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
 +      * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
 +      is on a window system before accessing the fontset of the frame.
  
 -2003-01-14  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * process.h (struct Lisp_Process): New member plist replaces old
 -      member private_vars.  All uses changed.
 +      * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
  
 -      * process.c: Reworked 2003-01-12 change -- call a plist a plist!
 -      (QCplist): Rename from QCvars.  Change all uses.
 -      (Fprocess_plist): Replaces Fprocess_variable.  Simplified.
 -      (Fset_process_plist): Replaces Fset_process_variable.  Simplify.
 -      (syms_of_process): Intern, staticpro, defsubr these.
 -      (Fmake_network_process): Describe :plist arg.  Remove :vars arg.
 +      * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
 +      when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
  
 -2003-01-14  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +      * 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.
  
 -      * m/delta.h: Remove (obsolete).
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-13  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +      * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
 +      glyphs.
  
 -      * fileio.c (Fdelete_directory, Fdelete_file): Document the
 -      behaviour in front of symlinks.
 -      (Fdelete_file): Raise an error on directories.
 +      * font.h (struct font_driver): Improve docstring of member `shape'.
  
 -2003-01-13  Dave Love  <fx@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (Freverse): Use QUIT.
 +      * composite.c (syms_of_composite): Fix docstring of
 +      auto-composition-function.
  
 -2003-01-13  Richard M. Stallman  <rms@gnu.org>
 +      * font.h (LGLYPH_SIZE): New macro.
  
 -      * minibuf.c (minibuffer_completion_contents):
 -      Error if point is inside prompt.
 +      * 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.
  
 -      * keyboard.c (command_loop_1): Don't redisplay directly
 -      if there's a post-command-hook.
 +      * xdisp.c (handle_auto_composed_prop): Change the argument to
 +      auto-composition-function.
  
 -      * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
 -      (Fdo_auto_save): Add gcpros around Ffile_name_directory.
 +      * 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.
  
 -2003-01-12  Kim F. Storm  <storm@cua.dk>
 +      * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
  
 -      * process.h (struct Lisp_Process): New member private_vars.
 +      * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
  
 -      * process.c (QCvars): New variable.
 -      (syms_of_process): Intern and staticpro it.
 -      (Fset_process_contact): Removed function.
 -      (Fprocess_variable, Fset_process_variable): New functions.
 -      (syms_of_process): Defsubr them.
 -      (Fstart_process): Initialize private_vars plist to nil.
 -      (Fmake_network_process): New arg :vars to setup the private
 -      variables for new network process.
 -      (server_accept_connection): Copy server's private variables to
 -      client process.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
 -      crashes).  Code rewritten and simplified.  Now directly aligns the
 -      pointer and recalculates pure_bytes_used, rather than aligning the
 -      size and adjusting the pointer.
 +      * font.c (Ffont_shape_text): Avoid unnecessary composition.
  
 -2003-01-11  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * process.c (Fset_process_contact): New function.
 -      (syms_of_process): defsubr it.
 -      (make-network-process): Update doc.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2003-01-10  Andreas Schwab  <schwab@suse.de>
 +      * 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.
  
 -      * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
 -      Reported by Berthold Gunreben <b.gunreben@web.de>.
 +      * 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.
  
 -2003-01-10  Dave Love  <fx@gnu.org>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * composite.c (syms_of_composite): Make composition_hash_table weak.
 +      * 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.
  
 -2003-01-09  Kim F. Storm  <storm@cua.dk>
 +      * w32font.h (w32font_get_cache): Update declaration.
  
 -      * process.c (Fmake_network_process): Convert new port number
 -      to host byte order for `:service t' case.  From Mario Lang.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * ftfont.c (ftfont_get_cache): Adjust the argument type.
  
 -      * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
 -      instead of XtAppProcessEvent.
 +      * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
 +      If none of the new drivers are available, call font_update_drviers
 +      with the old drivers.
  
 -      * xterm.c (handle_one_xevent): New function.
 -      (x_dispatch_event): New function.
 -      (XTread_socket): Call handle_one_xevent.
 +      * w32font.c (w32font_get_cache): Adjust the argument type.
  
 -      * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
 +      * xfont.c (xfont_get_cache): Adjust the argument type.
  
 -      * xmenu.c (Fx_popup_menu): If popping up at mouse position,
 -      call XQueryPointer to get coordinates.
 -      (popup_get_selection): Do not set popup_activated_flag to zero,
 -      let popup_deactivate_callback do that.  Needed for Motif.
 -      Call x_dispatch_event instead of XtDispatchEvent.
 -      (xmenu_show): Calculate root coordinate from frame top/left position.
 +      * font.h (struct font_driver): Change argument type of get_cache.
  
 -2003-01-08  Kim F. Storm  <storm@cua.dk>
 +      * xftfont.c (xftfont_start_for_frame): Delete prototype.
  
 -      * process.c (server_accept_connection): Fix recording of new
 -      connection's local address in :local property of contact info.
 -      (Fmake_network_process): Record local network address for new
 -      client processes in :local property of contact info.
 -      (format-network-address): Add arg OMIT-PORT.  Change callers.
 +      * 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.
  
 -2003-01-07  Dave Love  <fx@gnu.org>
 +      * fontset.c (fontset_find_font): Fix previous change.
  
 -      * Makefile.in (fns.o): Depend on coding.h.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2003-01-06  Dave Love  <fx@gnu.org>
 +      * 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.
  
 -      * fns.c: Include coding.h.  Use POINTER_TYPE*, not void*.
 -      (Vlocale_coding_system): Declare.
 -      (Qcodeset, Qdays, Qmonths, Qpaper): New.
 -      (Flanginfo): New.
 -      (syms_of_fns): Initialize new stuff.
 +      * 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.
  
 -2003-01-07  Markus Rost  <rost@math.ohio-state.edu>
 +      * 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.
  
 -      * minibuf.c (Fread_variable): Doc fix.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * eval.c (Fuser_variable_p): Doc change.  For custom variables,
 -      use the same test as for custom-variable-p.
 +      * 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.
  
 -2003-01-05  Richard M. Stallman  <rms@gnu.org>
 +      * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
 +      instead of get_property_and_range.
  
 -      * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
 -      Count LAST_LINE_MISFIT in scroll margin for end of window.
 -      Move label too_near_end before setting SCROLL_MARGIN_POS.
 -      Set LAST_LINE_MISFIT before jumping there.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
 -      scroll_conservatively case.  If scrolling that much doesn't change
 -      STARTP, move it down one line.
 +      * 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 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.
  
 -      * xdisp.c (redisplay_window): Pass last_line_misfit arg to
 -      try_scrolling.  Make it 1 after make_cursor_line_fully_visible fails.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
 -      selected frame.
 +      * charset.c (Fdefine_charset_internal): Record a supplementary
 +      charset at the tail of Vcharset_order_list.
  
 -      * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
 -      (syms_of_keymap): Staticpro them.
 -      (Fapropos_internal): Initialize them and clear them out.
 -      Don't GCPRO them.
 +      * font.c (Ffont_shape_text): Fix the return value.
  
 -      * buffer.c (syms_of_buffer) <scroll-up|down-aggressively>: Doc fixes.
 +      * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
  
 -      * lisp.h: New misc type Lisp_Save_Value.
 -      (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
 -      (XSAVE_VALUE): New macro.
 -      (struct Lisp_Save_Value): New data type.
 -      (union Lisp_Misc): Add u_save_value alternative.
 -      (make_save_value): Declare.
 +      * xdisp.c (handle_auto_composed_prop): Fix previous change.
  
 -      * alloc.c (make_save_value): New function.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xterm.c (x_catch_errors): Save dpy using make_save_value.
 -      (x_catch_errors_unwind): Call XSync.
 +      * 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.
  
 -2003-01-01  Richard M. Stallman  <rms@gnu.org>
 +      * lread.c (read1): Redo the previous change with checking Vpurify_flag.
  
 -      * window.c (window_scroll_pixel_based): Partially undo last change.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * keyboard.c (command_loop_1): Call adjust_point_for_property
 -      in direct action cases for Qforward_char and Qbackward_char.
 -      Set already_adjusted so it won't be done twice.
 +      * w32font.c (add_font_entity_to_list): Compare only the beginning
 +      of full name.
  
 -2002-12-30  Richard Dawe  <rich@phekda.freeserve.co.uk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
 -      type definition of size_t.
 +      * xdisp.c (handle_auto_composed_prop): Simplify the code.
 +      Never return HANDLED_RECOMPUTE_PROPS.
  
 -2003-01-02  Steven Tamm  <steventamm@mac.com>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
 -      distinguish Carbon GUI builds from X11 builds on darwin.
 +      * font.c (font_gstring_produce): Delete it.
  
 -2002-12-30  Steven Tamm  <steventamm@mac.com>
 +      * composite.h (COMPOSITION_METHOD):
 +      Handle COMPOSITION_WITH_GLYPH_STRING.
  
 -      * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
 -      to default to t.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-12-29  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +      * xfont.c (Qx): Delete.
 +      (syms_of_xfont): Don't initialize Qx.
  
 -      * data.c (Fstring_to_number, Fminus): Better English in doc strings.
 +      * composite.h (enum composition_method):
 +      Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
  
 -2002-12-28  Steven Tamm  <steventamm@mac.com>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * Makefile.in (macosx-bundle): Fix Mac OS X/Carbon port to
 -      allow building in a different directory than source.  Uses some
 -      GNU Make extensions, but there is no other make on Mac OS X.
 +      * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
 +      (choose_face_font): Accept new form of font-spec.
  
 -2002-12-26  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +      * frame.h (font_driver_list): Declare it unconditionally.
 +      (struct frame): Define members font_driver_list and font_data_list
 +      unconditionally.
  
 -      * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
 -      (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
 -      (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
 -      (Fstring_to_number): Mention the returned value in the doc strings.
 +      * 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.
  
 -2002-12-23  Richard M. Stallman  <rms@gnu.org>
 +      * font.c (font_unparse_xlfd): If pixel_size is zero, make the
 +      PIXEL_SIZE part a wild card.
  
 -      * buffer.c (syms_of_buffer) <scroll-up-aggressively>
 -      <scroll-down-aggressively>: Doc fix.
 +      * dispextern.h (struct glyph_string): Define members clip and
 +      num_clips unconditionally.
 +      (struct face): Define members font_info and extra unconditionally.
  
 -      * xmenu.c (parse_single_submenu): Use individual keymap's prompt
 -      string as pane name, if there is one.
 -      (set_frame_menubar): Save menu_items_n_panes from each call to
 -      parse_single_submenu and use it when calling digest_single_submenu.
 +      * ftfont.c (ftfont_open): Set members maybe_otf and otf of
 +      ftfont_info only when HAVE_LIBOTF is defined.
  
 -      * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
 -      Don't try to make last line fully visible if it is past end of window.
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -2002-12-22  Steven Tamm  <steventamm@mac.com>
 +      * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
 +      and end.
  
 -      * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
 -      (mac_menu_show): Add support for hierarchical popup menus.
 -      (add_menu_item): Remove indentation support.
 -      (fill_submenu, fill_menu): Create hierarchical menus
 -      instead of using indentation.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2002-12-22  Richard M. Stallman  <rms@gnu.org>
 +      * w32font.c (w32font_driver): Add new fields.
  
 -      * xdisp.c (try_cursor_movement): Don't call try_window here.
 -      (redisplay_window): Never redisplay minibuffer when inactive.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * window.c (select_window_1): Undo 9/21 change.
 +      * 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): Initalize font_charset_alist.
 +      Declare Ffont_shape_text as a Lisp function.  Call syms_of_XXfont
 +      conditionally.
  
 -2002-12-22  Steven Tamm  <steventamm@mac.com>
 +      * 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.s
 +      (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.
  
 -      * macterm.c (XTread_socket): Call KeyTranslate for control and
 -      meta to deal correctly shifted non-alpha characters, like C-S-5
 -      being treated like C-%.  Do not look for shift key to deal
 -      with masking off control-key with mac-reverse-ctrl-meta.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-12-21  Richard M. Stallman  <rms@gnu.org>
 +      * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
  
 -      * xmenu.c (popup_get_selection): Now static.  New arg DO_TIMERS.
 -      If it is non-nil, run timers.  Use an unwind-protect to requeue
 -      the events that were read ahead.
 -      (popup_get_selection_unwind): New subroutine.
 -      (popup_get_selection_queue): File-scope variable now holds that queue.
 -      (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
 -      (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
 -      Use an unwind-protect to pop down the dialog box.
 -      (xdialog_show_unwind): New subroutine implements that.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * xdisp.c (row_containing_pos): Change exit test using last_y.
 -      (try_window_id): Abort if row_containing_pos returns null.
 +      * w32font.c (w32font_draw): Fill background manually.
  
 -      * lread.c (load_error_handler): New function.
 -      (Fload): Handle errors in Fsubstitute_in_file_name.
 -      Don't expect Fsignal to return.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * eval.c: Errors and throws work right with interrupt blocking.
 -      (struct catchtag): New elt interrupt_input_blocked.
 -      (unwind_to_catch): Restore interrupt_input_blocked from saved value.
 -      (internal_catch, Fcondition_case, internal_condition_case)
 -      (internal_condition_case_1, internal_condition_case_2): Save it.
 -      (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
 +      * font.c (Qfontp): Remove unused symbol.
 +      (QCantialias): New symbol.
 +      (syms_of_font): Define it.
 +      (font_property_table): Set a validator for QCantialias.
  
 -      * editfns.c (Fformat): Add parens.
 +      * 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.
  
 -      * dired.c (file_name_completion): Fix that change.
 -      Delete special quit-handling code; just use QUIT.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-12-21  Tak Ota  <Takaaki.Ota@am.sony.com>
 +      * lread.c (read1): Undo the previous change.
  
 -      * dired.c (file_name_completion): Close directory on error
 -      just as in directory_files_internal.
 +2008-02-01  CHENG Gao  <chenggao@gmail.com>  (tiny change)
  
 -2002-12-19  David Kastrup  <David.Kastrup@t-online.de>
 +      * frame.c (Fdelete_frame): Call font_update_drivers only when
 +      USE_FONT_BACKEND is defined..
  
 -      * window.c (Fset_window_configuration): Set old_point to correct
 -      value when new_current_buffer == current_buffer.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-12-17  Ben Key  <bkey1@tampabay.rr.com>
 +      * 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.
  
 -      Revisited my earlier fix for the following entry in etc/PROBLEMS:
 -      "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
 -      or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
 +      * frame.h (struct frame): New member font_data_list.
  
 -      These changes were in part based upon suggestions made by Peter
 -      'Luna' Runestig [peter@runestig.com].
 +      * 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.
  
 -      * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token)
 -      (g_b_init_get_token_information, g_b_init_lookup_account_sid)
 -      (g_b_init_get_sid_identifier_authority ): Add several static
 -      global variables.
 +      * frame.c (make_frame): Initialize f->font_data_list to NULL.
 +      (Fdelete_frame): Call font_update_drivers.
  
 -      * w32.c (globals_of_w32): New function.  Used to initialize those
 -      global variables that must always be initialized on startup even
 -      when the global variable initialized is non zero.  Its primary
 -      purpose at this time is to set the global variables
 -      g_b_init_is_windows_9x, g_b_init_open_process_token,
 -      g_b_init_get_token_information, g_b_init_lookup_account_sid, and
 -      g_b_init_get_sid_identifier_authority to 0 on startup.
 -      Called from main.
 +      * 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.
  
 -      * w32.c (is_windows_9x): Perform initialization only if
 -      g_b_init_is_windows_9x is equal to 0.  On initialization set
 -      g_b_init_is_windows_9x equal to 1.
 +      * 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.
  
 -      * w32.c (open_process_token): Perform initialization only if
 -      g_b_init_open_process_token is equal to 0.  On initialization set
 -      g_b_init_open_process_token equal to 1.
 +      * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
  
 -      * w32.c (get_token_information): Perform initialization only if
 -      g_b_init_get_token_information is equal to 0.  On initialization
 -      set g_b_init_get_token_information equal to 1.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32.c (lookup_account_sid): Perform initialization only if
 -      g_b_init_lookup_account_sid is equal to 0.  On initialization
 -      set g_b_init_lookup_account_sid equal to 1.
 +      * 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.
  
 -      * w32.c (get_sid_identifier_authority): Perform initialization
 -      only if g_b_init_get_sid_identifier_authority is equal to 0.
 -      On initialization set g_b_init_get_sid_identifier_authority equal to 1.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32fns.c (globals_of_w32fns): New function.  Used to initialize
 -      those global variables that must always be initialized on startup
 -      even when the global variable initialized is non zero.
 -      Its primary purpose at this time is to initialize the global variable
 -      track_mouse_event_fn.
 +      * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
  
 -      * w32fns.c (w32_wnd_proc): Remove initialization of
 -      track_mouse_event_fn from the handler for the WM_SETFOCUS message.
 +      * 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.
  
 -      * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
 +      * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
 +      MULTIBYTE_CHAR_KEYSTROKE_EVENT.
  
 -      * w32menu.c (globals_of_w32menu): New function.  Used to
 -      initialize those global variables that must always be initialized
 -      on startup even when the global variable initialized is non zero.
 -      Its primary purpose at this time is to initialize the global
 -      variables get_menu_item_info and set_menu_item_info.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * w32menu.c (initialize_frame_menubar): Remove initialization of
 -      get_menu_item_info and set_menu_item_info.
 +      * 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.
  
 -      * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
 -      Declare them.
 +      * xfaces.c (face_for_overlay_string): Call lookup_face with
 +      correct arguments (fix of synching with the trunk).
  
 -      * emacs.c (main): Call globals_of_w32 prior to calling
 -      init_environment if WINDOWSNT is defined.  Call globals_of_w32fns
 -      and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
 -      is defined.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32term.c (x_update_window_begin): Fix Windows API error
 -      detected by BoundsChecker.  Test to determine if
 -      w32_system_caret_hwnd is NULL prior to attempting to use
 -      SendMessage to send the WM_EMACS_HIDE_CARET message to it.
 +      * 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.
  
 -      * w32term.c (x_update_window_end): Fix Windows API error
 -      detected by BoundsChecker.  Test to determine if
 -      w32_system_caret_hwnd is NULL prior to attempting to use
 -      SendMessage to send the WM_EMACS_SHOW_CARET message to it.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-12-17  Kenichi Handa  <handa@m17n.org>
 +      * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
 +      and file names.
  
 -      * coding.c (coding_system_require_warning): New variable.
 -      (syms_of_coding): DEFVAR it.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * coding.h (coding_system_require_warning): Extern it.
 +      * 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.
  
 -      * fileio.c (choose_write_coding_system): Even if
 -      Vcoding_system_for_write is non-nil, if
 -      coding_system_require_warning is nonzero, call
 -      Vselect_safe_coding_system_function.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2002-12-17  Markus Rost  <rost@math.ohio-state.edu>
 +      * doc.c (Fsnarf_documentation):
 +      * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
  
 -      * Makefile.in (lisp, shortlisp): Add cus-face and timer.
 -      (lisp): Add font-core.
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -2002-12-13  Stefan Monnier  <monnier@cs.yale.edu>
 +      * src/dispextern.h (struct glyph_row): Only define "clip" field if
 +      HAVE_WINDOW_SYSTEM is defined.
  
 -      * textprop.c (text_read_only): New arg `propval'.
 -      (get_char_property_and_overlay): Remove unused var `next_overlay'.
 -      (verify_interval_modification): Use text_read_only's new arg.
 +2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-12-13  Kenichi Handa  <handa@m17n.org>
 +      Fix up multi-tty merge.
  
 -      * coding.c (Funencodable_char_position): Set pend correctly.
 +      * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
 +      and indentation.
  
 -2002-12-12  Jason Rumney  <jasonr@gnu.org>
 +      * xfaces.c (free_realized_face, clear_face_gcs):
 +      Include font_done_for_face in the input_blocked section, just in case.
  
 -      * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
 -      (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
 -      Be more careful about when help_events are generated.
 +      * 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).
  
 -2002-12-12  Steven Tamm  <steventamm@mac.com>
 +      * terminal.c (create_terminal): Default keyboard_coding to
 +      `no-conversion' and terminal_coding to `undecided'.
  
 -      * macterm.c (mac_check_for_quit_char): Correctly set the
 -      modifiers of the event to 0.
 -      * mac.c (sys_select): Duplicate rfds before calling select to
 -      ensure that rfds survive the while loop.
 +      * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
  
 -2002-12-11  Kim F. Storm  <storm@cua.dk>
 +      * fontset.c (free_realized_fontsets): Check that the table entry does
 +      contain a fontset before trying to compare it to `base'.
  
 -      * xdisp.c (try_window_id): Don't call set_cursor_from_row if
 -      row_containing_pos returned NULL.
 +      * 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.
  
 -2002-12-10  Steven Tamm  <steventamm@mac.com>
 +      * coding.h (default_buffer_file_coding): Remove.
  
 -      * mac.c (sys_read): Fix sys_read to not call select if IO is
 -      non-blocking.
 -      (sys_select): Fix sys_select to not use a timeout larger than
 -      the one given.
 +      * 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.
  
 -2002-12-10  Juanma Barranquero  <lektu@terra.es>
 +      * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
 +      Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
  
 -      * editfns.c (Fformat): Use alloca, not _alloca.
 +      * 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.
  
 -2002-12-09  Richard M. Stallman  <rms@gnu.org>
 +      * doc.c (Fsnarf_documentation):
 +      * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
 +      src to etc.
  
 -      * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
 -      as the last thing.
 +      * ChangeLog.10: Add mistakenly removed entry.
  
 -2002-12-09  Dave Love  <fx@gnu.org>
 +2008-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * s/sol2-8.h: Removed.  (Not necessary.)
 +      * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
  
 -2002-12-09  Matthew Swift  <swift@alum.mit.edu>
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -      * editfns.c (Fformat): Handle precision in string conversion
 -      specifiers like libc functions do (ie, print at most that many
 -      characters).
 +      * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
 +      Add extra args to FACE_FOR_CHAR.
  
 -2002-12-08  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c (row_containing_pos): Check more carefully
 -      whether charpos is really in the row before returning it.
 +      * keymap.c (where_is_internal_1): If key is a cons, store the copy
 +      in sequence.
  
 -2002-12-07  Steven Tamm  <steventamm@mac.com>
 +      * 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.
  
 -      * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
 -      each stack frame.  This may change as it could be time consuming.
 +      * w32font.c (w32font_text_extents): Calculate metrics for the
 +      whole string.
  
 -      * macterm.c (mac_check_for_quit_char, quit_char_comp)
 -      (init_quit_char_handler, mac_determine_quit_char_modifiers)
 -      (mac_initialize): Add code to check for pressing of quit_char
 -      in the OS event queue.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * mac.c (sys_select): Call mac_check_for_quit_char every second
 -      while blocking on select.
 +      * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
  
 -      * mac.c (sys_read): Use sys_select to test for input first
 -      before calling read, to allow C-g to break.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2002-12-07  Richard M. Stallman  <rms@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.
  
 -      * minibuf.c (Fcompleting_read): Doc fix.
 +      * w32font.c (w32font_draw): Do clipping here.
  
 -      * lread.c (syms_of_lread) <load-history>: Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
 +      * xftfont.c (xftfont_draw): Adjust for the change of struct
 +      glyph_string.
  
 -      * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
 -      autoload.
 +      * 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.
  
 -      * data.c (Fdefalias): Record in load-history redefining an autoload.
 +      * 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.
  
 -      * alloca.c: Undo ifdef change accidentally made on 12-04.
 +      * 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.
  
 -2002-12-06  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xfns.c (png_load): Avoid double gamma correction for PNG images.
 +      * data.c (Fchar_or_string_p): Fix docstring.
  
 -2002-12-04  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
 +      * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
 +      create a temporal XftDraw object.
  
 -      * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * alloca.c: Don't use #error.
 +      * font.c (Ffontp): Fix docstring.
  
 -2002-12-03  Dave Love  <fx@gnu.org>
 +      * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
 +      strong evidence of ISO-2022.
  
 -      * buffer.c (Qucs_set_table_for_input): New.
 -      (Fget_buffer_create): Use it.
 -      (Qset_buffer_major_mode_hook): Deleted.
 -      (Fset_buffer_major_mode): Revert previous change.
 -      (init_buffer_once): Intern ucs-set-table-for-input.
 -      (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
 -      Add &Qucs_set_table_for_input.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-12-03  Andreas Schwab  <schwab@suse.de>
 +      * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
 +      SYNTAX_ENTRY_FOLLOW_PARENT.
  
 -      * callint.c (Fcall_interactively): Use next_event only if less
 -      than key_count.
 +2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-12-02  Andrew Choi  <akochoi@shaw.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.
  
 -      * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
 -      names to 255 characters.
 +      * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
 +      a plain C pointer to Lisp_Hash_Table.
  
 -      * macterm.c (XTread_socket): If all frames have been collapsed,
 -      expand the first one before handling drag-and-drop events.
 +      * 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.
  
 -      * s/darwin.h (GETPGRP_NO_ARG): Delete.  Replaced by GETPGRP_VOID,
 -      which is detected by autoconf.
 +      * src/alloc.c:
 +      * src/buffer.c:
 +      * src/buffer.h:
 +      * src/data.c:
 +      * src/fileio.c:
 +      * src/filelock.c:
 +      * src/fns.c:
 +      * src/frame.h:
 +      * src/lisp.h:
 +      * src/macterm.c:
 +      * src/print.c:
 +      * src/process.c:
 +      * src/w32fns.c:
 +      * src/w32menu.c:
 +      * src/w32term.c:
 +      * src/xfns.c:
 +      * src/xmenu.c:
 +      * src/xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
  
 -2002-12-01  Steven Tamm  <steventamm@mac.com>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
 -      offset in two hints table to allow prebinding to be redone and
 -      allow the executable to be stripped.
 +      * 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.
  
 -2002-11-29  Dave Love  <fx@gnu.org>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
 -      already provided.
 +      * w32font.c (Qgdi): Rename from Qw32.
  
 -2002-11-29  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * xdisp.c (start_display): Check more intelligently for
 -      whether the line is continued.
 -      (move_it_vertically_backward): Clear it->continuation_lines_width.
 +      * w32bdf.c (get_quoted_string): Make function static.
  
 -2002-11-28  Dave Love  <fx@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
 -      * s/alliant.h, s/altos.h: Deleted.  (Unused/empty.)
 +      * 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.
  
 -2002-11-27  Steven Tamm  <steventamm@mac.com>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
 -      more descriptive error output from lread.c:Fload upon most require
 -      cycles during boostrapping.
 +      * Makefile.in (${lispsource}international/charprop.el): Move this
 +      target within "#ifdef HAVE_UNIDATA" and "#endif".
  
 -2002-11-27  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fileio.c (Finsert_file_contents): Give a more appropriate error
 -      for files bigger than 2Gb when off_t is 32 bit.
 +      * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
 +      (shortlisp): Add ../lisp/language/tai-viet.el.
  
 -      * dired.c (Ffile_attributes): Don't return negative file sizes for
 -      files bigger than 2Gb when off_t is 32 bit.
 +2008-02-01  Ulrich Mueller  <ulm@gentoo.org>
  
 -2002-11-27  Dave Love  <fx@gnu.org>
 +      * Makefile.in (${lispsource}international/charprop.el): Depend on
 +      temacs${EXEEXT}.
  
 -      * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * systty.h: Don't conditionally define GETPGRP_NO_ARG.
 -      Test GETPGRP_VOID instead.
 -      [BSD_TERMIOS]: Remove definitions (never used).
 +      * w32font.c (w32font_close): Delete the GDI font object.
  
 -      * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
 -      Don't define.
 -      (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
 +      * w32menu.c: Include character.h
  
 -      * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
 +      * w32proc.c: Likewise.
  
 -2002-11-25  Jason Rumney  <jasonr@gnu.org>
 +      * w32select.c: Likewise.
  
 -      * w32.c (sys_write): Avoid non-blocking mode, which is not fully
 -      supported.
 +      * makefile.w32-in (w32proc.o): Depend on character.h
  
 -2002-11-25  Dave Love  <fx@gnu.org>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
 +      * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
  
 -      * Makefile.in (TEMACS_LDFLAGS): Update last change.
 +      * w32menu.c (syms_of_w32menu): Likewise.
  
 -2002-11-25  Andreas Schwab  <schwab@suse.de>
 +      * w32proc.c (syms_of_ntproc): Likewise.
  
 -      * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
 +      * w32select.c (syms_of_w32select): Likewise.
  
 -2002-11-24  Steven Tamm  <steventamm@mac.com>
 +      * 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 tranformation 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.
  
 -      * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
 -      determine the size of pointers alloced in unexed space instead
 -      of using possibly invalid emacs_zone pointers.  This fixes the
 -      binary incompatibility problems caused by updates to libSystem.B.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2002-11-24  Richard M. Stallman  <rms@gnu.org>
 +      * font.c (font_pixel_size): Reverse assq_no_quit args.
  
 -      * search.c (Fstring_match): Doc fix.
 +      * w32term.h (FONT_WIDTH): Report max width, not average.
 +      (FONT_MAX_WIDTH): Remove.
 +      (FONT_AVG_WIDTH): New macro.
  
 -      * callint.c (Fcall_interactively): If a command fails because
 -      `*' detects a read-only buffer, but RECORD_FLAG is set,
 -      record it anyway if the args don't actually do tty input.
 +      * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
 +      redefinition of FONT_WIDTH.
  
 -2002-11-22  Dave Love  <fx@gnu.org>
 +      * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
 +      (w32_cache_char_metrics): Use FONT_WIDTH.
  
 -      * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
 +      * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
  
 -      * keyboard.c (interrupt_signal): Provide forward declaration.
 -      (kbd_buffer_store_event): Don't declare interrupt_signal.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
 +      * w32font.c (w32font_open): Make lfHeight negative.
  
 -2002-11-21  Richard M. Stallman  <rms@gnu.org>
 +      * w32fns.c (x_default_font_parameter): Use new style font name.
 +      (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
  
 -      * eval.c (interactive_p): Skip any number of bytecode
 -      and special form frames, in any order.
 +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.
  
 -2002-11-20  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32fns.c (convert_mono_to_color_image): New function.
 -      (xbm_load, xbm_load_image): Use it when foreground or background
 -      is explicitly set.
 +      * term.c: Don't include "buffer.h" twice.
  
 -2002-11-19  Dave Love  <fx@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
 +      * character.c (Funibyte_string): New function.
 +      (syms_of_character): Defsubr it.
  
 -2002-11-18  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
 -      (XPutPixel): Swap blue and red.
 -      (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
 -      (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
 -      (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
 -      (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
 +      * 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.
  
 -2002-11-18  Dave Love  <fx@gnu.org>
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -      * m/orion105.h (HAVE_ALLOCA): Don't define.
 +      * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
 +      char-table size.
  
 -      * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * m/intel386.h: Don't include alloca.h or define alloca.
 +      * font.c (check_otf_features): Define it regardless of
 +      HAVE_LIBOTF.
  
 -      * m/ia64.h: Don't include alloca.h, stdlib.h.  Don't declare
 -      malloc, realloc, calloc.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
 -      (bcmp): Don't define.
 +      * ftfont.c (ftfont_driver): Delete font_otf_gsub and
 +      font_otf_gpos, add font_drive_otf.
  
 -      * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
 +      * fontset.c (fontset_find_font): Pay attention to font size
 +      specified for a font.
 +      (reorder_font_vector): Check contents of font_def.
  
 -      * m/amdahl.h: Don't define LIB_STANDARD.
 +      * 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
 +      functinos.
 +      (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.
  
 -      * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
 +      * xfaces.c (set_font_frame_param): Adjust for the change of
 +      font_open_for_lface.
  
 -      * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
 +      * 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.
  
 -      * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
 -      Don't include alloca.h.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/aix3-2.h (HAVE_FSYNC): Don't define.
 +      * font.c (font_at): If the window W is not on a window system,
 +      return Qnil.
  
 -      * regex.c (_GNU_SOURCE): Don't define.
 +      * coding.c (produce_chars, encode_coding): Don't call
 +      insert_from_gap if no characters to produce.
  
 -      * process.c (_GNU_SOURCE): Don't define.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
 +      * fontset.c (free_realized_fontsets): Avoid unnecessary call of
 +      Fclear_face_cache.
  
 -2002-11-18  Markus Rost  <rost@math.ohio-state.edu>
 +      * xfaces.c (face_for_font): Check also face->font==font->font.font.
  
 -      * s/sol2-8.h: Include sol2-6.h.
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -2002-11-18  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.
  
 -      * dispextern.h (struct face): Add `overstrike' field.
 -      * xterm.c (x_draw_glyph_string_foreground)
 -      (x_draw_composite_glyph_string_foreground): Implement overstriking.
 -      * xfaces.c (load_face_font): Set `face->overstrike' based on
 -      result from choose_face_font.
 -      (best_matching_font, choose_face_font): Add `needs_overstrike'
 -      argument, and use it to return whether overstriking is desirable
 -      for this face/font combo.
 -      (set_font_frame_param: Pass new argument to choose_face_font.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-17  Ben Key  <BKey1@tampabay.rr.com>
 +      * 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.
  
 -      This change is my fix for the following entry in etc/PROBLEMS:
 -      "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
 -      or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32.c: Added wrapper functions around the win32 API functions
 -      OpenProcessToken, GetTokenInformation, LookupAccountSid, and
 -      GetSidIdentifierAuthority.  These wrapper functions serve two
 -      purposes:
 -      1.  They ensure that the wrapped function can never be called
 -      when Emacs is running on an operating system on which they are
 -      not supported (Microsoft Windows 95 / 98 / ME).
 -      2.  They call the wrapped functions via function pointers rather
 -      than calling them directly.  This avoids taking advantage of the
 -      undocumented fact that although these functions are not supported
 -      in the 9x branch of Microsoft Windows, the functions do exist in
 -      the version of advapi32.dll that is found in the 9x branch of
 -      Microsoft Windows.
 +      * character.h (CHAR_STRING): Cast C to unsigned on calling
 +      char_string.
  
 -      * w32.c (init_user_info): Replace the calls to the win32 API
 -      functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
 -      and GetSidIdentifierAuthority with calls to the newly added
 -      wrapper functions.
 +      * character.c (char_string): Type of arg C changed to unsigned.
 +      Signal an error if C is an invalid character code.
  
 -      * w32.h: Added extern declarations for the following functions:
 -      syms_of_w32term, syms_of_w32fns, syms_of_w32select,
 -      syms_of_w32menu, and void syms_of_fontset.
 +      * editfns.c (general_insert_function, Fchar_to_string):
 +      Use CHARACTERP, not INTEGERP.
  
 -      * w32fns.c (w32_wnd_proc): Add code to reinitialize the
 -      function pointer track_mouse_event_fn in the handler for the
 -      WM_SETFOCUS message.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32menu.c (initialize_frame_menubar): Add code to
 -      reinitialize the function pointers set_menu_item_info and
 -      get_menu_item_info.
 +      * character.h (MIN_MULTIBYTE_LEADING_CODE)
 +      (MAX_MULTIBYTE_LEADING_CODE): New macros.
  
 -2002-11-17  Ben Key  <BKey1@tampabay.rr.com>
 +      * regex.c (analyse_first): Fix for multibyte characters in "case
 +      charset:" and "case categoryspec:".
  
 -      * sound.c: Added a partial implementation of play-sound-internal
 -      for Microsoft Windows.  Added various #ifdef / #else / #endif
 -      code blocks to separate the code that will compile under
 -      Microsoft Windows from the code that is specific to GNU/Linux.
 -      Moved several blocks of code around to make this separation of code
 -      into Windows compatible and GNU/Linux compatible code blocks easier.
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -      * makefile.w32-in: Include sound.c and link with WinMM.lib.
 +      * Makefile.in (LIBES): Move standard libraries to the end.
  
 -      * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
 -      added support for play-sound-internal under Windows would be
 -      included in the build of Emacs.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-16  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
 +      nonzero, don't shrink the buffer nextb.
  
 -      * w32fns.c (w32_load_system_font): Don't disable Cleartype.
 +      * buffer.h (struct buffer_text): New member inhibit_shrinking.
  
 -      * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
 +      * 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.
  
 -2002-11-15  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
 -      (adjust_point_for_property): Move out of display and invisible even if
 -      we were already inside before (in case a property was added while
 -      we weren't looking).  Be more careful when handling invisible props.
 -      Skip invisible text as if it really wasn't there at all.
 +      * xterm.c (x_draw_composite_glyph_string_foreground): Fix
 +      indexing into elements of s->cmp and s->char2b.
  
 -2002-11-15  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * w32term.c (x_draw_image_foreground)
 -      (w32_draw_image_foreground_1): Use standard copy and invert
 -      operations to draw images.
 +      * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
  
 -      * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
 -      depth of 1.
 -      (xbm_read_bitmap_data): Invert bits as xbm is read in.
 -      (XPutPixel): Don't invert bits here.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-15  Jason Rumney  <jasonr@gnu.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.
  
 -      * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
 -      (w32_draw_image_foreground_1): Handle image masks.
 -      (x_draw_image_glyph_string): Don't BitBlt transparently.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
 -      (x_from_xcolors): Adjust RGB values for W32.
 -      (image_background, image_background_transparent)
 -      (postprocess_image, x_to_xcolors, x_disable_image)
 -      (x_build_heuristic_mask): Adapt for W32 and enable.
 -      (x_create_x_image_and_pixmap): Mark images with palettes as such.
 -      (xbm_load): Remove unused variable.
 -
 -2002-11-14  Richard M. Stallman  <rms@gnu.org>
 +      These changes are to compile a regexp into a pattern that can be
 +      used both for multibyte and unibyte targets.
  
 -      * buffer.c (syms_of_buffer): Doc fix.
 +      * Makefile.in (search.o): Depend on charset.h.
  
 -2002-11-14  Dave Love  <fx@gnu.org>
 +      * character.c (multibyte_char_to_unibyte_safe): New function.
  
 -      * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
 +      * 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.
  
 -      * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
 -      * xmenu.c (unuse_menu_items, digest_single_submenu):
 -      * xfns.c (x_put_x_image):
 -      * xdisp.c (message2_nolog, set_message):
 -      * undo.c (record_point):
 -      * terminfo.c (tparam):
 -      * syntax.c (scan_sexps_forward):
 -      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 -      * composite.c (update_compositions):
 -      * cm.c (calccost, cmgoto):
 -      * charset.c (c_string_width): Declare all args (per C99).
 +      * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
  
 -      * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
 +      * regex.h (struct re_pattern_buffer): New member charset_unibyte.
  
 -      * lisp.h (get_specified_cursor_type, get_window_cursor_type):
 -      Don't declare.
 +      * 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.
  
 -      * emacs.c (main) [!VMS]: Avoid third arg.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (Fcopy_sequence): Doc fix.
 -      (Fmap_char_table): Cast `call2'.
 +      * xdisp.c (x_produce_glyphs): When a font is not found, make the
 +      empty box occupy at least one column width.
  
 -2002-11-14  Francesco Potort\e,Al\e(B  <pot@gnu.org>
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -      * s/sol2-8.h: New file.
 +      * Makefile.in: Remove redundant HAVE_XFT clause.
  
 -2002-11-14  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
 -      dependency on `risky-local-variable' and the :propertize form.
 +      * xrdb.c (x_load_resources): Setup the default fontSet X reource.
  
 -2002-11-12  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
 +      * fontset.c (Finternal_char_font): Fix for the case of POSITION
 +      being nil.
  
 -      * syntax.c (scan_sexps_forward): Undo last patch.
 -      Use a more obvious fix: check eob before updating the syntax table.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-09  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xftfont.c (xftfont_open): Call FcConfigSubstitute.
  
 -      * syntax.c (scan_sexps_forward): Update syntax table before reading
 -      a char rather than after so we don't update the table past eob.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-09  Dave Love  <fx@gnu.org>
 +      * xftfont.c (xftfont_open): Don't enable antialias explicitly.
  
 -      * buffer.c (Fset_buffer_major_mode): Fix last change.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * regex.c (regexec): Fix pmatch declaration.
 +      * search.c (simple_search): Fix previous change.
  
 -      * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
 -      to self-inserting characters.
 -      (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
 +      * xftfont.c (ftfont_font_format): Extern declaration.
  
 -      * coding.c (Vtranslation_table_for_input): New.
 -      (syms_of_coding): DEFVAR it.
 +      * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
  
 -2002-11-08  Juanma Barranquero  <lektu@terra.es>
 +      * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
 +      (xfont_list): Don't directly use Lisp_Object as an operand of &&.
  
 -      * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
 -      window.
 +      * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
 +      (ftfont_font_format): Fix previous change.
  
 -2002-11-08  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * font.h (Ffont_xlfd_name): EXFUN it.
  
 -      * process.c (Fformat_network_address): Remove unused locals p,
 -      cp, and i.
 +      * font.c (font_parse_xlfd): Fix the array size of `f'.
 +      (register_font_driver): Use EQ to compare driver->type.
  
 -2002-11-06  Dave Love  <fx@gnu.org>
 +      * 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.
  
 -      * buffer.c (Qset_buffer_major_mode_hook): New.
 -      (Fset_buffer_major_mode): Use it.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-06  Richard M. Stallman  <rms@gnu.org>
 +      * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
 +      (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
  
 -      * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
 -      and stop_polling.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * process.c (wait_reading_process_input):
 -      Test POLLING_PROBLEM_IN_SELECT, not hpux.
 -      Avoid initialization for auto Lisp_Object var.
 +      * xfont.c (xfont_open): Set font->format.
  
 -      * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
 +      * xftfont.c (xftfont_open): Set font->format.
  
 -      * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
 +      * 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.
  
 -2002-11-05  Richard M. Stallman  <rms@gnu.org>
 +      * font.h (struct font): New memeber format.
  
 -      * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
 +      * font.c (Qopentype): New variable.
 +      (syms_of_font): Defsym it.
 +      (Fquery_font): Change the format of the last element of the return
 +      value.
  
 -      * callint.c (Fcall_interactively): New local filter_specs.
 -      (Fcall_interactively): Check for progn as well as let.
 -      Add a gcpro.
 -      (Qprogn): New variable.
 -      (syms_of_callint): Staticpro and init Qprogn.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-04  John Paul Wallington  <jpw@shootybangbang.com>
 +      * xfns.c (xic_create_xfontset): Try the default fontset name as a
 +      last resort.
  
 -      * lread.c (Feval_buffer): Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-11-04  Dave Love  <fx@gnu.org>
 +      * coding.c (detect_coding_charset): Fix detection of multi-byte
 +      charset.
  
 -      * keyboard.c (read_char): Always translate iff
 -      Vkeyboard_translate_table is a char table and c is valid.
 +2008-02-01  Bob Halley  <halley@play-bow.org>  (tiny change)
  
 -      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 -      and fix C types.
 +      * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
  
 -2002-11-03  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
 +      * 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.
  
 -      * editfns.c (get_pos_property): Don't hardcode Qfield.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (adjust_point_for_property): Handle `display' prop on
 -      overlays.  Also handle `invisible' prop.
 +      (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.
  
 -2002-11-02  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
 -      (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
 +      * 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.
  
 -2002-11-01  Andreas Schwab  <schwab@suse.de>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * editfns.c (Fmessage): Revert last change to properly handle %%.
 +      * font.c (font_unparse_fcname): Pay attention to the case that
 +      some of font property is a null string.
  
 -2002-11-01  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xmenu.c (unuse_menu_items): New fun.
 -      (menu_items_inuse): New var.
 -      (syms_of_xmenu): Initialize it.
 -      (init_menu_items): Use it to detect re-entrance.
 -      (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
 -      (Fx_popup_menu): Remove spurious XSETFRAME.
 +      * 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.
  
 -      * editfns.c (find_field): Make an exception for nil fields.
 +      * xdisp.c (x_produce_glyphs): In handling composition, if a font
 +      is not found, get font_info from the current ascii face.
  
 -2002-11-01  Dave Love  <fx@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * m/gec63.h: Deleted.
 +      * fileio.c (Finsert_file_contents): On replacing, temporarily bind
 +      buffer-file-name to Qnil before calling insert_from_buffer.
  
 -2002-10-31  Dave Love  <fx@gnu.org>
 +      * font.c (font_unparse_fcname): Pay attention to the case that
 +      foundry is a null string.
  
 -      * xterm.c (XTread_socket): Fix last change.
 -      (xaw_scroll_callback): Cast call_data to long to avoid warning.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-31  Stefan Monnier  <monnier@cs.yale.edu>
 +      * ftfont.c (ftfont_list): Allow registry "unicode-sip".
  
 -      * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
 +      * font.c (Qunicode_sip): New variable.
 +      (syms_of_font): Declare it as a Lisp symbol.
  
 -2002-10-30  Stefan Monnier  <monnier@cs.yale.edu>
 +      * font.h (Qunicode_sip): Extern it.
  
 -      * editfns.c (overlays_around, get_pos_property): New funs.
 -      (find_field): Use them.
 -      Also be careful not to modify POS before its last use.
 -      (Fmessage): Don't Fformat if there's nothing to format.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-30  Dave Love  <fx@gnu.org>
 +      * composite.c (get_composition_id): Pay attention to TAB component.
  
 -      * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
 -      [HAVE_PTY_H]; Include pty.h.
 +      * 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 elememnt of allocated memory.
  
 -      * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
 +      * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
  
 -      * xterm.c (Qeql): Declare.
 -      (Vx_keysym_table): New.
 -      (syms_of_xterm): Initialize it.
 -      (XTread_socket): Use it.  Deal with ASCII keysyms.
 -      (XSetIMValues) [HAVE_X11R6]: Prototype.
 +      * 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.
  
 -      * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
 -      (lispy_kana_keys): Comment out.
 -      (make_lispy_event) [XK_kana_A]: Comment out.
 -      (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
 -      Fix sprintf call.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
 -      regexp.h change).
 -      (TERMINFO, LIBS_TERMCAP): Define.
 +      * 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.
  
 -      * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
 -      (bcmp): Define conditional on HAVE_BCMP.
 -      (NO_SIOCTL_H): Don't define.
 -      (TIOCSIGSEND): Don't make conditional on IRIX6.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/sol2-5.h: Don't include strings.h.
 -      (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
 +      * font.c (font_matching_entity): Delete unused local var.
  
 -      * s/irix6-0.h (IRIX6): Don't define.
 -      (bcopy, bcmp, bzero): Don't undef.
 +      * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
 +      opening a font.
  
 -      * s/irix6-5.h: Don't include strings.h.
 -      (IRIX6): Don't define.
 -      (bcopy, bcmp, bzero): Don't undef.
 +      * 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.
  
 -      * syntax.c (Fforward_comment): Doc fix.
 +      * 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.
  
 -2002-10-29  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * process.c (Fsignal_process): Allow PROCESS to be specified by
 -      name in addition to pid (as integer or string).
 +      * alloc.c (NSTATICS): Increas to 0x600.
  
 -2002-10-28  Harald Maier  <Harald.Maier.BW@t-online.de>  (tiny change)
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
 -      environments.
 +      * 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 assuce FC_MONO.
  
 -2002-10-27  Kim F. Storm  <storm@cua.dk>
 +      * font.h (struct font_driver): New member `match'.
 +      (font_update_drivers): Adjust prototype.
  
 -      * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
 +      * 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.
  
 -      * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
 +      * frame.c (x_set_font_backend): Do more works that were done in
 +      font_update_drivers before.
  
 -      * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
 +      * xfont.c (xfont_match): New function.
 +      (xfont_driver): Set xfont_driver.match to xfont_match.
 +      (xfont_draw): Set font in GC if necessary.
  
 -      * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
 +      * ftxfont.c (ftxfont_match): New function.
 +      (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
  
 -2002-10-26  Richard M. Stallman  <rms@gnu.org>
 +      * xftfont.c (xftfont_match): New function.
 +      (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
  
 -      * editfns.c (Fformat): Detect invalid format letters for floats.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-25  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.
  
 -      * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
 -      (x_set_title): Likewise.
 +      * 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 xfotn->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.
  
 -2002-10-25  Juanma Barranquero  <lektu@terra.es>
 +      * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
 +      Clip to src->width, etc (not src->clip_XXX).
  
 -      * macgui.h:
 -      * w32gui.h: Remove definition of XColor.
 +      * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
 +      FontBackend frame parameter.
  
 -      * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-24  Kim F. Storm  <storm@cua.dk>
 +      * font.h (struct font_driver_list): New member `on'.
 +      (Fclear_font_cache): EXFUN it.
 +      (font_update_drivers): Extern it.
  
 -      * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
 -      Callers changed (supply dummy arg).
 +      * font.c (font_unparse_fcname): Fix typo (swidth->width).
 +      (font_list_entities): Check driver_list->on.
 +      (register_font_driver): Initalize `on' member to 0.
 +      (font_update_drivers): New function.
 +      (Fclear_font_cache): Check driver_list->on.
  
 -      * lisp.h (get_window_cursor_type): Update prototype.
 +      * frame.h (Qfont_backend): Extern it.
 +      (x_set_font_backend): Extern it.
  
 -      * w32term.c (x_display_and_set_cursor): Get active_cursor from
 -      get_window_cursor_type to track system caret.
 +      * frame.c (Qfont_backend): New variable.
 +      (frame_parms): New element for font-backend.
 +      (x_set_font_backend): New function.
  
 -2002-10-24  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * process.c (Fformat_network_address): New function.
 -      (syms_of_process): Defsubr it.
 -      (list_processes_1): Use it to format :local/:remote address if
 -      service/host is not set; before Emacs would crash in that case.
 -      (Fmake_network_process): Don't use Ffind_operation_coding_system
 -      to setup coding system if host or service is not set.
 +      * xfont.c (xfont_list): Don't try listing by :name property if the
 +      name is not for XLFD.
  
 -2002-10-23  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      Patch suggested by Jay Finger <jay_finger@hotmail.com>.
 +      * 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.
  
 -      * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
 -      COLORREF.
 +      * 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.
  
 -      * macgui.h:
 -      * w32gui.h: Add definition of XColor.
 +      * 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.
  
 -      * macfns.c:
 -      * w32fns.c:
 -      * xfaces.c: Remove definition of XColor.
 +      * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
 +      Check if adjustment is vector or not.
  
 -2002-10-22  Stefan Monnier  <monnier@cs.yale.edu>
 +      * Makefile.in (font.o): Make it depends on window.h.
  
 -      * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
 -      Only ignore truly dedicated windows.  For UNSHOW_BUFFER, delete the
 -      window if it is dedicated.
 -      (Fshrink_window): Add preserve_before as was done for enlarge_window.
 -      (Vspecial_display_function): Update docstring.
 +      * xterm.c (x_draw_composite_glyph_string_foreground): Check if
 +      adjustment is vector or not.
  
 -      * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
 -      (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
 -      (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -2002-10-21  Stefan Monnier  <monnier@cs.yale.edu>
 +      * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
  
 -      * casefiddle.c (casify_region): Don't treat a prefix char as part
 -      of a word when at the beginning.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-17  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      * lread.c (syms_of_lread): Fix typos.
 +      * 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.
  
 -2002-10-17  Dave Love  <fx@gnu.org>
 +      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
 +      the change of LGLYPH format.
  
 -      * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-16  Richard M. Stallman  <rms@gnu.org>
 +      * ftfont.c (ftfont_list): Fix typo.
 +      (ftfont_build_basic_charsets): Don't include letters with diacritics.
  
 -      * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
 +2008-02-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2002-10-14  Juanma Barranquero  <lektu@terra.es>
 +      * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
  
 -      * w16select.c (syms_of_win16select): Fix docstring for
 -      `selection-coding-system'.
 +      * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
 +      xftface_info is non-NULL.
  
 -      * w32select.c (syms_of_w32select): Likewise.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-14  Stefan Monnier  <monnier@cs.yale.edu>
 +      * ftfont.c (ftfont_list): Fix typo.
 +      (ftfont_build_basic_charsets): Don't include letters with diactrics.
  
 -      * syntax.c (scan_lists): Don't get fooled by a symbol ending with
 -      a backslash-quoted char.
 -      (scan_lists, scan_sexps_forward): Pacify the compiler.
 +2008-02-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2002-10-13  Richard M. Stallman  <rms@gnu.org>
 +      * ftfont.c (ftfont_list): Move misplaced #endif.
  
 -      * window.c (window_scroll): Set immediate_quit.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * print.c (print): When backquote form is the car of a list,
 -      output in old style.  Use old_backquote_output to output all
 -      comma forms inside it in old style too.
 +      * ftfont.c (ftfont_list): Pay attention to the case that
 +      FC_CAPABILITY is not defined.
  
 -      * buffer.h (struct buffer): Move `undo_list' down below `name'.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-11  Markus Rost  <rost@math.ohio-state.edu>
 +      * xftfont.c (xftfont_open): Set charset related members to -1.
  
 -      * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
 -      batch mode).
 +      * ftfont.c (ftfont_list): Handle QCotf property.  Fix handling of
 +      QCname.
 +      (ftfont_open): Set charset related members to -1.
  
 -      * lread.c (Fload): Doc fix (load-suffixes).
 +      * fontset.c (Votf_script_alist): New variable.
 +      (syms_of_fontset): Initialize it.
 +      (fontset_font): Delete unused variable.
  
 -2002-10-10  Steven Tamm  <steventamm@mac.com>
 +      * fontset.h (Votf_script_alist): Extern it.
  
 -      * macterm.c (syms_of_macterm, mac_get_mouse_btn):
 -      Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
 -      Also switch the default to Qnil from Qt.
 +      * font.c (font_find_for_lface): Optimize code.
  
 -2002-10-08  Kenichi Handa  <handa@m17n.org>
 +      * font.h (font_close_object, font_merge_old_spec): Extern them.
  
 -      * coding.c (code_convert_region): When we need more GAP for
 -      conversion, pay attention to the case that coding->produced is not
 -      greater than coding->consumed.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-10-07  Richard M. Stallman  <rms@gnu.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.
  
 -      * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
 +      * font.h (QCscalable): Extern it.
 +      (font_parse_xlfd, font_parse_fcname): Adjust prototype.
  
 -2002-10-06  Andrew Choi  <akochoi@shaw.ca>
 +      * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
  
 -      * macmenu.c (mac_menu_show): Add j to count menu items; match
 -      menu_item_selection to it to find selected item.
 +      * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
 +      (xfont_list_pattern): New function.
 +      (xfont_list): Use xfont_list_pattern.
  
 -2002-10-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
 -      cases.  The correct fix is to pass ReparentNotify to Xt.
 -      The shell widget interprets ConfigureNotify differently depending
 -      on if it has been reparented or not.
 +      * font.h (Flist_fonts): EXFUN it.
  
 -2002-10-05  Markus Rost  <rost@math.ohio-state.edu>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * editfns.c (Fformat_time_string): Doc fix.
 +      * w32term.c (w32_initialize): Add back smoothing_type and
 +      smoothing_enabled definitions.
  
 -2002-10-05  John Paul Wallington  <jpw@shootybangbang.com>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (Flength): Doc fix.
 +      * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
 +      s->face->font on determining underline position.
  
 -2002-10-04  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (keyremap): New struct.
 -      (read_key_sequence): Use it: globally replace keytran_foo with
 -      keytran.foo and fkey_foo with fkey.foo.  Rename temp vars
 -      keytran_next and fkey_next to just `next'.
 +      * 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.
  
 -2002-10-04  Steven Tamm  <steventamm@mac.com>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macterm.c (keycode_to_xkeysym_table): Change return to be
 -      treated like an X keysym.
 +      * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
 +      font_open_by_name.
  
 -2002-10-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
 -      and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
 -      This is to also handle x/y changes that occur because of a resize.
 +      * font.h (QCspacing, QCdpi): Extern them.
 +      (enum font_spacing): New enum.
 +      (FONT_PIXEL_SIZE_QUANTUM): New macro.
 +
 +      * font.c (POINT_TO_PIXEL): Don't divice 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 enumenrated 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\e,Ad\e(Brv  <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.
  
 -2002-10-02  John Paul Wallington  <jpw@shootybangbang.com>
 +      * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
 +      "fixed", and signal error here if no suitable font was found.
  
 -      * frame.c (Vdelete_frame_functions): New variable.
 -      (syms_of_frame): Initialize and defvar it.
 -      (Fdelete_frame): Use it instead of delete-frame-hook.  Don't run
 -      it when frame's `tooltip' parameter is non-nil.
 +      * xfont.c (xfont_parse_name): Delete this function.
  
 -      * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
 +      * xftfont.c (xftfont_open): Change coding style of error
 +      handling.  Generate fontconfig's fontname pattern.
  
 -      * w32fns.c (x_create_tip_frame): Likewise.
 +      * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
 +      (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
  
 -      * macfns.c (x_create_tip_frame): Likewise.
 +      * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
 +      Both args FONTSET and FONT_OBJECT must be existing ones.
  
 -2002-09-30  Kenichi Handa  <handa@m17n.org>
 +2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
 -      -1 before calling ccl_driver.
 +      * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
  
 -      * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
 -      Only when it is non-nil, handle composition sequence.
 -      (setup_coding_system) <0>: Don't force composition handling.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * Makefile.in (lisp, shortlisp): Add utf-16.elc.
 +      * xfont.c (xfont_open, xfont_encode_char): Fix typo.
  
 -2002-09-29  Richard M. Stallman  <rms@gnu.org>
 +      * font.h (struct font): Fix typo.
  
 -      * search.c (Freplace_match): Adjust match data for the substitution
 -      just made in the buffer.
 +      * 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.
  
 -      * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
 -      (redisplay_internal): Use them.  Do RESUME_POLLING at end of function.
 +      * ftfont.c (ftfont_pattern_entity): Fix typo.
 +      (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
 +      locale.
  
 -2002-09-27  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
 -      (read_char): Use them.  Do all exits thru the end of the function.
 +      * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
  
 -2002-09-27  Kenichi Handa  <handa@etl.go.jp>
 +      * 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.
  
 -      * xfaces.c (try_font_list): Pay attention to the case that FAMILY
 -      is nil.
 +      * 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.
  
 -2002-09-26  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * regex.h (__restrict_arr): Don't define if already defined.
 +      * 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.
  
 -      * coding.c (run_pre_post_conversion_on_str):
 -      Save and restore Vdeactivate_mark.
 +      * xfont.c (xfont_list): If script is specified for a font, return
 +      null_vector.
 +      (xfont_list_family): Declare argument type.
  
 -2002-09-26  John Paul Wallington  <jpw@shootybangbang.com>
 +      * xfaces.c (set_lface_from_font_name): If a font doesn't have a
 +      name, set LFACE_FONT (lface) to nil.
  
 -      * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
 +      * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
 +      return Qnil.
  
 -2002-09-26  Kenichi Handa  <handa@etl.go.jp>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY.  If it is
 -      nonzero, try face's family at first.  Otherwise try FAMILY at first.
 -      (choose_face_font): If C is a single byte char or latin-1, call
 -      try_font_list with PREFER_FACE_FAMILY 1.
 +      * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
 +      (standard_args): Add "-enable-font-backend".
  
 -2002-09-21  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * window.c (select_window_1): Don't select frame.
 -      Set frame's selected window only when frame itself is selected.
 -      (Fselect_window): Doc fix.
 +      * 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 backroudn color only when with_background is
 +      nonzero.
  
 -2002-09-18  Kim F. Storm  <storm@cua.dk>
 +      * xfont.c (xfont_encode_char): Fix calculation of char2b.
  
 -      * process.c (make-network-process): Doc fix (there is no
 -      network-server-log-function hook).
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-18  Richard M. Stallman  <rms@gnu.org>
 +      These changes are for the new font handling codes.
  
 -      * print.c (print): Clear out the unused parts of Vprint_number_table.
 -      (syms_of_print): Doc fix for `print-number-table'.
 +      * 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).
  
 -      * unexelf.c (unexec): Undo previous change.
 +      * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
  
 -2002-09-17  Andreas Schwab  <schwab@suse.de>
 +      * character.h (Vscript_representative_chars): Extern it.
  
 -      * m/alpha.h [LINUX]: Don't define DATA_START.
 +      * character.c (Vscript_representative_chars): New variable.
 +      (syms_of_character): Declare it as a Lisp variable.
  
 -2002-09-16  Dave Love  <fx@gnu.org>
 +      * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
 +      enable_font_backend is nonzero, accept the composition method
 +      COMPOSITION_WITH_GLYPH_STRING.
  
 -      * unexelf.c (unexec): Deal with .got, reinstating change from
 -      25-08-1999.
 +      * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
 +      enumeration COMPOSITION_WITH_GLYPH_STRING.
  
 -2002-09-13  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * s/sol2-6.h (UNEXEC): Comment out definition.
 +      * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
 +      --enable-font-backend.  Call syms_of_font.
  
 -      * unexsol.c (unexec): Don't downcase first letter of error msg.
 +      * fns.c (assoc_no_quit): New function.
  
 -      * xfaces.c (Fcolor_supported_p): Just one arg is required.
 +      * fontset.h (FONT_INFO_FROM_FACE): New macro.
 +      (face_for_font, new_fontset_from_font)
 +      (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
  
 -2002-09-12  Markus Rost  <rost@math.ohio-state.edu>
 +      * 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.
  
 -      * unexsol.c: Include buffer.h, charset.h, coding.h.
 +      * 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.
  
 -2002-09-11  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * unexsol.c: Don't use report_file_error; do it by hand
 -      using dlerror.
 +      * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
 +      system_eol_type.
 +      (syms_of_coding): Initialize system_eol_type.
  
 -      * process.c (wait_reading_process_input, both versions):
 -      Before calling turn_on_atimers, call stop_polling.
 +      * process.c (Fset_process_coding_system): Inherit system's eol
 +      format if necessary.
  
 -      * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
 +2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
 -      we go to too_near_end, call clear_glyph_matrix.
 -      (redisplay_window): After make_cursor_line_fully_visible,
 -      call clear_glyph_matrix and bypass `goto done'.
 +      * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
  
 -      * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
 -      and we have non-toolkit scroll bars, return nil for scroll-bar-width.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-10  Richard M. Stallman  <rms@gnu.org>
 +      * coding.c (decode_eol): Pay attention to buffer relocation in
 +      del_range_2.
 +      (decode_coding): Call decode_eol before restoring undo_list.
  
 -      * fileio.c (Fdo_auto_save): Catch error making directory.
 -      Only call push_message if we need to.
 -      At the same time, make an unwind-protect to pop it.
 -      Rename local message_p to old_message_p.
 -      (do_auto_save_make_dir, do_auto_save_eh): New functions.
 -      (do_auto_save_unwind): Don't call pop_message.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
 +      * charset.c (Fdefine_charset_internal): Fix setting of
 +      emacs_mule_bytes.
  
 -      * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * alloc.c (Fgarbage_collect): Use pop_message_unwind.
 +      * keyboard.c (read_char): Check if C is a character or not before
 +      looking up Vkeyboard_translate_table.
  
 -      * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-10  Stefan Monnier  <monnier@cs.yale.edu>
 +      * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
 +      condition to terminate the loop.
  
 -      * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
 -      (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
 -      (re_match_2_internal): Be more careful with infinite loops.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-10  Kim F. Storm  <storm@cua.dk>
 +      * coding.c (produce_composition): Compare charbuf[i] instead of
 +      args[i] against 0.
 +      (Fterminal_coding_system): Use EQ to compare Lisp objects.
  
 -      * macros.c (end_kbd_macro): New function.
 -      (Fend_kbd_macro): Use it.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macros.h (end_kbd_macro): Declare extern.
 +      * 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.
  
 -      * keyboard.c (Fdiscard_input): If defining keyboard macro,
 -      end and save it instead of discarding it.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-09  Markus Rost  <rost@math.ohio-state.edu>
 +      * coding.c (encode_coding_ccl): Allocate destination dynamically
 +      when necessary.
  
 -      * s/sol2-6.h: Fix typo.  Add comment.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-09  Richard M. Stallman  <rms@gnu.org>
 +      * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
 +      the loop.  When quitted, show a proper error message.
  
 -      * regex.c (regnum_t): Use signed int, not unsigned int.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/sol2-6.h: New file.
 +      * xterm.c (x_set_glyph_string_clipping_exactly): Set
 +      src->clip_head and src->clip_tail temporarily instead of src->hl.
  
 -      * s/sol2-5.h (UNEXEC): Definition deleted.
 +      * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
 +      character sequence.
 +      (Fccl_execute_on_string): Use ASET, not XSET.
  
 -2002-09-08  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macros.c (executing_macro_index): Change type to EMACS_INT.
 -      (syms_of_macros): DEFVAR_INT it (needed by kmacro).
 +      * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
  
 -      * macros.h (executing_macro_index): Change type to EMACS_INT.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-06  Richard M. Stallman  <rms@gnu.org>
 +      * coding.c (decode_coding): Fix the condition of terminating the
 +      decoding loop.
  
 -      * casetab.c (set_case_table): Make canon table point to eqv table.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-09-06  Juanma Barranquero  <lektu@terra.es>
 +      * data.c (Faset): On setting a character bigger than 255 in a
 +      unibyte string, signal an error instead of make the string multibyte.
  
 -      * coding.c (syms_of_coding): Fix spacing.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * composite.c (Fcompose_region_internal)
 -      (Fcompose_string_internal): Likewise.
 +      * charset.c (map_charset_chars): Fix for ascii-compatible charset
 +      made by a mapping table.
  
 -      * data.c (Flsh): Likewise.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fontset.c (Fset_fontset_font): Likewise.
 +      * 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.
  
 -      * macfns.c (Fx_server_max_request_size): Likewise.
 +      * xterm.c (x_draw_composite_glyph_string_foreground): Check
 +      s->face is NULL or not.
  
 -      * w16select.c (syms_of_win16select): Likewise.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32select.c (syms_of_w32select): Likewise.
 +      * 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.
  
 -      * xselect.c (syms_of_xselect): Likewise.
 +      * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
  
 -2002-09-05  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * regex.c (set_image_of_range_1): In no-TRANSLATE case,
 -      call EXTEND_RANGE_TABLE and return a proper value.
 -      (set_image_of_range): Don't call set_image_of_range_1
 -      if no TRANSLATE or if range includes all of Latin-1.
 -      Only call it for the Latin-1 part of the range.
 -      For other cases, make two separate ranges,
 -      one for the original specified characters and one for
 -      their case-conversions.
 +      * xdisp.c (x_produce_glyphs): Handle composition with TAB.
  
 -2002-09-04  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * s/sol2-5.h (UNEXEC): Use unexsol.o.
 +      * coding.c (Fdefine_coding_system_internal)
 +      (Fdefine_coding_system_alias): Avoid a duplicated element in
 +      Vcoding_system_alist.
  
 -      * window.c (displayed_window_lines): Correct for one-off bug
 -      in HEIGHT on non-window displays.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * regex.c (set_image_of_range_1): New function.
 -      (set_image_of_range): Use set_image_of_range_1 for Latin-1.
 -      Return a value to indicate running out of memory.
 -      (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
 -      (extend_range_table_work_area): New subroutine.
 -      (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
 -      Different calling conventions, and used from set_image_of_range{,_1}.
 -      (IMMEDIATE_QUIT_CHECK): Definitions moved.
 +      * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
  
 -2002-09-04  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      * makefile.w32-in: All dependencies updated.
 +      * 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.
  
 -2002-09-01  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * unexsol.c: New file.
 +      * coding.c (code_conversion_restore): GCPRO arg.
  
 -      * xfns.c (Qbox): Declare external, don't define.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c (redisplay_window) <force-start case>:
 -      If point is on semi-visible last line, reposition
 -      it at previous line.
 +      * character.c (lisp_string_width): Check multibyteness of STRING.
  
 -      * alloc.c (display_malloc_warning): Use display-warning.
 -      (malloc_warning_1): Function deleted.
 +2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * alloc.c [ALLOC_DEBUG]: #undef INLINE.
 +      * 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.
  
 -      * lread.c (read1): Handle #! by skipping the line.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-31  Richard M. Stallman  <rms@gnu.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 charcter is an ASCII.
 +      (simple_search): Fix calculation of byte length of matched text.
 +      (boyer_moore): Fix handling of case-equivalent multibyte characters.
  
 -      * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
 -      Don't include LDFLAGS.
 -      (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-31  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * coding.c (decode_coding): Fix handling of invalid bytes.
  
 -      * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
 -      member of x_display_info unless we compile for some window system.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-31  Kim F. Storm  <storm@cua.dk>
 +      * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
 +      Unicode characters.
  
 -      * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
 -      (get_window_cursor_type): Don't use them.
 -      (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-30  Kenichi Handa  <handa@etl.go.jp>
 +      * coding.c (encode_coding_object): If a pre-write-conversion
 +      function makes a new buffer, kill it.
  
 -      * xdisp.c (get_next_display_element): Fix previous change.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-30  Andrew Choi  <akochoi@shaw.ca>
 +      * 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.
  
 -      * macterm.c (expose_overlaps): New function (merge code from xterm.c).
 -      (expose_window): Use it to fix the display of overlapping
 -      rows (merge code from xterm.c).
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -      * macfns.c (Qbox): Add extern declaration.
 +      * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
 +      removed calculation of frame `f', as it's now used.
  
 -2002-08-30  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32fns.c (Qbox): Make extern.
 -      (syms_of_w32fns): Remove initialization of Qbox.
 +      * 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.
  
 -2002-08-30  Rune Kleveland  <runekl@viewpoint.no>  (tiny change)
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xfns.c (Fx_open_connection): Fix error message.
 +      * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
 +      (admindir): New variable.
 +      ($(lispsource)international/charprop.el): New target.
  
 -2002-08-30  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Miles Bader  <miles@gnu.org>
  
 -      The following changes consolidates the handling of the cursor
 -      type in xdisp.c, moving duplicate code and functionality from
 -      xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
 +      * character.c (chars-in-region): Remove obsolete function.
 +      (syms_of_character): Remove its initialization.
  
 -      * frame.h (enum text_cursor_kinds): Consolidated here.
 -      Added DEFAULT_CURSOR value.
 -      (struct frame) <desired_cursor, cursor_width>
 -      <blink_off_cursor, blink_off_cursor_width>: New fields.
 -      Consolidated from output_x, output_w32 and output_mac structs.
 -      (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
 -      (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
 +2008-02-01  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
  
 -      * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
 -      Variables consolidated here.
 -      (Valternate_cursor_type, Qalternate_cursor_type): New variables.
 -      (Vcursor_in_non_selected_windows): Renamed from
 -      cursor_in_non_selected_windows and changed to Lisp_Object.
 -      (syms_of_xdisp): Define and staticpro new and moved variables.
 -      (get_specified_cursor_type): Renamed from x_specified_cursor_type;
 -      consolidated here.  Recognize Qhollow setting.
 -      (set_frame_cursor_types): New function to set frame cursor types
 -      based on the frame parameters.
 -      (get_window_cursor_type): New function to calculate new cursor
 -      type and width for the specified window.  Based on duplicated
 -      code consolidated here.
 -      Enhancements: cursor-in-non-selected-windows may be a cursor type,
 -      check buffer-local alternate-cursor-type and blink-cursor-alist
 -      before using built-in blink off methods.
 -
 -      * dispextern.h (cursor_in_non_selected_windows): Extern removed.
 -
 -      * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
 -      (get_specified_cursor_type, get_window_cursor_type)
 -      (set_frame_cursor_types): Added prototypes.
 +      * 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.
  
 -      * macfns.c (x_specified_cursor_type): Removed.
 -      (x_set_cursor_type): Use set_frame_cursor_types.
 -      (Qbar, Qbox): Removed.
 -      (syms_of_macfns): Don't intern or staticpro them.
 +      * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
 +      (Fcheck_coding_system): Add declarations.
  
 -      * macterm.c (x_specified_cursor_type): Remove prototype.
 -      (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
 -      (x_display_and_set_cursor): Use get_window_cursor_type.
 -      Remove unused local variables cursor_non_selected, active_cursor.
 -      Redraw cursor if hbar cursor width changes.
 -      (make_mac_frame): Set FRAME_DESIRED_CURSOR.
 -
 -      * macterm.h (enum text_cursor_kinds): Removed.
 -      (struct output_mac) <current_cursor, desired_cursor, cursor_width>
 -      <blink_off_cursor, blink_off_cursor_width>: Members removed.
 -      (FRAME_DESIRED_CURSOR): Macro removed.
 -
 -      * w32fns.c (Vblink_cursor_alist): Removed.
 -      (Qbar, Qhbar, Qbox, Qhollow): Removed.
 -      (syms_of_w32fns): Don't intern, staticpro, or define them.
 -      (x_specified_cursor_type): Removed.
 -      (x_set_cursor_type): Use set_frame_cursor_types.
 -
 -      * w32term.c (x_specified_cursor_type): Remove prototype.
 -      (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
 -      (x_display_and_set_cursor): Use get_window_cursor_type.
 -      Remove unused local variables cursor_off_state.
 -      Redraw cursor if hbar cursor width changes.
 -      Changed all occurrences of w32_highlight_frame to x_highlight_frame.
 -
 -      * w32term.h (enum text_cursor_kinds): Removed.
 -      (struct output_w32) <current_cursor, desired_cursor, cursor_width>
 -      <blink_off_cursor, blink_off_cursor_width>: Members removed.
 -      (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
 -      (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
 -      (struct w32_display_info) <x_highlight_frame>: Renamed member from
 -      w32_highlight_frame.
 -
 -      * xfns.c (Vblink_cursor_alist): Removed.
 -      (Qbar, Qhbar, Qbox, Qhollow): Removed.
 -      (syms_of_xfns): Don't intern, staticpro, or define them.
 -      (x_specified_cursor_type): Removed.
 -      (x_set_cursor_type): Use set_frame_cursor_types.
 -
 -      * xterm.c (x_specified_cursor_type): Remove prototype.
 -      (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
 -      (x_display_and_set_cursor): Use get_window_cursor_type.
 -      Remove unused local variables cursor_off_state.
 -      Redraw cursor if hbar cursor width changes.
 -
 -      * xterm.h (enum text_cursor_kinds): Removed.
 -      (struct output_x) <current_cursor, desired_cursor, cursor_width>
 -      <blink_off_cursor, blink_off_cursor_width>: Members removed.
 -      (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
 -      (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
 -      (x_specified_cursor_type): Remove prototype.
 -
 -2002-08-28  Richard M. Stallman  <rms@gnu.org>
 -
 -      * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
 -      FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
 -      (Vblink_cursor_alist): New variable.
 -      (syms_of_w32fns): Initialize and defvar it.
 -      (x_specified_cursor_type): Recognize Qbox for filled box.
 -      Exceptions are hollow boxes.
 -      (Qbox, Qhollow): New variables.
 -      (syms_of_w32fns): Initialize and staticpro them.
 -
 -      * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
 -      New macros.
 -      (struct w32_output): New fields blink_off_cursor,
 -      blink_off_cursor_width.
 -      (FRAME_CURSOR_WIDTH): New macro.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
 -      and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
 +      * charset.c (load_charset_map_from_vector): Fix for the first iteration.
  
 -      * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
 -      for bar cursor.
 +2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * w32term.c (expose_overlaps): New function.
 -      (expose_window): Use it to fix the display of overlapping rows.
 +      * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
 +      string as the second argument for x_new_fontset.
  
 -2002-08-28  Simon Josefsson  <jas@extundo.com>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xfns.c (Fx_open_connection): Improve help when X connection
 -      fails, xhost is insecure and xauth is better.
 +      * coding.c (decode_coding_object): Use safe_call1 instead of call1.
 +      (encode_coding_object): Use safe_call instead of call2.
  
 -2002-08-28  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * makefile.w32-in: Add missing dependencies on w32term.h and
 -      composite.h.
 +      * fontset.c (Fset_fontset_font): Check family element of a given vector.
  
 -      * emacs.c (USAGE1): Add missing newline.
 +      * Makefile.in (lisp): Include charprop.el.
  
 -2002-08-27  Andrew Choi  <akochoi@shaw.ca>
 +2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
 +      * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
 +      Not sure if it's unnecessary.
  
 -2002-08-27  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Steven Tamm  <steventamm@mac.com>
  
 -      * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
 -      FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
 -      (Vblink_cursor_alist): New variable.
 -      (syms_of_xfns): Initialize and defvar it.
 -      (x_specified_cursor_type): Recognize Qbox for filled box.
 -      Exceptions are hollow boxes.
 -      (Qbox, Qhollow): New variables.
 -      (syms_of_xfns): Initialize and staticpro them.
 +      * 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.
  
 -      * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
 -      New macros.
 -      (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
 -      and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
 +      * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
 +      lookup_face.
  
 -      * emacs.c (main): Handle --script.
 -      (USAGE1): Mention --script.
 -      (standard_args): Define sort order for --script.
 +      * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
  
 -2002-08-27  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +      * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
  
 -      * xdisp.c (redisplay_updating_p): Variable removed.
 -      (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
 -      New variables.
 -      (init_iterator): Don't free realized faces if
 -      inhibit_free_realized_faces is set.
 -      (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
 -      (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
 -      initialize Qinhibit_free_realized_faces.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
 -      when iterator is adding glyphs to a glyph matrix.
 +      * coding.c: Cancel the change done in HEAD on 2008-02-01.
 +      (coding_charset_list): New function.
  
 -2002-08-27  Kenichi Handa  <handa@etl.go.jp>
 +      * coding.h (coding_charset_list): Extern it.
  
 -      * xdisp.c (get_next_display_element): In unibyte case, don't use
 -      octal form for such eight-bit characters that can be converted to
 -      multibyte char.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-26  Kim F. Storm  <storm@cua.dk>
 +      * fontset.c (Fset_fontset_font): Call find_font_encoding with
 +      concatenation of family and registry.
  
 -      * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
 -      foreground and background colors.  From Joe Buehler.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-26  Miles Bader  <miles@gnu.org>
 +      * character.h (BYTE8_STRING): Fix typo.
  
 -      * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
 +      * editfns.c (Ftranslate_region_internal): Don't convert unibyte
 +      string to multibyte (sync to HEAD).
  
 -2002-08-25  Andrew Choi  <akochoi@shaw.ca>
 +      * casefiddle.c (casify_region): Handle changes in byte-length
 +      using replace_range_2 (sync to HEAD).
  
 -      * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
 -      defined instead of MAC_OSX.
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -      * s/darwin.h (select): Define select to sys_select only if
 -      HAVE_CARBON is defined.
 -      (HAVE_WORKING_VFORK): #undef it.  Define vfork to fork.
 -      (DONT_REOPEN_PTY): #def it.
 +      * chartab.c (map_char_table): GCPRO table and arg.
  
 -      * macterm.c (XTread_socket): Remove code to call
 -      SendEventToEventTarget for keys with command modifiers when
 -      mac_command_key_is_meta is nil.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-24  Andreas Schwab  <schwab@suse.de>
 +      * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
 +      already at limit.
  
 -      * eval.c (Fdefvar): Fix last change.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-23  Richard M. Stallman  <rms@gnu.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.
  
 -      * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
 -      Record variables in load history as (defvar . VAR).
 -      (Fdefvar): Don't record in load history if no initial value.
 -      (Qdefvar): New variable.
 -      (syms_of_eval): Init and staticpro it.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * lread.c (syms_of_lread): Doc fix.
 -      (build_load_history): Use Fmember to see if a definition
 -      is already in the Vload_history element.
 +      * xdisp.c (get_next_display_element): In unibyte case, decide to
 +      display in octal form by checking a chacter by
 +      UNIBYTE_CHAR_HAS_MULTIBYTE_P.
  
 -      * process.c (Fstart_process): Remove /: from program name.
 +      * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
  
 -      * emacs.c (decode_env_path): Don't add /: if file name handler
 -      has a `safe-magic' property.
 +      * character.c (unibyte_has_multibyte_table): New variable.
  
 -      * callproc.c (Fcall_process): Remove /: from program name.
 +      * character.h (unibyte_has_multibyte_table): Extern it.
 +      (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
  
 -2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * regex.c (PATFETCH): Remove the translating fetch.
 -      (PATFETCH_RAW): Rename to PATFETCH.
 -      (set_image_of_range): New fun.
 -      (SET_RANGE_TABLE_WORK_AREA): Use it.
 -      (regex_compile): Don't translate the pattern chars so eagerly.
 -      Only do it when inserting an `exactn' bytecode or when handling
 -      a char-range.
 -      (mutually_exclusive_p): Avoid empty statement.
 +      * coding.c (encode_coding_iso_2022): Fix handling of charset
 +      annotation.
  
 -2002-08-22  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
 -      end up on a partially visible line; this reverts a specific part
 -      of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
 -      display error which has been reported several times now.
 -      However it introduces the problem that changes was supposed to fix.
 -      See my comments in the source if you want to debug this further.
 +      * 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'.
  
 -2002-08-20  Kenichi Handa  <handa@etl.go.jp>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
 +      * xdisp.c (message_dolog, set_message_1): Call
 +      unibyte_char_to_multibyte with arg type int.
  
 -2002-08-19  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * lread.c (read1): Fix reading of a char-table.
  
 -      * msdos.c (croak): Add `void' to definition.
 +      * print.c (print_object): Include sub char-table in cicularities
 +      detection.
  
 -      * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
 -      Don't define them, they are defined in msdos.c.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * mem-limits.h [MSDOS]: Declare etext.
 +      * 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.
  
 -      * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
 -      `const' since CORRECT_DIR_SEPS modifies its target.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-19  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * keyboard.c (Fclear_this_command_keys): Add optional arg
 -      KEEP-RECORD to avoid clearing lossage when we just want to clear
 -      the current key sequence (kmacro needs this).
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-19  Kenichi Handa  <handa@localhost>
 +      * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
  
 -      * composite.c (run_composition_function): Call FUNC if it is fboundp.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
 -      cons, return Qnil.
 +      * 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.
  
 -2002-08-17  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
 +      * w32fns.c (x_to_w32_font): Update to use new coding struct.
  
 -      * sysdep.c [!VMS]: Include sys/files.h.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * editfns.c (save_restriction_restore): Defend from unchained marker.
 +      * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
 +      CHARS.
  
 -      * buffer.c (overlays_at): Handle extending vec uniformly.
 -      (overlays_in): Handle extending vec from length 0 as in overlays_at.
 +2008-02-01  Steven Tamm  <steventamm@mac.com>
  
 -2002-08-15  Andrew Choi  <akochoi@shaw.ca>
 +      * 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.
  
 -      * mac.c (init_mac_osx_environment): New function.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
 +      * 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
 +      whne HAVE_WINDOW_SYSTEM is defined.
  
 -2002-08-14  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
 -      executing macro before appending to it (when used from Lisp).
 -      (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
 -      which is called prior to each iteration of macro (for kmacro.el).
 -      (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
 +      * 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.
  
 -      * lisp.h (Fexecute_kbd_macro): Update prototype.
 +      * fontset.c (Fset_fontset_font): Fix docstring.
 +      (Ffontset_info): Make it backward compatible.  New arg ALL.
  
 -      * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
 +2008-02-01  Kim F. Storm  <storm@cua.dk>
  
 -2002-08-14  Kenichi Handa  <handa@etl.go.jp>
 +      * process.c (read_process_output): Grow decoding_buf when needed;
 +      this could cause a crash in allocate_string and compact_small_strings.
  
 -      * xselect.c (QUTF8_STRING): New variable.
 -      (symbol_to_x_atom): Pay attention to QUTF8_STRING.
 -      (x_atom_to_symbol): Likewise.
 -      (x_get_local_selection): New argument local_request.  If it is
 -      nonzero, call handler_fn with the second arg nil.
 -      (x_handle_selection_request): Call x_get_local_selection with
 -      local_request 0.
 -      (lisp_data_to_selection_data): Don't encode the string here.
 -      (Fx_get_selection_internal): Call x_get_local_selection with
 -      local_request 1.
 -      (syms_of_xselect): Intern and staticpro QUTF8_STRING.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
 +      * fileio.c (WRITE_BUF_SIZE): Delete this macro.
  
 -      * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-13  Richard M. Stallman  <rms@gnu.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.
  
 -      * minibuf.c (Fminibufferp): New function.
 -      (syms_of_minibuf): Defsubr it.
 -      (Fminibuffer_prompt_end): Handle non-minibuffers specially.
 +      * fileio.c (e_write): Short cut for the case of no encoding.
  
 -2002-08-13  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
 +      * coding.c (detect_coding, detect_coding_system): Delete unused
 +      variables.
  
 -2002-08-12  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
 -      [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
 -      (WSTOPSIG, WTERMSIG): Define each one independently if not defined
 -      already.
 +      * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
 +      (consume_chars): Fix handling of 8-bit bytes in unibyte source.
  
 -      * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-11  Andrew Choi  <akochoi@shaw.ca>
 +      * coding.c (Ffind_coding_systems_region_internal): Include
 +      raw-text and no-conversion in the result.
  
 -      * macterm.c (XTmouse_position): Check wp with is_emacs_window.
 -      (Vmac_pass_command_to_system): New variable.
 -      (Vmac_pass_control_to_system): New variable.
 -      (do_mouse_moved): Check wp with is_emacs_window.
 -      (XTread_socket): Check window_ptr with is_emacs_window.
 -      Call FrontNonFloatingWindow instead of FrontWindow.  Send keydown
 -      events back to Mac Toolbox for processing, depending on values of
 -      Vmac_pass_command_to_system and Vmac_pass_control_to_system.
 -      (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
 -      Vmac_pass_control_to_system.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-10  Kenichi Handa  <handa@etl.go.jp>
 +      * 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.
  
 -      * coding.c (unencodable_char_position): New function.
 -      (Funencodable_char_position): New function.
 -      (syms_of_coding): Defsubr Funencodable_char_position.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-10  Andrew Choi  <akochoi@shaw.ca>
 +      * 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.
  
 -      * mac.c (sys_select) [MAC_OSX]: New function.
 +      * coding.c (emacs_mule_char): Check invalid code more regidly.
  
 -      * macterm.c (MakeMeTheFrontProcess): New function.
 -      (mac_initialize): Call MakeMeTheFrontProcess.
 +      * character.h (LEADING_CODE_LATIN_1_MIN)
 +      (LEADING_CODE_LATIN_1_MAX): Delete these macros.
  
 -      * s/darwin.h: Define select to sys_select.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-09  Richard M. Stallman  <rms@gnu.org>
 +      * editfns.c (check_translation): New function.
 +      (Ftranslate_region_internal): Handle M:N mapping.
  
 -      * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-09  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +      * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
  
 -      * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
 -      end of the buffer.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-08  Ken Raeburn  <raeburn@gnu.org>
 +      * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
 +      goto invalid_code.
 +      (decode_coding_iso_2022): Fix handling of invalid designation.
  
 -      * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
 +      * fileio.c (Finsert_file_contents): Be sure to call unbind_to
 +      after calling code_conversion_save.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 910000.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-08  Kenichi Handa  <handa@etl.go.jp>
 +      * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
  
 -      * coding.c (Ffind_operation_coding_system): For write-region, if
 -      VISIT is a filename, make it the target.
 +      * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
  
 -2002-08-07  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * alloc.c (mark_object): Detect long lists for debugging.
 -      (mark_object_loop_halt): New variable.
 +      * 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.
  
 -      * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * data.c (Fmake_variable_frame_local): Doc fix.
 +      * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
  
 -2002-08-01  David Ponce  <david@dponce.com>
 +      * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
  
 -      * w32menu.c (local_heap, local_alloc, local_free): New macros.
 -      (malloc_widget_value, free_widget_value)
 -      (w32_free_submenu_strings): Use them.
 +      * editfns.c (Ftranslate_region_internal): Rename from
 +      Ftranslate_region.  Accept a char-table in TABLE.
 +      (syms_of_editfns): Defsubr Stranslate_region_internal.
  
 -      (push_submenu_start, push_submenu_end, push_left_right_boundary)
 -      (push_menu_pane, push_menu_item, single_keymap_panes)
 -      (single_menu_item, Fx_popup_menu, menubar_selection_callback)
 -      (single_submenu, set_frame_menubar)
 -      (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
 +      * 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.
  
 -      (Fx_popup_menu): Don't show pop up menu until preceding one is
 -      actually cleaned up.  Moved UNGCPRO outside #ifdef HAVE_MENUS block.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32menu.c: Changes adapted from xmenu.c
 -      (set_frame_menubar): First parse all submenus,
 -      then make widget_value trees from them.
 -      Don't allocate any widget_value objects
 -      until we are done with the parsing.
 -      (parse_single_submenu): New function.
 -      (digest_single_submenu): New function.
 -      (single_submenu): Function deleted, replaced by those two.
 +      * xfaces.c (Fface_font): New optional arg CHARACTER.
  
 -2002-08-04  Andrew Choi  <akochoi@shaw.ca>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
 -      returns a valid window pointer before proceeding for keyDown and
 -      autoKey events.
 +      * charset.h (CHARSET_OFFSET): New macro.
  
 -2002-08-03  Andrew Choi  <akochoi@shaw.ca>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macterm.c (USE_CARBON_EVENTS): New macro.
 -      (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
 -      (x_iconify_frame): Call CollapseWindow.
 -      (Vmac_reverse_ctrl_meta): New variable.
 -      (Vmac_wheel_button_is_mouse_2): New variable.
 -      (init_mac_drag_n_drop): New function.
 -      (mac_do_receive_drag): New function.
 -      (mac_handle_service_event): New function.
 -      (init_service_handler): New function.
 -      (mac_to_emacs_modifiers): New function.
 -      (mac_event_to_emacs_modifiers): New function.
 -      (mac_get_mouse_btn): New function.
 -      (mac_convert_event_ref): New function.
 -      (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
 -      SendEventToEventTarget, mac_event_to_emacs_modifiers, and
 -      mac_get_mouse_btn.
 -      (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
 +      * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
  
 -      * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
 -      lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
 -      (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
 -      TOOL_BAR_EVENT for MAC_OS as well.
 -      (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
 -      as for WINDOWS_NT.
 -      (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
 +      * 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.
  
 -      * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-08-03  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +      * keymap.c (describe_vector): Handle default value of a char table.
  
 -      * xdisp.c (forward_to_next_line_start): Fix a condition that
 -      lead to a newline being skipped.
 +      * fontset.c (fontset_face): Handle fallback fonts correctly.
 +      (Ffontset_info): Return infomation about fallback fonts.
  
 -2002-08-02  Andrew Choi  <akochoi@shaw.ca>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
 +      * 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.
  
 -2002-08-01  Richard M. Stallman  <rms@gnu.org>
 +      * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
 +      subset or superset.
  
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-31  Andrew Choi  <akochoi@shaw.ca>
 +      * emacs.c (main): Call init_charset after syms_of_XXX.
  
 -      * macfns.c: #undef init_process before #define-ing it.
 +      * 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".
  
 -      * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
 -      HAVE_CARBON is defined.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-31  Richard M. Stallman  <rms@gnu.org>
 +      * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
 +      ASCII only string.
  
 -      * xmenu.c (set_frame_menubar): First parse all submenus,
 -      then make widget_value trees from them.
 -      Don't allocate any widget_value objects
 -      until we are done with the parsing.
 -      (parse_single_submenu): New function.
 -      (digest_single_submenu): New function.
 -      (single_submenu): Function deleted, replaced by those two.
 +      * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
  
 -2002-07-30  Juanma Barranquero  <lektu@terra.es>
 +      * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
 +      (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte..
  
 -      * w32proc.c (syms_of_ntproc): Fix docstring of
 -      `w32-get-true-file-attributes'.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-28  Richard M. Stallman  <rms@gnu.org>
 +      * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
  
 -      * s/hpux8.h (HPUX8): Define this before including hpux.h.
 -      (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
 +      * 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.
  
 -      * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (make_lispy_event):
 -      Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
 -      Explicitly clear up_modifier in event->modifiers.
 +      * coding.c (decode_coding_sjis): Check the first byte rigidly.
  
 -2002-07-27  Richard M. Stallman  <rms@gnu.org>
 +      * xdisp.c (get_next_display_element): Pass -1 as POS to
 +      FACE_FOR_CHAR if displaying a C-string.
  
 -      * xterm.h (FRAME_CURSOR_WIDTH): New macro.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
 -      for bar cursor.
 +      * composite.c (get_composition_id): Handle xoff and yoff in a
 +      composition rule.
  
 -2002-07-26  Kenichi Handa  <handa@etl.go.jp>
 +      * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
 +      (struct composition): New member lbearing and rbearing.
  
 -      * coding.c (detect_coding_iso2022): While checking a byte sequence
 -      for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
 -      it in the normal loop.
 +      * 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.
  
 -2002-07-24  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +      * xterm.c (x_compute_glyph_string_overhangs): Handle also a
 +      composition glyph.
  
 -      * xterm.c (expose_overlaps): New function.
 -      (expose_window): Use it to fix the display of overlapping rows.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
 +      * 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 itnerval->plist is nil.
 +      (syms_of_print): Declare Vprint_charset_text_property as a lisp
 +      variable.  Init and staticpro print_prune_charset_plist.
  
 -2002-07-23  Ken Raeburn  <raeburn@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
 -      since it only depends on XUINT.
 +      * fontset.c (new_fontset_from_font_name): Use the specified font
 +      for all characters in the new fontset.
  
 -      * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
 -      EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
 -      PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
 -      Macros deleted.
 +      * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
 +      OBJECT args.
  
 -      * mem-limits.h (start_of_data): If DATA_START is defined, prefer
 -      its value over other approaches.
 -      * sysdep.c (start_of_data): Don't define the function if a macro
 -      form has been defined.
 +      * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
 +      OBJECT args for composition too.
  
 -2002-07-23  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +      * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
 +      OBJECT args.
  
 -      * xdisp.c (redisplay_updating_p): New variable.
 -      (init_iterator): Don't free realized faces when
 -      redisplay_updating_p is set.
 -      (redisplay_internal): Set redisplay_updating_p while updating
 -      the display.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-23  Richard M. Stallman  <rms@gnu.org>
 +      * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
  
 -      * editfns.c (Fmessage): Treat "" like nil.
 +      * 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.n
 +      (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.
  
 -2002-07-23  Kenichi Handa  <handa@etl.go.jp>
 +      * fontset.h (face_for_char): Adjust prototype.
  
 -      * xdisp.c (face_before_or_after_it_pos):
 -      Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
 +      * 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.
  
 -2002-07-22  Juanma Barranquero  <lektu@terra.es>
 +      * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
 +      POS and OBJECT args.
  
 -      * callproc.c (init_callproc) [DOS_NT]:
 -      Initialize Vshared_game_score_directory to nil.
 -      (syms_of_callproc) [DOS_NT]: Likewise.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2002-07-22  Gerd Moellmann  <gerd.moellmann@t-online.de>
 +      * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
 +      of GlobalAlloc'ed memory.
  
 -      * xdisp.c (display_line): Replace an abort with xassert.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-21  Richard M. Stallman  <rms@gnu.org>
 +      * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
  
 -      * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
 -      and END_UNCHANGED when setting buffer_unchanged_p.
 -      Use current_matrix_up_to_date_p to decide whether to use
 -      try_cursor_movement.
 +      * charset.h (charset_table_used): Delete extern.
  
 -      * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
 +      * charset.c (charset_table_used): Make it static.
 +      (map_charset_chars): Fix args to c_function with.
  
 -      * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
 +      * chartab.c (map_sub_char_table_for_charset): Fix args to
 +      c_function with.
  
 -      * callproc.c (init_callproc): Set up Vshared_game_score_directory.
 -      Set to nil if dir does not exist.
 -      (syms_of_callproc): Init unconditionally and simply.
 +      * coding.h (enum coding_result_code): Delete
 +      CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
  
 -      * buffer.c (Fbuffer_list): Doc fix.
 +      * 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;
  
 -2002-07-21  Ken Raeburn  <raeburn@gnu.org>
 +      * fontset.c (set_fontset_font): Fix args.
  
 -      * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
 +      * lisp.h (CHARACTERBITS): Define as 22.
  
 -      * buffer.c (mmap_realloc): When shrinking, make sure number of
 -      pages to unmap is rounded towards zero.
 +      * process.c (send_process): Be sure to set coding->src_multibyte.
  
 -      * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
 -      (XSETINT): Deleted.
 +      * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
  
 -      * m/att3b.h (XINT): Don't define.
 -      (VALBITS, VALMASK, XTYPE): Deleted.
 -      (DATA_SEG_BITS): Define.
 -      * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
 -      ARRAY_MARK_FLAG): Deleted.
 -      (DATA_SEG_BITS): Define.
 -      * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
 -      (DATA_SEG_BITS): Define.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-20  Richard M. Stallman  <rms@gnu.org>
 +      * xdisp.c (handle_auto_composed_prop): Give limit to
 +      Fnext_single_char_property_change.
  
 -      * print.c (print_error_message): New args CONTEXT and CALLER.
 -      Calls changed.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * lisp.h (print_error_message): Declare new args.
 -
 -      * keyboard.c (cmd_error_internal): Pass Vsignaling_function
 -      and CONTEXT to print_error_message, don't print them here.
 -      For a Quit, don't use Vsignaling_function.
 -      Call message_log_maybe_newline.
 -
 -      * Makefile.in (xsmfns.o): Don't depend on lisp.h.
 -
 -2002-07-20  Kim F. Storm  <storm@cua.dk>
 -
 -      * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
 -
 -2002-07-19  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * bytecode.c (struct byte_stack): Pointers into byte string now
 -      point to const.
 -      * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
 -      const.
 -      * charset.h (BCOPY_SHORT): Source pointer now points to const.
 -      * coding.c (encode_eol, detect_coding, detect_eol):
 -      (decode_coding, encode_coding, detect_coding_system):
 -      Source strings now treated as const.
 -      (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
 -      modify Lisp string contents.
 -      * coding.h (decode_coding, encode_coding, detect_coding,
 -      detect_eol): Declarations updated.
 -      * composite.c (compose_chars_in_text): Treat Lisp string contents
 -      as const.
 -      * dispnew.c (safe_bcopy): Source pointer now points to const.
 -      * lisp.h (STRING_COPYIN): New macro.
 -      (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
 -      (internal_with_output_to_temp_buffer): Declarations updated.
 -      * print.c (temp_output_buffer_setup):
 -      (internal_with_output_to_temp_buffer): Buffer name argument is now
 -      pointer to const.
 -      * sound.c (struct sound_device): Function pointer field "write"
 -      buffer argument now points to const.
 -      (vox_write): Buffer argument points to const.
 -      * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
 -      contents as const.
 -      * sysdep.c (emacs_write): Buffer pointer now const.
 -      * term.c (encode_terminal_code): Buffer pointer now const.
 -      * xfaces.c (may_use_scalable_font_p): Argument now points to const.
 -      (x_face_list_fonts, x_update_menu_appearance):
 -      (hash_string_case_insensitive): Treat Lisp string contents as const.
 -
 -2002-07-19  Juanma Barranquero  <lektu@terra.es>
 -
 -      * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
 -
 -      * fileio.c (syms_of_fileio): Likewise.
 -      (Ffile_name_as_directory): Fix argument name in docstring.
 -      (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
 -
 -2002-07-18  Richard M. Stallman  <rms@gnu.org>
 -
 -      * data.c (Fdefalias): Doc fix.
 -
 -2002-07-17  Dave Love  <fx@gnu.org>
 -
 -      * intervals.h (text_property_stickiness): Use P_.
 -
 -      * ccl.c: Remove `emacs' conditionals.
 -      (ccl_backtrace_table): Fix size spec.
 -      (ccl_driver): Fix type errors.
 -
 -2002-07-16  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * alloc.c (xstrdup, make_string, make_unibyte_string)
 -      (make_multibyte_string, build_string): String pointer args now
 -      point to const.
 -      * charset.c (find_charset_in_text, c_string_width):
 -      (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
 -      * fileio.c (report_file_error):
 -      * insdel.c (copy_text, count_size_as_multibyte, insert_1):
 -      (count_combining_before, count_combining_after, insert_1_both):
 -      (insert, insert_and_inherit, insert_string):
 -      (insert_before_markers, insert_before_markers_and_inherit):
 -      * lread.c (intern, oblookup, hash_string):
 -      * minibuf.c (temp_echo_area_glyphs):
 -      * search.c (fast_c_string_match_ignore_case):
 -      * sysdep.c (emacs_open, set_file_times):
 -      * xfaces.c (xstricmp):
 -      * xdisp.c (store_frame_title, string_char_and_length):
 -      (message_dolog, message2, message2_nolog, set_message): Likewise.
 -      (set_message_1): Cast message string argument to const pointer.
 -      * editfns.c (general_insert_function): Insertion function now
 -      takes pointer to const for input data.
 -      * charset.h (find_charset_in_text, c_string_width):
 -      (parse_str_as_multibyte): Declarations updated.
 -      * dispextern.h (xstricmp): Declaration updated.
 -      * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
 -      (count_size_as_multibyte, count_combining_before):
 -      (count_combining_after, insert_1, insert_1_both, message_dolog):
 -      (insert, insert_and_inherit, insert_before_markers)
 -      (insert_before_markers_and_inherit, set_message, message2):
 -      (message2_dolog, build_string, make_string, make_unibyte_string):
 -      (make_multibyte_string, intern, oblookup, report_file_error):
 -      (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
 -      (emacs_open, xstrdup): Declarations updated.
 -      * systime.h (set_file_times): Declaration updated.
 -
 -      * charset.c (find_charset_in_text, lisp_string_width): Use const
 -      for pointer to lisp string data.
 -      * charset.h (FETCH_STRING_CHAR_ADVANCE):
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
 -      * coding.c (Ffind_coding_systems_region_interval):
 -      * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
 -      (Fmake_directory_internal, Fdelete_directory):
 -      (Ffile_name_absolute_p, Fwrite_region, double_dollars):
 -      * fontset.c (font_family_registry, fs_query_fontset):
 -      (list_fontsets):
 -      * frame.c (Fframe_parameter):
 -      * keyboard.c (cmd_error_internal):
 -      * keymap.c (Fdescribe_buffer_bindings):
 -      * lread.c (complete_filename_p, openp):
 -      * minibuf.c (Fminibuffer_complete_word):
 -      * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
 -      (face_before_or_after_it_pos, next_element_from_string):
 -      (get_overlay_arrow_glyph_row, display_mode_element):
 -      (decode_mode_spec_coding):
 -      * xterm.c (same_x_server): Likewise.
 -
 -      * buffer.c (reset_buffer_local_variables): Delete "#if 0"
 -      settings of non-existent fields.
 -
 -      * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
 -      copy a lisp value.
 -
 -      * lread.c (Fintern_soft): Use string macros instead of
 -      Lisp_String fields.
 -      * keyboard.c (echo_char, parse_modifiers_uncached):
 -      (parse_solitary_modifier, Fexecute_extended_command): Likewise.
 -      * textprop.c (validate_interval_range, interval_of): Likewise.
 -
 -      * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
 -
 -      * charset.h (FETCH_STRING_CHAR_ADVANCE)
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
 -      XSTRING()->size_byte.
 -
 -      * lisp.h (SDATA, SREF): Produce rvalue.
 -      (SSET): New macro.
 -      * alloc.c (make_event_array): Use SSET for storing into a string.
 -      * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
 -      a string.
 -      * casefiddle.c (casify_object): Use SSET.
 -      * charset.h (FETCH_STRING_CHAR_ADVANCE)
 -      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
 -      address of string contents.
 -      * data.c (Faref): Use SDATA.
 -      (Faset): Use SDATA, SSET.
 -      * dired.c (directory_files_internal): Use SSET.
 -      * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
 -      (Fread_file_name): Use SREF, SSET.
 -      * fns.c (concat): Use SSET.
 -      (concat, Fdelete): Use SDATA.
 -      * insdel.c (insert_from_string_1): Use SDATA.
 -      * keyboard.c (Fevent_convert_list): Use SREF.
 -      * lread.c (Fload): Use SDATA, SSET.
 -      * macfns.c (validate_x_resource_name): Use SSET.
 -      * process.c (status_message): Use SSET.
 -      * search.c (wordify): Use SDATA.
 -      (Freplace_match): Use SREF.
 -      * w32fns.c (validate_x_resource_name): Use SSET.
 -      * xfns.c (validate_x_resource_name): Use SSET.
 -      * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
 -
 -2002-07-16  Richard M. Stallman  <rms@gnu.org>
 -
 -      * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
 -
 -      * xdisp.c (reconsider_clip_changes):
 -      Don't test prevent_redisplay_optimizations_p.
 -      (redisplay_internal): Test prevent_redisplay_optimizations_p
 -      along with clip_changed in some cases.
 -      (try_window_id): Likewise.
 -      (redisplay_window): New local var buffer_unchanged_p.
 -
 -      * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
 -
 -      * process.c (create_process): Test USG_SUBTTY_WORKS.
 -      (process_send_signal): Clean up handling of GID.
 -      Detect errors in ioctls meant to set GID.
 -
 -      * window.c (temp_output_buffer_show):
 -      Don't set prevent_redisplay_optimizations_p.
 -
 -2002-07-15  Juanma Barranquero  <lektu@terra.es>
 -
 -      * eval.c (Fdefvaralias): Add docstring argument.
 -
 -2002-07-15  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * lisp.h (STRING_INTERVALS): Produce rvalue.
 -      (STRING_SET_INTERVALS): New macro.
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
 -      * fns.c (Fstring_as_multibyte): Likewise.
 -      * intervals.c (balance_possible_root_interval, delete_interval)
 -      (create_root_interval, copy_intervals_to_string): Likewise.
 -      * textprop.c (set_text_properties): Likewise.  Use NULL_INTERVAL
 -      instead of 0.
 -
 -2002-07-14  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * lisp.h (STRING_SET_CHARS): New macro.
 -      (SCHARS, SBYTES): Produce rvalues.
 -      * dired.c (directory_files_internal): Use STRING_SET_CHARS.
 -      * fns.c (concat): Likewise.
 -      * lread.c (read_vector): Likewise.
 -
 -      * lisp.h (SMBP): Delete.  All uses changed to STRING_MULTIBYTE.
 -      (STRING_SET_UNIBYTE): New macro.
 -      (SET_STRING_BYTES): Delete.  Callers (all of which supplied a
 -      length of -1) changed to use STRING_SET_UNIBYTE.
 -      * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
 -      casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
 -      composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
 -      dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
 -      fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
 -      keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
 -      minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
 -      sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
 -      w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
 -      w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
 -      xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
 -      STRING_BYTES or indirection changed to SCHARS, SBYTES,
 -      STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
 -      unchanged for now.
 -
 -2002-07-13  Kim F. Storm  <storm@cua.dk>
 +      * composite.c (syms_of_composite): Don't make the composition hash
 +      table weak.
  
 -      * keyboard.c (command_loop_1): Invert check on Vmemory_full.
 +      * fontset.c (Fset_fontset_font): Fix docstring.
  
 -2002-07-12  Richard M. Stallman  <rms@gnu.org>
 +      * lisp.h (detect_coding_system): Adjust prototype.
  
 -      * fileio.c (Fwrite_region): Doc fix.
 -
 -      * print.c (print_error_message): Don't handle Vsignaling_function here.
 +      * 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 macor
 +      CODING_MAY_REQUIRE_DECODING.  After decoding, update
 +      coding_system.
  
 -      * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
 -      (command_loop_1): Avoid certain actions after memory-full error.
 -
 -      * eval.c (Fsignal): Don't call cancel_hourglass.
 -      For a memory-full error, don't call Vsignal_hook_function
 -      and don't set Vsignaling_function.
 +      * coding.h (make_conversion_work_buffer): Delete extern.
 +      (code_conversion_save): Extern it.
  
 -      * process.c (process_send_signal): Add abort call.
 +      * 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 convesion 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.
  
 -2002-07-11  Markus Rost  <rost@math.ohio-state.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keymap.c (Fkey_binding): Fix typo.
 +      * keymap.c (store_in_keymap): Pay attention to the case that idx
 +      is a cons specifying a character range.
  
 -2002-07-11  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * alloc.c (Vmemory_full): New variable.
 -      (Vmemory_signal_data): Rename from memory_signal_data.
 -      Uses changed.
 -      (syms_of_alloc): Defvar them.
 -      (memory_full, buffer_memory_full): Set Vmemory_full.
 +      * xdisp.c (handle_auto_composed_prop): Fix the case of returning
 +      HANDLED_RECOMPUTE_PROPS.
  
 -      * lisp.h (Vmemory_full): Add declaration.
 -      (current_column, indented_beyond_p): Change declaration.
 +      * coding.c (Fdefine_coding_system_internal): Fix checking of
 +      ascii compatibility.
  
 -      * indent.c (last_known_column): Declare as double, not float.
 -      (current_column, current_column_1, string_display_width)
 -      (position_indentation): Return `double'.
 -      (indented_beyond_p): Arg `column' is `double'.  Callers changed.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
 -      (back_to_previous_visible_line_start)
 -      (reseat_at_next_visible_line_start, next_element_from_buffer):
 -      Use `double', not `float', when calling indented_beyond_p.
 +      * charset.c (find_charsets_in_text): Delete unused locale variable.
 +      (Fset_charset_priority): Update Vemacs_mule_charset_list too.
  
 -      * s/hpux11.h (BROKEN_SA_RESTART): Define.
 +      * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
 +      Resync charset_list to Vemacs_mule_charset_list.
  
 -      * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
 +      * keymap.c (store_in_keymap): Pay attention to the case that idx
 +      is a cons specifying a character range.
  
 -2002-07-11  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
 -      * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
 -      * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
 -      * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
 -      * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
 -      * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
 +      * composite.c (update_compositions): Bind inhibit-read-only, etc
 +      to t before calling remove-list-of-text-properties.
  
 -2002-07-10  Juanma Barranquero  <lektu@terra.es>
 +      * print.c (print_object): Always print ASCII chars as is.
  
 -      * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
 -      All callers changed.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-09  Stefan Monnier  <monnier@cs.yale.edu>
 +      * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
  
 -      * data.c (Fdefalias): Add an optional `docstring' argument.
 -      (set_internal, Fsetq_default): Use XCAR/XCDR.
 +      * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
 +      is a char table.
  
 -      * composite.c (HASH_VALUE, HASH_KEY):
 -      * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-09  Kenichi Handa  <handa@etl.go.jp>
 +      * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
  
 -      * callproc.c (Fcall_process): Fix previous change.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-07  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xfaces.c (set_lface_from_font_name): Fix for the case that
 +      FONTNAME is not fontset name.
  
 -      * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
 -      Add support for hash-tables.
 -      (Ftry_completion): Return t even if the string appears multiple times.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (Fnconc): Use XCDR.
 -      (Fprovide): Use CONSP and XCDR.
 -      (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
 -      (HASH_TABLE_SIZE): Delete: moved to lisp.h.
 -      (Fmake_hash_table): Accept `:size nil'.
 -      (Fmakehash): Delete: moved to subr.el.
 -      (syms_of_fns): Don't defsubr makehash.
 +      * fns.c (base64_encode_1): Fix previous change.
  
 -      * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
 -      (HASH_TABLE_SIZE): Move from fns.c.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-07  Richard M. Stallman  <rms@gnu.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.
  
 -      * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
 -      Instead just return 0 when there is something to be done.
 -      (try_scrolling): If make_cursor_line_fully_visible returns 0,
 -      retry scrolling as if cursor were off the bottom.
 -      (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
 -      return CURSOR_MOVEMENT_MUST_SCROLL.
 -      (redisplay_window): If make_cursor_line_fully_visible returns 0,
 -      go to try_to_scroll.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * buffer.c (Fbuffer_local_value): Store current value into its binding
 -      so we get the up-to-date value for the binding that is loaded.
 +      * 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.
  
 -      * eval.c (Fdefmacro): Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-05  Dave Love  <fx@gnu.org>
 +      * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
  
 -      * keyboard.c (read_key_sequence): Set initial_idleness_start_time
 -      correctly.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
 -      (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
 -      (ccl_driver): Add cases for CCL_LookupIntConstTbl,
 -      CCL_LookupCharConstTbl.
 -      (syms_of_ccl): Defvar translation-hash-table-vector.
 +      * fontset.c (Fnew_fontset): Check NAME more rigidly.
  
 -2002-07-05  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xdisp.c: Remove unused variable `face'.
 +      * editfns.c (Fgoto_char): Fix docstring.
  
 -2002-07-04  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
 -      obsolescence information.
 +      * insdel.c (insert_from_gap): Adjust intervals correctly.
  
 -2002-07-03  Andrew Choi  <akochoi@shaw.ca>
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -      * macterm.c (x_list_fonts): Fix comment.  Cache fonts matching
 -      pattern.  Search cache first.
 -      (init_font_name_table): Also add entry for jisx0201.1976-0 coding
 -      for Japanese font.
 -      (XLoadQueryFont): Use it.
 +      * 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.
  
 -2002-07-02  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * keymap.c (Fdefine_key): Doc fix.
 +      * makefile.w32-in (temacs): Increase EMHEAP.
  
 -      * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
 +2008-02-01  Jason Rumney  <jasonr@gnu.org>
  
 -2002-07-02  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      * keymap.c (syms_of_keymap): Fix typo.
 +      * w32term.h: Declare x_get_font_repertory.
  
 -2002-07-01  Andrew Choi  <akochoi@shaw.ca>
 +      * 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.
  
 -      * s/darwin.h: Define POSIX_SIGNALS.
 +      * 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.
  
 -      * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
 -      and FSRefMakePath to convert FSSpec returned with Apple Event to
 -      Posix pathname.
 -      (mac_initialize) [TARGET_API_MAC_CARBON]:
 -      Call init_required_apple_events and disable the `Quit' menu item
 -      provided automatically by the Carbon Toolbox.
 +      * 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.
  
 -2002-07-01  Dave Love  <fx@gnu.org>
 +      * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
 +      encoding becomes encoding_type.
  
 -      * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
 -      for K&R.
 +      * term.c (terminal_encode_buffer): Make externally visible.
  
 -      * xterm.c: Fix prototype for K&R.
 +      * makefile.w32-in: Add character.h dependancies.
 +      (character.o, chartab.o): New targets.
  
 -      * term.c (costs_set): Declare static, non-initialized for pcc.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-07-01  Richard M. Stallman  <rms@gnu.org>
 +      * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
 +      CODING_ID_EOL_TYPE.
  
 -      * keyboard.c (timer_last_idleness_start_time): New variable.
 -      (timer_start_idle): Set that.
 -      (read_key_sequence): Use that to reset timer_idleness_start_time
 -      to previous value.
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -      * window.c (Frecenter): With arg, set optional_new_start.
 +      * coding.c (produce_chars): Revert last change.
  
 -      * xdisp.c (redisplay_internal): Make optional_new_start really work.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
 -      buffer for completion.
 +      * charset.h (charset_unicode): Extern it.
  
 -2002-06-29  Ken Raeburn  <raeburn@gnu.org>
 +      * 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.
  
 -      * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
 +      * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
  
 -2002-06-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * coding.c (Fdefine_coding_system_alias): Update
 +      Vcoding_system_list.
  
 -      * keyboard.c (readable_filtered_events): New function that filters
 -      FOCUS_IN_EVENT depending on parameter.
 -      (readable_events): Calls readable_filtered_events, not filtering
 -      FOCUS_IN_EVENT.
 -      (get_filtered_input_pending): New function, filtering parameter passed
 -      to readable_filtered_events.
 -      (get_input_pending): Calls get_filtered_input_pending, not filtering
 -      FOCUS_IN_EVENT.
 -      (Finput_pending_p): Calls get_filtered_input_pending, DO filter
 -      FOCUS_IN_EVENT.
 +      * fontset.c (load_font_get_repertory): Pay attention to the case
 +      that ENCODING of a font is specified by a char-table.
  
 -      * xterm.h (struct x_output): Add focus_state.
 +      * xterm.c (x_get_font_repertory): Handle the case that the
 +      encoding of font is other than Unicode.
  
 -      * xterm.c (x_focus_changed): New function.
 -      (x_detect_focus_change): New function.
 -      (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
 -      EnterNotify and LeaveNotify to track X focus changes.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-28  Andreas Schwab  <schwab@suse.de>
 +      * 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.
  
 -      * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-27  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * xdisp.c (mode_line_string_list, mode_line_string_face)
 -      (mode_line_string_face_prop): New variables.
 -      (store_mode_line_string): New function.
 -      (display_mode_element): Use store_mode_line_string to
 -      add mode-line string elements to mode_line_string_list
 -      when mode_line_string_list is non-nil.
 -      (Fformat_mode_line): Now returns propertized string by
 -      default.  New arg NO-PROPS to ignore properties.
 -      (decode_mode_spec): Only add two dashes for %- in propertized
 -      mode-line string.
 -      (syms_of_xdisp): Init and staticpro mode_line_string_list.
 +      * coding.c (consume_chars): If coding->src_object is nil, don't
 +      check annotation.
  
 -2002-06-27  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * minibuf.c (minibuffer_completion_contents): Add return type.
 +      * character.c (char_string): Use ASCII_CHAR_P instead of
 +      SINGLE_BYTE_CHAR_P.
  
 -2002-06-27  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
 +      * 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.
  
 -2002-06-26  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fileio.c (read_file_name_cleanup): Add missing return.
 +      * fns.c (concat): Don't change multibyteness of the result by
 +      concatenating an 8-bit character.
  
 -2002-06-26  Richard M. Stallman  <rms@gnu.org>
 +      * data.c (Faset): Check newelt by CHECK_CHARACTER.  Don't change
 +      multibyteness of the result when newelt is an 8-bit character.
  
 -      * window.c (Frecenter): Don't set force_start flag.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * minibuf.c (do_completion, Fminibuffer_complete_word)
 -      (Fminibuffer_completion_help): Complete just the text before point.
 -      (minibuffer_completion_contents): New function.
 +      * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
 +      EMACS_INT.
  
 -      * buffer.c (Fbury_buffer): Use frames_discard_buffer.
 +      * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
  
 -      * frame.c (frames_bury_buffer): Function deleted.
 +      * xfaces.c (face_numeric_value): Declare dim size_t.
 +      (Finternal_lisp_face_equal_p): Remove unused f.
  
 -2002-06-25  Miles Bader  <miles@gnu.org>
 +      * 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.
  
 -      * callint.c (Fcall_interactively): When checking to see if doprnt hit
 -      the end of callint_message, allow for a terminating '\0'.
 +      * regex.c (regex_compile): Remove unused var.
  
 -2002-06-24  Juanma Barranquero  <lektu@terra.es>
 +      * minibuf.c (Fminibuffer_complete_word): Remove unused var.
  
 -      * w32select.c: Include composite.h.
 +      * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
 +      (Faccessible_keymaps, where_is_internal): Remove unused vars.
  
 -      * w16select.c: Likewise.
 +      * keyboard.c (cancel_hourglass_unwind): Return Qnil.
  
 -2002-06-24  Kenichi Handa  <handa@etl.go.jp>
 +      * frame.c (frame_name_fnn_p): Make len EMACS_INT.
  
 -      * callproc.c (Fcall_process): If code detection is necessary,
 -      call detect_coding directly here.
 +      * fileio.c (Fwrite_region): Remove unused var.
  
 -      * coding.c (detect_eol): Preserve coding->cmp_data.
 +      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
 +      (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
  
 -      * w16select.c (Fw16_get_clipboard_data):
 -      * w32fns.c (w32_to_x_font):
 -      * w32select.c (Fw32_get_clipboard_data):
 -      * xselect.c (selection_data_to_lisp_data):
 -      * xterm.c (XTread_socket): Disable composition handling.
 +      * composite.c (Fremove_list_of_text_properties): Declare.
  
 -2002-06-24  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * print.c (temp_output_buffer_setup): Kill all local variables.
 +      * charset.c (syms_of_charset): Remove unused var p.
 +      (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
 +      byte/char counts.
  
 -2002-06-22  Stefan Monnier  <monnier@cs.yale.edu>
 +      * casetab.c (set_case_table): Remove unused var.
  
 -      * lread.c (Fread): Remove redundant and imprecise declaration.
 +      * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
 +      unused vars.
  
 -      * xfns.c (check_x_display_info): Use check_x_frame.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * .gdbinit (xprintsym): Use the new `xname' field.
 -      (xsymbol): Use it.
 +      * xterm.c (x_bitmap_mask): Declare.
  
 -2002-06-22  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * w32fns.c (file_dialog_callback): New function.
 -      (Fx_file_dialog): Allow selecting directories as well as files.
 +      * xterm.c (x_term_init): Fix type error.
  
 -2002-06-21  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * lisp.h: Add Funibyte_char_to_multibyte.
  
 -      * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
 -      OpenBSD.  Add support for mipseb-*-netbsd* machines.
 +      * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
 +      (Fset_coding_system_priority): Doc fix.
  
 -2002-06-17  Andrew Choi  <akochoi@shaw.ca>
 +      * ccl.c (ccl_driver): Fix arg of CHARACTERP.
  
 -      * macterm.c (mac_scroll_area): Set foreground and backcolor to
 -      black and white before scrolling.  Restore frame background and
 -      foreground color after scrolling.
 -      (do_window_update): Call XClearWindow before calling expose_frame.
 -      (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL of frame.
 +      * indent.c (check_composition): Make start and end EMACS_INT.
  
 -      * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
 -      test Mac command key as <ALT> key.
 +      * character.c (lisp_string_width): Make ignore and end EMACS_INT.
  
 -2002-06-17  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xdisp.c (handle_composition_prop, check_point_in_composition):
 +      Make buffer positions EMACS_INT.
  
 -      * window.c (Fset_window_configuration): Lisp_Object/int mixup.
 +      * composite.c (find_composition, run_composition_function)
 +      (update_compositions, Ffind_composition_internal): Make buffer
 +      positions EMACS_INT.
  
 -      * keyboard.c (read_key_sequence): Be more careful with first_unbound.
 -      Lookup keys in function-key-map immediately so that key-translation-map
 -      can be applied earlier.
 -      Remove function_key_possible and key_translation_possible, replaced
 -      by checking `keytran_start < t'.
 +      * composite.h (find_composition, update_compositions): Make
 +      position args EMACS_INT.
  
 -      * .gdbinit (xsymbol): Use the new `xname' field.
 +      * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
  
 -2002-06-17  Andrew Choi  <akochoi@shaw.ca>
 +      * intervals.c (get_property_and_range):
 +      * intervals.h (get_property_and_range): Make start and end EMACS_INT.
  
 -      * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
 -      test Mac command key as <ALT> key.
 +      * unexalpha.c: Don't include varargs.h.
  
 -      * mac.c (do_applescript): Call initialize_applescript if necessary
 -      when first called.  Dispose of result_desc only when there is no error.
 -      (Fdo_applescript): Use %d format specifier instead of %ld.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-06-16  Andrew Choi  <akochoi@shaw.ca>
 +      * coding.h (ENCODE_UTF_8): New.
  
 -      * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
 -      of FrontWindow for cases keyDown and autoKey.
 +      * Makefile.in (gtkutil.o): Depend on coding.h.
  
 -      * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
 -      Vdefault_fontset to Monaco with mac-roman coding.
 +      * coding.c (Fset_coding_system_priority): Doc fix.
  
 -      * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
 -      init_process before and after inclusion of Carbon/Carbon.h, resp.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
 -      cursor_gc.
 -      (add_font_name_table_entry): New function.
 -      (init_font_name_table): Use add_font_name_table_entry; add italic,
 -      bold, and bold-italic entries for truetype fonts.
 +      * fileio.c (Finsert_file_contents): Call setup_coding_system in
 +      the case of auto saving.
  
 -      * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
 -      for Mac too.
 -      (try_font_list) [MAC_OS]: If no font matches given registry, try
 -      fonts with any registry matching face_family.
 -      (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
 +2008-02-01  Andreas Schwab  <schwab@suse.de>
  
 -      * s/darwin.h: If autoconf detects the Ncurses library, define
 -      LIBS_TERMCAP to -lncurses to use it.
 +      * chartab.c (map_char_table, map_char_table_for_charset): Protect
 +      `range' from GC.
  
 -2002-06-16  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * strftime.c [__hpux]: Include sys/_mbstate_t.h.
 +      * coding.c (decode_coding_sjis): Check bytes more rigidly.
  
 -2002-06-15  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * window.c (Fset_window_configuration): Explicitly preserve
 -      the point value that new_current_buffer had at the start.
 +      * 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.
  
 -2002-06-14  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * composite.c (Fcompose_region_internal, Fcompose_string_internal):
 -      Fix typos.
 +      * charset.c (Fset_charset_priority): Pay attention to duplicated
 +      arguments.
  
 -2002-06-14  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * insdel.c (insert_1_both, insert_from_string_1)
 -      (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
 -      insert happened in the end_unchanged region.  Otherwise, the
 -      redisplay may be confused and duplicate the last line in the
 -      buffer [seen after save-buffer when require-final-newline==t].
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-13  Jason Rumney  <jasonr@gnu.org>
 +      * callproc.c (Fcall_process): Handle carryover correctly.
  
 -      * w32.c (init_environment): Remove EMACSLOCKDIR.
 -      (stat): Swap _S_IFDIR and _S_IFREG.
 +      * 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.
  
 -2002-06-13  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * process.c (read_process_output): Handle carryover correctly.
  
 -      * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
 -      * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
 -      * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
 -      ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
 -      to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
 -      NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
 -      to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
 -      language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
 -      to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
 -      W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
 -      SELECTION_REQUEST_EVENT, selection_clear_event to
 -      SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
 -      delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
 -      ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
 -      menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
 -      DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
 -      no_event to NO_EVENT.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-06-12  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * regex.c (re_search_2): Fix last change.
  
 -      * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-12  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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 vaiable 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.
  
 -      * intervals.c (textget): Don't forget to `return'.
 -      (lookup_char_property): Use XCAR/XCDR.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-12  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      * xdisp.c (Fformat_mode_line): Fix typo.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-12  Kim F. Storm  <storm@cua.dk>
 +      * fileio.c (Finsert_file_contents): On replacing, before decoding
 +      the file into the work buffer, set point of the work buffer to the end.
  
 -      * xdisp.c (Fformat_mode_line): New function.
 -      (frame_title_buf, frame_title_buf_end, frame_title_ptr)
 -      (store_frame_title_char, store_frame_title): Use unconditionally.
 -      (init_xdisp): Defsubr Fformat_mode_line.
 -      Initialize frame_title_buf etc. unconditionally.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-06-11  Stefan Monnier  <monnier@cs.yale.edu>
 +      * coding.c (Fcheck_coding_systems_region): Fix type errors.
  
 -      * keyboard.c (read_key_sequence):
 -      Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
 -      things through those maps after downcasing events.
 -      Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
 -      applies after function-key-map.
 -      Make sure that keytran can be done in the middle in the sequence.
 -      Be careful not to throw away events past the one we downcase.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * lread.c (read_integer): Remove unused var `tem'.
 -      (read1): Fix int/Lisp_Object mixup.
 +      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 +      and fix C types.
  
 -      * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-11  Richard M. Stallman  <rms@gnu.org>
 +      * xdisp.c (SKIP_GLYPHS): New macro.
 +      (set_cursor_from_row): Pay attention to string display properties.
  
 -      * keyboard.c (readable_events): Ignore any number of
 -      FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
 +      * category.c (copy_category_entry): Fix for the case that RANGE
 +      is an integer.
  
 -2002-06-09  Miles Bader  <miles@gnu.org>
 +      * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
  
 -      * xfaces.c (Ftty_supports_face_attributes_p): New function.
 -      (parse_rgb_list, tty_lookup_color): New functions.
 -      (tty_defined_color): Use `tty_lookup_color' to do all the work.
 -      (color_distance, Fcolor_distance): New functions.
 -      (TTY_SAME_COLOR_THRESHOLD): New macro.
 -      (Qtty_color_standard_values): New variable.
 -      (syms_of_xfaces): Initialize new vars & functions.
 +      * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
  
 -2002-06-08  Colin Walters  <walters@verbum.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * textprop.c (Vchar_property_alias_alist): New variable.
 -      (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
 +      * charset.c (Fcharset_id_internal): New function.
 +      (syms_of_charset): Defsubr it.
  
 -      * intervals.c (lookup_char_property): New function for looking up
 -      overlay and text properties, created from textget.
 -      (textget): Use 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.
  
 -      * intervals.h (lookup_char_property): Declare.
 -      (Vchar_property_alias_alist): Declare.
 +      * coding.h (enum define_coding_ccl_arg_index): Set the first
 +      member coding_arg_ccl_decoder to coding_arg_max.
  
 -      * buffer.c (Foverlay_get): Use lookup_char_property.
 +      * ccl.h (ccl_driver): Adjust prototype.
  
 -2002-06-07  Sam Steingold  <sds@gnu.org>
 +      * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
 +      (ccl_driver): New arg CHARSET_LIST.  Use the above macros instead
 +      of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
 +      (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
 +      last arg Qnil.
  
 -      * xselect.c (lisp_data_to_selection_data): Fix last change:
 -      *data_ret is not a Lisp string, while unibyte_string is.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-07  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
 +      call encode_char.
  
 -      * xselect.c (lisp_data_to_selection_data): Fix last change:
 -      set size_ret.
 +      * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
  
 -2002-06-07  Andreas Schwab  <schwab@suse.de>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * m/amdx86-64.h: New file.
 +      * composite.c (syms_of_composite): Make composition_hash_table weak.
  
 -2002-06-05  Eli Zaretskii  <eliz@is.elta.co.il>
 +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.
  
 -      * fns.c (Fstring_make_unibyte): Doc fix.
 +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.
  
 -      * xselect.c (lisp_data_to_selection_data): If the requested type
 -       is STRING, call string_make_unibyte to encode the selected text
 -       as a string.
 +      * coding.h (struct coding_detection_info): New structure.
 +      (struct coding_system): Adjust prototype of the member `detector'.
 +      (CODING_ANNOTATE_CHARSET_MASK): New macro.
  
 -      * window.c (Fset_window_hscroll): Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-05  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * insdel.c (insert_from_gap): Fix argument to offset_intervals.
  
 -      * fileio.c (choose_write_coding_system):
 -      Call select-safe-coding-system properly.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-06-03  Richard M. Stallman  <rms@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.
  
 -      * xdisp.c (message_with_string): Error if STRING is not a string.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
 +      * charset.c (Fdefine_charset_internal): Setup charset.fast_map
 +      correctly.
  
 -      * fileio.c (choose_write_coding_system): Pass FILE arg to
 -      Vselect_safe_coding_system_function.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-06-03  Ken Raeburn  <raeburn@gnu.org>
 +      * fns.c (Flanginfo): Call synchronize_system_time_locale.
  
 -      * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-06-02  Thien-Thi Nguyen  <ttn@gnu.org>
 +      The following changes are to make character composition happen
 +      automatically on displaying.
  
 -      * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
 -      * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
 -      * keymap.c (describe_command): Likewise.
 -      * minibuf.c (read_minibuf): Likewise.
 +      * Makefile.in (lisp, shortlisp): Add composite.elc
  
 -      * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
 -      Cast `current_column' return value to int.
 -      (back_to_previous_visible_line_start)
 -      (reseat_at_next_visible_line_start, next_element_from_buffer):
 -      Cast `indented_beyond_p' 3rd arg to float.
 +      * composite.h (Qauto_composed, Vauto_composition_function)
 +      (Qauto_composition_function): Extern them.
  
 -      * indent.c (last_known_column): Now a float.
 -      (current_column_1, position_indentation, current_column)
 -      (string_display_width): Return float.
 -      (Fcurrent_column): Cast `current_column' return value to int.
 -      (Fcurrent_indentation): Cast `position_indentation' retval to int.
 -      (indented_beyond_p): Third arg now a float.
 -      (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
 +      * 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.
  
 -      * lisp.h (current_column): Now returns float.
 -      (indented_beyond_p): 3rd arg now a float.
 +      * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
  
 -2002-05-31  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * xdisp.c (it_props): Add an entry for Qauto_composed.
 +      (handle_auto_composed_prop): New function.
  
 -      * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
 -      is Qcompound_text_with_extensions.
 +      * xselect.c (selection_data_to_lisp_data): Don't call
 +      compose_chars_in_text.
  
 -      * xselect.c (lisp_data_to_selection_data): Always set selection
 -      type as string if x_encode_text returns streingp non-NULL.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * s/netbsd.h: Include /usr/pkg in the run time shared library path.
 +      * keyboard.c (read_char): Modify checking around use of
 +      Vkeyboard_translate_table.
  
 -2002-05-30  Richard M. Stallman  <rms@gnu.org>
 +      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 +      and fix C types.
  
 -      * window.c (Fset_window_configuration): Correct the handling
 -      of point in current buffer, to work with multiple windows.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-29  Colin Walters  <walters@verbum.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.
  
 -      * lread.c (Fread_from_string): Don't depend on order of evaluation
 -      for C function parameters.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-05-28  Richard M. Stallman  <rms@gnu.org>
 +      * xterm.c (XTread_socket): Fix changes for defined keysyms.  Add
 +      XK_ISO... case.
 +      (xaw_scroll_callback): Revert last change.
  
 -      * xterm.c (x_display_and_set_cursor): Change the cursor in the same
 -      way for blinked-off state and for a nonselected window.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * window.c (window_scroll_pixel_based): Don't call Fbolp;
 -      instead, see if the new start pos is at beginning of line.
 +      * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
  
 -      * fileio.c (Fwrite_region): If START is a string, don't
 -      make any annotations.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * eval.c (syms_of_eval): Doc fix.
 +      * 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.
  
 -2002-05-28  Colin Walters  <walters@debian.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * emacs.c (USAGE1): Add --no-splash.
 -      (standard_args): Ditto.
 +      * xterm.c (xaw_scroll_callback): Cast correctly.
  
 -2002-05-28  Colin Walters  <walters@gnu.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * lread.c (readchar_count): New variable.
 -      (readchar): Increment it.
 -      (unreadchar): Decrement it.
 -      (read_multibyte): Decrement it.
 -      (Vread_with_symbol_positions): New variable.
 -      (Vread_symbol_positions_list): New variable.
 -      (read_internal_start): New function, created from Fread and
 -      Fread_from_string.  Handle Vread_symbol_positions_list and
 -      Vread_with_symbol_positions.
 -      (readevalloop, Fread, Fread_from_string): Use it.
 -      (read1): Use readchar_count to add symbol positions to
 -      Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
 -      (syms_of_lread): DEFVAR_LISP and initialize them.
 +      * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
 +      (lispy_kana_keys): Comment out.
 +      (make_lispy_event) [XK_kana_A]: Comment out.
  
 -      * lread.c (read0, read1, read_list, read_vector, read_multibyte)
 -      (substitute_object_recurse, substitute_object_in_subtree)
 -      (substitute_in_interval): Prototype.
 -      (read_multibyte): Return c if it's less than zero.
 +      * 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.
  
 -2002-05-28  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * fileio.c (Fread_file_name_internal): Added brute-force
 -      speed up for using predicate file-directory-p.
 +      * 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.
  
 -2002-05-28  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
 -      New variables.
 -      (syms_of_fileio): DEFVAR_LISP them.
 -      (read_file_name_cleanup): New unwind function.
 -      (Fread_file_name_internal): Only return completions satifying
 -      Vread_file_name_predicate.  Temporarily unwind protect and rebind
 -      default-directory while checking completions against the predicate.
 -      (Fread_file_name): Added PREDICATE argument.  Specbind it to
 -      Vread_file_name_predicate during completion.
 -      Call Vread_file_name_function to read the file name if non-nil.
 +      * coding.c (detect_coding_charset): If only ASCII bytes are found,
 +      return 0.
 +      (Fdefine_coding_system_internal): Setup
 +      CODING_ATTR_ASCII_COMPAT (attrs) correctly.
  
 -      * lisp.h (Fread_file_name): Now has 6 args.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
 -      predicate for Fread_file_name when reading directory name.
 -      Supply Qnil for predicate in other calls to Fread_file_name.
 +      * coding.c (Fcheck_coding_system): Doc fix.
  
 -2002-05-26  Miles Bader  <miles@gnu.org>
 +      * editfns.c (Finsert_byte): Return a proper value.
  
 -      * term.c (tty_capable_p): New function.
 -      * dispextern.h (tty_capable_p): New function declaration.
 -      (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
 -      (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-23  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
 -      (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
 -      (Vwrite_region_annotate_functions): Docstring fix.
 +      * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
 +      SINGLE_BYTE_CHAR_P.
  
 -2002-05-23  Kim F. Storm  <storm@cua.dk>
 +      * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
 +      not by SINGLE_BYTE_CHAR_P.
  
 -      * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
 -      phys_cursor's hpos is overwritten.  This is still not completely
 -      correct, as it doesn't really make sense to use hpos at all to
 -      get the cursor glyph (as that is relative to the width of the
 -      characters on the line, which may have changed during the update).
 +      * fns.c (concat): Check CH by ASCII_CHAR_P, not by
 +      SINGLE_BYTE_CHAR_P.
  
 -2002-05-22  Jason Rumney  <jasonr@gnu.org>
 +      * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
 +      SINGLE_BYTE_CHAR_P.
  
 -      * w32fns.c (enumfont_t): Remove tail, make pattern a normal
 -      Lisp_Object.
 -      (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
 -      Use modified enumfont_t struct.
 +      * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
 +      by SINGLE_BYTE_CHAR_P.
  
 -      * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
 +      * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
 +      SINGLE_BYTE_CHAR_P.
  
 -      * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
 -      Handle the `hbar' cursor type.
 -      (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * w32fns.c (Qhbar): New variable.
 -      (x_specified_cursor_type): Use it.
 +      * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
  
 -2002-05-21  Ken Raeburn  <raeburn@gnu.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
 -      now, when the address is needed.
 +      * fns.c (Flanginfo): Fix typo.
  
 -2002-05-21  Colin Walters  <walters@gnu.org>
 +      * unexelf.c (unexec): Make last change conditional on Irix 6.5.
  
 -      * Makefile.in (shortlisp): Add font-core.el.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-20  Richard M. Stallman  <rms@gnu.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.
  
 -      * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (read_char_minibuf_menu_prompt): Don't list
 -      equivalent key bindings here.
 +      * character.c (char_string): Rename from
 +      char_string_with_unification.  Pay attention to CHAR_MODIFIER_MASK.
 +      (string_char): Rename from string_char.
  
 -2002-05-20  Ken Raeburn  <raeburn@gnu.org>
 +      * 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.
  
 -      Change symbol structure to contain a lisp object for the symbol
 -      name:
 -      * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
 -      object field named "xname".
 -      (SYMBOL_NAME): New macro.
 -      * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
 -      name field.
 -      * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
 -      (mark_object, gc_sweep): Use symbol xname field and XSTRING
 -      instead of name field.
 -      * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
 -      SYMBOL_NAME instead of XSYMBOL and name field.
 -      * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
 -      instead of XSYMBOL and name field.
 -      * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
 -      and SYMBOL_NAME instead of XSYMBOL and name field.
 -      * coding.c (Fread_coding_system, code_convert_region1)
 -      (code_convert_string1, code_convert_string_norecord)
 -      (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
 -      XSYMBOL and name field.
 -      * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
 -      (Fmake_variable_buffer_local, Fmake_local_variable)
 -      (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
 -      of XSYMBOL and name field.
 -      * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
 -      XSYMBOL and name field.
 -      * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
 -      instead of XSYMBOL and name field.
 -      * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
 -      XSYMBOL and name field.
 -      * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
 -      Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
 -      * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
 -      instead of XSYMBOL and name field.
 -      * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
 -      (parse_modifiers, apply_modifiers, Fevent_convert_list)
 -      (parse_solitary_modifier, Fexecute_extended_command):
 -      Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
 -      * keymap.c (silly_event_symbol_error, Fsingle_key_description)
 -      (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
 -      of XSYMBOL and name field.
 -      (describe_command, describe_translation): Use SYMBOL_NAME and
 -      assignment instead of XSYMBOL and name field and XSETSTRING.
 -      * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
 -      instead of XSYMBOL and name field.
 -      (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
 -      name field and XSETSTRING.
 -      * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
 -      of XSYMBOL and name field.
 -      * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
 -      assignment instead of XSYMBOL and name field and XSETSTRING.
 -      * print.c (print_error_message, print_object): Use SYMBOL_NAME and
 -      XSTRING instead of XSYMBOL and name field.
 -      * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
 -      and XSTRING instead of XSYMBOL and name field.
 -      * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
 -      and XSTRING instead of XSYMBOL and name field.
 -      * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
 -      XSTRING instead of XSYMBOL and name field.
 -      * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
 -      of XSYMBOL and name field.
 -      * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
 -      Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-05-19  Ken Raeburn  <raeburn@gnu.org>
 -
 -      * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
 -      and XCDR real rvalues in most configurations.
 +      * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
  
 -      * buffer.c (fix_overlays_in_range, fix_overlays_before):
 -      Don't take the address of the cdr part of a cons cell; instead, track
 -      the parent cell and call XSETCDR, or set the variable for the head
 -      of the list if we haven't started down the list yet.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-19  Richard M. Stallman  <rms@gnu.org>
 +      * keymap.c (push_key_description): Pay attention to force_multibyte.
  
 -      * doc.c (reread_doc_file): Don't ask for confirmation.
 +      * regex.c (re_search_2): Fix for the case of unibyte buffer.
  
 -2002-05-18  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
 -      (xbm_load_image): Use it.
 -      (xbm_load): Ditto.
 -      (xbm_read_bitmap_data): Reverted to xfns.c version.
 -      From David Ponce <david@dponce.com>.
 +      * charset.c (define_charset_internal): Rename `supprementary'.
  
 -2002-05-17  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * Makefile.in (lisp, shortlisp): Remove latin-N.
  
 -      * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
 -      2.02 and later.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-05-16  Juanma Barranquero  <lektu@terra.es>
 +      * xfns.c (x_window, x_window): Use use_xim.
  
 -      * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
 +      * xterm.c (use_xim): Initialize.
 +      (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
 +      (x_term_init): Maybe set use_xim.
  
 -2002-05-15  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
  
 -      * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
 -      meaningful test.
 -      (read_char_minibuf_menu_prompt): Fix typo.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-15  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * search.c (search_buffer): Fix case-fold-search of multibyte
 +      characters.
 +      (boyer_moore): Rename the last argument to char_high_bits.
  
 -      * eval.c (Fcommandp): Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-13  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xdisp.c (display_string): Fix for the case of zero width glyph.
  
 -      * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
 -      (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
 -      (Fset_keymap_parent): Gcpro a bit more.
 -      (access_keymap): Gcpro around meta_map call and around the main loop.
 -      (get_keyelt): Gcpro when following indirect references.
 -      (copy_keymap_item): New fun, extracted from Fcopy_keymap.
 -      (copy_keymap_1, Fcopy_keymap): Use it.  Don't copy the parent map.
 -      (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
 -      Remove useless ad-hoc remap code.
 +      * xfns.c (x_set_font): Change the error message of the case that
 +      x_new_fontset returns Qt.
  
 -2002-05-13  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * search.c (search_buffer): Give up boyer moore search if inverse
 -      translation change charset_base.
 +      * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
 +      fontset, return Qt.
  
 -2002-05-12  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
 -      characters is carried over from the previous block of text, adjust
 -      coding->produced to account for the extra character.
 +      * unexelf.c (unexec): Make .got handling not SGI-specific.
  
 -2002-05-11  Andreas Schwab  <schwab@suse.de>
 +      * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
  
 -      * coding.c (intersection): Keep the elements of the returned list
 -      in the same order as in the first list.
 +      * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
  
 -2002-05-11  Kim F. Storm  <storm@cua.dk>
 +      * keyboard.c (read_key_sequence): Fix type error.
  
 -      * keymap.c (current_minor_maps): Fix resizing of cmm_maps;
 -      only update cmm_size if realloc actually succeeds.
 -      Testing with initial size of 2 elements revealed that using
 -      realloc on GNU/Linux would cause a random trap in xmalloc
 -      later on, so I rewrote the code to use malloc/bcopy/free instead
 -      of realloc.
 +      * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
 +      type error.
  
 -2002-05-10  Jason Rumney  <jasonr@gnu.org>
 +      * fontset.c (fontset_add): Return Lisp_Object.
  
 -      * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-05-10  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * charset.h (charset_ordered_list_tick): Declare extern.
  
 -      * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
 -      parens, to ensure correct evaluation order.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-10  Kim F. Storm  <storm@cua.dk>
 +      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.
  
 -      * keymap.c (Vemulation_mode_map_alists): New variable.
 -      (syms_of_keymap): DEFVAR_LISP it.
 -      (current_minor_maps): Process keymap alists in that list before
 -      minor-mode-overriding-map-alist and minor-mode-map-alist.
 +      * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
 +      multibyte if necessary.
  
 -2002-05-09  Richard M. Stallman  <rms@gnu.org>
 +      * bytecode.c (Fbyte_code): Likewise.
  
 -      * search.c (Freplace_match): Doc fix.
 +      * 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, singals 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.
  
 -2002-05-09  Kim F. Storm  <storm@cua.dk>
 +      * dispextern.h (enum lface_attribute_index): New member
 +      LFACE_FONTSET_INDEX.
  
 -      * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
 -      Enlarge cursor rectangle drawn around image with non-zero relief.
 +      * fns.c (base64_encode_1): Handle eight-bit chars correctly.
  
 -      * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
 -      Enlarge cursor rectangle drawn around image with non-zero relief.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
 -      Enlarge cursor rectangle drawn around image with non-zero relief.
 +      * 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.
  
 -2002-05-07  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * insdel.c (insert_from_gap): Make it work even if PT != GTP.
  
 -      * xselect.c (lisp_data_to_selection_data): Don't set selection
 -      type if comes from the Lisp object's car.  If the selection
 -      contains a pure ASCII text, always return QSTRING as its type.
 +      * character.h (BYTE8_STRING): New macro.
  
 -2002-05-06  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * fns.c (base64_decode_1): Insert eight-bit chars correctly.
  
 -      * mac.c (mac-cut-function): Doc fix.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-05-05  Richard M. Stallman  <rms@gnu.org>
 +      * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
 +      characters by octal form.
  
 -      * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
 +      * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
  
 -2002-05-04  Jason Rumney  <jasonr@gnu.org>
 +      * 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.
  
 -      * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
 -      for event-click-count.
 +      * casetab.c (set_canon, set_identity, shuffle): Simplify.
  
 -      * process.c (init_process): Only add server subfeature if we can
 -      use non-blocking I/O.
 +      * casefiddle.c (casify_object): Simplify.  Handle the case that
 +      the case conversion change the byte length.
 +      (casify_region): Likewise.
  
 -2002-05-04  Andrew Choi  <akochoi@shaw.ca>
 +      * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
  
 -      * macterm.c (XTread_socket): Call WaitNextEvent once instead of
 -      repeatedly.
 +      * character.c (_fetch_multibyte_char_len): Delet this variable.
 +      (syms_of_character): Setup Vprintable_chars.
  
 -2002-05-03  Jason Rumney  <jasonr@gnu.org>
 +      * editfns.c (Fchar_equal): Fix for the unibyte case.
 +      (Finsert_byte): New function.
 +      (syms_of_editfns): Defsubr it.
  
 -      * process.c (Fmake_network_process): Only support server sockets
 -      when we can make them non-blocking.
 +      * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
 +      of direct code 0x3ffff.
  
 -      * s/ms-w32.h (HAVE_SELECT): Define.
 +      * search.c (Freplace_match): Fix for the unibyte case.
  
 -      * w32.h (FILE_NDELAY): New flag.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32.c (sys_getpeername, fcntl): New functions.
 -      (_sys_read_ahead): Temporarily block on non-blocking sockets.
 +      * lread.c (safe_to_load_p): Fix the logic.
  
 -      * w32proc.c: Include sys/file.h.
 +      * syntax.c (scan_words): Don't treat characters belonging to
 +      different scripts as constituting a word.
  
 -2002-05-03  Colin Walters  <walters@verbum.org>
 +      * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
  
 -      * callproc.c (Vgame_score_directory): Renamed to
 -      Vshared_game_score_directory.
 +      * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
  
 -2002-04-30  Richard M. Stallman  <rms@gnu.org>
 +      * emacs.c (main): In the case of --unibyte, instead of aborting on
 +      finding non-empty buffer, make it unibyte.
  
 -      * s/gnu.h [emacs]: Include stdio.h.
 -      (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * eval.c (do_autoload): Error if called while preparing to dump.
 +      * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
 +      to create a fontset.
  
 -      * fns.c (Frequire): Error if need to load while preparing to dump.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-04-28  Colin Walters  <walters@verbum.org>
 +      * character.c (Funibyte_char_to_multibyte): Doc fix.
  
 -      * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
 -      Default to "~/.emacs.d/games".
 +      * xfns.c [HAVE_STDLIB_H]: Fix last change.
  
 -2002-04-29  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * lread.c (openp): Change arg exec_only to predicate.
 -      (build_load_history): Use XCAR/XCDR.
 -      (Flocate_file_internal): New fun.
 -      (syms_of_lread): Defsubr it.
 -      (Fload): Update call to openp.
 +      * fontset.c (fontset_add): Make the type `int'.
 +      (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
  
 -      * lisp.h (openp): Update prototype.
 +      * character.c (unibyte_char_to_multibyte)
 +      (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
 +      charset_unibyte, not charset_primary.
  
 -      * xfns.c (x_create_bitmap_from_file, x_find_image_file):
 -      * w32proc.c (sys_spawnve):
 -      * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
 -      * w32.c (check_windows_init_file):
 -      * sound.c (Fplay_sound_internal):
 -      * process.c (Fstart_process):
 -      * macfns.c (x_create_bitmap_from_file, x_find_image_file):
 -      * mac.c (run_mac_command):
 -      * emacs.c (init_cmdargs):
 -      * callproc.c (Fcall_process): Update call to openp.
 +      * charset.h (charset_unibyte): Extern it instead of charset_primary.
  
 -      * textprop.c (remove_properties): Don't use XCAR without CONSP.
 +      * 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.
  
 -      * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
 +      * 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.
  
 -2002-04-29  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
 +      Delete extern.
  
 -      * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
 -      (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-04-28  Richard M. Stallman  <rms@gnu.org>
 +      * coding.c (Fdefine_coding_system_internal): Fix category setting
 +      for a coding system of type iso-2022.
  
 -      * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * eval.c (Fcommandp): New arg for_call_interactively.
 -      * lisp.h (Fcommandp): Declare new arg.
 +      * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
  
 -2002-04-28  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32proc.c (syms_of_w32proc): Get true file attributes by default.
 +      * 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.
  
 -      * w32.c (stat, fstat): Use file index information to generate
 -      inodes for directories where available.
 +      * xterm.c (x_load_font): Initialize fontp->fontset to -1.
  
 -2002-04-26  Andrew Choi  <akochoi@shaw.ca>
 +      * fontset.c (fs_load_font): If fontp->charset is not negative,
 +      return fontp without setting its members.
  
 -      * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
 -      [HAVE_CARBON]: Include Mac object files.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
 -      fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
 -      termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
 -      MAC_OSX, and MAC_OS instead of macintosh.
 +      * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
  
 -      * editfns.c [MAC_OS8]: Include stdio.h.
 +      * m/sparc.h (HAVE_ALLOCA): Delete.
  
 -      * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
 +      * s/irix6-5.h: Don't include strings.h.
 +      (bcopy, bzero, bcmp): Don't undef.
  
 -      * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
 -      Apple Monaco.
 +      * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
  
 -      * process.c (QCfamily, QCfilte): Declare extern.
 -      (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
 -      calling select.
 +      * s/usg5-4.h (NO_SIOCTL_H): Don't define.
 +      (TIOCSIGSEND): Don't test IRIX6.
 +      (bcopy, bzero, bcmp): Define conditionally.
  
 -      * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * tparam.c [MAC_OSX]: Don't define BC and UP.
 +      * 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.
  
 -      * config.in [HAVE_CARBON]: Add.
 +      * callproc.c (Fcall_process): Don't call insert_1_both directly if
 +      we are inserting a process output into a multibyte buffer.
  
 -      * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
 -      Move here from mac/src and mac/inc.
 +      * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
 +      multibyte_char_to_unibyte.
  
 -      * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
 +      * 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.
  
 -2002-04-26  Gerd Moellmann  <gerd@gnu.org>
 +      * 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.
  
 -      * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
 -      Compute phys_cursor_width from the x position returned
 -      by x_draw_glyhs, which is cheaper.
 -      (x_display_and_set_cursor): Compute the buffer-local value
 -      of `cursor-in-non-selected-windows' only when needed.
 +      * charset.h (charset_8_bit): Extern it.
  
 -2002-04-25  Gerd Moellmann  <gerd@gnu.org>
 +      * coding.c (make_conversion_work_buffer): Adjust for the change
 +      of Fset_buffer_multibyte.
 +      (encode_coding_raw_text): Increment p0 in the loop.
  
 -      * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
 -      cursor on a stretch glyph has a width that depends on
 -      x_stretch_cursor_p.
 +      * lisp.h (Fset_buffer_multibyte): Adjust prototype.
  
 -2002-04-25  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
 +      for the change of Fset_buffer_multibyte.
  
 -      * abbrev.c (abbrev-start-location): Doc fix.
 +      * fns.c (Fstring_to_multibyte): New function.
 +      (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
  
 -      * indent.c (Fvertical_motion): Fix last change.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-04-25  Gerd Moellmann  <gerd@gnu.org>
 +      * xfns.c (x_put_x_image): Declare args.
  
 -      * indent.c (Fvertical_motion): Move to the start of the line
 -      containing PT before moving up or down.
 +      * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
 +      (try_font_list): Declare an arg.
  
 -2002-04-24  Gerd Moellmann  <gerd@gnu.org>
 +      * xdisp.c (message2_nolog, set_message): Declare an arg.
  
 -      * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
 -      case of writing a whole row, more or less analogous to the case of
 -      writing only parts of a row.
 +      * terminfo.c (tparam): Declare an arg.  Use P_ to declare tparm.
  
 -      * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
 -      0 for NO_CURSOR.
 +      * syntax.c (scan_sexps_forward): Declare an arg.
  
 -      * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
 +      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 +      Declare an arg.
  
 -2002-04-23  Colin Walters  <walters@verbum.org>
 +      * lisp.h (Fnew_fontset): Declare.
  
 -      * buffer.c (syms_of_buffer): Doc fix.
 +      * keymap.c (push_key_description): Call CHARACTERP correctly.
  
 -2002-04-23  Gerd Moellmann  <gerd@gnu.org>
 +      * fontset.c (fontset_add): Declare args.  Call make_number correctly.
 +      (face_for_char): Delete unused vars.
 +      (Fset_fontset_font): Doc fix.  Delete unused vars.
  
 -      * xterm.c (notice_overwritten_cursor): Handle the special case
 -      of the cursor being in the first blank non-text line at the
 -      end of a window.
 +      * doc.c (Fsubstitute_command_keys): Delete unused vars.
  
 -      * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
 -      (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
 -      (x_display_and_set_cursor): Don't set phys_cursor_width here, for
 -      bar cursors only, to make phys_cursor_width contain what its name
 -      suggests.
 -      (notice_overwritten_cursor): Consider the cursor image erased if
 -      the output area intersects the cursor image in y-direction.
 +      * composite.c (update_compositions): Declare arg.
  
 -2002-04-23  Simon Marshall  <simon@gnu.org>
 +      * cm.c (calccost, cmgoto): Declare args.
  
 -      * xfns.c (x_set_mouse_color): Change default for cross_cursor
 -      to XC_hand2.
 +      * charset.c: Remove `emacs' conditional.  Doc fixes.
 +      (map_char_table_for_charset): Declare.
  
 -2002-04-23  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * character.c (syms_of_character) <translation-table-vector>: Doc fix.
  
 -      * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
 +      * ccl.c: Remove `emacs' conditional.
  
 -2002-04-22  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * textprop.c (remove_properties): Fixed trap for malformed plist.
 +      The following changes are to allow specifying multiple font
 +      patterns for a character range (specified by script or charset).
  
 -2002-04-22  Richard M. Stallman  <rms@gnu.org>
 +      * Makefile.in (abbrev.o): Depend on syntax.h.
 +      (xfaces.o): Depend on charset.h.
  
 -      * cmds.c (Fend_of_line): Handle intangible text in mid line.
 +      * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
 +      SINGLE_BYTE_CHAR_P.
  
 -      * window.c (make_window): Initialize height_fixed_p,
 -      last_cursor_off_p, and p->cursor_off_p slots.
 +      * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
  
 -2002-04-20  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * character.h (Vchar_script_table): Extern it.
  
 -      * fns.c (use-dialog-box): Doc fix.
 +      * 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.
  
 -2002-04-19  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * chartab.c (Fmake_char_table): Doc fix.  If PURPOSE doesn't
 +      have property char-table-extra-slots, make no extra slot.
  
 -      * xterm.c (note_mode_line_or_margin_highlight): Remove unused
 -      variables `row', `i' and `area'.
 -      (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
 -      toolkit library.
 +      * 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 extention ".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 arguemnts 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.
  
 -2002-04-19  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * xfaces.c (clear_font_table): Don't free the default font of
 -      a frame even if it's on another display.
 -      (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
 -      that could be Qt.
 +      * print.c (print_object): Use octal form for printing the
 +      contents of a bool vector.
  
 -2002-04-19  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * indent.c (Fmove_to_column): Remove unused local variable
 -      `next_boundary_byte'.
 -      (current_column_1): Likewise.
 +      * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
 +      <version == 20>: Refuse to load.
  
 -2002-04-19  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * msdos.c (Qhbar): New variable.
 -      (syms_of_msdos): Intern and staticpro it.
 -      (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
 -      cursor type.
 +      * fns.c: Move coding.h.
 +      (Qcodeset, Qdays, Qmonths): New.
 +      (concat): Use CHARACTERP instead of INTERGERP.
 +      (Flocale_codeset): Delete.
 +      (Flanginfo): New function.
 +      (syms_of_fns): Change accordingly.
  
 -2002-04-19  Dave Lambert  <dlambert@acm.org>
 +      * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
  
 -      Theses change implement an underscore-like (`hbar') cursor.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
 +      * casetab.c (init_casetab_once, init_casetab_once): Fix
 +      CHAR_TABLE_SET call.
  
 -      * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
 -      Handle the `hbar' cursor type.
 -      (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
 +      * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
  
 -      * xfns.c (Qhbar): New variable.
 -      (syms_of_xfns): Intern and staticpro it.
 -      (x_specified_cursor_type): Handle `hbar' cursor.
 +      * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
  
 -      * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
 -      not defined.
 +      * 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.
  
 -2002-04-18  Richard M. Stallman  <rms@gnu.org>
 +      * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
  
 -      * textprop.c (remove_properties): New arg LIST allows scanning
 -      either a list or a plist.
 -      (interval_has_some_properties_list): New function, like
 -      interval_has_some_properties using list instead of plist.
 -      All callers changed.
 -      (Fremove_list_of_text_properties): New function.
 -      (syms_of_textprop): Defsubr it.
 +      * 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.
  
 -2002-04-17  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * coding.h (code_convert_region): Fix prototype.
  
 -      * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
 +      * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
  
 -2002-04-17  Juanma Barranquero  <lektu@terra.es>
 +      * fontset.c (fontset_ref, fontset_set, fs_load_font)
 +      (Ffontset_info): Convert Lisp types.
  
 -      * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
 +      * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
  
 -2002-04-17  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
  
 -      * window.c (coordinates_in_window): Don't report on margin area
 -      if its width is zero.
 +      * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
  
 -2002-04-16  Jason Rumney  <jasonr@gnu.org>
 +      * chartab.c: Include "...h", not <...h> in some cases.
  
 -      * w32fns.c (Fx_file_dialog): Decode file name before using.
 +      * callproc.c (Fcall_process): Remove unused variables.
  
 -      * w32term.c (construct_drag_n_drop): Likewise.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-04-16  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * coding.c (Fset_coding_system_priority): Allow null arg list.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
 -      store load-history in pure space.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
 +      * minibuf.c (Fminibuffer_complete_word): Remove unused var.
 +      (Fself_insert_and_exit): Use CHARACTERP.
  
 -2002-04-16  Stefan Monnier  <monnier@cs.yale.edu>
 +      * callproc.c (Fcall_process): Remove unused vars.
  
 -      * xterm.c (Qlatin_1, Qutf_8): New vars.
 -      (syms_of_xterm): Initialize them.
 -      (XTread_socket): Eliminate incorrect optimization that tried to avoid
 -      decoding the output of X*LookupString.
 -      Always use latin-1 to decode the output of XLookupString.
 -      Try Xutf8LookupString if XmbLookupString failed.
 +      * xterm.c (XTread_socket): Add extra dead keysyms.
  
 -      * region-cache.c (new_region_cache): Use BEG.
 +      * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
  
 -2002-04-16  Gerd Moellmann  <gerd@gnu.org>
 +      * dispextern.h: Remove prototypes for redraw_frame,
 +      redraw_garbaged_frames.
  
 -      * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
 -      configuration files.
 -      (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
 -      returns 0.
 +      * cmds.c (Fself_insert_command): Use CHARACTERP.
  
 -2002-04-15  Andreas Schwab  <schwab@suse.de>
 +      * chartab.c (make_sub_char_table): Remove unused var.
 +      (Fset_char_table_default, Fmap_char_table): Doc fix.
  
 -      * config.in: Regenerated using autoheader.
 +      * keymap.c (access_keymap): Remove generic char code.
 +      (push_key_description): Use CHARACTERP.
  
 -      * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
 -      m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
 -      m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
 -      m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
 -      m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
 -      m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
 -      m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
 -      m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
 -      m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
 -      m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
 -      m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
 -      m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
 -      m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
 -      m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
 -      m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
 -      s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
 -      STACK_DIRECTION, now set by autoconf.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-04-14  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * charset.c: Doc fixes.
 +      (Funify_charset): Extra checking.
  
 -      * dispnew.c (marginal_area_string): Sort arguments.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * dispextern.h (marginal_area_string): Add prototype.
 +      * 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.
  
 -2002-04-13  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * fileio.c (Finsert_file_contents):
 -      Don't call temp_output_buffer_setup--do just part, by hand.
 +      * category.c (Fmodify_category_entry): Don't modify the contents
 +      of category_set for characters out of the range.  Avoid
 +      unnecessary modification.
  
 -      * coding.c (run_pre_post_conversion_on_str):
 -      Don't call temp_output_buffer_setup--do just part, by hand.
 +      * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
 +      Vchar_unify_table.  The default value of the table is now nil.
  
 -      * keyboard.c (command_loop_1): Don't call start_hourglass
 -      or cancel_hourglass when executing a macro.
 +      * character.c (syms_of_character): Setup Vchar_width_table for
 +      eight-bit-control and raw-byte chars.
  
 -      * marker.c (count_markers): New function.
 +      * 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.
  
 -      * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
 -      grow without limit.  Move recently used elements to the front.
 +      * 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.
  
 -2002-04-13  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
 +      * keymap.c (describe_vector): Handle a char-table directly here.
 +      (describe_char_table): Delete.
  
 -2002-04-12  Gerd Moellmann  <gerd@gnu.org>
 +      * lisp.h (map_charset_chars): Delete.
  
 -      * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
 -      rows marginal areas.
 -      (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
 -      (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * dispnew.c (marginal_area_string): Check that glyph row is enabled.
 +      * fns.c (count_combining): Comment out (unused).
 +      (Flocale_codeset): New.
 +      (syms_of_fns): Defsubr it.
  
 -2002-04-12  Dave Love  <fx@gnu.org>
 +      * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
 +      (size_t): Remove.
  
 -      * dispnew.c (marginal_area_string): New.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
 -      (Qleft_margin, Qright_margin): Declare.
 -      (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
 +      * Makefile.in (chartab.o): Depend on charset.h
  
 -      * xterm.c (note_mode_line_or_margin_highlight): Renamed from
 -      note_mode_line_highlight and extended.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (Qleft_margin, Qright_margin): Declare.
 -      (make_lispy_event): Deal with mouse events in margins.
 +      * character.c (syms_of_character): Set the default value of
 +      Vprintable_chars to Qnil.
  
 -2002-04-12  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
 +      * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
  
 -      * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
 -      than deactivating the mark if tmm is set to `lambda'.
 -      (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
 -      Use a single event for HELP_EVENT.
 -      (Fexecute_extended_command): Save last_point_position.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-04-12  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * charset.c (load_charset_map): Handle the case that from < to
 +      correctly.
  
 -      * lisp.h (Fpropertize): Add prototype.
 +      * 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.
  
 -      * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-04-10  Colin Walters  <walters@verbum.org>
 +      * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
 +      It is not bytecompiled now.
  
 -      * config.in: Add HAVE_SHARED_GAME_DIR.
 +      * 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.
  
 -      * callproc.c (Vgame_score_directory): New variable.
 -      (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
 +      * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
 +      (charset_jisx0208): Extern them.
  
 -2002-04-10  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-04-09  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * minibuf.c (read_minibuf): Use empty_string.
 -      (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
 -      Short-circuit the search as soon as it "failed".
 -      (Fall_completions): Allow lambda forms and lists of strings for alist.
 -      (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
 -      when require_match is nil.
 -      (Ftest_completion): Rename from `test_completion' and export to elisp.
 -      Call the predicate also when alist is a list.
 -      Obey Vcompletion_regexp_list.
 -      (do_completion, Fminibuffer_complete_and_exit): Use it.
 -      (Fassoc_string): Rename from `assoc_for_completion'.
 -      Allow list of strings as well and export to elisp.
 +      * 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.
  
 -2002-04-08  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * puresize.h (BASE_PURESIZE): Increase to 900KB.
 +      * coding.c (decode_coding_utf_8): Reject overlong sequences.
  
 -2002-04-08  Juanma Barranquero  <lektu@terra.es>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * w32.c (sys_accept): Don't hide variable `s'.
 +      * coding.c: Doc fixes.
 +      (Fcoding_system_aliases): Fix return value.
 +      (Qmac): Remove (duplicated) definition.
  
 -2002-04-05  Gerd Moellmann  <gerd@gnu.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * callint.c (Fcall_interactively): Use INTEGERP instead of
 -      NUMBERP for checking Vhistory_length.
 +      * charset.c (Fcharset_priority_list, Fset_charset_priority): New
 +      functions.
  
 -2002-04-05  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * character.c (Fstring): Doc fix.
  
 -      * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
 -      Doc fix to reflect it.
 +      * charset.c (Fdefine_charset_alias): Update Vcharset_list.
  
 -2002-04-04  Richard M. Stallman  <rms@gnu.org>
 +      * fontset.c (Ffontset_info): Doc fix.  Return charset names, not
 +      ids.
 +      (font-encoding-alist): Doc fix.
  
 -      * xdisp.c (display_mode_element): New arg RISKY.
 -      Disregard text props found or specified within a variable
 -      that isn't marked risky-local-variable.
 -      (Qrisky_local_variable): New variable.
 -      (syms_of_xdisp): Init and staticpro it.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -2002-04-04  Stefan Monnier  <monnier@cs.yale.edu>
 +      * term.c (costs_set): Declare static, non-initialized for pcc.
 +      (encode_terminal_code): Remove unused var.
  
 -      * undo.c (record_point): New fun.
 -      (record_delete, record_insert): Use it.
 +      * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
 +      for K&R.
  
 -2002-04-03  Juanma Barranquero  <lektu@terra.es>
 +      * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
  
 -      * doc.c (Fdocumentation): Add missing parentheses.
 -      (Fdocumentation_property): Likewise.
 +      * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
 +      (suffixes): Move out of make_subsidiaries for K&R.
  
 -2002-04-03  Stefan Monnier  <monnier@cs.yale.edu>
 +      * charset.c (map_charset_chars): Fix c_function declaration for K&R.
  
 -      * doc.c (Fdocumentation, Fdocumentation_property): When the doc
 -      data is 0, just return nil.
 +      * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
  
 -2002-04-03  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * msdos.c (syms_of_msdos): Fix last change with
 -      mouse_autoselect_window.
 +      * data.c (Fchar_or_string_p): Doc fix.  Use CHARACTERP.
  
 -2002-04-03  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * category.c (Fmodify_category_entry): Doc fix.  Remove unused vars.
  
 -      * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
 -      mouse_autoselect_window.
 +2008-02-01  Yong Lu <lyongu@asia-infonet.com>
  
 -2002-04-02  Stefan Monnier  <monnier@cs.yale.edu>
 +      * charset.c (Fdefine_charset_internal): Fix argument to bzero.
  
 -      * keyboard.c (make_lispy_event): Handle unknown keysyms together
 -      with system-specific keysyms.  Use it also for unknown function keys.
 +      * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
  
 -      * doc.c (reread_doc_file): Return whether reload was attempted.
 -      (Fdocumentation, Fdocumentation_property): Don't try to reload
 -      if the doc is 0 and only ask once.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
 +      * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
 +      vietnamese.elc to vietnamese.el.  They are not bytecompiled now.
  
 -2002-04-02  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * keyboard.c (read_char): If the event was Qselect_window,
 -      restore timer_idleness_start_time to its previous value.
 +      * 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.
  
 -      * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-04-01  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * region-cache.c (new_region_cache): Use BEG.
 +      * 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.
  
 -      * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
 -      Use BEG and BEG_BYTE.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * doc.c (get_doc_string): Return nil if the location is wrong.
 -      (reread_doc_file): New fun.
 -      (Fdocumentation, Fdocumentation_property):
 -      Call it if get_doc_string fails.
 -      (Fsnarf_documentation): Make it work for a dumped Emacs.
 +      * 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.
  
 -      * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
 -      Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * charset.c (Fstring): Allow 0 arguments.
 +      * xterm.c (XSetIMValues): Declare.
  
 -      * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
 +      * process.c: Conditionally include sys/wait.h, pty.h.
  
 -      * process.c (DATAGRAM_CONN_P, list_processes_1)
 -      (Fprocess_datagram_address, Fset_process_datagram_address)
 -      (Fset_network_process_options, server_accept_connection):
 -      Fix some int/Lisp_Object confusions (thank you union types).
 +      * print.c (print_object): Fix print format for 64-bit systems.
  
 -2002-04-01  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
  
 -      * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
 +      * buffer.c (emacs_strerror): Declare.
  
 -      * w32term.c: Likewise.
 -      (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
 +      * fontset.c (Fclear_face_cache): Declare.
 +      (accumulate_font_info): Comment-out (unused).
 +      (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
 +      variables.
  
 -      * keyboard.c (Qselect_window): New symbol.
 -      (head_table): Use it.
 -      (keys_of_keyboard): Bound select-window event to handle-select-window.
 -      (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
 +      * character.h (string_escape_byte8): Declare.
  
 -      * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
 -      (last_window): New variable.
 -      (XTread_socket): Generate SELECT_WINDOW_EVENTs.
 -      (note_mouse_movement): Remove reimplemented code in #if 0.
 -      (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
 -      Emacs windows.
 +      * 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.
  
 -      * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
 +      * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
 +      (Fset_coding_system_priority, Fset_coding_system_priority)
 +      (Fdefine_coding_system_internal): Doc fix.
  
 -2002-03-31  Gerd Moellmann  <gerd@gnu.org>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
 -      Callers changed.
 +      * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
  
 -2002-03-30  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
 -      loop whenever it stops making progress.
 +      * character.c (string_escape_byte8): Make multibyte string with
 +      correct size.
  
 -      * widget.c (set_frame_size): Don't call change_frame_size.
 +      * charset.c (Fmake_char): Delete unnecessary code.
  
 -2002-03-30  Gerd Moellmann  <gerd@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * dispnew.c (direct_output_for_insert):
 -      Call mark_window_display_accurate.
 +      * xfns.c (x_encode_text): Allocate coding.destination here, and
 +      call encode_coding_object with dst_object Qnil.
  
 -2002-03-29  Jason Rumney  <jasonr@gnu.org>
 +      * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
 +      multibyte form correctly.
  
 -      * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
 +      * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
 +      against Vfont_encoding_alist.
  
 -2002-03-29  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * Makefile.in (lread.o): Depend on coding.h.
 +      * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
  
 -      * lread.c (openp, Fload): Encode the file name before passing it
 -      to `stat', `access', and `emacs_open'.
 -      (openp): GCPRO the encoded file name.  Don't recompute Lisp
 -      strings unnecessarily.
 +      * charset.c (Fmake_char): Make it more backward compatible.
 +      (Fmap_charset_chars): Fix docstring.
  
 -2002-03-29  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * fns.c (Flax_plist_put): Doc fix.
 +      * coding.c: Doc fixes.
 +      (Fdefine_coding_system_alias): Use names, not symbols, in
 +      coding-system-alist.
  
 -2002-03-28  Miles Bader  <miles@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
 +      * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
 +      of calling free_realized_face.
  
 -2002-03-27  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2008-02-01  Yong Lu <lyongu@asia-infonet.com>
  
 -      * process.c (set-network-process-options): Add usage.
 -      (make-network-process): Doc fix.
 +      * charset.c (read_hex): Don't treat SPC as a comment starter.
 +      (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
 +      (Fdecode_char): Fix typo.
  
 -2002-03-26  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
 +      * charset.h (struct charset): New member `code_space_mask'.
  
 -2002-03-26  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * fns.c (Fsubstring_no_properties): New function.
 -      (Flax_plist_get, Flax_plist_put): New functions.
 -      (syms_of_fns): defsubr them.
 +      * 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.
  
 -      * xdisp.c (update_menu_bar): Test only update_mode_lines;
 -      don't test or alter w->update_mode_line.
 +2008-02-01  Dave Love  <fx@gnu.org>
  
 -      * window.c (Fdisplay_buffer): Doc fix.
 +      * syntax.h (syntax_temp) [!__GNUC__]: Declare.
  
 -2002-03-24  Richard M. Stallman  <rms@gnu.org>
 +      * dispextern.h (generate_ascii_font): Fix return type.
  
 -      * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
 +      * xfaces.c (generate_ascii_font): Fix arg declaration.
  
 -2002-03-24  Gerd Moellmann  <gerd@gnu.org>
 +      * coding.c (coding_inherit_eol_type)
 +      (Fset_terminal_coding_system_internal)
 +      (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
  
 -      * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
 -      (Fdefmacro): Handle `(declare ...)'.
 -      (syms_of_eval) <Qdeclare>: Initialize and staticpro.
 -      (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-03-24  Jason Rumney  <jasonr@gnu.org>
 +      * coding.c (decode_coding_charset, encode_coding_charset): Handle
 +      multiple charsets correctly.
  
 -      * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
 -      (xbm_file_p): Add prototypes.
 -      (xbm_format, xbm_image_p): Sync with xfns.c.
 -      (reflect_byte): New function.
 -      (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
 -      (xbm_load_image): Create bitmaps with a depth of 1.
 -      (init_xfns): Enable XBM images.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-03-23  Jason Rumney  <jasonr@gnu.org>
 +      * search.c (boyer_moore): Fix handling of mulitbyte character
 +      translation.
  
 -      * w32term.c (w32_handle_tool_bar_click): Detect up and down events
 -      correctly.  Do not pass up_modifier to keyboard buffer.
 +      * xdisp.c (display_mode_element): When the variable `elt' is
 +      changed, update `this' and `lisp_string'.
  
 -      * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-03-22  Stefan Monnier  <monnier@cs.yale.edu>
 +      * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
  
 -      * Makefile.in (bootstrapclean): New target.
 -      (bootstrap-temacs, bootstrap-doc): Remove.
 -      (bootstrap-emacs): Use a bog-standard `temacs'.
 -      Don't bother to build a DOC file.
 +      * callproc.c (Fcall_process): Be sure to give the current buffer
 +      to decode_coding_c_string.  Update PT and PT_BYTE after the insertion.
  
 -      * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
 +      * 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.
  
 -      * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
 -      in temacs even if !CANNOT_DUMP.
 -      (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
 +      * 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-convesion' coding system at the tail.
  
 -      * alloc.c (check_pure_size): Only output a warning.
 +      * fileio.c (Finsert_file_contents): Set coding_system instead of
 +      val.  If the current buffer is multibyte, always call
 +      decode_coding_gap.
  
 -2002-03-22  Jason Rumney  <jasonr@gnu.org>
 +      * xfaces.c (try_font_list): Give higher priority to fontset's
 +      family than face's family.
  
 -      * w32fns.c (Fx_create_frame): Enable tool-bar when images are
 -      supported.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * w32term.c (zv_bits): Declare as short, for word alignment.
 -      (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
 -      (syms_of_w32term): Define x-use-underline-position-properties.
 +      * callproc.c (Fcall_process): Be sure to give the current buffer
 +      to decode_coding_c_string.
  
 -      * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
 -      (clear_image_cache): Block input, fix logic, clear matrices in
 -      all frames that share this cache.
 +      * xfaces.c (try_font_list): Give a family specified in a fontset
 +      higher priority than a family specified in a face.
  
 -2002-03-22  Eli Zaretskii  <eliz@is.elta.co.il>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * emacs.c (main): Update the Copyright year in the blurb printed
 -      by "emacs --version".
 +      * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
 +      Fix arguments to insert_from_buffer.
  
 -      * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
 +      * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
  
 -      * xterm.c (XTread_socket): If XK_ISO_Lock and
 -      XK_ISO_Last_Group_Lock are defined, handle keysyms between
 -      XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-03-21  Kim F. Storm  <storm@cua.dk>
 +      * coding.c (produce_chars): Set the variable `multibytep' correctly.
 +      (decode_coding_gap): Set coding->dst_multibyte correctly.
  
 -      * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
 -      menu-bar bindings in keymap and local-map properties _are_ used.
 -      But try keymap property first in accordance with 2002-01-03 patch.
 -      Added comment describing why this is not always reliable.
 -      (tool_bar_items): Ditto for tool-bar.
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -2002-03-21  Jason Rumney  <jasonr@gnu.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.
  
 -      * w32fns.c (x_clear_image_1): Disable color table code.
 +      * insdel.c (insert_from_gap): Call record_insert.
  
 -2002-03-21  Kim F. Storm  <storm@cua.dk>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
 -      removed the wrong version of the DEFUN macro; fixed it.
 +      * casefiddle.c (casify_region): Fix multibyte case.
  
 -      * fns.c (Ffeaturep): Allow subfeature to be a list (test using
 -      Fmember rather than Fmemq).
 -      (Fprovide): Check that subfeatures is a list.
 +      * character.c (c_string_width): Add return type `int'.
 +      (char_string_with_unification): Delete arg ADVANCED.
  
 -      * process.c (QCfeature, QCdatagram): Removed variables.
 -      (QCtype, Qdatagram): New variables.
 -      (network_process_featurep): Removed function.
 -      (Fmake_network_process): Removed :feature check.
 -      Use :type 'datagram instead of :datagram t to create a datagram
 -      socket.  This allows us to add other connection types (e.g. raw
 -      sockets) later in a consistent manner.
 -      (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
 -      supported subfeatures for feature make-network-process.
 -      (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
 -      Intern and staticpro QCtype and Qdatagram.
 -      (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
 +      * 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.
  
 -      * xfns.c (QCtype): Remove duplicate declaration and
 -      initialization (is now declared in process.c).
 +      * chartab.c (sub_char_table_set_range): Optimize for the case
 +      DEPTH == 3.  Add workaround code for a GCC optimization bug.
  
 -      * w32fns.c (QCtype): Remove duplicate declaration and
 -      initialization (is now declared in process.c).
 +      * charset.c (parse_charset_map): Remove an unused variable.
  
 -2002-03-21  Richard M. Stallman  <rms@gnu.org>
 +      * coding.c: Delete unused variables.
  
 -      * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
 -      (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
 -      when jumping to `fail' to avoid undoing reg changes in the
 -      last iteration of the loop.
 -      (GET_UNSIGNED_NUMBER): Skip spaces around the number.
 +      * 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.
  
 -      * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
 -      Depend on process.h.
 +      * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
  
 -2002-03-20  Jason Rumney  <jasonr@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@m17n.org>
  
 -      Most of the following changes are still conditional on HAVE_IMAGES
 -      which is not set by default on Windows.
 +      The following changes are for using Unicode as an internal
 +      character model, and use UTF-8 format for buffer/string
 +      representation.
  
 -      * emacs.c (main) [WINDOWSNT]: Call init_xfns.
 +      * .gdbinit (xchartable): Adjust for the change of char table structure.
 +      (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
  
 -      * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
 -      (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
 -      (four_corners_best, x_clear_image_1, x_clear_image)
 -      (x_alloc_image_color, postprocess_image)
 -      (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
 -      (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
 -      (init_xfns, syms_of_w32fns): Initialize image functions and constants.
 +      * 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.
  
 -      * w32gui.h (struct XImage): Define.
 +      * 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".
  
 -      * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
 -      extract mouse co-ordinates.
 +      * dired.c, filelock.c: Include "character.h".
  
 -2002-03-20  Jason Rumney  <jasonr@gnu.org>
 +      * 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.
  
 -      * w32.c (init_winsock): Dynamically load new server and UDP
 -      socket functions.
 -      (socket_to_fd): New function.
 -      (sys_socket): Use it.
 -      (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
 -      (sys_recvfrom, sys_sendto): New wrapper functions.
 +      * buffer.c: Include "character.h" instead of "charset.h", don't
 +      include "coding.h".
 +      (Fset_buffer_multibyte): Adjust for UTF-8.
  
 -      * process.c (QCfamily, QCfilter): Remove duplicate declaration
 -      and initialization.
 +      * buffer.h: EXFUN Fbuffer_live_p.
  
 -      * makefile.w32-in (LIBS): Remove $(WSOCK32).
 +      * callproc.c: Include "character.h" instead of "charset.h".
 +      (Fcall_process): Big change for the new code-conversion APIs.
  
 -2002-03-20  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
 -      Don't use "sun" as a variable, it's a predefined constant on Sun
 -      machines.
 +      * chartab.c: New file that implements char table.
  
 -2002-03-20  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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-vel slots.
 +      (char_category_set): New function.
 +      (modify_lower_category_set): Delete.
 +      (Fmodify_category_entry): Call char_table_ref_and_range.
  
 -      * bytecode.c (Fbyte_code): Revert last change.
 +      * category.h (CATEGORY_SET): Just call char_category_set.
  
 -2002-03-19  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * makefile.w32-in (LIBS): Add $(WSOCK32).
 -      From David Ponce <dponce@voila.fr>.
 +      * 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.
  
 -2002-03-18  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * character.c, character.h, chartab.c: New files.
  
 -      * process.c (wait_reading_process_input): Move variables `pname'
 -      and `pnamelen' down where they are used.
 +      * charset.c: Mostly re-written.  Move character and multibyte sequence
 +      handling codes to character.c.
  
 -      * bytecode.c (Fbyte_code): Discard unused computed value to
 -      prevent gcc warning.
 +      * charset.h: Mostly re-written.  Move character and multibyte sequence
 +      handling codes to character.h.
  
 -      * lisp.h (Fplist_member): Add prototype.
 +      * coding.c, coding.h: Mostly re-written.
  
 -2002-03-18  Kim F. Storm  <storm@cua.dk>
 +      * composite.c: Include "character.h" instead of "charset.h".
 +      (CHAR_WIDTH): Move to character.h.
 +      (HASH_KEY, HASH_VALUE): Delete.
  
 -      * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
 -      HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
 +      * composite.h (enum composition_method): Change order of enumeration
 +      symbols.
  
 -      * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
 -      Remove explicit GNU_LINUX settings for datagram support.
 +      * 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.
  
 -2002-03-18  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * dispextern.h (free_realized_face, check_face_attribytes)
 +      (generate_ascii_font): Extern them.
 +      (free_realized_multibyte_face): Delete extern.
  
 -      * process.c (Fmake_network_process): Remove unused variable `sa'.
 -      Doc fix.  Add usage:.
 -      (set_socket_options): Remove unused variables `optnum' and `opttype'.
 +      * 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.
  
 -2002-03-17  Richard M. Stallman  <rms@gnu.org>
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xdisp.c (cursor_type_changed): New variable.
 -      (redisplay_internal): Redisplay all windows if cursor_type_changed.
 -      Clear it when clearing windows_or_buffers_changed.
 -      (try_cursor_movement, redisplay_window, try_window_id)
 -      (try_window_reusing_current_matrix): Test cursor_type_changed
 -      along with windows_or_buffers_changed.
 +      * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
 +      Fix overflow checking.
  
 -      * window.h (cursor_type_changed): New variable.
 +2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * xfns.c (x_set_cursor_type): Set cursor_type_changed,
 -      not update_mode_lines, and always set it to 1.
 +      * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
 +      Cancel previous change.
  
 -      * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
 -      if no frames needed redrawing.
 +2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-03-17  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      The following changes add support for network server processes,
 -      datagram connections, and local (unix) sockets.
 +2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -      * process.h (struct Lisp_Process): New member log.
 -      Doc fix: Member command used to indicate stopped network process.
 -      Doc fix: Member childp contains plist for network process.
 -      Doc fix: Member kill_without_query is inverse of query-on-exit flag.
 +      * keyboard.c (make_ctrl_char): If C is a multibyte character, just
 +      return it ORed with ctrl_modifier.
  
 -      * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
 -      (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery, QCstop)
 -      (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature): New
 -      variables.
 -      (NETCONN1_P): New macro.
 -      (DATAGRAM_SOCKETS): New conditional symbol.
 -      (datagram_address): New array.
 -      (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
 -      (status_message): Use concat3.
 -      (Fprocess_status): Add `listen' status to doc string.  Return
 -      `stop' for a stopped network process.
 -      (Fset_process_buffer): Update contact plist for network process.
 -      (Fset_process_filter): Ditto.  Don't enable input for stopped
 -      network processes.  Server must listen, even if filter is t.
 -      (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
 -      New functions.
 -      (Fprocess_kill_without_query): Removed.  Now defined in simple.el.
 -      (Fprocess_contact): Added KEY argument.  Handle datagrams.
 -      (list_processes_1): Optionally show only processes with the query
 -      on exit flag set.  Dynamically adjust column widths.  Omit tty
 -      column if not needed.  Report stopped network processes.  Identify
 -      server and datagram network processes.
 -      (Flist_processes): New optional arg `query-only'.
 -      (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
 -      (conv_lisp_to_sockaddr, set_socket_options)
 -      (network_process_featurep, unwind_request_sigio): New helper
 -      functions.
 -      (Fprocess_datagram_address, Fset_process_datagram_address):
 -      (Fset_network_process_options): New lisp functions.
 -      (Fopen_network_stream): Removed.  Now defined in simple.el.
 -      (Fmake_network_process): New lisp function.  Code is based on
 -      previous Fopen_network_stream, but heavily reworked with new
 -      property list based argument list, support for datagrams, server
 -      processes, and local sockets in addition to old client-only
 -      functionality.
 -      (server_accept_connection): New function.
 -      (wait_reading_process_input): Use it to handle incoming connects.
 -      Do not enable input on a new connection if process is stopped.
 -      (read_process_output): Handle datagram sockets.  Use 2k buffer for
 -      them.
 -      (send_process): Handle datagram sockets.
 -      (Fstop_process, Fcontinue_process): Apply to network processes.  A
 -      stopped network process is indicated by setting command field to t.
 -      (Fprocess_send_eof): No-op if datagram connection.
 -      (Fstatus_notify): Don't read input for a stream server socket or a
 -      stopped network process.
 -      (init_process): Initialize datagram_address array.
 -      (syms_of_process): Intern and staticpro new variables, defsubr new
 -      functions.
 +2008-01-29  Miles Bader  <miles@gnu.org>
  
 -2002-03-16  Jason Rumney  <jasonr@gnu.org>
 +      * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
  
 -      * w32fns.c (w32_to_all_x_charsets): Return correct type in
 -      startup case.
 +2008-01-28  Jason Rumney  <jasonr@gnu.org>
  
 -2002-03-16  Richard M. Stallman  <rms@gnu.org>
 +      * w32.c (stat): Don't double check for networked drive.
  
 -      * xdisp.c (redisplay_internal, redisplay_windows):
 -      Use list_of_error to call internal_condition_case_1.
 -      (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
 -      so as to catch all errors with no possibility of debugger redisplay.
 -      (list_of_error): New variable.
 -      (syms_of_xdisp): Init and staticpro it.
 +2008-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * print.c (print_object): Delete `\ ' from printed rep of frame.
 +      * 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.
  
 -2002-03-15  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
  
 -      * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
 -      until its implementation is fixed.
 +2008-01-27  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2002-03-14  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * Makefile.in: Remove references to unused macros.
  
 -      * xfns.c (png_load): Remove unused variable `gamma_str'.
 +2008-01-26  Eli Zaretskii  <eliz@gnu.org>
  
 -2002-03-14  Richard M. Stallman  <rms@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.
  
 -      * xfns.c (x_real_positions): Handle failure in XQueryTree.
 +2008-01-26  Jason Rumney  <jasonr@gnu.org>
  
 -2002-03-14  Miles Bader  <miles@gnu.org>
 +      * w32.c (logon_network_drive): New function.
 +      (stat): Use it.
  
 -      * intervals.c (adjust_for_invis_intang): New function.
 -      (set_point_both): Use `adjust_for_invis_intang' to do most of the
 -      work for dealing with invisible+intangible regions.  Do so before
 -      and after both forward and backward movements, to handle both
 -      front-sticky and rear-sticky cases.
 -      * textprop.c (text_property_stickiness): Function moved here from
 -      `editfns.c'.
 -      * intervals.h (text_property_stickiness): New declaration.
 -      * editfns.c (char_property_eq): Function removed.
 -      (text_property_stickiness): Function moved to `textprop.c'.
 +2008-01-26  Chong Yidong  <cyd@stupidchicken.com>
  
 -2002-03-13  Jason Rumney  <jasonr@gnu.org>
 +      * xdisp.c (pos_visible_p): Handle the case where charpos falls on
 +      invisible text covered with an ellipsis.
  
 -      * config.in: Add STRFTIME_NO_POSIX2.
 +2008-01-25  Richard Stallman  <rms@gnu.org>
  
 -      * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
 -      and %OX when underlying strftime does not.
 +      * 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.
  
 -2002-03-13  Stefan Monnier  <monnier@cs.yale.edu>
 +      * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
  
 -      * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
 -      Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
 -      line) to avoid annoying flicker.
 -      (xm_scroll_callback): Get rid of the now unnecessary kludge.
 -      (XTread_socket): Mark it static.
 +      * buffer.c (reset_buffer_local_variables):
 +      Implement `permanent-local-hook'.
 +      (Qpermanent_local_hook): New variable.
 +      (syms_of_buffer): Init and staticpro it.
  
 -      * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
 +2008-01-25  Michael Albinus  <michael.albinus@gmx.de>
  
 -2002-03-13  Kim F. Storm  <storm@cua.dk>
 +      * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 775000.
 +2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>
  
 -2002-03-12  Juanma Barranquero  <lektu@terra.es>
 +      * fns.c (Fclrhash): Return TABLE.
  
 -      * editfns.c (syms_of_editfns): Fix typo.
 +2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2002-03-12  Gerd Moellmann  <gerd@gnu.org>
 +      * 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.
  
 -      * xsmfns.c: Include stdio.h because termhooks.h needs it.
 -      Include termopt.h for interrupt_input.
 +      * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
  
 -2002-03-11  Andreas Schwab  <schwab@suse.de>
 +2008-01-23  Jason Rumney  <jasonr@gnu.org>
  
 -      * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
 +      * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
  
 -2002-03-11  Gerd Moellmann  <gerd@gnu.org>
 +      * 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.
  
 -      * xterm.c (note_mouse_movement): Put code for
 -      x_autoselect_window_p in #if 0.
 +2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * lread.c (Fload): Don't assume that message_with_string uses the
 -      string it is given like a C string.
 +      * 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.
  
 -2002-03-10  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2008-01-21  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * xterm.h (x_session_check_input, x_session_initialize): Declare.
 +      * 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.
  
 -      * xterm.c (XTread_socket): Add call to x_session_check_input and
 -      x_session_have_connection.
 -      (x_initialize): Add call to x_session_initialize.
 +2008-01-20  Martin Rudalics  <rudalics@gmx.at>
  
 -      * termhooks.h (enum event_kind): Add save_session_event.
 +      * 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.
  
 -      * keyboard.c: Add Emacs event save_session_event.
 +2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs.c (main): Add call to syms_of_xsmfns.
 +      * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
  
 -      * lisp.h (syms_of_xsmfns): Declare extern.
 +      * 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.
  
 -      * config.in: Add HAVE_X_SM.
 +      * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
 +      vscroll if we're setting window-buffer to the value it already has.
  
 -      * Makefile.in (LIBXT): Add -lSM -lICE
 -      if HAVE_X_SM and not USE_X_TOOLKIT.
 -      (XOBJ): New file xsmfns.c added.
 +2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * xsmfns.c: New file for X session management.
 +      * m/intel386.h: Remove references to XENIX.
  
 -2002-03-09  Jason Rumney  <jasonr@gnu.org>
 +2008-01-17  Andreas Schwab  <schwab@suse.de>
  
 -      * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
 -      read-only when setting modified time.
 +      * 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.
  
 -2002-03-08  Gerd Moellmann  <gerd@gnu.org>
 +2008-01-17  Glenn Morris  <rgm@gnu.org>
  
 -      * xdisp.c (move_it_vertically_backward): At the end of the function,
 -      when moving forward by lines, treat terminal frames specially.
 +      * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
 +      to HAVE_X86_64_LIB64_DIR.
  
 -      * keyboard.c (echo_char): Make sure to add a separator between
 -      keys even if echo_dash hasn't been called.
 +2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * xdisp.c: Use new string macros.
 -      (update_echo_area): Pass number of bytes to message3 instead of
 -      number of chars.
 -      (set_message_1): Don't access a string's size_byte directly.
 -      (decode_mode_spec_coding): Use number of bytes of eoltype string
 -      instead number of chars.
 +      * 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.
  
 -      * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
 +      * sysdep.c: Remove code containing references to symbols defined
 +      by unsupported systems.
  
 -2002-03-08  Juanma Barranquero  <lektu@terra.es>
 +2008-01-16  Glenn Morris  <rgm@gnu.org>
  
 -      * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
 -      24-bit.
 +      * coding.c (select-safe-coding-system-function): Doc fix.
  
 -2002-03-06  Jason Rumney  <jasonr@gnu.org>
 +2008-01-15  Glenn Morris  <rgm@gnu.org>
  
 -      * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
 +      * config.in: Revert 2008-01-13 change: this is a generated file.
  
 -2002-03-06  Gerd Moellmann  <gerd@gnu.org>
 +2008-01-13  Tom Tromey  <tromey@redhat.com>
  
 -      * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
 -      (cancel_echoing, echo_length, echo_truncate): Changed to
 -      work with new kboard definition.
 -      (echo_now): Use message3_nolog instead of message2_nolog.
 +      * lisp.h: Fix typo.
  
 -      * alloc.c (mark_kboards): Mark echo_string.
 +2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * keyboard.h (ECHOBUFSIZE): Removed.
 -      (struct kboard): Member echoptr removed, member echobuf renamed
 -      to echo_string.
 +      * m/sequent-ptx.h:
 +      * m/sequent.h:
 +      * s/ptx.h:
 +      * s/ptx4-2.h:
 +      * s/ptx4.h: Remove files for systems no longer supported.
  
 -      * xdisp.c (message_with_string): Use Fformat instead of doprnt and
 -      message3 instead of message2 to display the message using STRING's
 -      text properties.
 +      * callproc.c (Fcall_process): Fix previous change.
  
 -2002-03-05  Andreas Schwab  <schwab@suse.de>
 +2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * unexsunos4.c: Remove file, system not supported anymore.
 +
 +      * src/m/mips.h:
 +      * src/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.
  
 -      * xdisp.c (hscroll_margin): Change to EMACS_INT.
 +2008-01-10  Chong Yidong  <cyd@stupidchicken.com>
  
 -2002-03-05  Per Abrahamsen  <abraham@dina.kvl.dk>
 +      * process.c (wait_reading_process_output): Check for window
 +      changes caused by timers.
  
 -      * frame.c (default-frame-alist): Explain that setting it doesn't
 -      affect existing frames.
 +2008-01-09  Kenichi Handa  <handa@ni.aist.go.jp>
  
 -2002-03-05  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * indent.c (skip_invisible): Fix my brain fart.
 +2008-01-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * dispnew.c (sit_for): Don't wait if executing a kbd macro.
 +      * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
 +      #ifdef MAC_OS.
  
 -2002-03-04  Stefan Monnier  <monnier@cs.yale.edu>
 +2008-01-08  Richard Stallman  <rms@gnu.org>
  
 -      * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
 -      * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
 -      * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
 -      * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
 -      and variables to use EMACS_INT instead of just int.
 +      * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
  
 -      * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
 +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 rewitten.
 +      (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.
  
 -2002-03-04  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
 -      environment, pass it down with corrected value.
 +      * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
  
 -2002-03-04  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-12-22  Eli Zaretskii  <eliz@gnu.org>
  
 -      * lread.c (read_filtered_event): Do not call start_hourglass
 -      before returning.
 +      * callint.c (syms_of_callint) <command-history>: Add reference to
 +      history-length in the doc string.
  
 -2002-03-04  Juanma Barranquero  <lektu@terra.es>
 +2007-12-17  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32term.c (x_display_and_set_cursor): Fix typo.
 +      * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
 +      before passing as wParam.
  
 -2002-03-03  Richard M. Stallman  <rms@gnu.org>
 +2007-12-22  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * fileio.c (Fmake_temp_name): Doc fix.
 +      * 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.
  
 -2002-03-03  Gary Wong  <gtw@gnu.org>
 +2007-12-21  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * termcap.c [!emacs]: Replace ospeed for building standalone
 -      libtermcap, for binary compatibility.
 +      * 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.
  
 -      * tparam.c [!emacs]: Move #define of bcopy to after string.h.
 +2007-12-14  Jason Rumney  <jasonr@gnu.org>
  
 -2002-03-03  Richard M. Stallman  <rms@gnu.org>
 +      * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
 +      for characters above 127.
  
 -      * xrdb.c (file_p): Rename arg `path' to `filename'.
 +2007-12-13  Jason Rumney  <jasonr@gnu.org>
  
 -      * abbrev.c (Fexpand_abbrev): Increment plist as use count
 -      only if it is an integer.
 +      * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
 +      before dereferencing array.
 +      (lookup_vk_code): Remove zero comparison.
  
 -      * xfns.c (png_load): Set screen_gamma based on f->gamma.
 -      If png_get_sRGB gives an answer, call png_set_gamma
 -      using the default image gamma value.
 +2007-12-14  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * lread.c (read1): When reading from a file, default string to
 -      multibyte only if it has some multibyte characters.
 +      * 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.
  
 -      * print.c (print_object): Output multibyte chars 128...255
 -      using \x even if ! print_escape_multibyte.
 +2007-12-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (display_mode_element): Move the places where
 -      bytepos, charpos, this, and lisp_string are set.
 -      Use lisp_string to set bytepos.
 +      * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
  
 -      * xdisp.c (redisplay_internal):
 -      Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
 +2007-12-12  Juri Linkov  <juri@jurta.org>
  
 -      * xdisp.c (display_mode_element): Merge properties specified with
 -      :propertize onto those that come with the string.
 +      * 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.
  
 -2002-03-03  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
 -      automatic-hscrolling.  Users changed.
 -      <hscroll-margin>: Renamed from automatic-hscroll-margin.
 -      Users changed.
 -      <hscroll-step>: Renamed from automatic-hscroll-step.  Users changed.
 +      * 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'.
  
 -2002-03-02  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
 +2007-12-09  Juri Linkov  <juri@jurta.org>
  
 -2002-03-02  Kim F. Storm  <storm@cua.dk>
 +      * buffer.c (Frename_buffer): Change interactive spec from "s" to
 +      Lisp code that uses `read-buffer' with current buffer as default.
  
 -      * window.c (Fminibuffer_selected_window): New function.
 -      (syms_of_window): Defsubr it.
 +2007-12-08  Michael Albinus  <michael.albinus@gmx.de>
  
 -2002-03-01  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * window.h (struct window): New member phys_cursor_width.
 +2007-12-07  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * window.c (make_window, replace_window): Init phys_cursor_width.
 +      * 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.
  
 -      * xterm.c (x_display_and_set_cursor): Blink box cursor using
 -      hollow box cursor.  Blink bar cursor using 1 pixel wide bar.
 +2007-12-05  Magnus Henoch  <mange@freemail.hu>
  
 -      * w32term.c (x_display_and_set_cursor): Blink box cursor using
 -      hollow box cursor.  Blink bar cursor using 1 pixel wide bar.
 +      * process.c (make_process): Initialize pty_flag to 0.
  
 -      * lisp.h (GCPRO6): New macro.
 +2007-12-05  Jason Rumney  <jasonr@gnu.org>
  
 -      * process.c (Fopen_network_stream): Use GCPRO6.
 +      * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
 +      specified XBMs.
  
 -2002-03-01  Kim F. Storm  <storm@cua.dk>
 +2007-12-05  Richard Stallman  <rms@gnu.org>
  
 -      * process.c (Qconnect, Qfailed): New variables.
 -      (syms_of_process): Intern and staticpro them.
 -      (Fprocess_status): Document connect and failed return values.
 -      [NON_BLOCKING_CONNECT]: New conditional.
 -      (connect_wait_mask, num_pending_connects): New variables.
 -      (status_message): Convert Qfailed status.
 -      (Fopen_network_stream): Added support for non-blocking connect.
 -      New optional args: filter, sentinel, non_blocking.  Doc updated.
 -      [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
 -      (deactivate_process): Handle pending non-blocking connect.
 -      (wait_reading_process_input): Poll for status of non-blocking
 -      connects.  Exec sentinel directly when connect succeeds.
 -      (status_notify): Don't read process output if not yet connected.
 +      * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
  
 -2002-02-28  Kim F. Storm  <storm@cua.dk>
 +2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * window.c (minibuf_selected_window): Renamed from
 -      Vminibuf_selected_window.  Users changed.
 -      (syms_of_window): Staticpro it.
 +      * 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.
  
 -2002-02-26  Kim F. Storm  <storm@cua.dk>
 +      * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
 +      Use mac_try_close_socket.
  
 -      The following changes add a new Vminibuf_selected_window variable
 -      which is similar to Vminibuf_scroll_window, but which is only set
 -      on entry to the minibuffer (from a non-minibuffer window):
 +2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * window.c (Vminibuf_selected_window): New variable.
 -      (struct save_window_data): New member minibuf_selected_window.
 -      (Fset_window_configuration): Restore Vminibuf_selected_window.
 -      (Fcurrent_window_configuration): Save Vminibuf_selected_window.
 -      Set minibuf_scroll_window member to nil if minibuf_level is 0.
 -      (compare_window_configurations): Compare minibuf_selected_window.
 +      * 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.
  
 -      * window.h (Vminibuf_selected_window): Declare extern.
 +2007-12-05  Jason Rumney  <jasonr@gnu.org>
  
 -      * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
 -      entry to minibuffer or on entry from a non-minibuffer window.
 +      * w32proc.c (sys_spawnve): Quote args with wildcards.
  
 -      * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
 -      Vminibuf_selected_window instead of Vminibuf_scroll_window.
 +2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
 -      instead of Vminibuf_scroll_window when deciding in which window
 -      the region should be highlighted.  Consequently, the region remains
 -      highlighteded even when a completion buffer is also displayed.
 +      * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
 +      __objc_* sections.
 +      (unrelocate) [_LP64]: Set relocation base to address of data segment.
  
 -2002-02-26  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-12-05  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
 +      * 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.
  
 -      * xselect.c (Qcompound_text_with_extensions): Renamed from
 -      Qcompound_text_no_extensions.
 -      (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
 +2007-12-04  Michael Albinus  <michael.albinus@gmx.de>
  
 -2002-02-26  Juanma Barranquero  <lektu@terra.es>
 +      * 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.
  
 -      * w32proc.c (syms_of_ntproc): Doc fix.
 +2007-12-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2002-02-24  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * xterm.c: Update URL to Window Manager Specification in comment.
  
 -      * intervals.h: Include "dispextern.h" unconditionally.
 +2007-12-02  Michael Albinus  <michael.albinus@gmx.de>
  
 -2002-02-24  Jason Rumney  <jasonr@gnu.org>
 +      * config.in (HAVE_DBUS): Add.
  
 -      * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
 -      and disp-table.elc.
 -      (lisp): Add emacs-lisp/backquote.elc.
 +      * 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.
  
 -2002-02-24  Kim F. Storm  <storm@cua.dk>
 +      * dbusbind.c: New file.
  
 -      * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch:
 -      The validation of the event type was too strict as it didn't
 -      allow string events; buffer names are used in bindings for
 -      menu-bar-select-buffer (see `menu-bar-update-buffers').
 +      * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
  
 -2002-02-23  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      The following changes rework my patch of 2002-02-06 which
 -      added command remapping by entering the commands directly into
 -      the keymaps.  Now, command remapping uses an explicit `remap'
 -      prefix in the keymaps, i.e. [remap COMMAND].
 +      * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
  
 -      * keymap.c (Qremap, remap_command_vector): New variables.
 -      (is_command_symbol): Remove function.
 -      (Fdefine_key): No longer accept a symbol for KEY.
 -      Added validation of [remap COMMAND] argument for KEY.
 -      The DEF is no longer required to be a symbol when remapping a command.
 -      (Fremap_command): New function to remap command through keymaps.
 -      (Flookup_key): Perform command remapping initiated by
 -      Fremap_command directly for speed.
 -      (Fkey_binding): Use Fremap_command for command remapping.
 -      (where_is_internal): Handle new command remapping representation.
 -      (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
 -      staticpro them.  Defsubr Fremap_command.
 +2007-12-01  Richard Stallman  <rms@gnu.org>
  
 -      * keymap.h (Fremap_command): Declare extern.
 -      (is_command_symbol): Remove extern.
 +      * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
  
 -      * keyboard.c (command_loop_1): Use Fremap_command for command
 -      remapping; now try command remapping for all symbols.
 +2007-11-30  Jason Rumney  <jasonr@gnu.org>
  
 -2002-02-23  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * coding.h (run_pre_post_conversion_on_str): Add prototype.
 +      * xfaces.c (map_tty_color, tty_color_name): Remove special case for
 +      WINDOWSNT.
  
 -2002-02-23  Jason Rumney  <jasonr@gnu.org>
 +      * w32console.c, w32term.h (vga_stdcolor_name): Remove.
  
 -      * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
 -      on the string before encoding it.
 -      (Fw32_get_clipboard_data): Run post-read-conversion on the string
 -      after decoding it.
 +2007-11-29  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
 +      * 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.
  
 -2002-02-23  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-11-29  Andreas Schwab  <schwab@suse.de>
  
 -      * w32term.c (enter_timestamp): Remove unused static variable to
 -      prevent warning.
 +      * keyboard.c (apply_modifiers): Fix typo.
  
 -      * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
 +2007-11-29  Richard Stallman  <rms@gnu.org>
  
 -2002-02-23  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * keymap.c (Fcurrent_local_map): Doc fix.
  
 -      * w16select.c (Fw16_get_clipboard_data): Fix last change.
 +2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
  
 -      * xselect.c (selection_data_to_lisp_data): Fix last change.
 +      * s/gnu-kfreebsd.h: New file.
  
 -2002-02-22  Jason Rumney  <jasonr@gnu.org>
 +2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32term.h (struct w32_output): New member menu_command_in_progress.
 +      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 +      Don't cast redundantly.
  
 -      * w32menu.c (menubar_selection_callback): Free the menu and
 -      clear the menu_command_in_progress flag.
 +      * 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.
  
 -      * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
 -      (menu_free_timer): New variable.
 -      (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
 -      (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
 -      <WM_EXITMENULOOP>: Delay before freeing menu.  Do nothing if a
 -      menu command is in progress.
 -      <WM_COMMAND>: Set the menu_command_in_progress flag.
 -      Kill any menu_free_timer that is running.
 +2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
 -      Call ExtTextOutA rather than ExtTextOut.
 +      * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
 +      compiled anymore.
  
 -2002-02-22  Eli Zaretskii  <eliz@gnu.org>
 +2007-11-26  Andreas Schwab  <schwab@suse.de>
  
 -      * puresize.h (BASE_PURESIZE): Increase to 755000.
 +      * process.c (list_processes_1): Fix indentation level of the
 +      command column.
  
 -2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-11-23  Andreas Schwab  <schwab@suse.de>
  
 -      * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
 -      on the string before encoding it.
 -      (Fw16_get_clipboard_data): Run post-read-conversion on the string
 -      after decoding it.
 +      * editfns.c (Fformat): Handle %c specially since it requires the
 +      argument to be of type int.
  
 -2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-11-23  Markus Triska  <markus.triska@gmx.at>
  
 -      Support for ICCCM Extended Segments in X selections:
 +      * emacs.c (main): Call init_editfns before init_process, since
 +      init_process sets Vprocess_connection_type depending on OS release
  
 -      * xselect.c <Qcompound_text_no_extensions>: New variable.
 -      (syms_of_xselect): Intern and staticpro it.
 -      (selection_data_to_lisp_data): Run post-read-conversion on decoded
 -      selection text.
 -      (lisp_data_to_selection_data): If next-selection-coding-system is
 -      compound-text-no-extensions, set the type of selection to be
 -      compound-text.
 +2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xterm.h (x_encode_text): Update prototype.
 +      * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
 +      (find_symbol_value): Use do_symval_forwarding.
  
 -      * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
 -      callers changed.  If SELECTIONP is non-zero, run the
 -      pre-write-conversion function before encoding the selection text.
 +      * data.c (set_internal): Set the value in the `cons-cell' (for
 +      Buffer_Local_values) not only for frame-local variables.
  
 -2002-02-21  Kim F. Storm  <storm@cua.dk>
 +2007-11-22  Andreas Schwab  <schwab@suse.de>
  
 -      * frame.c (syms_of_frame): Change mouse-highlight default to t.
 +      * 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.
  
 -      * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
 -      Correct composing of language-change event.
 +2007-11-22  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2002-02-20  Kim F. Storm  <storm@cua.dk>
 +      * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
 +      file for image is nil.
  
 -      * keyboard.c (menu_bar_items): Don't include keymap or local-map
 -      bindings at PT when building menu (the menu is not updated often
 -      enough for this to work reliable).
 -      (tool_bar_items): Likewise.
 -      (current_active_maps): Removed unused (and buggy) function.
 +2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2002-02-20  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * term.c: Include stdarg.h.
 +      (fatal): Implement using varargs.
 +      * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).
  
 -      * xfns.c (gif_load): Use correct width and height for GIF images.
 +2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-02-19  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * floatfns.c (Fatan): Accept an optional second arg and call
 -      atan2 if passed 2 args.
 +2007-11-21  Jason Rumney  <jasonr@gnu.org>
  
 -2002-02-18  Jason Rumney  <jasonr@gnu.org>
 +      * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
 +      CreateFileMapping returns NULL on failure.
  
 -      * w32term.c (glyph_rect): Determine the row and glyph more precisely.
 +2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-02-17  Jason Rumney  <jasonr@gnu.org>
 +      * search.c (Fset_match_data): Remove the `evaporate' feature.
 +      (unwind_set_match_data): Don't use the `evaporate' feature.
  
 -      * w32term.c (x_autoselect_window_p): New variable.
 -      (syms_of_w32term): DEFVAR_BOOL and initialize it.
 -      (note_mouse_movement): Use it.
 +2007-11-21  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
 +      * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
  
 -      * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
 +      * w32console.c (w32con_write_glyphs): Remove unused variables.
  
 -      * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
 -      New variables.
 -      (syms_of_w32fns): Intern and staticpro them.
 -      (x_frame_parms) <"fullscreen">: New parameter.
 -      (x_fullscreen_move, x_set_fullscreen): New functions.
 -      (x_set_frame_parameters): Support Qfullscreen.
 -      (x_real_positions): Save x/y_pixels_diff frame params.
 -      (x_figure_window_size): Support full-screen frames.
 -      (Fx_create_frame): Default the fullscreen parameter.
 -
 -      * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
 -      (x_fullscreen_adjust): New functions.
 -      (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
 -      fullscreen.  Call x_check_fullscreen_move, and set the
 -      want_fullscreen member of output_data.w32
 -      <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
 -
 -      * w32term.h: New enum for FULLSCREEN_* constants.
 -      (struct w32_output): New members want_fullscreen, x_pixels_diff,
 -      y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
 -      (x-fullscreen-adjust): New prototype.
 -
 -2002-02-17  Kim F. Storm  <storm@cua.dk>
 -
 -      * frame.c (Vmouse_highlight): New variable.
 -      (syms_of_frame): DEFVAR_LISP it.
 -
 -      * frame.h (Vmouse_highlight): Declare extern.
 -
 -      * xterm.h (struct x_display_info): Add mouse_face_hidden.
 -
 -      * xterm.c (disable_mouse_highlight): Removed variable.
 -      (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
 -      (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
 -      (XTread_socket): Turn mouse_face_hidden off after mouse movement,
 -      and on after keyboard input.
 -      (x_term_init): Initialize mouse_face_hidden.
 -
 -      * msdos.h (struct display_info): Add mouse_face_hidden.
 -
 -      * msdos.c (disable_mouse_highlight): Removed variable.
 -      (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
 -      (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
 -      (internal_terminal_init): Initialize mouse_face_hidden.
 -      (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
 -      and on after keyboard input.
 -
 -      * w32term.h (struct w32_display_info): Add mouse_face_hidden.
 -
 -      * w32term.c (disable_mouse_highlight): Removed variable.
 -      (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
 -      (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
 -      (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
 -      and on after keyboard input.
 -      (w32_initialize_display_info): Initialize mouse_face_hidden.
 -
 -2002-02-16  Eli Zaretskii  <eliz@is.elta.co.il>
 -
 -      * msdos.c (last_mouse_window): New variable.
 -      (dos_rawgetc): Fix last change--if the mouse is in the same window
 -      as recorded in last_mouse_window, don't select this window.
 -
 -      * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
 -
 -      * msdos.c (x_autoselect_window_p): New variable.
 -      (syms_of_msdos): Defvar it.
 -      (dos_rawgetc): If x_autoselect_window_p is set, select the window in
 -      which the last mouse movement occured, unless it is already selected.
 -
 -      * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
 -      New variables.
 -      (syms_of_xdisp): DEVFAR them.
 -      (hscroll_window_tree): Use automatic_hscroll_margin and
 -      Vautomatic_hscroll_step to compute the amount of window scrolling.
 +2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2002-02-16  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
  
 -      * xterm.c (x-autoselect-window): New variable.
 -      (note_mouse_movement): Use it.
 +      * s/darwin.h (MULTI_KBOARD): Remove.
  
 -      * keyboard.c: Do not include "systime.h" twice.
 +      * macfns.c (x_create_tip_frame, Fx_create_frame)
 +      (x_create_tip_frame): Don't deal with MULTI_KBOARD.
  
 -2002-02-15  Andreas Schwab  <schwab@suse.de>
 +2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * puresize.h (PURESIZE_RATIO): Increase to 9/5.
 +      * 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.
  
 -      * alloc.c (NSTATICS): Increase to 1280.
 +      * data.c (store_symval_forwarding, set_internal):
 +      * eval.c (specbind): Remove dead code.
  
 -2002-02-15  Kai Gro\e,A_\e(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 +      * 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.
  
 -      * alloc.c (NSTATICS): Bump to 1026.
 +2007-11-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
 -      (Vx_super_keysym): New variables.
 -      (syms_of_xterm): DEFVAR_LISP them.
 -      (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
 -      variables to determine which keys to use for the various modifiers.
 +      * sysdep.c (init_system_name): Use getaddrinfo if available.
  
 -2002-02-13  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * window.c (Vmode_line_in_non_selected_windows): Removed.
 -      (mode_line_in_non_selected_windows): New variable.
 -      (syms_of_window): DEFVAR_BOOL it.
 +2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
 -      Use mode_line_in_non_selected_windows.
 -      (mode_line_in_non_selected_windows): Declare extern.
 -      (Vmode_line_in_non_selected_windows): Removed extern.
 +      * puresize.h (BASE_PURESIZE): Increase to 1190000.
  
 -2002-02-13  Richard M. Stallman  <rms@gnu.org>
 +2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
 -      (Fthis_single_command_keys, Fthis_single_command_raw_keys)
 -      (Fclear_this_command_keys): Doc fixes.
 +      * 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
  
 -      * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
 -      (update_face_from_frame_parameter): Increment face_change_count
 -      and windows_or_buffers_changed to force redisplay using changed faces.
 +2007-11-15  Andreas Schwab  <schwab@suse.de>
  
 -      * xdisp.c (QCpropertize): New variable.
 -      (mode_line_proptrans_alist): New variable.
 -      (display_mode_element): New arg PROPS; all calls changed.
 -      Implement this, for strings.
 -      Handle literal output of strings by sharing the
 -      main-line code for strings, using local var `literal'.
 -      Handle :propertize feature.
 -      (syms_of_xdisp): Initialze and staticpro QCpropertize and
 -      mode_line_proptrans_alist.
 +      * editfns.c (Fformat): Correctly format EMACS_INT values.
 +      Also take precision into account when formatting an integer.
  
 -2002-02-11  Kim F. Storm  <storm@cua.dk>
 +      * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
  
 -      * window.c (Vmode_line_in_non_selected_windows): New variable.
 -      (syms_of_window): DEFVAR_LISP it.
 +2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
 -      (CURRENT_MODE_LINE_FACE_ID): Use it.
 -      (Vmode_line_in_non_selected_windows): Declare extern.
 +      * keyboard.c (Fevent_symbol_parse_modifiers): New function.
 +      (syms_of_keyboard): Defsubr it.
  
 -      * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
 -      to get mode line face.
 +      * 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.
  
 -2002-02-11  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
 -      variables; cus-start.el doesn't need them anymore.
 +      * 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.
  
 -2002-02-09  Kim F. Storm  <storm@cua.dk>
 +2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
 -      reduction.  This fixes a display problem where stray newlines were
 -      inserted in the window (corrected by C-l).  Clarified code (IMHO).
 +      * 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.
  
 -2002-02-09  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
 +      * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
 +      if w32_parse_hot_key returned nil.
  
 -      * xdisp.c (display_mode_lines): Fix last change.
 +2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-02-09  Jason Rumney  <jasonr@gnu.org>
 +      * xdisp.c (load_overlay_strings): Fix copy&paste typo.
  
 -      * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
 -      match each other.
 -      (w32_load_system_font): Prevent Cleartype fonts from loading.
 -      (Fx_show_tip): Ensure tip frames are above other topmost windows.
 +2007-11-09  Jason Rumney  <jasonr@gnu.org>
  
 -2002-02-09  Kim F. Storm  <storm@cua.dk>
 +      * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
  
 -      * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
 -      (CURRENT_MODE_LINE_HEIGHT): Use it.
 -      (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
 +      * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
  
 -      * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
 -      (pos_visible_p, handle_face_prop): Likewise.
 -      (display_mode_lines): Likewise, but for the real selected window.
 -      (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
 +      * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
 +      Remove W32_SCROLL_BAR_CLICK_EVENT.
  
 -      * xfaces.c (Qmode_line_inactive): New face variable for mode-line
 -      in non-selected windows.
 -      (realize_basic_faces): Realize it.
 -      (syms_of_term): Intern and staticpro it.
 +      * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
 +      Add MULTIMEDIA_KEY_EVENT.
  
 -2002-02-08  Kim F. Storm  <storm@cua.dk>
 +      * 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.
  
 -      * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
 -      Changed mail addresses to emacs-devel@gnu.org.
 +      * w32term.h (WM_APPCOMMAND): Define if not already.
 +      (GET_APPCOMMAND_LPARAM): Likewise.
  
 -2002-02-08  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
 +      WM_APPCOMMAND.
  
 -      * fileio.c (Fsubstitute_in_file_name): If the file name includes
 -      ~user, and there's no such user, don't discard everything before ~user.
 +      * 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.
  
 -      * floatfns.c (Fround): Doc fix.
 +2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
  
 -2002-02-08  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
 +      twice.
  
 -      * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
 +      * xdisp.c (handle_face_prop): Fix last change.
  
 -2002-02-07  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-11-09  Richard Stallman  <rms@gnu.org>
  
 -      * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
 +      * 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.
  
 -2002-02-07  Kim F. Storm  <storm@cua.dk>
 +      * xfaces.c (face_for_overlay_string): Function renamed from
 +      face_at_buffer_position_no_overlays, and add arg OVERLAY.
  
 -      * keymap.c (where_is_internal): Only check whether definition is
 -      remapped if it fulfills is_command_symbol.
 +      * 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.
  
 -2002-02-07  Andreas Schwab  <schwab@suse.de>
 +2007-11-09  Richard Stallman  <rms@gnu.org>
  
 -      * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
 +      * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
 +      to get the base face for an overlay string.
  
 -      * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
 +      * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
  
 -2002-02-06  Kim F. Storm  <storm@cua.dk>
 +      * xfaces.c (face_at_buffer_position_no_overlays): New function.
  
 -      * keymap.c (Fdefine_key): Allow symbol as KEY argument for
 -      defining command remapping.  Doc updated.
 -      (Flookup_key): Remap command through keymap if KEY is a symbol.
 -      (is_command_symbol): New function.
 -      (Fkey_binding): Use it.  New optional argument NO-REMAP.
 -      Doc updated.  Callers changed.  Perform command remapping via
 -      recursive call unless that arg is non-nil.
 -      (where_is_internal): New argument no_remap.  Callers changed.
 -      Call recursively to find original key bindings for a remapped
 -      comand unless that arg is non-nil.
 -      (Fwhere_is_internal): New optional argument NO-REMAP.
 -      Doc updated.  Callers changed.  Pass arg to where_is_internal.
 +      * xdisp.c (handle_stop): Move some code out of loop.
  
 -      * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
 -      (is_command_symbol): Add prototype.
 +2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * keyboard.c (Vthis_original_command): New variable.
 -      (syms_of_keyboard): DEFVAR_LISP it.
 -      (command_loop_1): Set it, and perform command remapping.
 +      * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
 +      Fix conversion from Lisp object to ATSUFontID.
  
 -2002-02-06  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-11-09  Jason Rumney  <jasonr@gnu.org>
  
 -      * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
 +      * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
  
 -2002-02-06  Jason Rumney  <jasonr@gnu.org>
 +2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
 +      * 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.
  
 -2002-02-06  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-11-09  Richard Stallman  <rms@gnu.org>
  
 -      * charset.c (get_charset_id): Use if-else instead of ?:.
 +      * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
  
 -2002-02-06  Richard M. Stallman  <rms@gnu.org>
 +2007-11-07  Jason Rumney  <jasonr@gnu.org>
  
 -      * filelock.c (S_ISLNK): Define if not defined.
 +      * s/windows95.h: Remove.
  
 -2002-02-03  Richard M. Stallman  <rms@gnu.org>
 +2007-11-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
 +      * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
 +      abort with a message on unhandled store_type values.
  
 -      * lread.c (read1): Redesign strategy for force_multibyte and
 -      force_singlebyte.  Now is_multibyte records whether read_buffer
 -      is multibyte.  Encountering any multibyte character makes it so.
 +2007-11-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2002-02-02  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
 +      Remove HAVE_X11R5 and HAVE_X11R4.
  
 -      * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
 -      with the same sequence, map that sequence to f10 rather than f0.
 +2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2002-02-03  Andreas Schwab  <schwab@suse.de>
 +      * Makefile.in: Remove references to sunfns.c and sunfns.o.
  
 -      * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
 -      latter never being defined on GNU/Linux.
 +2007-11-01  Johan Bockg\e,Ae\e(Brd  <bojohan@gnu.org>
  
 -2002-02-02  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * xfaces.c (realize_default_face): Don't set the weight and slant of
 -      the default face to Qnormal, unless these attributes are unspecified.
 +2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2002-02-02  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * sunfns.c: Remove file
  
 -      * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
 -      Call cancel_hourglass unconditionally.
 +      * m/sun386.h:
 +      * m/sun2.h:
 +      * m/sparc.h: Remove Sun windows code.
  
 -      * eval.c (Fsignal): Remove duplicated declaration of
 -      the variable `display_hourglass_p'.
 +2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-01-31  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * editfns.c (region_limit): Nicer error message.
 +2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * coding.c (decode_composition_emacs_mule):
 -      Give up if NCOMPONENT gets too large to index `component'.
 +      * 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
  
 -      * callint.c (check_mark): New arg to specify clearer error message.
 -      Callers changed.
 +      * dispnew.c (syms_of_display): Don't mention version 10.
  
 -2002-01-27  Richard M. Stallman  <rms@gnu.org>
 +2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * minibuf.c (Fcompleting_read): Doc fix.
 +      * makefile.w32-in (OBJ1): Remove abbrev.$(O).
 +      ($(BLD)/abbrev.$(O)): Remove.
  
 -2002-01-27  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
 -      (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
 -      Fix doc-strings.
 +      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.
  
 -2002-01-26  Richard M. Stallman  <rms@gnu.org>
 +2007-10-26  Martin Rudalics  <rudalics@gmx.at>
  
 -      * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
 +      * window.c (window_min_size_2): Don't count header-line.
  
 -      * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
 -      and scroll_up_aggressively.
 +2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2002-01-26  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
 +2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -2002-01-25  Stefan Monnier  <monnier@cs.yale.edu>
 +      * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
  
 -      * textprop.c (Fnext_property_change, Fnext_single_property_change)
 -      (Fprevious_property_change, Fprevious_single_property_change):
 -      Stay within the narrowed-buffer boundaries.
 +      * 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.
  
 -2002-01-25  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * frame.c (syms_of_frame) <delete-frame-functions>:
 +      Fix typo in docstring.
  
 -      * term.c (Ftty_display_color_cells): New function.
 -      (syms_of_term): Defsubr it.
 -      (Ftty_display_color_cells, Ftty_display_color_p): Change the
 -      argument name to DISPLAY.  Doc fix.
 +2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * dispextern.h: Add prototype for set_tty_color_mode and
 -      tty_setup_colors.
 +      * w32.c (init_environment): Fix tiny memory leak.
 +      (w32_get_resource): Remove unused variable `ok'.
  
 -2002-01-24  Jason Rumney  <jasonr@gnu.org>
 +2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
 -      If region left to draw is not what was expected, mark the frame as
 -      garbaged.
 +      Make `window-system' into a keyboard-local variable (rather than
 +      frame-local as done originally by multi-tty).
  
 -      * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
 -      Combine the regions returned by BeginPaint and GetUpdateRect.
 +      * keyboard.h (struct kboard): Add Vwindow_system.
 +      * keyboard.c (init_kboard): Set a default for Vwindow_system.
 +      (mark_kboards): Mark Vwindow_system.
  
 -2002-01-23  Jason Rumney  <jasonr@gnu.org>
 +      * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
 +      (init_display): Don't set the obsolete `window-system' frame-param.
  
 -      * w32term.c (x_update_window_begin): Only hide caret if
 -      w32_use_visible_system_caret is set.
 -      (x_update_window_end): Only show caret if
 -      w32_use_visible_system_caret is set.
 -      (syms_of_w32term): Handle SystemParametersInfo call failing.
 +      * 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.
  
 -      * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
 +      * 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.
  
 -2002-01-22  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * unexelf.c (unexec): Define n so as to cause compilation error
 -      for the code where people have often written n instead of nn.
 +2007-10-24  Richard Stallman  <rms@gnu.org>
  
 -      * .gdbinit (hookpost-run): Defined.
 +      * frame.c (x_figure_window_size): For fullscreen case,
 +      set USPosition | PPosition without clobbering rest of window_prompting.
  
 -2002-01-22  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * keyboard.c (Fcurrent_idle_time): Doc fix.
  
 -      * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
 +      * print.c (Fwith_output_to_temp_buffer): Doc fix.
  
 -2002-01-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
 -      if fullscreen is being set.
 +      * process.c (unwind_request_sigio): Only define if __ultrix__.
  
 -2002-01-21  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * callproc.c (child_setup): Remove spurious *.
  
 -      * minibuf.c (Fminibuffer_contents)
 -      (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
 -      (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
 +      * 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.
  
 -2002-01-21  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * window.c (check_frame_size): Fix minimum height calculation.
 +2007-10-22  Jason Rumney  <jasonr@gnu.org>
  
 -2002-01-20  Ken Raeburn  <raeburn@gnu.org>
 +      * w32fns.c: Include math.h.
 +      (w32_abort): Declaration moved to nt/config.nt.
  
 -      * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
 -      height before comparison.
 -      (WINDOW_WANTS_HEADER_LINE_P): Likewise.
 +      * s/ms-w32.h (HAVE_STDLIB_H): Define.
 +      (abort): Redefinition moved to nt/config.nt.
  
 -2002-01-20  Jason Rumney  <jasonr@gnu.org>
 +      * m/windowsnt.h: Remove.
  
 -      * w32term.c (w32_system_caret_width): Remove.
 -      (w32_use_visible_system_caret): New user flag.
 -      (syms_of_w32term): DEFVAR_BOOL it.  Initialize based on whether
 -      Windows reports a screen reader running.
 -      (x_update_window_begin): Hide the system caret.
 -      (x_update_window_end): Show the system caret.
 -      (x_display_and_set_cursor): Don't draw a cursor when
 -      w32_use_visible_system_caret is set.  Do not adjust width.
 +2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
 -      (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
 -      <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
 -      the user requests it.  Use system default width when creating.
 -      <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
 +      * emacs.c (Fdump_emacs): Fix typo in message.
 +      (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
 +      <installation-directory>: Reflow docstring.
  
 -      * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
 -      New window messages.
 +2007-10-22  Juri Linkov  <juri@jurta.org>
  
 -2002-01-20  Richard M. Stallman  <rms@gnu.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.
  
 -      * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
 +2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
  
 -2002-01-20  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
  
 -      * doprnt.c (doprnt1): Fix typos in error call.
 +2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -2002-01-20  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * doc.c (Fdocumentation): Check for advice in all cases.
  
 -      * unexelf.c (unexec) [__sgi]: Support the .got sections.
 +2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -2002-01-20  Jason Rumney  <jasonr@gnu.org>
 +      * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
  
 -      * w32term.c (w32_native_per_char_metric): Don't trust the metrics
 -      that Windows returns.  If a double check fails, try to guess how
 -      ExtTextOut is going to act.
 +2007-10-19  Richard Stallman  <rms@gnu.org>
  
 -      * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
 -      in place of stricmp.
 -      (w32_list_synthesized_fonts): Removed.
 -      (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
 -      (struct enumfont_t): New element; list.
 -      (enum_font_cb2): List all style and charset variations of a font.
 -      (Fw32_select_font): New optional argument; include_proportional.
 -      Exclude vertical fonts.  Exclude proportional fonts unless
 -      include_proportional is non-nil.
 -      (w32_enable_synthesized_fonts): Change to a boolean.
 -      (Fw32_send_sys_command): Doc fix.
 +      * doc.c (Fdocumentation): Check for and handle an advised function.
  
 -2002-01-19  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * dispnew.c (update_frame): Move the variable `tem' to the block
 -      where it is used.
 +      * process.c (Fset_process_filter): Doc fix.
  
 -2002-01-19  Jason Rumney  <jasonr@gnu.org>
 +2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
 -      call to face-set-after-frame-default.
 +      * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
 +      which caused key-translation-map to applied repeatedly (thus breaking
 +      double-mode).
  
 -2002-01-18  Richard M. Stallman  <rms@gnu.org>
 +2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
 -      (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
 +      * 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.
  
 -2002-01-17  Richard M. Stallman  <rms@gnu.org>
 +2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * window.c (enlarge_window): When exceeding size of parent,
 -      directly delete all the siblings instead of trying to resize it.
 +      * process.c: Link to libs for calling res_init() if available.
 +      (Fmake_network_process): Call res_init() before getaddrinfo or
 +      gethostbyname, if possible.
  
 -2002-01-17  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * term.c (set_tty_color_mode): Remove unused variable `tem'.
 +      * lread.c (read1): Set pvectype for char_tables.
  
 -2002-01-16  Henrik Enberg  <henrik@enberg.org>
 +      * 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.
  
 -      * lread.c (init_lread): Move the installed-lisp dirs later in the path.
 +      * alloc.c (free_misc): Use XMISCTYPE.
 +      (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
  
 -2002-01-16  Kim F. Storm  <storm@cua.dk>
 +2007-10-17  Glenn Morris  <rgm@gnu.org>
  
 -      * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
 -      is invisible.  This can happen if cursor is on top line of a
 -      window, and we switch to a buffer with a header line.
 +      * 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.
  
 -      * w32term.c (x_erase_phys_cursor): Ditto.
 +      * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
 +      (Fread_coding_system): Ignore case of user input.
  
 -2002-01-16  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
 -      `dont_resize' only when used.
 +      * 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.
  
 -      * xdisp.c: Remove forgotten extern declaration of `Qimage'.
 +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.
  
 -2002-01-15  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * doc.c (Fsnarf_documentation): Simplify.
  
 -      * xdisp.c (display_mode_element): When computing charpos, depend
 -      on multibyteness of elt, not the text in field.
 +2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -2002-01-15  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
 +      (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
  
 -      * buffer.c (Fkill_all_local_variables):
 -      Increment `update_mode_lines' only once.
 +2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2002-01-14  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
  
 -      * lisp.h (adjust_after_replace_noundo)
 -      (Fupdate_coding_systems_internal): Add prototypes.
 +2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sound.c (Fplay_sound): Initialize header_size also for :data case.
 +      * eval.c (do_autoload): Don't save autoloads.
  
 -2002-01-14  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * data.c (Ffset): Save autoload of the function being set.
  
 -      Support for the --color command-line argument and tty-color-mode
 -      frame parameter:
 +2007-10-07  John Paul Wallington  <jpw@pobox.com>
  
 -      * term.c (tty_default_color_capabilities, tty_setup_colors)
 -      (set_tty_color_mode): New functions.
 -      (term_init): Call tty_default_color_capabilities.
 -      (Qtty_color_mode_alist): New variable.
 -      (syms_of_term): Intern and staticpro it.
 +      * xfns.c (x_create_tip_frame): Set the `display-type' frame
 +      parameter before setting up faces.
  
 -      * frame.c (store_frame_param): Call set_tty_color_mode for termcap
 -      frames.
 -      (do_switch_frame): For termcap frames, switch the tty
 -      color mode as specified by the frame's parameters.
 -      (Qtty_color_mode): New variable.
 -      (syms_of_frame): Intern and staticpro it.
 +2007-10-13  Eli Zaretskii  <eliz@gnu.org>
  
 -      * emacs.c (USAGE2): Add the --color option.
 -      (standard_args): Ditto.
 +      * ccl.c (Fregister_code_conversion_map):
 +      * keyboard.c (append_tool_bar_item): Reformat last change.
  
 -2002-01-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +      * lisp.h (eabs): Rename from `abs'.  All callers changed.
  
 -      * xterm.h (struct x_output): New members want_fullscreen,
 -      x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
 -      y_pixels_outer_diff.
 -      New enum for FULLSCREEN_* constants.
 -      (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
 -      is NULL.
 -      (x_fullscreen_adjust): Add prototype.
 +2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * emacs.c (USAGE2): Add the new full-screen arguments.
 -      (standard_args): Ditto.
 +      * 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.
  
 -      * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
 -      New variables.
 -      (syms_of_xfns): Intern and staticpro them.
 -      (x_frame_parms) <"fullscreen">: New parameter.
 -      (x_fullscreen_move, x_set_fullscreen): New functions.
 -      (x_set_frame_parameters): Support for Qfullscreen.
 -      (x_real_positions): More accurate computation of the frame position.
 -      (x_figure_window_size): Support full-screen frames.
 -      (Fx_create_frame): Default the fullscreen parameter.
 +2007-10-13  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
 -      (XTread_socket) <Expose>: Call x_check_fullscreen.
 -      <ConfigureNotify>: Don't resize to fullscreen.
 -      Call x_check_fullscreen_move, and set the want_fullscreen member of
 -      output_data.x.
 +      * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
 +      selected frame'' on MSDOS).
  
 -2002-01-13  Jason Rumney  <jasonr@gnu.org>
 +2007-10-12  Martin Rudalics  <rudalics@gmx.at>
  
 -      * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
 -      for mice with more than 3 buttons.
 +      * frame.c (Qexplicit_name): New variable.
 +      (x_report_frame_params): Report it in parameter alist.
 +      (syms_of_frame): Intern and staticpro it.
  
 -      * w32term.c (parse_button): New parameter xbutton.  Callers changed.
 -      (w32_read_socket): Handle new "XBUTTON" messages.
 +2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
  
 -      * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
 -      (syms_of_w32fns): DEFVAR_BOOL it.
 -      (w32_wnd_proc): Handle new "XBUTTON" messages.
 +      * macfns.c (x_create_tip_frame): Set terminal for frame.
  
 -2002-01-13  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
 +      * 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.
  
 -2002-01-13  Andreas Schwab  <schwab@suse.de>
 +      * frame.c (Fframe_with_environment): Remove.
 +      (syms_of_frame) <Sframe_with_environment>: Don't declare.
  
 -      * xterm.c (x_load_font): Never set fonts_changed_p to zero.
 +      * lisp.h (Fframe_with_environment): Don't declare.
  
 -2002-01-12  Andreas Schwab  <schwab@suse.de>
 +2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * .gdbinit (xbuffer): Remove address operator since data is now a
 -      pointer.
 +      * 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.
  
 -2002-01-11  Richard M. Stallman  <rms@gnu.org>
 +2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * insdel.c (adjust_after_replace_noundo): New function.
 +      * puresize.h (BASE_PURESIZE): Increase to 1170000.
  
 -      * coding.c (code_convert_region): Don't copy old text if undo disabled.
 +2007-10-09  Jason Rumney  <jasonr@gnu.org>
  
 -2002-01-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.
  
 -      * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
 -      when checking for multiple frames.
 +2007-10-09  Richard Stallman  <rms@gnu.org>
  
 -2002-01-08  Richard M. Stallman  <rms@gnu.org>
 +      * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
 +      return HANDLED_RETURN.
  
 -      * window.c (delete_window): Rewrite the code for changing the
 -      selected window to handle the case where WINDOW is not a leaf.
 +2007-10-08  Martin Rudalics  <rudalics@gmx.at>
  
 -2002-01-07  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
 +      when there's an unread command event.
  
 -      * process.c (send_process): Set src_multibyte to 1 after the call
 -      top setup_coding_system, not before the call.
 +      * 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.
  
 -2002-01-07  Jason Rumney  <jasonr@gnu.org>
 +2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xmenu.c (set_frame_menubar, xmenu_show):
 -      (xdialog_show): Initialize wv->help to Qnil.
 +      * macterm.c (mac_load_query_font): Fix missing return value.
 +      [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
 +      Add BLOCK_INPUT.
  
 -      * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
 -      (w32_dialog_show): Initialize wv->help to Qnil.
 +2007-10-08  Richard Stallman  <rms@gnu.org>
  
 -2002-01-06  Jason Rumney  <jasonr@gnu.org>
 +      * xdisp.c (get_window_cursor_type): Implement documented behavior
 +      for cursor-in-non-selected-windows = t.
  
 -      * xmenu.c (single_submenu): Initialize wv->help to Qnil.
 +2007-10-08  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32menu.c (w32_menu_display_help): Revert last change.
 +      * w32.c (w32_get_resource): Always close registry keys.
  
 -      * xmenu.c (menu_highlight_callback): Revert last change.
 +2007-10-08  Jason Rumney  <jasonr@gnu.org>
  
 -2002-01-06  Andreas Schwab  <schwab@suse.de>
 +      * makefile.w32-in (LIBS): Add COMCTL32.
  
 -      * insdel.c (make_gap_larger): Make sure buffer size does not
 -      overflow range of int.
 +      * w32fns.c (globals_of_w32fns): Init common controls.
  
 -2002-01-05  Jason Rumney  <jasonr@gnu.org>
 +2007-10-08  Richard Stallman  <rms@gnu.org>
  
 -      * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
 -      OVERLAPS_P.
 +      * image.c (our_memory_buffer): Rename from omfib_buffer.
  
 -      * w32menu.c (w32_menu_display_help): Hide any tooltip window.
 +2007-10-08  Richard Stallman  <rms@gnu.org>
  
 -      * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
 -      to the left or to the right of the pointer, put it against
 -      the left screen edge.
 -      (x_frame_parms): Add missing braces around initializer.
 +      * buffer.c (Foverlays_at): Doc fix.
  
 -      * w32term.c (x_setup_relief_colors): Don't compute an image's
 -      background color if it doesn't have a Pixmap.
 -      (notice_overwritten_cursor): Don't depend on
 -      output_cursor and updated_area.  Compare pixel coordinates with
 -      window's cursor pixel coordinates.
 -      (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
 -      Call notice_overwritten_cursor with new arg list.
 -      (show_mouse_face): Fix bug setting a row's mouse_face_p flag
 -      unconditionally.
 -      (x_draw_image_relief): Use predefined macro instead of
 -      constant when the value of `tool_bar_button_relief' is negative.
 +2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
 +      * fns.c (Fplist_put): Preserve uneven tail data.
  
 -2002-01-04  Richard M. Stallman  <rms@gnu.org>
 +2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
  
 -      * xmenu.c (menu_highlight_callback): Hide any tooltip window.
 +      * termhooks.h (enum event_kind): Remove trailing comma.
  
 -2002-01-03  Richard M. Stallman  <rms@gnu.org>
 +      * frame.h (enum): Remove trailing comma.
  
 -      * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
 -      (Fkey_binding): Try the `keymap' property map first.
 -      (Fdescribe_buffer_bindings): Show `keymap' property bindings before
 -      minor mode bindings.
 +2007-10-08  Dhuvra Krishnamurthy  <dhuvrakm@gmail.com>  (tiny change)
  
 -2002-01-03  Kim F. Storm  <storm@cua.dk>
 +      * w32proc.c (delete_child): Don't terminate threads of zombies.
  
 -      * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy.
 +2007-10-08  Martin Rudalics  <rudalics@gmx.at>
  
 -2002-01-02  Richard M. Stallman  <rms@gnu.org>
 +      * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
  
 -      * keyboard.c (read_key_sequence): Handle the keymap property
 -      before minor mode maps.
 +      * 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.
  
 -      * editfns.c (Fformat): Update thissize from field_width
 -      based on the actual width, in the string case.
 +2007-10-08  Richard Stallman  <rms@gnu.org>
  
 -2002-01-01  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * eval.c (condition-case): Doc fix.
  
 -      * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
 -      when used as truth value to prevent gcc warnings.
 +2007-10-08  Masatake YAMATO  <jet@gyve.org>
  
 -      * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
 -      * w32proc.c: Include <config.h>.
 +      * xfaces.c (tty_supports_face_attributes_p): Fix code
 +      for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
 +      was copied and not edited.
  
 -2002-01-01  Andreas Schwab  <schwab@suse.de>
 +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.
  
 -      * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
 -      not EMACS_INT, to make them compatible with DEFVAR_INT.
 -      * lisp.h (max_specpdl_size): Adjust declaration.
 +2007-10-09  Richard Stallman  <rms@gnu.org>
  
 -2002-01-01  Richard M. Stallman  <rms@gnu.org>
 +      * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
  
 -      * print.c (print_object): Test print_escape_nonascii only for
 -      unibyte strings.
 -      (PRINTPREPARE): Once again bind Qprint_escape_nonascii
 -      when outputting to a multibyte buffer.
 +2007-09-29  Richard Stallman  <rms@gnu.org>
  
 -2001-12-29  Richard M. 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.
  
 -      * print.c (print_object): In multibyte string, use hex escapes.
 -      Use octal only for unibyte strings.
 -      (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
 +2007-10-06  Andreas Schwab  <schwab@suse.de>
  
 -      * lread.c (read_escape): New arg BYTEREP for reporting whether
 -      escape forces unibyte or multibyte.
 -      (read1): When reading a string, take note of that info.
 +      * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
  
 -2001-12-29  Ken Raeburn  <raeburn@gnu.org>
 +2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
 -      comparison to test lisp value returned by Fget.
 +      * image.c (syms_of_image) <image-types>: Fix typo in docstring.
  
 -2001-12-29  Richard M. Stallman  <rms@gnu.org>
 +2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * lisp.h (max_specpdl_size): Add declaration.
 +      * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
  
 -      * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
 +2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
 -      Handle modifier bits.  Correct typo in error message.
 +      * 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.
  
 -2001-12-28  Richard M. Stallman  <rms@gnu.org>
 +      * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
 +      Turn `count' into an integer.
  
 -      * abbrev.c: Use the plist of an abbrev for multiple params if nec.
 -      (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
 -      (Fdefine_global_abbrev, Fdefine_mode_abbrev):
 -      Update calls to Fdefine_abbrev.
 -      (write_abbrev): Update for changed data format.
 -      Don't list "system" abbrevs.
 -      (Fexpand_abbrev): Update use count with new data format.
 -      (describe_abbrev): Update for changed data format.
 -      (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
 +      * 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.
  
 -      * config.in (HAVE_MBSINIT): Add #undef.
 +      * 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.
  
 -      * strftime.c (mbsinit): Define as no-op if not available.
 +      * frame.c (Fframe_parameters): Minor simplification.
  
 -      * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
 -      (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
 +      * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
  
 -      * keymap.c (Flookup_key): Error message if key has wrong data type.
 -      (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
 -      (exclude_key): New variable.
 +      * marker.c (Fmarker_buffer): Make test for odd case into a failure.
  
 -2001-12-28  Gerd Moellmann  <gerd@gnu.org>
 +      * buffer.c (Fget_buffer_create, init_buffer_once):
 +      * lread.c (defsubr):
 +      * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
  
 -      * xterm.c (x_setup_relief_colors): Don't compute an image's
 -      background color if it doesn't have a Pixmap.
 +      * 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.
  
 -      * xterm.c (notice_overwritten_cursor): Don't depend on
 -      output_cursor and updated_area.  Compare pixel coordinates with
 -      window's cursor pixel coordinates.
 -      (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
 -      Call notice_overwritten_cursor with new arg list.
 -      (show_mouse_face): Fix bug setting a row's mouse_face_p flag
 -      unconditionally.
 +      * 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.
  
 -      * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
 -      height of the cursor line to the amount to scroll.
 +      * 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.
  
 -2001-12-27  Richard M. Stallman  <rms@gnu.org>
 +      * window.c (candidate_window_p): Only consider as visible frames that
 +      are on the same terminal.
  
 -      * intervals.c (set_point_both): The position after an invisible,
 -      intangible character is not an acceptable stopping point.
 +      * m/ibms390x.h (MARKBIT): Remove unused macro.
  
 -2001-12-27  Ken Raeburn  <raeburn@gnu.org>
 +2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (enlarge_window): In new preserve_before code, convert
 -      CURBEG from lisp object to integer before doing arithmetic.
 +      * lread.c (Fload): Fix typo in docstring.
  
 -2001-12-27  Richard M. Stallman  <rms@gnu.org>
 +2007-10-01  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
  
 -      * bytecode.c (Fbyte_code): Undo previous change.
 +      * floatfns.c (Fexpt): Manually check for overflows, so that a power
 +      of a non-zero value can't yield zero.
  
 -2001-12-26  Kim F. Storm  <storm@cua.dk>
 +2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * keyboard.c (record_char): Ignore duplicate help-echo events only
 -      separated by mouse-movement.  When tracking mouse, only record
 -      first and last mouse-movement event in same window.
 -      Don't record mouse-movement events in keyboard macros.
 +      * term.c (term_clear_mouse_face, term_mouse_highlight)
 +      (tty_write_glyphs_with_face): Only define is HAVE_GPM.
  
 -2001-12-25  Richard M. Stallman  <rms@gnu.org>
 +      * print.c (safe_debug_print): Use XHASH.
  
 -      * window.c (enlarge_window): New arg PRESERVE_BEFORE.  Callers changed.
 -      (Fenlarge_window): New arg PRESERVE_BEFORE.
 +      * 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.
  
 -      * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
 -      instead of Fstring_as_unibyte.
 +      * 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.
  
 -2001-12-22  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      The following changes remove mocklisp support:
 +      * 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.
  
 -      * mocklisp.h, mocklisp.c: Files removed.
 +2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
 -      `Qmocklisp' and `Qmocklisp_arguments'.
 -      Remove prototype of syms_of_mocklisp.
 +      * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
 +      loaded by default.
  
 -      * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
 +2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * callint.c: Do not include mocklisp.h.
 -      (Fcall_interactively): Do not test for mocklisp case.
 +      * 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.
  
 -      * eval.c: Remove variables `Qmocklisp_arguments',
 -      `Vmocklisp_arguments' and `Qmocklisp'.  Remove prototype of ml_apply.
 -      (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
 -      Do not test for mocklisp case.
 -      (Fwhile): Remove unused variable `tem'.
 -      (syms_of_eval): Remove variable `moclisp-arguments'.
 +      * 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.
  
 -      * data.c (wrong_type_argument): Remove mocklisp case.
 +2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * doc.c (Fdocumentation): Remove mocklisp case.
 +      * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
 +      (init_sys_modes): Check that gpm_tty is the current tty.
  
 -      * emacs.c (main): Do not call syms_of_mocklisp.
 +      * 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.
  
 -2001-12-21  Richard M. Stallman  <rms@gnu.org>
 +      * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
 +      the GC to the beginning.
  
 -      * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
 -      to the left or to the right of the pointer, put it against
 -      the left screen edge.
 +      * indent.h:
 +      * indent.c: Use EMACS_INT for ints coming from Elisp data.
  
 -2001-12-21  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
  
 -      * Makefile.in (distclean): Remove .gdbinit if we are building
 -      outside the source tree.
 +2007-09-25  Jason Rumney  <jasonr@gnu.org>
  
 -2001-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
  
 -      * w32.c (emacs_root_dir): New function.
 +      * w32console.c (create_w32cons_output): Remove.
  
 -      * msdos.c (emacs_root_dir): New function.
 +      * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
  
 -      * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
 -      of the current drive as the fallback for default_directory.
 +      * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
 +      (reset_sys_modes): Use reset_terminal_modes_hook.
  
 -      * dired.c (file_name_completion): Run the elements of
 -      completion-ignored-extensions through ENCODE_FILE.
 +2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * lisp.h (scmp): Remove prototype, since it's now a static
 -      function private to dired.c.
 +      * eval.c (do_autoload): Don't output any message.
  
 -2001-12-18  Richard M. Stallman  <rms@gnu.org>
 +2007-09-24  Juri Linkov  <juri@jurta.org>
  
 -      * dired.c (scmp): Function moved from minibuf.c.
 -      Delete multibyte handling--used only on encoded strings.
 +      * emacs.c (standard_args): Change priority of "--no-splash"
 +      from 40 to 3.  Add "--no-desktop" with the same priority.
  
 -      * minibuf.c (scmp): Function moved to dired.c.
 +2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * fns.c (merge): Add QUIT call.
 +      * alloc.c (gc_sweep): Check cons cell mark bits word by word
 +      and optimize the case where they are all 1.
  
 -2001-12-18  Dave Love  <fx@gnu.org>
 +2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
  
 -      * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
 -      language/georgian.el.
 +      * 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.
  
 -2001-12-18  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-09-22  Eli Zaretskii  <eliz@gnu.org>
  
 -      * Makefile.in (lisp, shortlisp): Synchronize with changes to
 -      lisp/Makefile.in:DONTCOMPILE.
 +      * 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.
  
 -2001-12-18  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * xdisp.c (window_box_height): Do not return negative values.
 -      From Gerd Moellmann <gerd@gnu.org>.
 +      * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
 +      up the tty state.
  
 -      * keyboard.c (head_table): Add missing braces around initializer.
 +2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * term.c (keys): Likewise.
 +      * 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.
  
 -      * xfns.c (x_frame_parms, visual_classes): Likewise.
 +2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
  
 -2001-12-17  Sam Steingold  <sds@gnu.org>
 +      * w32term.c (x_draw_glyph_string): Use strike_through_color, not
 +      underline_color, to draw strike-through.
  
 -      * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
 -      patch (COMPOSING_P, not COMPOSING).
 +2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-12-17  Richard M. Stallman  <rms@gnu.org>
 +      * lisp.h (allocate_terminal): Declare.
  
 -      * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
 +      * 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).
  
 -      * coding.c (code_convert_region): Update coding->cmp_data->char_offset
 -      before calling decode_coding.
 +      * frame.c (Qdisplay_environment_variable):
 +      * frame.h (Qdisplay_environment_variable): Delete.
  
 -      * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
 +      * .gdbinit (xbacktrace): Print the arg's address rather than the value
 +      of the first arg, since that value may be a union.
  
 -      * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
 -      instead of only for COMPOSITION_DISABLED.
 +      * 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.
  
 -2001-12-16  Richard M. Stallman  <rms@gnu.org>
 +2007-09-21  Glenn Morris  <rgm@gnu.org>
  
 -      * alloc.c (pure_alloc): After overflow, allocate just a small block.
 +      * Makefile.in (emacstool): Remove target.
 +      (lisp, shortlisp): Remove termdev.elc.
  
 -      * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
 +2007-09-21  Markus Triska  <markus.triska@gmx.at>
  
 -      * buffer.h (struct buffer): New field `display_error_modiff'.
 -      * buffer.c (reset_buffer): Initialize `display_error_modiff'.
 +      * xterm.c (x_delete_display): Compile session management conditionally.
  
 -      * window.c (Frecenter): Clear display_error_modiff field.
 +2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
 -      Call redisplay_window, but not if display_error_modiff field says no.
 -      (redisplay_window_error): New function.
 -      (displayed_buffer): New variable.
 -      (redisplay_internal, redisplay_windows): Call the new functions
 -      instead of redisplay_window directly.
 +      * callproc.c (getenv_internal_1): New function.
 +      (getenv_internal): Use it.
 +      (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
  
 -2001-12-15  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
 +      * 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.
  
 -2001-12-14  Andrew Innes  <andrewi@gnu.org>
 +      * 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.
  
 -      * makefile.w32-in (EMACSLOADPATH): Define.
 -      ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
 -      (bootstrap-temacs): Remove dependency on bootstrap-clean.
 +      * 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.
  
 -2001-12-13  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * termhooks.h (struct terminal): Make it into a pseudovector.
 +      Remove `deleted' replaced by checking `name's nullness.
  
 -      * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
 -      parameter have a numeric value all the time.
 +      * print.c (print_object): Handle terminals.
  
 -      * w32fns.c (x_report_frame_params): Likewise.
 +      * lisp.h (enum pvec_type): New `terminal' pseudovector.
 +      (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
  
 -2001-12-12  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * fileio.c (Fwrite_region): Doc fix.
 +2007-09-20  Glenn Morris  <rgm@gnu.org>
  
 -      * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
 -      (redisplay_internal): Call clear_image_cache only for window terminals.
 +      * process.c (Fmake_network_process): Doc fix.
  
 -2001-12-12  Gerd Moellmann  <gerd@gnu.org>
 +2007-09-19  Jason Rumney  <jasonr@gnu.org>
  
 -      * xdisp.c (move_it_vertically_backward): Change heuristic
 -      for the case that we didn't move far enough initially.
 +      * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
  
 -      * window.c (Frecenter): Simplify computation in the case of window
 -      system frames and ARG < 0; use window_box_height.
 +2007-09-19  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
  
 -2001-12-11  Richard M. Stallman  <rms@gnu.org>
 +      * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
 +      Fix a C warning regarding variable constness.
  
 -      * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
 -      * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
 +      * xterm.c (handle_one_xevent): Fix a C warning.
  
 -2001-12-11  Andrew Innes  <andrewi@gnu.org>
 +2007-09-18  Jason Rumney  <jasonr@gnu.org>
  
 -      * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
 -      arg is negative.
 +      * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
  
 -2001-12-11  Richard M. Stallman  <rms@gnu.org>
 +2007-09-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * m/hp800.h: Split the __hpux conditional into the parts
 -      that are right for GNU/Linux too and the parts that are not.
 -      Use the former if GNU_LINUX.
 -      (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
 +      * 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.
  
 -      * s/gnu-linux.h (GNU_LINUX): Defined.
 +2007-09-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2001-12-11  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      * macros.c, msdos.c, w16select.c: Change doc-string comments to
 -      `new style' [w/`doc:' keyword].
 +2007-09-16  Andreas Schwab  <schwab@suse.de>
  
 -2001-12-10  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (reset_malloc_hooks): Set the hooks to the previous
 +      values instead of zapping them.
  
 -      * w32menu.c (w32_free_submenu_strings): Clear menu item struct
 -      before using.
 +2007-09-14  Glenn Morris  <rgm@gnu.org>
  
 -2001-12-09  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
 -      keyword].
 +2007-09-14  Kenichi Handa  <handa@m17n.org>
  
 -2001-12-09  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
  
 -      * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
 +2007-09-13  Jason Rumney  <jasonr@gnu.org>
  
 -      * s/hpux10.h (srand48): Don't undefine.
 +      * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
  
 -2001-12-09  Jason Rumney  <jasonr@gnu.org>
 +      * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
  
 -      * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
 -      Add comment to explain where the struct came from.
 -      (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
 -      (add_menu_item): Process pop-up menus first to avoid memory leak.
 -      (add_menu_item, w32_menu_display_help): Use `help' field as
 -      Lisp_Object.
 -      (w32_free_submenu_strings): Only free owner-drawn strings.
 +      * macterm.c (mac_initialize): Don't call mac_init_fringe here.
 +      (mac_term_init): Call here instead, passing rif.
  
 -2001-12-09  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-09-13  Glenn Morris  <rgm@gnu.org>
  
 -      * COPYING: Moved back.
 +      * s/hpux.h: No longer define `static' as nothing.
  
 -      * charset.c (char_to_string_1, translate_char, Fdefine_charset):
 -      Add parentheses around && within ||.
 +2007-09-13  Johan Bockg\e,Ae\e(Brd  <bojohan@gnu.org>
  
 -      * indent.c (compute_motion): Likewise.
 +      * callint.c (Fcall_interactively): Remove unused var `fun'.
  
 -      * intervals.c (merge_properties_sticky): Likewise.
 +2007-09-12  Romain Francoise  <romain@orebokech.com>
  
 -      * coding.c (setup_coding_system, shrink_encoding_region)
 -      (Fdecode_sjis_char): Likewise.
 +      * window.c (prefer_window_split_horizontally, display_buffer):
 +      Revert 2007-09-08 change.
  
 -2001-12-07  Andreas Schwab  <schwab@suse.de>
 +2007-09-12  Glenn Morris  <rgm@gnu.org>
  
 -      * xdisp.c (display_mode_element): Don't read past end of string if
 -      it ends with '%'.
 +      * 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.
  
 -      * alloc.c (inhibit_garbage_collection): Don't exceed value an int
 -      can hold.
 +      * Makefile.in (SOURCES, unlock, relock): Delete.
  
 -      * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
 -      Rename from most_positive_fixnum and most_negative_fixnum, resp., and
 -      type changed to Lisp_Object.
 -      (syms_of_data): DEFVAR_LISP them.
 +      * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
 +      (menu_grab_callback): All uses changed.
  
 -2001-12-07  Richard M. Stallman  <rms@gnu.org>
 +      * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
 +      (x_reply_selection_request): All uses changed.
  
 -      * callproc.c (init_callproc): Set Vdata_directory based on the source
 -      location whenever Emacs was run uninstalled.
 +2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-12-06  Paul Eggert  <eggert@twinsun.com>
 +      * lread.c (load_warn_old_style_backquotes): Change message to look
 +      better when it appears in the middle of byte-compiler messages.
  
 -      * config.in (HAVE_WORKING_VFORK): New #undefs.
 -      * process.c (create_process):
 -      Use HAVE_WORKING_VFORK, not HAVE_VFORK.
 -      * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
 -      * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
 -      * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
 -      * m/intel386.h (HAVE_VFORK): Likewise.
 -      * m/mips-siemens.h (HAVE_VFORK): Likewise.
 -      * m/mips.h (HAVE_VFORK): Likewise.
 -      * s/freebsd.h (vfork): Remove #define.
 -      * s/lynxos.h (HAVE_VFORK): Remove #undef.
 -      * s/usg5-4-2.h: Fix comment about vfork.
 +2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2001-12-06  Richard M. Stallman  <rms@gnu.org>
 +      * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
  
 -      * s/hpux10.h (random): Add undef.
 -      (HAVE_RANDOM): Define it just once.
 +      * xterm.c (x_create_terminal): Add comment.
  
 -2001-12-06  Stefan Monnier  <monnier@cs.yale.edu>
 +      * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
  
 -      * eval.c: Undo last change: the standard syntax is not wanted.
 +2007-09-10  Richard Stallman  <rms@gnu.org>
  
 -2001-12-06  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
  
 -      * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
 -      scroll bars of the frame before deleting the frame itself.  If the
 -      frame has a widget, delete the frame with XtDestroyWidget, and do
 -      not call XDestroyWindow before that.
 +2007-09-10  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
  
 -2001-12-06  Kim F. Storm  <storm@cua.dk>
 +      * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
 +      (DEFUN): Document `intspec', use it instead of `prompt'.
  
 -      * xfns.c (x_report_frame_params): Return actual fringe widths.
 +      * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
  
 -      * w32fns.c (x_report_frame_params): Return actual fringe widths.
 +      * data.c (Finteractive_form): If the interactive specification starts
 +      with a `(', use it as a Lisp form.
  
 -2001-12-05  Andrew Innes  <andrewi@gnu.org>
 +      * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
 +      name and file modes.
  
 -      * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
 -      excessively large.
 +      * callint.c (Fcall_interactively): Comment fixes.
  
 -      * insdel.c (make_gap_larger): New function.
 -      (make_gap_smaller): New function.
 -      (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
 -      Call make_gap_smaller if arg is negative.
 +2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-12-04  Stefan Monnier  <monnier@cs.yale.edu>
 +      * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
 +      and compiled functions.
  
 -      * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
 -      Pass a dummy argument when calling interrupt_signal.
 -      (parse_menu_item): Mark disabled items before checking for empty def.
 -      (read_char_minibuf_menu_prompt): Make safety more visible.
 -      (read_key_sequence): Add a `first_unbound' variable.
 -      Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
 -      unbound prefix as soon as we can detect it.
 +2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
  
 -      * doc.c (Fsnarf_documentation): Add prototype.
 -      (get_doc_string): Handle negative arguments.
 -      (Fdocumentation): Use AREF and ASIZE.
 -      Move the calls to get_doc_string to a single place.
 -      Don't confuse an interactive-spec for a docstring reference.
 -      (Fdocumentation_property): Take advantage of the fact that
 -      get_doc_string now ignores the sign of the docstring position.
 +      * window.c (prefer_window_split_horizontally): New variable.
 +      (display_buffer): Consider splitting window horizontally depending
 +      on prefer_window_split_horizontally.
  
 -      * eval.c: Use standard syntax for usage in docstrings.
 +2007-09-08  Eli Zaretskii  <eliz@gnu.org>
  
 -2001-12-03  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
  
 -      * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
 +2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-12-02  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
  
 -      * xterm.c (x_draw_image_relief): Use predefined macro instead of
 -      constant when the value of `tool_bar_button_relief' is negative.
 +      * frame.c (x_set_frame_parameters): Check number is positive before
 +      using XFASTINT.
  
 -2001-12-02  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
 -      (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
 +2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
  
 -      * fileio.c (read_non_regular): Delete Fsignal call.
 +      * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
  
 -2001-12-01  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * lisp.h (run_hook_list_with_args): Undo last change.
 +      * window.c (Vsplit_window_preferred_function): New var.
 +      (Fdisplay_buffer): Use it.
 +      (syms_of_window): Export, and initialize it.
  
 -2001-12-01  Gerd Moellmann  <gerd@gnu.org>
 +2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
  
 -      * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
 +      * image.c (gif_load): Fix bug: Handle nonexistent colormap.
  
 -2001-12-01  Jason Rumney  <jasonr@gnu.org>
 +2007-09-06  Glenn Morris  <rgm@gnu.org>
  
 -      * window.c (Qleft_fringe, Qright_fringe): Remove.  Now in frame.c.
 +      * gtkutil.c (menu_grab_callback) <cnt>:
 +      * xselect.c (x_reply_selection_request) <cnt>: Move static
 +      variable to file scope.
  
 -      * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
 -      [!WM_MOUSELEAVE]: Define.
 +2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32menu.c (current_popup_menu, get_menu_item_info):
 -      (set_menu_item_info): New vars.
 -      (set_frame_menubar): Doc fix clarifying GC interaction with menus.
 -      (w32_menu_show): Set current_popup_menu.
 -      (add_menu_item): Allocate new strings for owner-drawn menu items
 -      and help strings.
 -      Use owner-draw for disabled menu items again.
 -      (w32_menu_display_help): Ignore owner-drawn items and popup menus.
 -      (w32_free_submenu_strings, w32_free_menu_strings): New functions.
 +      * xdisp.c (redisplay_internal): Make sure Elisp code always sees
 +      consistent values of selected_frame and selected_window.
  
 -      * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
 -      (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
 -      <WM_EXITMENULOOP>: Free menu strings.
 -      <WM_MOUSELEAVE>: Stop tracking mouse.
 -      (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
 +2007-09-04  Jason Rumney  <jasonr@gnu.org>
  
 -      * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
 -      and mouse face.
 +      * w32console.c (initialize_w32_display): Zero unused hooks.
  
 -2001-12-01  Kim F. Storm  <storm@cua.dk>
 +2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      The following changes add left-fringe and right-fringe
 -      frame parameters to adjust fringe widths, or remove one or
 -      both fringes.
 +      * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
 +      (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
  
 -      * frame.h (struct frame): Remove trunc_area_pixel_width and
 -      trunc_area_cols fields.
 -      (Qleft_fringe, Qright_fringe): Declare.
 -      (FRAME_RIGHT_FRINGE_WIDTH): New macro.
 +2007-09-04  Jason Rumney  <jasonr@gnu.org>
  
 -      * frame.c (Qleft_fringe, Qright_fringe): New vars.
 -      (syms_of_frame): Initialize them.
 +      * 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.
  
 -      * window.c (coordinates_in_window): Handle separate left and right
 -      fringe widths.
 +      * s/ms-w32.h (MULTI_KBOARD): Define.
  
 -      * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
 -      and fringe_cols fields.
 -      (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
 -      (FRAME_X_FRINGE_COLS): Use fringe_cols field.
 -      (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
 -      (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
 -      (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
 -      (x_compute_fringe_widths): Add prototype.
 +      * w32console.c (one_and_only_w32cons): Remove.
 +      (initialize_w32_display): Take terminal argument.
  
 -      * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
 -      fill fringe evenly with small dashes.
 -      (x_draw_fringe_bitmap): Clear background if necessary.  Align and
 -      clip the new ZV bitmap to avoid jitter between rows.
 -      (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
 -      background.  Don't draw fringe bitmaps if fringe width is zero.
 -      (x_compute_fringe_widths): New function.
 -      (x_new_font, x_set_window_size_1): Use it.
 +      * term.c (init_tty) [WINDOWSNT]: Pass terminal to
 +      initialize_w32_display.
 +      (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
  
 -      * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
 -      (x_set_frame_parameters): Process `font' parameter before other
 -      parameters as fringe widths depend on it.
 -      (x_set_fringe_width): New function.
 -      (x_figure_window_size): Use x_compute_fringe_widths.
 -      (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
 -      parameters.
 +      * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
  
 -      * widget.c (set_frame_size): Use x_compute_fringe_widths.
 -      (EmacsFrameSetCharSize): Ditto.
 +      * 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.
  
 -      * w32term.h: Merged changes from xterm.h.
 -      * w32term.c: Merged changes from xterm.c.
 -      * w32fns.c: Merged changes from xfns.c.
 +      * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
 +      <WM_MOUSEHWHEEL>: Pass new system message to lisp.
  
 -2001-11-29  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
  
 -      * COPYING: Removed.
 +      * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
 +      from WM_MOUSEHWHEEL.
 +      (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
  
 -2001-11-29  Dave Love  <fx@gnu.org>
 +      * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
 +      terminal.
  
 -      * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
 -      extra extra slot.
 -      (detect_coding_mask): Fix call of detect_coding_iso2022.
 +      * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
 +      keyboard for the terminal.
  
 -2001-11-29  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * fileio.c (file-name-coding-system)
 -      (default-file-name-coding-system): Doc fix (links to referenced
 -      variables added).
 +      * 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.
  
 -2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-09-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
 -      Add dummy uses of gcproN variables.
 +      * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
 +      if it starts with "n:".
  
 -      * category.c (describe_category, describe_category_1)
 -      (Fdescribe_categories): Remove.  (Moved to lisp/help-fns.el.)
 -      (syms_of_category): Don't defsubr Sdescribe_categories.
 +2007-08-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2001-11-28  Richard M. Stallman  <rms@gnu.org>
 +      * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
  
 -      * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
 +2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * Makefile.in (lispdir): New variable, referring to build dir.
 -      (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
 +      * frame.h:
 +      * frame.c (Qterm_environment_variable): Remove.
 +      (syms_of_frame): Don't init and staticpro it.
  
 -2001-11-28  Andrew Innes  <andrewi@gnu.org>
 +      * callproc.c (getenv_internal): Remove special case for $TERM.
  
 -      * w32menu.c (w32_menu_display_help): Actually add the new argument
 -      OWNER.
 +      * 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.
  
 -2001-11-28  Jason Rumney  <jasonr@gnu.org>
 +2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * w32menu.c (add_menu_item): Do not use owner-draw for disabled
 -      menu items.  From David Ponce <dponce@wanadoo.fr>.
 -      (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
 -      conditionally.
 -      (w32_menu_display_help): New argument OWNER.  Rewritten to store a
 -      help event in the owner frame's keyboard buffer.
 +      * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
 +      * s/darwin.h: ... do it here.
  
 -      * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
 -      (Fx_show_tip): Don't subtract last width from row width.
 +2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
 -      (w32_read_socket): Use EQ to compare frames.
 +      * lisp.h (set_initial_environment): Rename from set_global_environment.
  
 -2001-11-28  Gerd Moellmann  <gerd@gnu.org>
 +      * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
 +      removed by mistake on the multi-tty branch.
  
 -      * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
 -      OVERLAPS_P.
 +      * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
 +      (Fmodify_frame_parameters): Return a value.
  
 -2001-11-28  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * image.c (png_load): Comment-out var only used in commented-out code.
  
 -      * xdisp.c (message_dolog): Remove unused variables `gcpro2',
 -      `gcpro3' and `gcpro4'.
 +      * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
 +      before passing it to mark_object.
  
 -      * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
 +      * xfaces.c (internal_resolve_face_name): Return a value.
 +      (internal_resolve_face_name, resolve_face_name_error): Comment out.
  
 -2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>
 +      * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
 +      (x_icon): Comment-out var only used in commented-out code.
  
 -      * ccl.c: Use AREF and ASIZE.
 +2007-08-29  Romain Francoise  <romain@orebokech.com>
  
 -2001-11-27  Stefan Monnier  <monnier@cs.yale.edu>
 +      * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
 +      QUIT hasn't been provided.
  
 -      * lisp.h (run_hook_list_with_args): Remove.
 -      (LIST_END_P): Fix call to wrong_type_argument.
 -      (make_fixnum_or_float): Use EMACS_INT rather than int.
 +2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2001-11-26  Stefan Monnier  <monnier@cs.yale.edu>
 +      * callproc.c (child_setup, getenv_internal): Use the
 +      display-environment-variable and term-environment-variable frame params.
 +      (set_initial_environment): Initialise Vprocess_environment.
  
 -      * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
 -      (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
 +      * config.in: Disable multi-keyboard support on a mac.
  
 -      * eval.c: Use AREF and ASIZE.
 -      (Ffetch_bytecode): Add the file name to the error message.
 +      * frame.c (Qterm_environment_variable)
 +      (Qdisplay_environment_variable): New variables.
 +      (syms_of_frame): Intern and staticpro them.
 +      (Fmake_terminal_frame): Disable output method test.
  
 -      * fileio.c (Ffind_file_name_handler): Give precedence to handlers
 -      which match the end of the file-name.
 -      (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
 -      is not a valid env var, but leave it as is instead.
 +      * frame.h: Declare them here.
  
 -      * keymap.c (access_keymap): Handle t bindings like nil bindings.
 -      Make nil bindings in char-tables transparent.
 -      (store_in_keymap): Turn a nil binding into a t binding for char-tables.
 +      * 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.
  
 -2001-11-26  Richard M. Stallman  <rms@gnu.org>
 +      * macmenu.c: Reorder includes.
 +      (Fx_popup_menu): Use terminal specific mouse_position_hook.
  
 -      * textprop.c (set_text_properties_1): Allow START, END in either order.
 -      Do nothing if range is empty.
 +      * 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.
  
 -      * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
 +      * macterm.h (struct mac_display_info): Add terminal.
 +      (mac_initialize): Delete declaration.
  
 -      * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
 -      (clean): Not here.
 +      * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
  
 -2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>
 +      * sysdep.c: Comment out text after #endif.
  
 -      * textprop.c (set_text_properties_1): Clearly mark that the
 -      interval should not be empty.
 +      * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
 +      is defined.  Better initialize ttys in windows.  Use terminal
 +      specific mouse_position_hook.
  
 -      * intervals.c (graft_intervals_into_buffer):
 -      Don't call set_text_properties_1 on an empty interval.
 +      * termhooks.h (union display_info): Add mac_display_info.
  
 -2001-11-25  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
 +      * w32term.c (w32_initialize): Make static.
  
 -      * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
 -      don't lose the data in it.
 +      * xselect.c (x_handle_selection_clear): Only access
 +      terminal->kboard when MULTI_KBOARD is defined.
  
 -2001-11-25  Juanma Barranquero  <lektu@terra.es>
 +      * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
 +      (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
  
 -      * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
 +2007-08-29  Jason Rumney  <jasonr@gnu.org>
  
 -      * buffer.c (Fkill_buffer): Likewise.
 +      * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
 +      (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
  
 -      * print.c (temp_output_buffer_setup): Likewise.
 +      * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
 +      (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
  
 -2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>
 +      * keyboard.c (restore_kboard_configuration): Only define when
 +      MULTI_KBOARD defined.
  
 -      * xfaces.c (merge_face_heights): Coerce back to int explicitly.
 +      * makefile.w32-in: Update dependancies from Makefile.in.
 +      (OBJ1): Add terminal.$(O)
  
 -2001-11-25  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
 +      Don't define function body.
 +      (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
  
 -      * window.c (Fset_window_vscroll): Doc fix.  From Kalle Olavi
 -      Niemitalo <kon@iki.fi>.
 +      * termhooks.h (display_info) [WINDOWSNT]: Add w32.
  
 -2001-11-25  Jason Rumney  <jasonr@gnu.org>
 +      * w32.c (request_sigio, unrequest_sigio): Remove.
  
 -      * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
 +      * 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.
  
 -      * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
 -      (Fx_show_tip): Block input during frame creation.
 -      (Fx_show_tip, Fx_hide_tip): Enable.
 +      * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
 +      arg a frame.
  
 -2001-11-24  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * lread.c (Fload): Detect recursive load error for more than 3
 -      nestings of the same file.
 -      (Vrecursive_load_depth_limit): Variable deleted.
 -      (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
 +      * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
  
 -2001-11-24  Jason Rumney  <jasonr@gnu.org>
 +      * 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.
  
 -      * xfns.c (compute_tip_xy): Initialize root_x and root_y from
 -      mouse position if either left or top is not specified.
 +      * 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.
  
 -      * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
 -      <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
 -      (my_create_tip_window, Fx_show_tip): Adjust size for external border.
 -      (my_create_tip_window): Assign tip_window.
 -      (x_create_tip_frame): Use same defaults as X.
 -      (compute_tip_xy): Remove unused variable.  Use full screen width.
 -      (Fx_show_tip): Do not double height.  Call ShowWindow directly.
 +      * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
  
 -      * w32term.c (x_after_update_window_line): Doc fix.
 -      (w32_read_socket): Doc fix.  Avoid SET_FRAME_GARBAGED for tip
 -      frames.
 -      <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
 +      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
  
 -      * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
 -      for all Windowed systems.
 +2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
  
 -2001-11-23  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
 +      Fix get_named_tty calls for the controlling tty.
  
 -      * msdos.c (IT_clear_screen): If the frame's faces are not yet
 -      realized, use the initial screen colors to clear the screen.
 +2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
  
 -2001-11-23  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
  
 -      * textprop.c (Fset_text_properties): Remove unused variables
 -      `unchanged', `prev_changed', `s' and `len'.
 +2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
  
 -      * search.c (Freplace_match): Remove unused variable `inslen'.
 -
 -      * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
 -
 -2001-11-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
 -      (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
 -      (my_create_tip_window): New function.
 -      (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
 -      (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
 -
 -2001-11-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
 -      (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
 -
 -      * w32fns.c (Vw32_system_coding_system): Remove.
 -      (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
 -
 -2001-11-19  Stefan Monnier  <monnier@cs.yale.edu>
 -
 -      * fileio.c (Fwrite_region): Move choose_write_coding_system to
 -      after build_annotations.
 -
 -      * syntax.c (describe_syntax): Add dummy arg.
 -      (describe_syntax_1): Update call to describe_vector.
 -
 -      * category.c (describe_category): Add dummy arg.
 -      (describe_category_1): Update call to describe_vector.
 -
 -      * keymap.c (Fdescribe_vector): Add `describer' parameter.
 -      (describe_command, describe_translation): Add dummy second param.
 -      (describe_map): Call elt_describer with two arguments.
 -      (describe_vector_princ): Add `fun' parameter.
 -      Call it instead of the hardcoded `princ'.
 -      (describe_vector): Add arg `args'.
 -      Pass it as a new second argument to elt_describer.
 +      * term.c (tty_insert_glyphs): Add missing first parameter.
  
 -      * keymap.h (describe_vector): Update prototype.
 +2007-08-29  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <karoly@lorentey.hu>
  
 -      * frame.c: Don't include keymap.h any more.
 -      (keys_of_frame): Remove.
 +      * buffer.c (Fbuffer_list, Fbury_buffer):
 +      Take frame->buried_buffer_list into account.
  
 -      * lisp.h (keys_of_frame): Remove declaration.
 +      * 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().
  
 -      * emacs.c (main): Don't call `keys_of_frame' any more.
 +      * 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.
  
 -2001-11-14  Andreas Schwab  <schwab@suse.de>
 +      * 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.
  
 -      * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
 -      if defined, 0 otherwise.
 -      (MAP_FAILED): Define if not defined and use it to test mmap failure.
 -      (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
 +      * 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.
  
 -2001-11-19  Richard M. Stallman  <rms@gnu.org>
 +      * keymap.h (Fset_keymap_parent): Add EXFUN.
  
 -      * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
 +      * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
 +      * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 +      Remove redundant definition.
  
 -2001-11-18  Jason Rumney  <jasonr@gnu.org>
 +      * macfns.c (x_set_mouse_color, x_make_gc):
 +      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
  
 -      * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
 -      (x_draw_bar_cursor): If the background color of the glyph under
 -      the cursor equals the frame's cursor color, use the glyph's
 -      foreground color for drawing the bar cursor.
 -      (x_after_update_window_line): Clear internal border in different
 -      circumstances.
 -      (w32_set_vertical_scroll_bar): Check for width and height > 0.
 -      (w32_draw_relief_rect): Correct relief by 1 pixel.
 -      (x_set_glyph_string_background_width):
 -      Set extends_to_end_of_line_p if the row's fill_line_p is set and
 -      drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
 -      (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
 -      if cursor_in_non_selected_windows is false.
 -      (show_mouse_face): Clean up.  Recognize overwritten cursor differently.
 -      (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
 -      Notice if cursor gets overwritten.
 -      (notice_overwritten_cursor): Renamed from
 -      note_overwritten_text_cursor.  Rewritten to take glyph widths
 -      into account, and to take X positions as parameters.
 -      (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
 -      around call to x_draw_glyphs.
 -      (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
 -      `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
 -      color to use for image glyph reliefs.
 -      (x_draw_image_relief): Accept zero tool_bar_button_relief.
 -      (glyph_rect): Remove unused variable `area'.
 +      * w32term.c (x_free_frame_resources):
 +      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 +      (w32_initialize): Use the accessor macros for terminal characteristics.
  
 -      * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
 -      some items.
 -      (x_set_internal_border_width): Set frame garbaged when window
 -      doesn't exist yet.
 -      (Fx_create_frame): Accept zero tool_bar_button_relief.
 -      (x_clear_image_1, four_corners_best, image_background)
 -      (image_background_transparent): New functions.
 -      (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
 -      (gs_format): Add `:background' entry.
 -      (lookup_image): Set IMG's background color if specified.
 -      (pbm_load, xbm_load_image, png_load): Set IMG's background field
 -      when appropriate.
 -      (x_clear_image_1): Reset `background_valid' and
 -      `background_transparent_valid' fields.
 -      (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
 -      calculating it here.  Set IMG's background_transparent field.
 -      (enum xpm_keyword_index): Add XPM_BACKGROUND.
 -      (enum png_keyword_index): Add PNG_BACKGROUND.
 -      (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
 -      (enum tiff_keyword_index): Add TIFF_BACKGROUND.
 -      (enum gif_keyword_index): Add GIF_BACKGROUND.
 -      (enum gs_keyword_index): Add GS_BACKGROUND.
 -      (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
 -      Pre-calculate image background color where necessary.
 -      (x_create_x_image_and_pixmap, xbm_load, gs_load):
 -      Use display info's n_cbits entry for screen depth.
 -      (Fx_show_tip): Remove unused variables `buffer', `top',
 -      `left', `max_width' and `max_height'.
 +      * 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.
  
 -      * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
 +      * termopts.h (no_redraw_on_reenter): Declare.
  
 -2001-11-18  Gerd Moellmann  <gerd@gnu.org>
 +      * alloc.c (emacs_blocked_malloc): Disable mallopt call.
 +      (mark_terminals, mark_ttys): Declare.
 +      (Fgarbage_collect): Call them.
 +      (mark_object): Mark buried_buffer_list.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 750000.
 +      * prefix-args.c: Include stdlib.h for exit.
  
 -2001-11-18  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * syssignal.h: Add comment.
  
 -      * frame.c (Fframe_live_p): Doc fix.
 +      * indent.c: Include stdio.h.
  
 -2001-11-18  Richard M. Stallman  <rms@gnu.org>
 +      * window.h (Vinitial_window_system): Declare.
 +      (Vwindow_system): Delete declaration.
  
 -      * xdisp.c (message_dolog_marker1, message_dolog_marker2)
 -      (message_dolog_marker3): New static variables hold three markers.
 -      (syms_of_xdisp): Initialize and staticpro them.
 -      (message_dolog): Use message_dolog_marker1..3 instead of
 -      allocating markers each time.  Unchain them when done.
 +      * fontset.c (Finternal_char_font): Use FRAME_RIF.
  
 -2001-11-17  Richard M. Stallman  <rms@gnu.org>
 +      * image.c (lookup_image): Don't initialize `c' until the xasserts
 +      have been run.
  
 -      * doc.c (Fsnarf_documentation): Doc fix.
 +      * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
 +      FRAME_FOREGROUND_PIXEL.
  
 -2001-11-17  Andreas Schwab  <schwab@suse.de>
 +      * print.c (print_preprocess): Don't lose print_depth levels while
 +      iterating.
  
 -      * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
 +      * widget.c (update_from_various_frame_slots):
 +      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
  
 -2001-11-17  Richard M. Stallman  <rms@gnu.org>
 +      * 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 (Fwrite_region): Avoid initializer for Lisp_Object.
 +      * fileio.c (Fread_file_name): Update comment.
  
 -2001-11-17  Jason Rumney  <jasonr@gnu.org>
 +      * 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 (Fframep): Deal with output_initial.
 +      (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
 +      (Qtty_type, Qwindow_system, Qenvironment)
 +      (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
 +      (x_set_screen_gamma, store_frame_param): Fix compilation errors.
 +      (make_terminal_frame): Don't create frames on a terminal that is
 +      being deleted.
 +      (make_terminal_frame): 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'.
 +      (Qenvironment): New variable.
 +      (Fdelete_frame): 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.
  
 -      * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
 +2007-08-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2001-11-17  Gerd Moellmann  <gerd@gnu.org>
 +      * keyboard.c: Qrtl is new.
 +      (parse_tool_bar_item): Handle :rtl keyword.
 +      (syms_of_keyboard): Intern :rtl keyword.
  
 -      * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
 -      with invalid position.
 +      * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
  
 -2001-11-16  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
 +2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
 -      * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
 -      * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
 +      * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
 +      for nonexistent or zero-width glyph in composition glyph.
  
 -      * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
 +2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-11-16  Stefan Monnier  <monnier@cs.yale.edu>
 +      * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
  
 -      * fileio.c (build_annotations): Split off the tail.
 -      (build_annotations_2): New fun.  Extracted from build_annotations.
 -      (Fwrite_region): Split the call to build_annotations into two
 -      calls to build_annotations and build_annotations_2.
 +      * xdisp.c (Finvisible_p): New function.
 +      (syms_of_xdisp): defsubr it.
  
 -2001-11-16  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
 -      clear_waiting_for_input with argument.
 +      * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
 +      Doc fixes.
  
 -      * xterm.h (x_update_cursor): Remove duplicated prototype.
 +2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
 +      * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
  
 -      * xterm.c (waiting_for_input): Remove unnecessary declaration.
 +2007-08-24  Martin Rudalics  <rudalics@gmx.at>
  
 -      * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
 +      * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
 +      whether decoding has modified buffer contents.
  
 -2001-11-16  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-08-24  Jason Rumney  <jasonr@gnu.org>
  
 -      * fileio.c (choose_write_coding_system): New fun, extracted
 -      from Fwrite_region.
 -      (Fwrite_region): Use it.
 +      * 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.
  
 -      * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
 -      (funcall_lambda, run_hook_with_args): Make static and add prototype.
 -      (ml_apply, find_handler_clause): Add prototype.
 +2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2001-11-16  Eli Zaretskii  <eliz@gnu.org>
 +      * 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).
  
 -      * config.in: Add #undef HAVE_COFF_H.
 +      * image.c (svg_load_image): Blend with specified background if exists.
 +      Use IMAGE_BACKGROUND.  Add Mac OS Support.
  
 -      * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
 -      Required for ISC 4.1.
 +      * 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.
  
 -2001-11-16  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-08-22  Glenn Morris  <rgm@gnu.org>
  
 -      * syswait.h (HAVE_SYS_WAIT_H): Undef for ISC 4.1.  Reported by
 -      Andrew Wiseman <a.wiseman@btclick.com>.
 +      * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
  
 -2001-11-16  Kim F. Storm  <storm@cua.dk>
 +2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
  
 -      The following changes are made to clean up the various internal
 -      references to the fringes to actually use the term `fringe' for
 -      them.  Previously, they were called `flags areas', `bitmap areas',
 -      `left/right side of windows', or implicitly as `flags' or
 -      `bitmaps':
 +      * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
  
 -      * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
 -      Comments fixed.  Use renamed symbols.
 +      * 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.
  
 -      * dispnew.c: Comment fix.  Use renamed symbols.
 +2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
 -      (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
 -      (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
 +      * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
  
 -      * msdos.c: Comment fix.
 +2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32fns.c: Use renamed symbols.
 +      * 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.
  
 -      * w32term.c: Comment fixes.  Use renamed symbols.
 -      (fringe_bitmap_type): Renamed from bitmap_type.
 -      (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
 -      (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
 -      (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
 +      * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
  
 -      * w32term.h: Comment fixes.  Use renamed symbols.
 -      (fringes_extra): Renamed from flags_areas_extra.
 -      (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
 -      (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
 -      (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
 -      (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
 -      (FRAME_X_LEFT_FRINGE_WIDTH):
 -      Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
 -      (FRAME_X_RIGHT_FRINGE_WIDTH):
 -      Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
 +      * 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.
  
 -      * widget.c: Use renamed symbols.
 +2007-08-22  Jason Rumney  <jasonr@gnu.org>
  
 -      * window.c: Comment fixes.  Use renamed symbols.
 -      (coordinates-in-window-p): Doc fix.
 +      * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
  
 -      * xdisp.c: Comment fixes.  Use renamed symbols.
 +2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
 +      * puresize.h (BASE_PURESIZE): Increase to 1140000.
  
 -      * xfns.c: Use renamed symbols.
 +2007-08-19  Richard Stallman  <rms@gnu.org>
  
 -      * xterm.c: Comment fixes.  Use renamed symbols.
 -      (fringe_bitmap_type): Renamed from bitmap_type.
 -      (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
 -      (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
 -      (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
 +      * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
  
 -      * xterm.h: Comment fixes.  Use renamed symbols.
 -      (fringes_extra): Renamed from flags_areas_extra.
 -      (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
 -      (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
 -      (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
 -      (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
 -      (FRAME_X_LEFT_FRINGE_WIDTH):
 -      Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
 -      (FRAME_X_RIGHT_FRINGE_WIDTH):
 -      Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
 +2007-08-19  Andreas Schwab  <schwab@suse.de>
  
 -2001-11-15  Jason Rumney  <jasonr@gnu.org>
 +      * alloc.c (pure): Round PURESIZE up.
  
 -      * w32menu.c (add-menu-item): Make help_echo and radio buttons
 -      work for most menu items.  From David Ponce
 -      <david.ponce@wanadoo.fr>.
 +2007-08-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2001-11-15  Gerd Moellmann  <gerd@gnu.org>
 +      * xterm.c (handle_one_xevent): Remove check that mouse click is in
 +      active frame.
  
 -      * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
 -      Some x_set_* function expect to be called even if old and new
 -      value are equal.
 +2007-08-16  Richard Stallman  <rms@gnu.org>
  
 -      * xdisp.c (build_desired_tool_bar_string): Accept zero
 -      tool_bar_button_relief.
 +      * eval.c (Fcommandp): Add parens to clarify.
  
 -      * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
 +      * minibuf.c (Fall_completions): Use enum for type of table.
  
 -      * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
 +      * emacs.c (USAGE2): Improve text.
  
 -      * xterm.c (x_draw_bar_cursor): If the background color of the
 -      glyph under the cursor equals the frame's cursor color, use
 -      the glyph's foreground color for drawing the bar cursor.
 +2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
  
 -      * dispnew.c (direct_output_forward_char): Fix character/byte
 -      position comparison.
 +      * term.c (tty_default_color_capabilities): Declare static
 +      variables in file scope, to avoid HPUX compiler problem.
  
 -2001-11-15  Miles Bader  <miles@gnu.org>
 +2007-08-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
 -      (Fdelete_field, Ffield_string, Ffield_string_no_properties):
 -      Update arguments to find_field.
 -      (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
 -      (Fconstrain_to_field): Use LIMIT arg to shorten search time.
 -      * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
 -      * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
 +      * gtkutil.c (update_frame_tool_bar): Use -1 as index
 +      to gtk_toolbar_insert.
  
 -2001-11-14  Richard M. Stallman  <rms@gnu.org>
 +2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * editfns.c (Fpropertize): Allow call with 1 arg.
 +      * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
  
 -      * dispextern.h (image_background, image_background_transparent):
 -      Conditionalize on HAVE_X_WINDOWS.
 +      * 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.
  
 -2001-11-13  Richard M. Stallman  <rms@gnu.org>
 +2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * print.c (Fprin1_to_string): Doc fix.
 +      * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
 +      filling pixmap with stippled background.
  
 -      * sunfns.c (Fsun_change_cursor_icon): Doc fix.
 +2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * floatfns.c (Fceiling, Ffloor): Doc fixes.
 +      * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
 +      Don't use invisible frame as parent window for repositioning.
  
 -      * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
 +2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * fileio.c (Ffile_accessible_directory_p): Doc fix.
 +      * 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.
  
 -      * eval.c (syms_of_eval): Doc fix.
 +2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * coding.c (syms_of_coding): Doc fix.
 +      * gmalloc.c (posix_memalign): New function.
  
 -      * doc.c (Fsnarf_documentation): Doc fix.
 +      * 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.
  
 -      * dispnew.c (syms_of_display): Doc fix.
 +2007-08-08  Glenn Morris  <rgm@gnu.org>
  
 -      * category.c (Fget_unused_category): Doc fix.
 +      * Replace `iff' in doc-strings and comments.
  
 -      * buffer.c (syms_of_buffer): Doc fixes.
 +2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
  
 -2001-11-14  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * xdisp.c (move_it_by_lines): Remove incorrect optimization.
  
 -      * print.c (prin1, print): Doc fix.
 +2007-08-07  Martin Rudalics  <rudalics@gmx.at>
  
 -2001-11-14  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      * fontset.h: Remove declarations of variables
 -      `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
 +2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
 -      `Vclip_large_size_font'.
 +      * emacs.c (main)
 +      [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
 +      Call malloc_enable_thread on interactive startup.
  
 -2001-11-13  Jason Rumney  <jasonr@gnu.org>
 +      * 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.
  
 -      * w32fns.c: Doc fix.
 +2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2001-11-13  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * xdisp.c (redisplay_window): When restoring original buffer
 +      position, make sure it is still valid.
  
 -      * xfaces.c (Fface_attributes_as_vector): Doc fix.
 +      * image.c (png_load): Ignore png-supplied background color.
  
 -      * fns.c: Doc fix.
 +2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * emacs.c: Doc fix.
 +      * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
 +      Use kCFAbsoluteTimeIntervalSince1970.
  
 -      * coding.c: Doc fix.
 +      * 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\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
 +      add comment explaining why.
  
 -      * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
 -      * fontset.c, insdel.c, keymap.c: Change doc-string comments to
 -      `new style' [w/`doc:' keyword].
 +2007-08-03  Richard Stallman  <rms@gnu.org>
  
 -2001-11-12  Richard M. Stallman  <rms@gnu.org>
 +      * fileio.c (Fvisited_file_modtime): Use make_time.
  
 -      * xterm.c (XTread_socket): Don't update focus for EnterNotify or
 -      LeaveNotify events.  Only FocusIn and FocusOut do that now.
 -      (x_display_and_set_cursor): Do display hollow cursors in active
 -      minibuffer windows when they are not selected.
 +2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
  
 -2001-11-12  Jason Rumney  <jasonr@gnu.org>
 +      * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
 +      build.
  
 -      * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
 -      * w32term.c: Change doc-string comments to `new style'
 -      [w/`doc:' keyword].  Doc fixes.
 +2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * w32fns.c: Don't define max.
 -      (Fx_open_connection): Only execute once.
 +      * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
  
 -2001-11-12  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * ccl.c: Change macros to use do-while block instead of if-else.
 -      Use braces to follow GNU Coding Standards.
 +      * puresize.h (BASE_PURESIZE): Increase to 1130000.
  
 -2001-11-11  Richard M. Stallman  <rms@gnu.org>
 +2007-07-30  Richard Stallman  <rms@gnu.org>
  
 -      * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
 +      * lread.c (readevalloop, read1): Treat NBSP as whitespace.
  
 -      * lread.c (read_escape): Use end_of_file_error for reporting eof.
 +2007-07-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * insdel.c (replace_range): Use adjust_markers_for_replace
 -      instead of adjust_markers_for_delete and adjust_markers_for_insert.
 +      * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
  
 -      * intervals.h (set_text_properties, set_text_properties_1): Declare.
 +2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
  
 -      * textprop.c (set_text_properties_1): New subroutine
 -      broken out of set_text_properties.
 -      (set_text_properties): Use set_text_properties_1.
 +      * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
 +      remote default-directory.
  
 -      * intervals.c (graft_intervals_into_buffer):
 -      Use set_text_properties_1 to clear out properties.
 +      * buffer.c (mode-line-format): Update doc string.
  
 -      * search.c (Freplace_match): Use replace_range to insert
 -      and delete.  Don't request property inheritance from
 -      surrounding text.
 +2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2001-11-10  Jason Rumney  <jasonr@gnu.org>
 +      * 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.
  
 -      * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
 -      vertical fonts.  Allow them if face name is explicitly specified.
 -      Do not give up if we find a font that cannot be converted to an xlfd.
 +      * w32term.h (struct scroll_bar): New member fringe_extended_p.
 +      (w32_fill_area): Enclose multiple statements with do ... while (0).
  
 -2001-11-10  Gerd Moellmann  <gerd@gnu.org>
 +      * 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.
  
 -      * unexelf.c (unexec): Use mmap/munmap to allocate buffers
 -      instead of malloc/free.
 +      * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 +      New member fringe_extended_p.
  
 -2001-11-09  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-07-25  Glenn Morris  <rgm@gnu.org>
  
 -      * xfaces.c (merge_face_vectors): Use braces to follow GNU
 -      Coding Standards.
 -      (Finternal_set_lisp_face_attribute): Likewise.
 +      * Relicense all FSF files to GPLv3 or later.
  
 -      * buffer.c (Fbury_buffer): Likewise.
 +      * COPYING: Switch to GPLv3.
  
 -      * indent.c (current_column_1): Remove unused variable `prev_col'.
 +2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * coding.c (encode_coding): Use precomputed value of `src'.
 -      (encode_coding): Remove unused variable `src_end'.
 -      (code_convert_region): Remove unused variables `count'.
 +      * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
  
 -2001-11-07  Jason Rumney  <jasonr@gnu.org>
 +      * data.c (Finteractive_form): Check for the presence of an
 +      `interactive-form' symbol property more thoroughly.
  
 -      * w32term.c (x_display_and_set_cursor): Do not move system caret
 -      if cursor_glyph is NULL.
 +      * data.c (Finteractive_form): Use an `interactive-form' property if
 +      present, analogous to the function-documentation property.
  
 -2001-11-07  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-07-24  Jason Rumney  <jasonr@gnu.org>
  
 -      * keymap.c (access_keymap): Fix compilation error.
 +      * w32fns.c (x_real_positions): Get real position from OS instead of
 +      calculating it.
  
 -2001-11-07  Miles Bader  <miles@gnu.org>
 +2007-07-23  Jason Rumney  <jasonr@gnu.org>
  
 -      * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
 +      * filelock.c (current_lock_owner): Allow for @ sign in username.
  
 -2001-11-07  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
  
 -      * intervals.c (graft_intervals_into_buffer):
 -      Remove #ifdef'd-out code.
 -      (graft_intervals_into_buffer): Remove unused variable `middle'.
 +      * xdisp.c (decode_mode_spec): Add case 'R' for to test for
 +      remote default-directory.
  
 -      * lread.c (Feval_region): Remove obsolete #ifdef'd-out
 -      code (eval-current-buffer).
 -      Change doc-string comments to `new style' [w/`doc:' keyword].
 +      * buffer.c (mode-line-format): Describe above case in doc string.
  
 -2001-11-06  Richard M. Stallman  <rms@gnu.org>
 +2007-07-20  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
 +      * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
 +      Define if not defined.
  
 -2001-11-06  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-07-18  Jason Rumney  <jasonr@gnu.org>
  
 -      * lread.c (read1): Fix behavior with nested backquoting.
 +      * w32proc.c (w32_executable_type): Handle 64 bit executables.
  
 -      * keyboard.c (make_lispy_event): Check integerness and fix
 -      Lisp_Object/int mixup.
 +2007-07-18  Richard Stallman  <rms@gnu.org>
  
 -2001-11-06  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * data.c (Fsetq_default): Doc fix.
  
 -      * fns.c (copy_hash_table): Remove unused variable `v'.
 +      * eval.c (Fsetq): Doc fix.
  
 -      * fontset.c (fontset_font_pattern): Remove unused variable
 -      `family_registry'.
 +2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * indent.c (current_column_1): Remove unused variable `prev_col'.
 +      * coding.c (Ffind_operation_coding_system):
 +      * eval.c (For, Fand): Doc fixes.
 +      Reported by Johan Bockg\e,Ae\e(Brd.
  
 -2001-11-05  Richard M. Stallman  <rms@gnu.org>
 +2007-07-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
 +      * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
  
 -      * buffer.c (Fkill_buffer): Don't delete auto save file
 -      if buffer is modified.
 +      * xterm.h: Declare x_ewmh_activate_frame.
  
 -2001-11-05  Andrew Innes  <andrewi@gnu.org>
 +      * xterm.c (x_ewmh_activate_frame): New function.
 +      (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
  
 -      * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
 -      CHECK_NUMBER_CDR.
 +2007-07-17  Martin Rudalics  <rudalics@gmx.at>
  
 -2001-11-05  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * unexelf.c (unexec): Minor changes; clean up comments.
 +2007-07-17  Glenn Morris  <rgm@gnu.org>
  
 -2001-11-05  Sam Steingold  <sds@gnu.org>
 +      * 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.
  
 -      * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
 +2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-11-05  Andreas Schwab  <schwab@suse.de>
 +      * process.c (Fstart_process, Fmake_network_process)
 +      (read_process_output): Fix up last changes.
  
 -      * sound.c (sound_perror): Save errno from being clobbered.
 +2007-07-16  Eli Zaretskii  <eliz@gnu.org>
  
 -2001-11-05  Dale Hagglund  <rdh@yottayotta.com>
 +      * makefile.w32-in (clean): Don't delete *~.
  
 -      * unexelf.c (unexec): Don't use `mmap'.  Instead, read and write
 -      the program image directly.
 +2007-07-16  Andreas Schwab  <schwab@suse.de>
  
 -2001-11-05  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * window.c (Fdisplay_buffer): Use NILP.
 +      (Fset_window_scroll_bars): Likewise.
  
 -      * buffer.h (Fbuffer_local_value): Add prototype.
 +2007-07-15  Martin Rudalics  <rudalics@gmx.at>
  
 -2001-11-04  Richard M. Stallman  <rms@gnu.org>
 +      * 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.
  
 -      * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
 -      and CHECK_BUFFER.
 +      * window.h: Add EXFUN for Fwindow_full_width_p.
  
 -      * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
 -      (record_char): Likewise.
 +2007-07-14  Jason Rumney  <jasonr@gnu.org>
  
 -      * keyboard.c (make_lispy_event): Don't insist a drag event must
 -      move to a different buffer position.  Instead, check for moving at
 -      least double_click_fuzz.
 +      * process.c [WINDOWSNT]: Don't undefine AF_INET6.
  
 -      * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
 +2007-07-14  Richard Stallman  <rms@gnu.org>
  
 -      * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
 +      * 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.
  
 -      * indent.c (current_column_1, Fmove_to_column): Separate the code
 -      for display-table glyphs from the code for buffer text, to fix
 -      bugs in the former.
 +2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -2001-11-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>
 +      * eval.c (Fprogn):
 +      * keyboard.c (Ftrack_mouse):
 +      * print.c (Fwith_output_to_temp_buffer):
 +      * window.c (Fsave_window_excursion): Doc fix.
  
 -      * buffer.c (Fbuffer_local_value): New function.
 -      (syms_of_buffer): Defsubr it.
 +2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
 -      value of `cursor-in-non-selected-windows'.
 +      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
  
 -      * lisp.h (Qcursor_in_non_selected_windows): New declaration.
 -      * xdisp.c (Qcursor_in_non_selected_windows): New variable.
 -      (syms_of_xdisp): Initialize it.
 +2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-11-04  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      * xfns.c (Fx_create_frame): Doc fix.
 +2007-07-12  Richard Stallman  <rms@gnu.org>
  
 -      * coding.c: Change doc-string comments to `new style' [w/`doc:'
 -      keyword].
 +      * term.c: Include unistd.h only if HAVE_UNISTD_H.
  
 -      * eval.c (top_level_value, top_level_set): Remove commented and
 -      #ifdef'd-out code.
 -      (Fdefvar): Fix usage in doc-string.
 +2007-07-11  Jason Rumney  <jasonr@gnu.org>
  
 -2001-11-03  Richard M. Stallman  <rms@gnu.org>
 +      * makefile.w32-in (LIBS): Include OLE32.
  
 -      * xfns.c: Include unistd.h, if it exists.
 +      * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
 +      (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
  
 -      * editfns.c: Move the include of ctype.h after unistd.h.
 +2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * gmalloc.c: Test BROKEN_PROTOTYPES.
 +      * 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.
  
 -2001-11-03  Ken Raeburn  <raeburn@gnu.org>
 +      * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
  
 -      * lisp.h (CHECK_STRING_CAR): New macro.
 -      * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
 -      treating XCAR and XCDR as lvalues.
 -      (openp): Use CHECK_STRING_CAR.
 -      (read_list): Use XSETCDR instead of treating XCDR as lvalue.
 +      * 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.
  
 -2001-11-03  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
 -      (SIGMASKTYPE): Define.
 +      * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
 +      USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
  
 -      * syssignal.h (sigunblock): Don't define if already defined.
 +      * 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.
  
 -2001-11-02  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
  
 -      * eval.c (debugger_may_continue, Vdebug_ignored_errors)
 -      (call_debugger, Fcondition_case, skip_debugger, unbind_to):
 -      Fix typos in comments.
 +      * 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.
  
 -      * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
 -      and #ifdef'd-out code.
 -      Fix and reindent comments.
 +      * keymap.h (map_keymap_function_t): More informative prototype.
  
 -      * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
 +2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
  
 -      * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
 -      argument `i' in macros.
 +      * 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.
  
 -      * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
 -      `i' in macros.
 +2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
 -      (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
 -      (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
 -      (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
 -      (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
 -      (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
 -      (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
 -      (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
 -      in macros.
 +      * minibuf.c (Fcompleting_read): New value `confirm-only'
 +      for `require-match'.
  
 -      * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
 -      * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
 -      * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
 -      * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
 -      * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
 -      * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
 -      * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
 -      * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
 -      * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
 -      (remove unused second argument).
 +2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-11-02  Stefan Monnier  <monnier@cs.yale.edu>
 +      * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
 +      part of the 2007-06-27 change to syms_of_fileio.
  
 -      * syntax.c (describe_syntax): New wrapper.
 -      (Finternal_describe_syntax_value): Rename from describe_syntax.
 -      Don't insert space at front and \n at the end.
 -      (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
 +2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * regex.c (re_wctype): Try to fix some warnings.
 -      (regcomp, regexec): Don't forget the __restrict.
 +      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 +      Check WINDOWP before using XWINDOW.  Consolidate return statements.
  
 -2001-11-02  Richard M. Stallman  <rms@gnu.org>
 +2007-06-27  Richard Stallman  <rms@gnu.org>
  
 -      * textprop.c (Fget_char_property): Doc fix.
 +      * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
  
 -2001-11-02  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * process.c (Fstart_process): Add usage to doc-string.
 +      * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
  
 -      * data.c (Fsetq_default): Ditto.
 +2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * callint.c (Finteractive): Ditto.
 +      * 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.
  
 -2001-11-01  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-06-26  Kenichi Handa  <handa@m17n.org>
  
 -      * macros.c: Don't include keymap.h any more.
 +      * coding.c (Ffind_operation_coding_system): Docstring improved.
 +      (syms_of_coding): Docstring of `file-coding-system-alist' improved.
  
 -2001-11-01  Richard M. Stallman  <rms@gnu.org>
 +2007-06-25  David Kastrup  <dak@gnu.org>
  
 -      * data.c (Fmake_local_variable): Doc fix.
 +      * keymap.c (Fcurrent_active_maps): Add `position' argument.
 +      (Fwhere_is_internal): Adjust call to `current-active-maps' to
 +      cater for additional parameter.
  
 -      * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
 -      (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
 +      * keymap.h: Adjust number of parameters to `current-active-maps'.
  
 -      * keymap.c (Fdescribe_buffer_bindings): Print character property
 -      bindings along with or instead of the buffer local map.
 -      Make the overriding maps override what they should.
 +      * doc.c (Fsubstitute_command_keys): Adjust call of
 +      `current-active-maps'.
  
 -2001-11-01  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-06-25  David Kastrup  <dak@gnu.org>
  
 -      * window.c (grow_mini_window): Fix typo in comment.
 +      * callint.c (Fcall_interactively): Make the parsing of interactive
 +      specs somewhat more readable.
  
 -2001-11-01  Gerd Moellmann  <gerd@gnu.org>
 +2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (x_scroll_bar_create): Check for width and height > 0.
 -      (XTset_vertical_scroll_bar): Likewise.
 +      * 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.
  
 -      * xfns.c (x_build_heuristic_mask): Use four_corners_best
 -      instead of IMAGE_BACKGROUND.
 +2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xfns.c (four_corners_best): Reindent.
 +      * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
 +      (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
  
 -      * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
 -      Handle :box so that it is possible to specify sexprs.
 +      * 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.
  
 -2001-10-31  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-06-21  Jason Rumney  <jasonr@gnu.org>
  
 -      * s/hpux11.h: New file.
 +      * image.c (convert_mono_to_color_image): Swap fore and background.
  
 -2001-10-31  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-06-20  Jason Rumney  <jasonr@gnu.org>
  
 -      * emacs.c (USAGE1): Show command line option --no-window-system
 -      instead of --no-windows in usage.
 -      (standard_args): Rename --no-windows to --no-window-system.
 -      (bug_reporting_address): Follow Emacs coding conventions.
 +      * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
 +      (w32_free_bdf_font): Unmap memory not handle.
  
 -      * eval.c (Fcommandp): Doc fix.
 -      Change doc-string comments to `new style' [w/`doc:' keyword].
 +2007-06-20  Sam Steingold  <sds@gnu.org>
  
 -      * frame.c (Fframe_live_p): Doc fix.
 +      * gmalloc.c (__morecore): Fix the declaration to comply with the
 +      definition.
  
 -      * buffer.c (selective-display-ellipses): Doc fix.
 +2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -2001-10-31  Gerd Moellmann  <gerd@gnu.org>
 +      * w32term.c (w32_delete_display): Remove leftover declaration.
 +      (w32_define_cursor, w32_initialize): Make static.
  
 -      * lread.c (to_multibyte): Fix computation of new read_buffer_size.
 +      * w32.c (_wsa_errlist): Fix typo in error message.
 +      (init_environment): Ignore any environment variable from the
 +      registry having a null value.
  
 -      * xfaces.c (realize_x_face): If C is not a single-byte character,
 -      set the face's colors_copied_bitwise_p instead of the defaulted_p
 -      members which have a different meaning.
 -      (free_face_colors): Do nothing for a face whose colors have been
 -      copied bitwise.
 +2007-06-20  Glenn Morris  <rgm@gnu.org>
  
 -      * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
 +      * Makefile.in (LIBGIF): Default to -lgif.
  
 -2001-10-31  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-06-17  Jason Rumney  <jasonr@gnu.org>
  
 -      * marker.c, mocklisp.c: Change doc-string comments to `new style'
 -      [w/`doc:' keyword].
 +      * w32menu.c (add_menu_item): Don't use multibyte string functions on
 +      unicode strings.
  
 -2001-10-31  Gerd Moellmann  <gerd@gnu.org>
 +2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * fns.c (require_unwind): Return Lisp_Object.
 +      * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
 +      Fix typo in docstring.
  
 -2001-10-31  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-06-16  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
 -      (last-input-char): Revert doc-string to be the same as the
 -      doc-string of `last-input-event'.
 +      * w32menu.c (add_menu_item): Escape `&' characters in menu items
 +      and their keybindings.
  
 -      * xdisp.c: Fix typos in comments.
 +2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
  
 -2001-10-31  Gerd Moellmann  <gerd@gnu.org>
 +      * composite.c (update_compositions): Fix last fix.
  
 -      * window.c (grow_mini_window): Handle case that the root
 -      window is already smaller than the nominal mininum height.
 +2007-06-14  Jason Rumney  <jasonr@gnu.org>
  
 -2001-10-30  Stefan Monnier  <monnier@cs.yale.edu>
 +      * 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.
  
 -      * emacs.c (main): Don't call keys_of_macros any more.
 +      * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
  
 -      * lisp.h (keys_of_macros): Remove.
 +2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
  
 -      * macros.c (keys_of_macros): Remove.
 +      * composite.c (update_compositions): Check the validness of
 +      compositions.
  
 -      * xfaces.c (Fface_attribute_relative_p): Declare args.
 +2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2001-10-30  Jason Rumney  <jasonr@gnu.org>
 +      * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
 +      (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
  
 -      * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
 -      (enum_font_cb2): Ignore fonts with vertical orientation.
 +      * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
 +      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
  
 -2001-10-30  Richard M. Stallman  <rms@gnu.org>
 +      * macgui.h (USE_MAC_TOOLBAR): New define.
  
 -      * keyboard.c (Finput_pending_p): Doc fix.
 +      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 +      Return immediately unless popup is activated.
  
 -2001-10-30  Gerd Moellmann  <gerd@gnu.org>
 +      * 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.
  
 -      * xterm.c (x_after_update_window_line): Don't run the code
 -      clearing in borders for rows whose visible height is 0.
 +      * 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.
  
 -      * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
 -      resized_p flag is set.  If not set, use the much less flickering
 -      method previously used.
 +      * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
 +      [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
  
 -      * dispnew.c (change_frame_size_1): Set frame's resized_p.
 +2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * frame.h (struct frame) <resized_p>: New member.
 +      * image.c (search_image_cache): Remove unused variable.
  
 -      * lread.c (to_multibyte): Ensure read_buffer is at least twice
 -      as large as the number of bytes to convert.
 +2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * lread.c (to_multibyte): New function.
 -      (read1): Use it.
 +      * xfns.c, xmenu.c: Link to xaw3d if available.
  
 -2001-10-30  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
 +      * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
 +      frame_foreground and frame_background.
  
 -2001-10-30  Gerd Moellmann  <gerd@gnu.org>
 +      * image.c (lookup_image): Save frame foreground and background colors.
 +      (search_image_cache): Check if saved and current frame colors match.
  
 -      * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
 -      (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
 -      if the row's fill_line_p is set and drawing the last glyph with
 -      DRAW_IMAGE_{RAISED,SUNKEN}.
 +2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
 +      * regex.c (regex_compile): Remove the `regnum' counter.
 +      Use bufp->re_nsub instead.  Add support for \(?N:RE\).
  
 -2001-10-29  Stefan Monnier  <monnier@cs.yale.edu>
 +2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xmenu.c: Include coding.h and charset.h.
 -      (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
 -      (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
 -      (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
 -      Explicitly set wv->help.  Use `TRUE' rather than `True'.
 -      (menu_help_callback): Use empty_string.
 +      * term.c: Include intervals.h to declare Fget_text_property.
  
 -      * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
 -      (Fx_popup_dialog): Explicitly init f.
 -      (w32_menu_display_help): Use empty_string.
 +2007-06-10  Jason Rumney  <jasonr@gnu.org>
  
 -2001-10-29  Richard M. Stallman  <rms@gnu.org>
 +      * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
  
 -      * fns.c (Frequire): Detect recursive try to require the same
 -      feature 3 or more levels deep, and get error.
 -      (require_unwind): New subroutine.
 -      (require_nesting_list): New variable.
 -      (syms_of_fns): Init and staticpro it.
 +2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * print.c (print_object): Clarify indication of insertion type.
 +      * 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.
  
 -2001-10-29  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
  
 -      * coding.c (syms_of_coding): Document that locale-coding-system is
 -      used for decoding input on X.
 +      * 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.
  
 -      * window.c (Fscroll_left, Fscroll_right): Doc fix.
 +      * emacs.c (empty_unibyte_string): Rename from empty_string.
 +      (empty_multibyte_string): New canonical empty string.
 +      (syms_of_emacs): Don't initialize empty_string.
  
 -2001-10-29  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * 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.
  
 -      * keyboard.c (Finput_pending_p): Fix typo in doc-string.
 -      (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
 +      * lread.c (syms_of_lread): Use empty_unibyte_string.
  
 -2001-10-29  Gerd Moellmann  <gerd@gnu.org>
 +2007-06-07  Jason Rumney  <jasonr@gnu.org>
  
 -      * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
 -      use NO_CURSOR if cursor_in_non_selected_windows is false.
 +      * s/ms-w32.h: Don't define HAVE_TZNAME.
  
 -      * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
 -      the slant attribute if FRAME is t.
 +      * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
  
 -      * xfns.c (x_set_internal_border_width): Set frame garbaged
 -      when X window doesn't exist yet.
 +2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (x_after_update_window_line): Clear internal border
 -      in different circumstances.
 +      * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
  
 -      * xterm.c (XTread_socket) <KeyPress>: Don't use
 -      STRING_CHAR_AND_LENGTH if nchars == nbytes.  From Kenichi Handa
 -      <handa@etl.go.jp>.
 +      * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
 +      (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
  
 -2001-10-28  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * 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.
  
 -      * m/ibms390.h: New file.  From Adam Thornton
 -      <athornton@sinenomine.net>.
 +      * 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.
  
 -2001-10-28  Gerd Moellmann  <gerd@gnu.org>
 +2007-06-07  Glenn Morris  <rgm@gnu.org>
  
 -      * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
 +      * emacs.c (main): Use `emacs-copyright' in --version output.
  
 -      * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
 -      a loop counter.
 +2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2001-10-28  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
  
 -      * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
 +2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
 -      keyword].
 -      Fix typos in comments.
 +      * macfns.c (mac_window): Replace WindowPtr with WindowRef.
  
 -      * emacs.c (bug_reporting_address): New function.
 -      Use it when displaying usage message.
 +      * macgui.h: Replace WindowPtr with WindowRef.
  
 -      * minibuf.c (read_minibuf): Remove unused external declaration of
 -      variable `Qread_only'.
 +      * 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.
  
 -      * keymap.c (access_keymap): Remove unused variable `charset'.
 +      * 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'.
  
 -2001-10-28  Miles Bader  <miles@gnu.org>
 +      * 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.
  
 -      * xfaces.c (merge_face_heights): Handle TO being relative as well.
 -      Remove #ifdef'd-out code.
 -      (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
 -      (syms_of_xfaces): Initialize them.
 +2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2001-10-27  Jason Rumney  <jasonr@gnu.org>
 +      * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
  
 -      * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
 -      <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
 -      position using the system caret.
 +2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
  
 -      * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
 -      (w32_system_caret_height, w32_system_caret_x)
 -      (w32_system_caret_y): New variables for tracking system caret.
 -      (w32_initialize): Initialize them.
 -      (x_display_and_set_cursor): Make system caret follow the active cursor.
 +      * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
  
 -      * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
 -      New messages types.
 +      * frame.c (Fmouse_position, Fmouse_pixel_position):
 +      Condition on HAVE_GPM too.
  
 -      * w32term.c (note_mouse_highlight): Clear old help_echo.
 +      * 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.
  
 -2001-10-27  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
  
 -      * xterm.c: Fix typo in a comment.
 +2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * emacs.c: Fix typos in comments.
 -      Remove unnecessary spaces.
 -      Change doc-string comments to `new style' [w/`doc:' keyword].
 -      (USAGE2): Fix typos in usage string.
 +      * 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.
  
 -      * xterm.c: Fix typo in a comment.
 +2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * lisp.h (gdb_lisp_params): Remove code in #if 0 which is now in
 -      emacs.c.
 +      * window.c (Fshrink_window): Reflow docstring.
  
 -2001-10-27  Gerd Moellmann  <gerd@gnu.org>
 +2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
 -      instead of 1/2 line_height in the heuristic for skipping
 -      farther backward when target_y was not reached.
 +      * Version 22.1 released.
  
 -      * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
 -      Display errno only if non-zero.
 -      (sound_warning): New function.
 -      (vox_configure): Don't treat failing to set sample rate as error.
 -      (various places): Improve error messages.
 +2007-06-01  Richard Stallman  <rms@gnu.org>
  
 -2001-10-26  Eli Zaretskii  <eliz@is.elta.co.il>
 +      * xfns.c (x_encode_text): Add GCPRO.
  
 -      * fileio.c (Faccess_file): Run the argument filename through
 -      Fexpand_file_name, before using it.
 +2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
 -      ring-bell-function.  Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
 +      * xfns.c (x_set_name_internal): Save encoded name before
 +      x_encode_text in case string data is relocated.
  
 -2001-10-26  Gerd Moellmann  <gerd@gnu.org>
 +2007-05-31  Richard Stallman  <rms@gnu.org>
  
 -      * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
 +      * buffer.c (syms_of_buffer): Doc fix.
  
 -      * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
 -      Fix clearing in the case of scroll bars on the right.
 +2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
  
 -2001-10-26  Juanma Barranquero  <lektu@terra.es>
 +      * sysdep.c (init_sys_modes): Add rather than replace with
 +      O_NONBLOCK.
  
 -      * w32gui.h (XImage): Add a dummy typedef.
 +      * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
 +      term_mouse_moveto.
  
 -2001-10-26  Gerd Moellmann  <gerd@gnu.org>
 +      * termhooks.h (term_mouse_moveto): New extern.
  
 -      * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
 +      * 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.
  
 -2001-10-25  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * frame.c (Fframe_parameter): Fix last change.
 +      * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
 +      around current_column call.
  
 -      * fileio.c: Revert last change (which removed old commented-out
 -      version of expand-file-name).  Add a comment that explains why
 -      this old version should not be removed.
 +2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2001-10-25  Gerd Moellmann  <gerd@gnu.org>
 +      * 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.
  
 -      * frame.c (Fframe_parameter): Fix a bug whereby some
 -      ``artificial'' frame parameters, like `minibuffer' were not
 -      obtained by calling Fframe_parameters.
 +2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (show_mouse_face): Clean up.  Recognize overwritten
 -      cursor differently.
 +      * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
 +      Call mac_wakeup_from_rne on window size change.
  
 -      * xdisp.c (move_it_vertically_backward): Compute line height
 -      differently.  Add heuristic to try to be more compatible to 20.x.
 +2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
  
 -2001-10-25  Stefan Monnier  <monnier@cs.yale.edu>
 +      * image.c (uncache_image): Fix typo.
  
 -      * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
 +2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
  
 -      * editfns.c (text_property_stickiness): Fix Lisp_Object used as
 -      boolean.
 +      * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
  
 -2001-10-25  Miles Bader  <miles@gnu.org>
 +2007-05-22  Richard Stallman  <rms@gnu.org>
  
 -      * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
 -      BG is a pointer to a structure, not a structure.
 -      (gif_format, png_format): Add missing commas.
 +      * xterm.c (x_connection_closed): Remove NO_RETURN.
  
 -2001-10-24  Richard M. Stallman  <rms@gnu.org>
 +2007-05-22  Martin Rudalics  <rudalics@gmx.at>
  
 -      * xfaces.c (Fface_attributes_as_vector): New function.
 -      (syms_of_xfaces): Defsubr it.
 +      * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
  
 -2001-10-24  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
 -      variable `area'.
 +      * image.c (uncache_image): New function.
 +      (Fimage_refresh): New function.
  
 -2001-10-25  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-05-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -      * search.c (scan_newline): Remove unused variable `selective_display'.
 +      * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
  
 -2001-10-25  Miles Bader  <miles@gnu.org>
 +2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
  
 -      * dispextern.h (struct image): Add `background',
 -      `background_valid', and `background_transparent' fields.
 -      (image_background, image_background_transparent): New declarations.
 -      (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
 -      * xfns.c (image_background, image_background_transparent)
 -      (four_corners_best): New functions.
 -      (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
 -      (gs_format): Add `:background' entry.
 -      (lookup_image): Set IMG's background color if specified.
 -      (pbm_load, xbm_load_image, png_load): Set IMG's background field
 -      when appropriate.
 -      (x_clear_image_1): Reset `background_valid' and
 -      `background_transparent_valid' fields.
 -      (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
 -      calculating it here.  Set IMG's background_transparent field.
 -      (enum xpm_keyword_index): Add XPM_BACKGROUND.
 -      (enum png_keyword_index): Add PNG_BACKGROUND.
 -      (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
 -      (enum tiff_keyword_index): Add TIFF_BACKGROUND.
 -      (enum gif_keyword_index): Add GIF_BACKGROUND.
 -      (enum gs_keyword_index): Add GS_BACKGROUND.
 -      (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
 -      Pre-calculate image background color where necessary.
 -      * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
 -      `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
 -      color to use for image glyph reliefs.
 +      * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
 +      * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
  
 -2001-10-24  Gerd Moellmann  <gerd@gnu.org>
 +2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
  
 -      * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
 -      in full-width rows.
 +      * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
 +      conditional on [HAVE_GPM_H].
  
 -      * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
 -      Fix clearing of area not covered by scroll bar.
 +2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2001-10-24  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +      * syntax.c (skip_chars): Update syntax-table only after we checked that
 +      the new location is valid.
  
 -      * xterm.c (x_insert_glyphs): Remove unused variables `real_end'
 -      and `real_start'.
 -      (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
 -      (glyph_rect): Remove unused variable `area'.
 +2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2001-10-24  Gerd Moellmann  <gerd@gnu.org>
 +      * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
 +      mac_get_window_bounds.
  
 -      * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
 +2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
  
 -      * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
 -      (row_containing_pos): Take additional argument DY.
 -      Treat rows ending in middle of char differently.
 -      (display_line): Handle tabs on window systems differently.
 +      * Makefile.in (LIBGPM): Allow it to be set from configure.
 +      If set then link Emacs with it.
  
 -      * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
 -      with additional argument.
 +      * config.in: Regenerate.
  
 -      * dispextern.h (row_containing_pos): Adjust prototype.
 +      * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
 +      New externs.
 +
 +      * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
 +      Include gpm.h.
 +      (handle_one_term_event, term_gpm): New externs.
 +
 +      * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
 +      and allow it to be interrupted by SIGIO.
 +
 +      * 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.
 +
 +      * 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.
 +
 +      * 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.
 +
 +2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
 -      (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
 -      (try_window_id, try_window_reusing_current_matrix)
 -      (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
 -      (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
 +      * xdisp.c (redisplay_window): If first window line is a
 +      continuation line, recompute the new window start instead of
 +      recentering.
  
 -2001-10-24  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-05-18  Glenn Morris  <rgm@gnu.org>
  
 -      * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
 -      gnuemacs).
 -      (HAVE_BOXES): Fix typo in comment.
 -      (push_menu_pane): Fix typo in comment.
 +      * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
 +      Suggested by Alfred M. Szmidt <ams@gnu.org>.
  
 -      * xdisp.c (display_prop_string_p): Remove unused local declaration
 -      of `Qwhen'.
 -      (single_display_prop_string_p): Remove unused local declarations
 -      of `Qwhen' and `Qmargin'.
 -      (string_buffer_position): Remove unused variable `around'.
 -      (store_frame_title): Remove unused variable `width'.
 +2007-05-17  Glenn Morris  <rgm@gnu.org>
  
 -      * window.c: Don't define max.
 -      (coordinates_in_window): Remove unused variable `uy'.
 +      * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
  
 -      * widget.c: Don't define max.
 +2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * process.c: Don't define max.
 -      (create_process): Remove unused variable `buffer'.
 +      * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
 +      dead key repeat and up events.
  
 -2001-10-23  Gerd Moellmann  <gerd@gnu.org>
 +2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
 +      * image.c (pbm_load): Check image size for monochrome pbm.
  
 -2001-10-23  Eli Zaretskii  <eliz@is.elta.co.il>
 +2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xfaces.c (Finternal_set_lisp_face_attribute)
 -      [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
 -      frame is on a windowed display.
 +      * xterm.c (XTread_socket): Revert last change.
  
 -2001-10-23  Gerd Moellmann  <gerd@gnu.org>
 +2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * dispnew.c (sync_window_with_frame_matrix_rows):
 -      Fix handling of windows which aren't full-width, fix handling
 -      of marginal areas.
 +      * image.c (pbm_load): Correctly check image size for greyscale pbm.
  
 -      * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
 +      * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
  
 -2001-10-23  Andreas Schwab  <schwab@suse.de>
 +2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
 -      LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
 +      * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
 +      mixup (YAILOM).
  
 -2001-10-23  Gerd Moellmann  <gerd@gnu.org>
 +2007-05-07  Andreas Schwab  <schwab@suse.de>
  
 -      * xterm.c (x_draw_glyphs): Remove parameters READ_START and
 -      REAL_END.  Notice if cursor gets overwritten.
 -      (notice_overwritten_cursor): Take X positions as parameters.
 -      (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
 -      around call to x_draw_glyphs.
 +      * keymap.c (Flookup_key): Fix typo in last change.
  
 -2001-10-23  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
 -      instead of C) and usage.
 +      * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
 +      mapping for unibyte strings.
  
 -      * editfns.c (char-to-string): Fix argument names (use CHAR instead
 -      of C) and usage.
 +2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
 -      `left', `max_width' and `max_height'.
 +      * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
 +      (Fx_popup_dialog) [MAC_OSX]: Likewise.
  
 -2001-10-23  Gerd Moellmann  <gerd@gnu.org>
 +2007-04-29  Richard Stallman  <rms@gnu.org>
  
 -      * xdisp.c (display_line): For a tab continued to the next line,
 -      set row's ends_in_middle_of_char_p.
 +      * insdel.c (replace_range): For undo, record insertion first.
  
 -2001-10-22  Gerd Moellmann  <gerd@gnu.org>
 +2007-04-29  Andreas Schwab  <schwab@suse.de>
  
 -      * xdisp.c (display_line): Fix computation of continuation lines
 -      width for TABs.
 +      * lisp.h (VECSIZE): Use OFFSETOF.
  
 -2001-10-22  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 +2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xdisp.c (build_desired_tool_bar_string): Remove unused variable
 -      `Qlaplace'.
 +      * xdisp.c (try_window_reusing_current_matrix): Fix number of
 +      disabled lines.
  
 -      * fileio.c: Remove unused code.
 +2007-04-28  Richard Stallman  <rms@gnu.org>
  
 -2001-10-22  Miles Bader  <miles@gnu.org>
 +      * lread.c (read_escape): In a string, \s is always space.
  
 -      * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
 -      (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
 -      Remove `DOC_STRINGS_IN_COMMENTS' cases.
 +2007-04-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
  
 -2001-10-21  Jason Rumney  <jasonr@gnu.org>
 +      * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
  
 -      * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
 +      * gtkutil.c (xg_update_menubar, create_menus): Create empty
 +      submenu for menu bar items.
  
 -2001-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
 -
 -      * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
 -      (Finsert_string): Avoid the multi-line string literals warning.
 -
 -2001-10-22  Miles Bader  <miles@gnu.org>
 -
 -      * doc.c (Vhelp_manyarg_func_alist): Variable removed.
 -      (Fdocumentation): Don't use it.
 -      (syms_of_doc): Don't initialize it.
 -
 -      * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
 -      * print.c (Fwith_output_to_temp_buffer): Likewise.
 -      * window.c (Fsave_window_excursion): Likewise.
 -      * editfns.c (Fsave_excursion, Fsave_current_buffer)
 -      (Fsave_restriction): Likewise.
 -      * eval.c (Frun_hooks, Frun_hook_with_args)
 -      (Frun_hook_with_args_until_failure)
 -      (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
 -      (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
 -      (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
 -      (Funwind_protect, Fcondition_case): Likewise.
 -      * coding.c (Ffind_operation_coding_system): Likewise.
 -      * keyboard.c (Ftrack_mouse): Likewise.
 -
 -2001-10-21  Miles Bader  <miles@gnu.org>
 -
 -      * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
 -      (Fmake_hash_table): Add usage: string to doc string.
 -      * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
 -      (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
 -      (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
 -      * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
 -      (Fml_prefix_argument_loop): Likewise.
 -
 -2001-10-21  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 -
 -      * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
 -
 -      * sysdep.c (init_sys_modes): Change doc-string comments to `new
 -      style' [w/`doc:' keyword].
 -
 -      * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
 -      * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
 -      comments to `new style' [w/`doc:' keyword].
 -
 -2001-10-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
 -
 -      * w32term.c (remember_mouse_glyph): New function.
 -      (w32_mouse_position): Use it.
 -      (note_mouse_movement): If the mouse moved off the glyph, remember
 -      its new position.
 -
 -      * w32term.h (struct w32_output): Correct spelling of x_compatible.
 -      (w32_display_info): Add mouse_face_overlay.
 -
 -      * w32term.c (notice_overwritten_cursor): Renamed from
 -      note_overwritten_text_cursor.  Rewritten to take glyph widths into
 -      account.
 -      (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
 -      (fast_find_string_pos): New function.
 -      (fast_find_position): Return the correct vpos.  Add parameter
 -      STOP.  In the final row, stop before glyphs having STOP as object.
 -      Don't consider glyphs that are not from a buffer.
 -      (fast_find_position) [0]: Add a presumably more correct version
 -      for after 21.1.
 -      (expose_window_tree, expose_frame): Don't compute intersections here.
 -      (expose_window): Do it here instead.
 -      (expose_window_tree, expose_window, expose_line): Return 1 when
 -      overwriting mouse-face.
 -      (expose_window): If W is the window currently being updated, mark
 -      the frame garbaged.
 -      (expose_frame): If mouse-face was overwritten, redo it.
 -      (x_use_underline_position_properties): New variable.
 -      (syms_of_xterm): DEFVAR_BOOL it.
 -      (x_draw_glyph_string): Add comment to use it in future.
 -      (x_draw_glyph_string): Restore clipping after drawing box.
 -      Fix a computation of the underline position.
 -      (w32_get_glyph_string_clip_rect): Minor cleanup.
 -      (x_fill_stretch_glyph_string): Remove an assertion.
 -      (x_produce_glyphs): Don't convert multibyte characters
 -      to unibyte characters in unibyte buffers.
 -      (cursor_in_mouse_face_p): New function.
 -      (x_draw_stretch_glyph_string): Use it to choose a different GC
 -      when drawing a cursor within highlighted text.  Don't draw
 -      background again if it has already been drawn.
 -      (x_draw_glyph_string_box): Don't draw a full-width
 -      box just because the glyph row's full_width_p flag is set.
 -      (x_draw_glyphs): Fix computation of rightmost x for
 -      full-width rows.
 -      (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
 -      (w32_draw_relief_rect): Extend left shadow to the bottom and left;
 -      change bottom shadow accordingly.  Some cleanup.
 -      (x_update_window_end): Handle overwritten mouse face
 -      also for tool bar windows.
 -      (show_mouse_face): Set the glyph row's mouse_face_p flag also when
 -      DRAW is DRAW_IMAGE_RAISED.
 -      (clear_mouse_face): Return 1 if text with mouse face was
 -      actually redrawn.  Make the function static.
 -      Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
 -      optimize away highlighting if we pass over that same overlay again.
 -      (note_mouse_highlight): Call mouse_face_overlay_overlaps
 -      to detect a case where we have to highlight a different region
 -      despite not having left the currently highlighted region.
 -      Set mouse_face_overlay in the x_display_info.  Avoid changing the
 -      mouse pointer shape when show_mouse_face has already done it, or
 -      there is no need.  Handle mouse-face and help-echo in strings.
 -      (glyph_rect): New function.
 -      (w32_mouse_position): Use it to raise the threshold for mouse
 -      movement event generation.
 -      (w32_initialize_display_info): Initialize the x_display_info's
 -      mouse_face_overlay.
 -      (w32_set_vertical_scroll_bar): Don't clear a zero height
 -      or width area.
 -      (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
 -      a widget to zero height.
 -
 -      * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
 -      Protect unibyte strings created by replacing their multibyte
 -      equivalents in menu_items.
 -      (w32_menu_show): Don't overwrite an item's name with its key
 -      description in case the description is a multibyte string.
 -      (single_submenu): Some cleanup.
 -
 -      * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
 -      (postprocess_image): New function.
 -      (lookup_image): Call it for all image types except PostScript.
 -      (x_kill_gs_process): Call postprocess_image.
 -      (tiff_error_handler, tiff_warning_handler): New functions.
 -      (tiff_load): Install them as handlers.
 -      (x_kill_gs_process): Recognize if someone has cleared the image
 -      cache under us.
 -      (valid_image_p): Protect better against invalid image
 -      specifications.  Previous code could signal an error.
 -      (Fx_hide_tip, Fshow_tip): Doc fix.
 -      (Fv_max_tooltip_size): New variable.
 -      (syns_of_xfns): DEFVAR_LISP it.
 -      (Fx_show_tip): Add parameter TEXT.  Set the tip frame's root
 -      window buffer to *tip* right after creating the frame.  Set frame's
 -      window_width.  Use a maximum tooltip size specified by
 -      Vx_max_tooltip_size, if that has valid contents.
 -      (compute_tip_xy): Add parameters WIDTH and HEIGHT.
 -      Make sure the tooltip is completely visible.
 -      (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
 -      (Fx_create_frame): Adjust the frame's height for presence
 -      of the tool bar before calling x_figure_window_size.
 -      (x_set_tool_bar_lines): Clear the tool bar window's current matrix
 -      when the window gets smaller.
 -      (x_set_foreground_color): Set frame's cursor_pixel.
 -      (x_set_foreground_color, x_set_background_color): Cleaned up.
 -      (x_set_font): Handle case of x_new_fontset returning the same name
 -      as before, although there was a change in fontsets.
 -
 -2001-10-21  Miles Bader  <miles@gnu.org>
 -
 -      * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
 -      (Flogxor): Add usage: string to doc string.
 -      * charset.c (Fstring): Likewise.
 -      * callproc.c (Fcall_process_region, Fcall_process): Likewise.
 -      * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
 -
 -2001-10-21  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 -
 -      * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
 -
 -      * alloc.c: Reindent DEFUNs with doc: keywords.
 -
 -      * abbrev.c (Finsert_abbrev_table_description): Reindent.
 -
 -      * frame.c: Change doc-string comments to `new style' [w/`doc:'
 -      keyword].
 -
 -See ChangeLog.9 for earlier changes.
 +See ChangeLog.10 for earlier changes.
  
  ;; Local Variables:
  ;; coding: iso-2022-7bit
Simple merge